To recap: given the absence of other credible alternatives I had two options:
I think there is room for a new console client, because mutt is showing its age and does feel like it should have a real extension language - be it guile, lisp, javascript(!), Lua, or something else.
So I distilled what I thought I wanted into three sections:
So how did I do? I wrote a ncurses-based client which has Lua backed into it. You can fully explore the sidebar-mode - which lets you select multiple folders.
From there you can view the messages in a list.
What you can't do is anything "real":
For a two-day hack it is remarkably robust, and allowing scripting shows awesomeness. Consider this:
-- -- show all folders in the Maildir-list. -- function all() -- ensure that the sidebar displays all folders sidebar_mode = "all"; -- we're going to be in "maildir browsing mode" cmail_mode = "sidebar"; reset_sidebar(); refresh_screen(); end -- -- Test code, show that the pattern-searching works. -- -- To use this press ":" to enter the prompt, then enter "livejournal". -- -- OR press "l" when in the sidebar-mode. -- function livejournal() sidebar_pattern = "/.livejournal.2"; sidebar_mode = "pattern"; reset_sidebar(); refresh_screen(); end -- -- There is a different table for each mode. -- keymap = {} keymap['sidebar'] = {} keymap['index'] = {} keymap['message'] = {} -- -- In the sidebar-mode "b" toggles the sidebar <-> index. -- -- ":" invokes the evaluator. -- "q" quits the browser and goes to the index-mode. -- "Q" quits the program entirely. -- keymap['sidebar'][':'] = "prompt-eval" keymap['sidebar']['b'] = "toggle" keymap['sidebar']['q'] = "toggle" keymap['sidebar']['Q'] = "exit" -- show all/unread/livejournal folders keymap['sidebar']['a'] = "all" keymap['sidebar']['u'] = "unread" keymap['sidebar']['l'] = "livejournal"Neat, huh? See the cmail.lua file on github for more details.
My decision hasn't really progressed any further, though I can see that if this client were complete I'd love to use it. Its just that the remaining parts are the fiddly ones.
I guess I'll re-hack mutt, and keep this on the back-burner.
The code is ropey in places, but should you wish to view:
And damn C is kicking my ass.
A few weeks back my friend Lucy sent me a message asking if I would be prepared to spend some time talking about photography and sharing some techniques. Lucy studied photography at GCSE (proper “wet” photography) and has been getting into digital photography recently. Of course, I said “yes” and on Sunday we met up on the South Bank. It’s a great place to explore, with plenty of colour, shade, textures, areas and angles. That’s even before you look at the collection of street performers, which on this particular day included a fire-belching euphonium and a man stood in the Thames playing electric guitar.
I’ve never tried to teach anyone photography skills before, even in an informal setting like this. I’d been thinking through what I wanted to talk about beforehand, but kept feeling overwhelmed by how much detail I found myself including. It was reassuring to me that I understood all the technical stuff in that depth, but an interesting challenge to pick and choose the most important bits. Lucy wanted to focus on the technical stuff, so we didn’t talk about interacting with people too much. Hopefully next time!
We started by working through the “exposure triangle”, the mixture of shutter speed, aperture and ISO that gives the perfect exposure. I made Lucy take photos of me (poor thing!) until we had a good exposure, then varying one setting and adjusting the others to compensate. We also talked about the artistic impact that each setting has on an image, using aperture to separate a subject from their background and shutter speed to freeze or harness motion. Oh, and I also managed to blather on about direction and quality of light, metering, white balance, focal length, composition, angle, patterns.
Lucy posted some great images after our walk. Hopefully my witterings were of use, but I enjoyed catching up with Lucy and talking about my favourite subject with her.
Pin ItAt the pub in Hursley on Friday, a white bee landed on the table outside.
An unusual colour, I think it might be an andrena cineraria, a type of miner bee. Ive never seen one before, but it was quite cool to look at.
I've recently started staging upgrades from Squeeze to Wheezy. One unpleasant surprise was that the mutt-patched package available to Debian doesn't contain the "sidebar-new-only" patch.
This means I need to maintain it myself again, which I'd rather avoid. Over time I've been slowly moving to standard Debian systems, trying to not carry too many local perversions around.
Unfortunately if you've kept all your mail since 1994 you have many mailboxes. having mutt-patched available at all, with the sidebar patch, is a great timesaver. But I don't want to see mailboxes I'm never going to touch; just mailboxes with new mail in them.
Also I find the idea of having to explicitly define mailboxes a pain. Just run inotify on ~/Maildir and discover the damn things yourself. Please computer, compute!
If you divide up "mail client" into distinct steps it doesn't seem so hard:
Obviously there is more to it than that. Sending mail? exec( sendmail ). Filtering mail? procmail/sieve/etc. Editing mail? exec(vim).
I'm sure if I were to start a core of a program, suitable for myself, would be simple enough. Maybe with lua, maybe with javascript, but with a real language at the core.
Anyway I've thought this before, and working with quilt and some ropy patches has always seemed like the way to go. Maybe it still is, but I can dream.
(PS. Sup + Notmuch both crash on my archives. I do not wish to examine them further. Still some interesting ideas. It should be possible to say "maildirs are tags; view "~/Maildir/.livejournal.2003" and ~/Maildir/.livejournal.2007 at the same time. Why just a single directory in the "index-view? So 1994.)
Disjointed posts R Us.
Obquote: "How hard could it be?" -- Patrick.
As part of the DebConf13 fundraising efforts, Brandorr Group is funding a matching initiative for DebConf13, which will be in place for 4 more days (through April 30th).
You can donate here!
Please consider donating $100, or even $5 or any amount in between, as we can use all the help we can get to reach our fundraising target. The rules are simple:
This generous offer will only stay in place through the end of April 30th.
Please act quickly, and help spread the world!
Useful stuff about dealing with partitions etc. on these new-fangled 4096-byte-sectored hard disks:
http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/
Neil McGovern, on behalf of the Debian Release Team, announced the target date of the weekend of 4th/5th May for the release of Debian 7.0 "Wheezy".
Now it's time to organize some Wheezy release parties to celebrate the event and show all your Debian love!
This weekend was the fourth of the BFI‘s Doctor Who 50th anniversary celebrations. It was the turn of the fourth Doctor, Tom Baker, and the story chosen to represent his era was Robots of Death.
After a brief a introduction from Steven Moffat, who described the story as “perfect” and this era of the show as “the best era, apart from all the other eras which are equally as good”, there was a surprise guest: Matthew Waterhouse (Adric) read a speech about his love of the Tom Baker era. A brief clip of Lis Sladen from an earlier BFI event was shown, a touching way to make sure her presence was felt.
“Robots” itself was cracking. I’ve seen it lots of times before, but the presentation on the large screen was great. I hadn’t realised how downright cheeky Leela is in this story, she’s almost cocky. The costumes are fabulous if utterly impractical and the robot masks spooky. The tension really ramps up in part three as the body count gets higher.
Halfway through the story, Mat Irvine gave us some insights into how the visual effects were managed in the BBC at the time “Robots” was being made.
The panel afterwards was fantastic. The smallest panel of the season so far, it featured Philip Hinchcliffe (Producer), Louise Jameson (Leela) and Tom Baker (The Doctor). Tom was on grand form, his stream of conciousness was hilarious and random. He also talked a little about his relationship with Lalla Ward, which I haven’t heard him do before. Philip and Louise both managed to get more than a few words in edgeways, which was no mean feat.
Afterwards a large group of podcasters reviewed the screening for another special episode of the Doctor Who Podcast, which will appear on-line soon. Chatting and sharing pizza with other fans makes the screenings even more fun. The Doctor Who Podcast special recording from the “Mind of Evil” BFI screening is still available.
Pin It