12:10 pm, 4 May 06
ideas
There are so many things I'd like to make, but never enough time! Here are some ideas that are in their more vestigal stages:
- focus! -- by recording which windows get focus on my screen, I can analyze where my time is going. By analyzing the window titles, I can drill down: of the x% of time I'm using Firefox, y% is on LiveJournal; of the y% on LiveJournal, z% is reading my friends page (as opposed to comments, etc.).
I wrote a first pass at this but I haven't quite figured out the design I want, in part 'cause I'm not very idiomatic in Python (which I was using because I wanted matplotlib).
In any case, the window-focus-monitoring code (which uses libwnck, a gnome library used by the window-switching tray, so it'll efficiently track focus changes) might be useful for someone else.
source - Laptops and mice are just fundamentally bad combinations because you don't want to carry a mouse around. Even with a trackpad, when you're not on a stable surface it's very hard to move it accurately. On the other hand, these Thinkpads have a nipple, not a mouse.
What sort of interface could you create that doesn't involve a cursor on the screen? For example, perhaps the currently-focused window is always "active", and holding down a button while moving the nipple could move the window in that direction? Or maybe for selecting widgets on the window, you could do some sort of pie-menu-like breakdown: if you move the nipple to the right, a region is highlighted covering selectable stuff on the right half of the window, and then subsequent motions apply to that region? (Sorta like dasher.) - People stopped making significant improvements (beyond tab-complete tweaks) to unix shells years ago. For example, 90% of the time a command-line argument that won't tab-complete is something visible two lines up from the prompt -- why doesn't my shell integrate with screen? Why doesn't screen integrate a layer up into the GUI, so that I don't have tabs in my gnome-terminal and then separate screens within a tab? (I believe Eterm may have done some of this.)
Pipes + unix utilities are awesome for manipulating data sets, but typically fall down once you're manipulating anything more complicated than lines -- the similarity between pipes and lazy lists is often commented on... (I've been following the Microsoft shell stuff with a lot of interest. What I've seen so far seems interesting but perhaps not especially useful -- I wonder if they don't have enough of the command-line culture to know which sorts of tasks people actually want to accomplish from the command line, instead of just trying to expose a bunch of .NET?) - GMail was revolutionary in a few orthogonal ways:
- Painless, omnipresent search + bottomless archiving as a fundamental interface metaphor. (Quite nice! Changed the way I use email!)
- AJAX!@#!@ (Wasn't really the first to do it, and while an impressive programming feat it'll never compare to a pleasant client app.)
- Lots of disk space in a web app. (Also neat, but see #2.)
[...]
What I really want is #1 without #2.
you say it'll never compare to a pleasant client app... but there is no comparable client app, is there? which is wild, considering people have been writing mail programs for a long time.
i use ms outlook, and i have for years, because i don't know of any other mail app that can gracefully handle a 10k message inbox, along with good search. basically it's the closest thing i know of to a client version of gmail.
i'm still miffed by the "upcoming war" between the desktop and the web that everyone is talking about, and that people are devoting their time to projects like this... it feels like a step backward.
conversations
focus!
I've wanted the focus app for a long time. I finally started working on a C# / Windows version not too long ago. I wrote a bunch of code to do the tracking and store it to a sqlite database. And then I'm like, "Crap. Now I need to figure out ways to intelligently visualize this." =]So your notes are kinda' interesting, though I think I only kinda' get the tree structure you mentioned. The classifier stuff is kinda' cool. I should do something like that. =]
Re: focus!
That's neat! If we used the same log file format we could share the frontend.Re: focus!
Re: focus!
Re: focus!
Re: focus!
- "install" an app by invoking a URL.
- make use of remote computing and storage
- run the UI with a scripting language controlling a very rich locally-installed client.
Microsoft's new programming environments borrow a lot of tricks from web applications. If AJAX dies it will be because MS will have subsumed it. But I wonder if the two application styles will instead just converge in the future.
I've tried to understand the MS programming environments a few times but I've never been able to get all the code words straight. But I could imagine running rich C# (or whatever) locally -- that's what Sun was trying to do, after all...
zsh!
If you think that shells stopped innovating years ago, take a look at zsh... It might not be in the direction you want, but there's some funky shit in there.Re: zsh!
And subscribe to the zsh-users mailing list, there's useful tips all the time. Alt-. (insert the last word from the previous line, repeat for earlier lines) is the most recent one I picked up, and it also works in bash.Re: zsh!
It's interesting to me that you are writing pretty much the same thing that I've been thinking (so much to code, so little time!), but your projects of interest are quite different to mine. I guess variety is the spice of life, or something…
What I really want is something to tell me what to read on a mailing list so I don't have to go hunting for the interesting bits and the uninteresting bits go away after a reasonable period of time. I've broken it down into three steps:
Step one was purging old, unflagged mail from my mailing list inboxes. I flag stuff that I find interesting and it stays around.
Step two was automatically flagging messages I've responded to, messages I've written and responses to messages I've written. (Still need to do step 3)
Step three will be per-list bayesian (or similar) filtering to automatically flag interesting messages based on messages I've flagged. I'll probably get around to it in a couple of weeks while I build up a big enough flagged messages.
*
Re: *
It took me a while to understand your HTML. (I've apparently been thoroughly brainwashed by making my tags match up.)People titter uncomfortably when I use "nipple". I'd imagine "clit" is even better!
I can't find any info about an awm by an Andrew, but wikipedia's "tiling window manager" article mentions ion, which I have used a lot. It works great for some things and poorly for others. But all I really use are terminals (size doesn't matter too much) and web stuff ("we'll just design for 1024x768 screens"), so just making everything fullscreen isn't so bad.
Do you normally use shells from within emacs or externally?
Re: *
Re: *
Re: *
Re: *
Re: *
Re: *
Re: *
strange, I think you can sort-of have that with gmail combined with a pop client. I use my mail in outlook the way I used too, and if I need to find anything that I can't find right away, I do it in the gmail ajax interface. Not quite perfect, but close.
Then again, linking Google desktop with gmail (i.e. let google desktop search through one or more gmail accounts) may be even closer to what you want, if not quite there yet I guess. Or imap support for gmail? You need to lauch some ideas internally ;-)
eterm: Yeah, there's support for screen provided by EScreen (compile time flag?). It's ok, but you have to take all of Eterm's problems with it (memory usage, no unicode support, etc). I recently switched from Eterm to urxvt and am enjoying it much more. As for a shell, do any properly display unicode? When I try to tab complete unicdoe, I get gibberish in zsh.