Mark Eichin - Gadgets and Tech

Formerly which was an interesting experiment in using other people's code (various standalone blogging apps for Android, iOS, and Linux) but that's over and I'm just translating everything to MarkDown and hosting it myself again.

mark-eichin-blogspot-com: Thu Mar 3 19:20:00 2011

Thu Mar 3 19:20:00 2011

Tool Building

I've put what is probably an unreasonable amount of time into building my own software tools - not particularly novel tools, necessarily, just glue to create support my own idiosyncratic ways of working. For example, back in 2003 I had a Sony Clié; as a way of attempting to understand what the big deal about blogging was, I put together a working mobile-photoblog with a .forward file and 50 lines of shell script - I could take a picture from the Clié, add text and a title to an email message which would go to my posting address. Even had a handful of readers. About the same time I started turning my README files into blog input (I was already doing plenty of writing, so why change my habits when I could build tools around them?) This led to some kind of gross ad-hoc parsers for the kind of text-shorthand I used, which at least worked as a way of getting them on the web.

These days, I've come to believe it's worth some amount of effort to use the tools other people come up with, rather than inventing everything from scratch, satisfying though that is. For example, MarkDown syntax appeared in 2004, is close enough to what I was doing already that simply hand-re-writing my README files into it would be trivial, and gets me away from having spent 7 years on and off tweaking regular expressions to generate what I have now. Of course I can argue that spending that time is why I now know that MarkDown is what I wanted in the first place, and it was a good playground in which to develop skills with various bits of Python... but it's getting in the way more than it is helping, at this point. I've actually got a prototype that takes the RSS of this blog, upgrades it to MarkDown with some extensions, and generates the corresponding page on my own site... eventually this will point there instead, and "gadgets and tech" will go back to being a category and not an entirely separate project.

This isn't the only bit of consolidation I've been doing - I finally have all of my photography in one collection, a single 33M KPhotoAlbum XML file with tags and metadata for over 80 thousand pictures. There are still a bunch of older captions (from bins, the old perl gallery tool, and from some ad-hoc software of my own) that need to be folded in, but not an enormous number of them. This has allowed me to dig up a few interesting things from my earliest photographic efforts, so it hasn't just been a filing exercise; it has also been a good way to see the progress in both camera tech and personal skill over a decade.

Pycon 2011 is in Atlanta, GA, next week, and while I hope to do a bunch of coding while I'm there, I don't want to build up quite as much of a backlog of future projects and wishful thinking as I have in the past - while by habit I do seem to be a builder of infrastructure, it's primarly bespoke personal infrastructure, and doesn't really increase my development velocity that much - I want to make things happen. We'll see if I actually pull that off :-)

mark-eichin-blogspot-com: Sat Jan 29 21:18:00 2011

Sat Jan 29 21:18:00 2011

Post-XMAS tools - Toro 1800 Power Curve Snow Thrower

Burned out an (admittedly underpowered) older, smaller electric snow thrower after two years, and replaced it with the newest Toro 1800. It's an amusing bit of "we live in the future" that one can use Amazon Prime to get a snowblower delivered before a predicted snowstorm :-) I've now used it to clean up after 3 major snow storms, totaling an "official" five feet or so, just in the last month.

Nice features of this particular snow thrower:

Annoying "features":

As far as electric snow throwers in general are concerned, I prefer them over gas-engine ones for noise, smell, and vibration, even if they fall short on snow-berm work (I've generally used a shovel to break up the berm and then the snow thrower to disperse the chunks, which works pretty well.) They're also not necessarily faster than hand-shoveling, especially with a large shovel - but since they don't involve any lifting I am so much less fatigued and strained after the cleanup effort that I don't mind the extra time, and the New England snow storm pattern is usually a day or two of mess followed by at least a day of sunshine to clean up in, or at least it's seemed like that for the last couple of years.

Of course what I actually want is a Robomower-class unit that goes out and starts clearing before the snow has stopped, with a protected (heated?) docking station of some sort, but we're not quite there yet...

mark-eichin-blogspot-com: Thu Dec 23 20:24:00 2010

Thu Dec 23 20:24:00 2010

Pre-XMAS toys - Sony Liveview, Google CR48

Picked up a Sony Liveview from (will figure out how to link it later.) Would be very cool if it worked reliably, but it seems to have sufficiently low-power bluetooth that a couple of laptops worth of WiFi oppress it thoroughly (and it doesn't even work as a watch face if it hasn't got an initial pairing.) Nice concept, though: OLED screen with few enough pixels that you can plausibly squirt UI "frames" over bluetooth, not at animation speeds, but certainly at basic interaction speeds. The "google maps where-am-I" widget is a simple example of this - the idea of looking at a wristwatch for "where" instead of "when" is a very sci-fi-worthy concept...

Filled out a little survey at google, along with (presumably) a few million other tech geeks, after seeing it mentioned on twitter... much to my surprise, one (of the reported 60,000) CR48 "google chrome laptop" showed up. It's an interesting exercise in reduction and simplicity; I'm still working out how to code from it (this will probably involve Mozilla SKywriter and a lot of glue, but they seem to have abandoned the mercurial backend, and I want SVN and/or Git instead anyway, just based on what I want it to be compatible with) but for everyday surfing, blogging, social network interaction, bill paying, shopping, news, speculative writing, it works just fine... and I can see people for whom it would be a great tool. In fact, I'd love to have it as my work laptop - as long as everybody got one and they killed off any infrastructure that didn't work with it (there are still a couple of IE-only tools, though I don't personally have to use any of them, and everyone who does use them wishes that they would die.) I think that'll actually be a pretty good model at some point - after all, that's what we were going for back in 1985 with Project Athena :-)

As far as gadgets go, it's not really that interesting to talk about the cr48 itself; you apparently can't go buy one, and other than the battery it's just a pretty stripped down machine (without feeling like a netbook.) The two startlingly distinct things about it are the time to wake up -- as a linux user, having the system come back, with working wireless, in seconds is novel, and has made me willing to spontaneously close it to give more attention to people around me, in ways I don't with my normal laptop -- having no persistent connections helps with that too, but it does feel a little strange. The other bit is the Search key. Instead of caps lock, which is sufficiently pointless that one can reasonably argue that computers should never have had one, the same button just opens a new browser tab. That seems simple, even trivial - after all, you can just hit ^T and get the exact same effect - but getting into the habit of smoothly hitting search and typing a sentence or idea and flowing smoothly into a set of results feels very powerful. I don't know how powerful, yet, but it's the first browser-specific thing that's ever given me a hint and the kind of power I get from emacs :-)

I'll write more about Chrome on a Laptop as I spend more time with it. There are certainly things it doesn't solve right now (it's almost useless for a digital photographer, and it's not going to run ROS/Kinect any time soon - if nothing else, there's not enough storage, ROS is huge) but thinking about the set of things it does solve well may lead to insights on what might be better approaches for the things outside of that box...

mark-eichin-blogspot-com: Sat Oct 2 13:12:00 2010

Sat Oct 2 13:12:00 2010

Nexus 1 - features I've wanted for *years*

The Nokia 6630 was the first phone I had that could do real networking - it had an HTML browser (not just a WAP one) and Python-for-S60 could talk to phone APIs and the network. Still, T9 wasn't great for entering URLs, and while it was cool that I could get real web pages, it wasn't really a good surfing platform. What I wanted at the time (and made various attempts to implement) was to surf on my laptop, find something I wanted to have on the phone for later (google maps link, most commonly, though "something to read later" was also useful.) On my G1, I actually achieved a crude version of this - from the browser, select the URL, then run a helper that took the cut buffer and made a QR-code out of it, then run the zxing (Zebra Crossing) barcode scanner on the G1 to read it off the laptop screen and open it in the browser (Goggles seems to work for that too but Zebra Crossing is more direct.) Still a couple of steps; I thought about just pushing links to with a "phone" tag and then having the phone look at those, but that didn't really get me a proper queue.

Finally, running 2.2 on a Nexus 1, there's "Chrome To Phone" - a Chrome extension that lets me just click once, and almost immediately my phone chimes and opens the web page, without me even touching it! That's the workflow I was looking for - although the current Android web browser is actually pretty good for surfing anyway.

Another bit I'd wanted was to be able to use a decent keyboard to blog from the phone. The Nokia Wireless Keyboard did work with the 6630, but it wasn't a particularly nice keyboard (from the perspective of someone who prefers the Type M) and the spacing was a bit small... and the 6630 blogging clients weren't really there (best choice was to aim Nokia Lifelog at livejournal, which I did for a while.) On the Nexus 1, I'm actually posting this using Blogaway and the Apple Bluetooth Keyboard (whcih isn't a Type M but has good spacing, a lot more travel than it looks like it has, and when it comes down to it, I can type very fast and comfortably on it which is what really counts.) So perhaps I don't need USB host support to talk to real keyboards after all :-)

The final bit that I'm looking for in my mobile communicating toolset is to go from any of my cameras to flickr, with captioning. So far, FlickrStackr on the iPad (with the same Apple Bluetooth Keyboard, and the Camera Connection Kit) is the option I've used to upload a dozen or so pictures from the field - they bypass my normal workflow, but for highlights or timely shots it works really well. It's also the first thing that's made the iPhone look tempting :-) So I'm still on the lookout for ways to go from camera (or at least SDHC card) to Nexus 1, and thence to Flickr. But I'm quite pleased that the other bits all came together over the years.

mark-eichin-blogspot-com: Fri Sep 10 20:26:00 2010

Fri Sep 10 20:26:00 2010

Neato XV-11 field test

The Neato XV-11 arrived; after a full charge, it ran around the un-cleaned-up first floor of my house with very little trouble - it had a little trouble climbing some sills between tile and wood floors (which the Roomba just bounced off of, the XV-11 seemed have a more directed set of attacks that eventually worked.) It also found most of the places it could go before coming back for a charge (with a 3/4 full dustbin, though it left some small scraps of paper - not too surprising for suction on hardwood. It also wasn't very effective on birdseed on a doormat, though I'm not sure anything else will be either.)

There were a few areas it seemed to just avoid - I wonder if there are magnetic bits underneath them (nails in beams, perhaps) and it would be nice to have a diagnostic from the unit that actually reported such, maybe by blinking the backlight on the display or something.

It is a bit loud (more broad-spectrum than piercing, though) but the whole point is to let it operate unattended, and after this first pass, I'm much more willing to leave it alone in the clutter than I would be with the Roomba. It's also interesting to see it explicitly shut the "vacuum" off and display "returning to charger" as it quietly heads "home"; it helps make the case that it knows "where it is".

It'll need more observation... and eventually, video of the XV-11 and one of the Roomba's attacking the same floor :-) But for now I'm happy with watching it attempt "real" work that isn't set up to challenge it...

mark-eichin-blogspot-com: Tue Aug 24 23:11:00 2010

Tue Aug 24 23:11:00 2010

Even More Robots (with lasers!)

Looks like the Neato Robotics XV-11 is shipping (review sites are getting their preorder units, Amazon lists it as "2-3 weeks" but is taking normal orders.) This is the first real competitor to the Roomba - while iRobot has been doing an excellent job of evolutionary/incremental improvements to their flagship consumer robot, the only really significant change since it came out in 2002 was automatic docking for charge - I now have one unit that runs in my bedroom every single day, and it handles that quite well with minimal attention - the switch from IR to RF for control didn't really do the end-user any good. The XV-11 appears to be going all the way in an attempt to leapfrog it - actually mapping the space, keeping track of what it's done, appearing to follow a plan - basically behaving like a smart robot, instead of a cleverly-dumb one. (Roomba's random walk is effective in simple spaces, and was a clever bit of engineering optimization back when CPU actually cost something... but I have a large, cluttered, "open plan" space that the Roomba generally gets lost in which will be the XV-11's first challenge.)

Of course, one of the secondary advantages of the Roomba was that it encouraged keeping a space uncluttered - but it'd be nice to have that as a choice, rather than a limitation.

mark-eichin-blogspot-com: Sun Aug 22 18:47:00 2010

Sun Aug 22 18:47:00 2010

Emergency Chai Flashbacks

The (long gone) Someday Café in Somerville is noted for having been the reason Chai escaped from Seattle - somewhere I have a Time Magazine blurb about it, we're talking early 90's here. I used to be "that guy" who showed up with a hat and a beat up Tosci's mug (once we determined that it wouldn't melt, they were happy to steam directly in it - yay for having Real People behind the counter :-) Especially in early winter, when Davis Square was entirely composed of slush, I'd use the subway tunnel to cut across the square and back to my office. I still have fond associations of Oregon-style Chai with miserable New England weather :-)

The reason these 15 year old images are flashing back to me now is that my local grocery store (Crosby's) stocks K-cups, and I got a K-cup machine as a gift (I'm not sure K-cups are what you want if you like coffee, but if you just need a cup some mornings - self-medicating, if you will - so you can rush out the door instead of lingering over a proper cup of tea - the low end machine is a nice thing to have tucked in a corner of your countertop somewhere.) Today I saw that they had Chai Latte cups, and on a whim, I picked up a box.

Much to my surprise, they're perfect. Good enough to inspire the flashbacks above (ok, perhaps it helped that I was out shopping in the rain - I'm still in New England after all :-) I really didn't expect that. I mostly figured I'd use this once in a while for have-to-get-up-at-7am-for-a-concall-with-dudes-in-Berlin coffee emergencies; that was how I convinced myself that the ludicrous amount of packaging per serving was acceptable. These Chai cups may change that...

mark-eichin-blogspot-com: Sun Jul 25 23:00:00 2010

Sun Jul 25 23:00:00 2010

Model M Keyboards

The old and the new: I'm typing this on a Unicomp Model M (modern construction of the classic IBM/Lexmark keyboard) hooked through the Camera adapter (ie. "the USB port that should have been there all along") on my iPad. I did get a "The attached USB device is not supported" message, but that's because this particular Model M is the version with the ThinkPad-style trackstick, which shows up as a normal mouse; the keyboard itself is working fine.

If the camera adapters weren't (a) so expensive (b) so scarce and backordered, I'd just leave one with the keyboard...

mark-eichin-blogspot-com: Wed Jun 30 19:43:00 2010

Wed Jun 30 19:43:00 2010

Continuing with the iPad

Picked up a bluetooth keyboard today for use with the iPad; not all that much more to say than "it works" although emacs bindings don't work the way they do in normal Mac apps, and least things like keyboard-oriented cut and paste are there. (I also picked up the two "real" SSH clients, iSSH and SSH Terminal - as much to encourage competition as anything :-) I do use the iPad for work email as well as personal, and now that I have a keyboard, well, there have been occurrences in the last two or three days where I'd have logged in to work remotely rather than waiting... it's not that I have any shortage of laptops, but waiting for one to boot, and the extent to which I get "sucked in" once I've done so has led me to avoid working on things from home if I'm trying to head in anyway (now, if I can do something at home that lets me avoid going in, that's another story, but a much less common one.)

And as you can see, I type significantly more (and less visibly, significantly faster) with an actual QWERTY keyboard in front of me. We'll see if that leads to more blogging, or promoting this to a "more real" blog, instead of continuing to pretend it's a playground for mobile client use...

mark-eichin-blogspot-com: Thu Jun 24 00:27:00 2010

Thu Jun 24 00:27:00 2010

Next round of mobile toys

Finally picked up an iPad for myself, now that the 3G ones are out. (I was going to wait for a model with built-in webcam, but the weight of my normal laptops is bothering my knees - and the iPad totally handles reading/viewing without compromise, and that's the larger part of my computer time.) Continuing the mobile client tradition, I am composing this on the iPad using BlogPress and the on-screen keyboard. However, I actually want to write about cameras...

I've been carrying the dSLR with a big lens - either the 500mm mirror lens, or the 55-250mm zoom. I can't really snap off shots with it, like I did with the SX-10IS, it really needs to be aimed, and even in live view the auto focus isn't enough. I missed three shots on Saturday for this reason alone - a deer browsing above the retaining wall on route 2, a flipped over car on the outbound side of Belmont hill, and my car's mileage hitting 88888 (I did get a bad phonecam shot of it, but not really suitable for my gallery of numerologically interesting mileage readings.)

The end result is that there is a shiny new Canon, the SD4000IS, which has 320fps video, a backlit CMOS sensor with allegedly awesome low-light modes, which is now going to be my close-in/impromptu camera. I'm still going to carry the Rebel XSi with something long mounted, but that may go back to being an "event" camera. Who knows, I might even start taking pictures of people, instead of "things with wings" and architecture...

mark-eichin-blogspot-com: Sun Apr 4 01:31:00 2010

Sun Apr 4 01:31:00 2010

Even more "differently" mobile

There's a free client for the Iphone called blogwriter lite; it runs as a scaled up portrait only app on the iPad. This also means that it uses the iPhone soft keyboard, not the native iPad one, which is usable but not nearly as good as the real thing. It does provide offline writing, though, which is probably enough reason to use it anyway; I haven't checked to see if writing in Notes and pasting works with emulated apps or not, though it really should.

In the end I've done more testing of mobile blogging tools than I've done actual mobile blogging; seems that when I'm mobile I don't actually have time to sit down and write, even if I have the tools...

mark-eichin-blogspot-com: Sun Apr 4 01:17:00 2010

Sun Apr 4 01:17:00 2010

An unexpectedly usable mobile client

Since I temporarily have an iPad, it made sense to add it to the mobile tests, even if it is wifi-only at this time... Mobile Safari just works with the web ui here, and in landscape mode I can type surprisingly quickly with one hand (rather faster than with two, actually - resting your fingers lightly on the keys is healthy with a physical keyboard and fatal with a touchscreen :-) although if I watch carefully some of that is because the auto-correct is quite good. Still not "out of the way" enough to do lengthy essays, but good enough for captioning and tagging, certainly.

mark-eichin-blogspot-com: Sat Mar 20 15:15:00 2010

Sat Mar 20 15:15:00 2010

Wishlist of Fictional Books

The latest dresdencodak reminded me that I need to make a list of fictional texts that I want copies of:

mark-eichin-blogspot-com: Sat Mar 6 20:40:00 2010

Sat Mar 6 20:40:00 2010

Code that other people might use

Since I got the DSLR, one of my big practical complaints is the lack of digital zoom; of course, I'd prefer the equivalent optical zoom, but I'm not going for lenses that need their own tripods and cost more than a car... the complaint is simpler than that: I do all of my framing and composition in the camera, I don't modify pictures coming off the camera; maybe someday, but for now I actually find the "untouched digital negative" model appealing. (Also I spend enough extra time on sorting and captioning as it is, I don't need more work in my workflow, and my audience hasn't had specific complaints in any case...) This means that even at maximum (250mm) zoom, I'm getting useful pictures with huge excesses of whitespace (in the typesetting sense - sky, irrelevant shrubbery, etc.)

The normal approach would be to add a cropping step... but I'm using kphotoalbum, and it doesn't have one (it also buys into the "don't touch your originals" model, and I love it for tagging, so it's a good fit; it's just that it's purely for tagging/captioning/filing and doesn't have a slot for picture-modifying/deriving workflow extensions.)

I started sketching out the pieces involved, and when I got to the "UI" part, I realized I'd considered this before - that I wanted a feature like this in flickr itself. flickr already has a "notes" feature (drag out a rectangle, associate some text with it) and a rich and reasonably well documented API...

This brings us to my project of the last two days: auto_cropr looks at your recent pictures for ones with "cropr_me" tags on them (usefully, adding such a tag seems to make the picture newly recent.) Then it looks for a note (by the album owner only) with the text "cropr_me" (it would accept blank notes too, but flickr doesn't actually let you create those, and I want to match some string just to avoid stomping on other tags or generating lots of unintended clips - or for that matter, to allow a picture with a clip-note to have other notes too.) Given the note, it downloads the "Original", transforms the note into the appropriate coordinate space, uses PIL to clip out the rectangle, then uploads that back, with duplicate tags, map location, and date-taken... and then rewrites the original note to point to the clip (and points the caption back at the original picture.) Here's an example.

The tool is by no means complete - it's just reached the point where it works on my own live data, and solves the problem I started with. Things missing include

Other than rotation, I don't need the rest of these for my use; I'd need to start asking around and see if anyone else actually wants the feature before setting up the rest (in theory I could use it as a chance to work through how to build flickr apps that other people can use - in practice, I don't actually have even a second app in mind, unless I go down the "back up all of your cloud services for you" path, and that's got a rather different structure.)

Not that I've told anyone about this blog, but I should start asking somewhere, so this will do: if this interests you, let me know (in comments here, or via the usual social networking paths.)

ps. It also needs a better name - it's not actually doing automatic cropping, in the sense of stripping excess "empty" space and applying rule-of-thirds heuristics or something like that, merely automated cropping.

mark-eichin-blogspot-com: Mon Mar 1 12:36:00 2010

Mon Mar 1 12:36:00 2010

tiny little robot army

(Yet another client: kblogger crashes on config under Karmic, but "bilbo" (now called "blogilo") seems to have a useful feature set and working autoconfig - entity quoting in titles seems wrong, but it gets a spin...)

As mentioned, I'm working my way through "Learning Computing with Robots", using the accompanying Scribbler/Fluke bot/bluetooth combo. The first chapter ends with a set of exercises, the first six of which are essay questions; while I don't have a grader, essay writing isn't that far from blogging, so I worked through them... and it was actually worth the time, it got me to actually think through some basic assumptions. Maybe later on I'll actually start blog posts off of them, either on general robotics or as a review of the textbook.

In the meantime, I spent the afternoon doing actual robotics - replacing the bump sensors on my Roomba. Mostly tedious mechanical work (20+ screws and some pressure-fit plastic - they're not quite far enough along to be entirely non-servicable, but they're not particularly designed-for-repair either. At least manufacturing evolution puts pressure on having most of the screws be the same kind :-) and a little soldering; I just swapped in the parts themselves, rather than repair them. This article had good detail on the specific steps, and this one had a useful set of pictures with screw locations and such (for a cliff sensor repair, but the initial steps are the same.) I like hands-on work, it's a good contrast to the time I spend in front of ASCII characters...

mark-eichin-blogspot-com: Fri Feb 26 19:58:00 2010

Fri Feb 26 19:58:00 2010

doing well on the mobile; not so well on the blogging

Went to pycon, the tiny Vaio made a great "useful machine for sitting down and working", the G1 made a good "keep up with #pycon on twitter so I can find dinner plans" tool (mostly using twidroid, but it did get me to switch to seesmic, just for the easier access to saved searches (and larger fonts.) I actually used a paper notebook for note-taking, as I have in previous years; didn't do any sketch-blogging, just took photos, but writing notes was just better for my concentration (which was actually surprisingly good this year, I was apparently getting enough sleep :-) In the end, that meant that I kept up with stuff online the same way I would have if I were home, there wasn't really a "mobile" context to the trip, and I wasn't planning to do talk summaries until I got back anyway.

The pocket 'scope showed up, still haven't got a workbench. I did pick up a georgiarobotics textbook and robot, and immediately started playing with it via their python toolkit, "myro". (The source has some tantalizing roomba mentions - I may try getting it to work with the iCreate too and have them play tag or something :-) I did get about halfway through the first chapter of the textbook, and I have ambitious plans to combine this with CLR(S) 3rd edition as part of a general "oh, right, I do have a CS degree" refresher (inspired by Raymond Hettinger's talk) as well as actually leveling up in robots for their own sake.

It would probably also help if I got all of my blogging efforts fed together into a common "flow"; google buzz helped with that a little bit, and the pycon talk about pubsubhubbub suggested some other interesting things that I've half started on. Perhaps I should just set a rule limiting the amount of time on blogging-related-coding to a specific fraction of the time spent on blogging-related-blogging :-)

mark-eichin-blogspot-com: Sun Feb 14 16:25:00 2010

Sun Feb 14 16:25:00 2010

it's all in the wrist (it's all about the keyboard)

Gave up on the android clients (too big or too buggy), blogtk is a failure too (that title problem? Apparently it crashes when you type a title, so they disabled the field. Feh.) Blogger's web interface has save (but not autosave?) and works in the android Browser, but only under "edit HTML", which is tolerable for the moment.

I really should not be embarking on my own client at this point, though once the next ASE ships with real GUI support, I may have to take a shot at it. I still end up wanting an external keyboard, and the Vaio P is actually a reasonable size for one, so I should give in and use it directly. For now, though, this is still about mobile posting and not just writing, and even on a netbook, it doesn't really "feel" mobile...

mark-eichin-blogspot-com: Sun Feb 7 21:16:00 2010

Sun Feb 7 21:16:00 2010

Titles are not optional

Let's see if blogtk can handle mobile-offline writing for later posting. I see a save/open saved post menu, after all, but while I can type entry contents, I don't seem to be able to select the Title field when not connected (which doesn't make a lot of sense.) (It appears to work, though the save format turns out to just be 6 cPickle'd strings, yay python :-) (Hmm, Title doesn't work now that I'm connected, either...)

Went down to NYC for the weekend; ate at Oceana and Serendipity3 and Cosi and Zabars (and the American History Museum Cafe, and the Loeb Boathouse Cafe, and Nathan's.) Took the Bolt Bus down, which had power, wifi, a comfortable ride, and precise timing; I took the Acela Express back, which had power, no net, wider seats, and a 2-hour departure delay (that had nothing to do with the DC/New Jersey area weather, a mechnical failure that was fixed in Baltimore was blamed.) Combine that with the 5x price differential, and I'm probably taking the bus on my next trip down.

Speaking of which, walking around Central Park with a camera was a lot of fun, I'd like to try it again some time when it is more than 30F out (though 30F and sunny and not much wind was actually tolerable for an hour or two at a time.) Casually getting pictures of cardinals, woodpeckers, brown creeper, house finch, hawk, nuthatch, grackle, and a host of more common birds, even though it was near-freezing, was a great way to spend a sunny Sunday afternoon.

mark-eichin-blogspot-com: Tue Feb 2 20:09:00 2010

Tue Feb 2 20:09:00 2010

Optimized for travel; biased for shooting

I picked up a second-hand Sony Vaio P from a friend who got it in Japan. Scarily light, 220dpi screen, comfortable keyboard, thinkpad-style eraser-mouse... I've just about completely switched over to it as my "laptop that I actually carry", though I haven't really "vacated" the T60p yet. I'm actually running a stock Lucid Lynx Ubuntu daily build on it, so I have "slow" X but in exchange for that pretty much everything works reliably, including suspend/restore (there's a backlight issue but changing vt's in and out of X seems to solve it.) I haven't ported my XMPP client over yet; it looks like python-pyxmpp gives a lot more rope and actually has Kerberos/GSSAPI code, but it fails to come up with sane service names (and if I force those, it fails to actually complete enough of the negotiation to get any traffic from the server.) However, pidgin actually does GSSAPI, so I may stick with that for a bit. I was also inspired by all of this to figure out how to set up ratpoison to use trayer and the various applets, including NetworkManager (which is a lot saner than it ever used to be, I may be able to stick with it and not go back to my adhoc scripts after all.) I've even completed an end-to-end run of my camera/usb stick/kphotoalbum/flickr upload workflow on it, that worked just fine. My biggest remaining problem is actually font sizes. I've had bad luck with telling xulrunner a minimum size to use (many pages seem to get confused and end up overlapping characters - even amazon's wishlist dropdown ends up wrong...) but having not touched it for this install, hitting ctl-shift-+ twice ("Full Zoom 150%") gives me pages that are readable and not disproportioned or otherwise broken. Unfortunately I haven't found an alternate path -- .fonts.conf.d is apparently ignored by everything except ratpoison itself, gnome-font-properties is gone, gnome-appearance-properties puts up a window and then crashes, xrandr --dpi doesn't seem to actually do anything... I still need to try creating a xorg.conf (that's right, I get 1600x768 with the server defaults, yay!) to set DisplaySize, and maybe there's a gnome config I can tweak with an editor, we'll see. What all of this means is that I can have my camera and "studio" and a weekend's worth of clothing and toiletries in a very small bag, I can be nearly unencumbered and just go places and take pictures... and one thing the 100-pictures-a-day lifestyle has taught me is that if you're going to get pictures of interesting things, it helps hugely to be "biased for shooting" - arranging your self so that it takes more effort to decide not to take a picture of something than to just take one. This means wearing a camera, not just pocketing one, or at least whenever you have a hand free, there should be a camera in it. A slightly large camera (a superzoom rather than a compact, I mean, not a full DSLR) helps with this because having it in hand is easier than "putting it away". ps. if I pretend that the Vaio P counts as a "mobile" client, this is another mobile test, using gnome-blog... which fails, debbug228236 is still open after 6+ years, and I had to use the web interface to fix the title :-{ drivel crashes with an FPE, blogtk looks a lot more real so I'm trying it next - it seems ok on titles, but edit mode gets paragraph breaks wrong...

mark-eichin-blogspot-com: Wed Jan 20 19:08:00 2010

Wed Jan 20 19:08:00 2010

pre-pycon stand up and blurt things out in a crowd practice

Tonight, the Python Cambridge Meetup held a practice run for three pycon talks (six of them are from locals, there will be another session 2010-02-03 or thereabouts.) I'll get pictures up on flickr tomorrow. I learned a number of interesting things:

Oh, and the title? Ned asked for python adoption stories, and I have a pretty good one, and I'd already gotten up and asked people for permission to take their pictures...

(Also, in keeping with not putting too much metablog mechanics in here - it turns out that if you're "low on memory" on a G1, you can't receive inbound SMSes - so although it was shiny and didn't lose any of my hard-fought typing, it's eating at least 4M of storage that I would rather be using on the next rev of ASE (r17) which finally has UI object support from python. So this is back to being written in emacs on the big thinkpad... and due to some roving internet outages, still getting posted after midnight...)

mark-eichin-blogspot-com: Tue Jan 19 20:42:00 2010

Tue Jan 19 20:42:00 2010

Pre-pycon hallway-track practice

Another busy day - didn't get home until after midnight, was at my first IAP talk in ages (and I think I've given them more recently than attended.) Call it a bit of intellectual tourism - I don't really have a good reason to care about Continuous Event Processing, but it was interesting to see another place with opportunities to be seriously hard core, and the bits about visual dev environments definitely deserve pondering.

The after class chat went all over the place, ranging from the mechanics of stock markets to the value of for web-thing testing. I definitely need to take more advantage of being in Cambridge and being able to hang out at MIT physically, not just on Zephyr.

(I also decided that androblogger's dataloss bugs made using the G1 unfairly unpleasant for blogging, so I ditched it and went back to Blogaway... but I still don't really have enough memory for it and should find something to delete - probably Shazam; while it is awesome that it exists for Android, I use it less tha monthly and if I have enough net for it to work I have enough to redownload it...)

mark-eichin-blogspot-com: Mon Jan 18 19:29:00 2010

Mon Jan 18 19:29:00 2010

bugs! bugs all over me!

Hmm, between clearing snow out of the driveway and hunting what turned out to be an unchecked return value (so APT gets added to the list of things that shouldn't be written in C - yes, I know it is ostensibly in C++ but there's nothing "++" about calling tcgetattr and openpty, especially calling them incorrectly) I've missed a day. Well, I'm still up which has generally meant it was the same day as far as I'm concerned...

Oh, that list? Subversion is on it too, but for more subtle reasons - I ended up diagnosing (and with Paul Burba's help, getting a fix committed) a mergeinfo-related algorithmic bug, by porting the algorithm to python, demonstrating the problem and fix, then porting them back. The unfortunate part was having to port back, the entire code base cries out for a higher level language, and most of the recent performance fixes have been abstract, not bit-tweaking... and many of the outright bug fixes seem to have been as well.

(androblogger just lost another paragraph, and it's in Java, which is bad for entirely different reasons...)

Perhaps I should formalize the list and post it, or even better tie it in to my old "error handling - you're doing it wrong" theme (Are you, or have you ever been, a typewriter?) Not tonight, though, certainly not on this keyboard, especially with the risk of retyping it again!

mark-eichin-blogspot-com: Sun Jan 17 18:57:00 2010

Sun Jan 17 18:57:00 2010

Oh yeah, toys.

Stumbled across a pocket digital-storage oscilloscope via twitter today. It even has open source firmware, so you can give it different interfaces, which seems especially useful for the low-speed-data robotics/sensor work I'm about to embark on.

Of course, I haven't started to do any of that, so it's more of a "well-matched cool-looking gadget" then a "tool that I already know I need"... but that's really not an issue here in general, and since it is shipping from Shenzen, it's probably not going to arrive before I actually get my new workbench and actually start breaking things.

mark-eichin-blogspot-com: Sat Jan 16 19:26:00 2010

Sat Jan 16 19:26:00 2010

Slacking off a little on the weekend...

I've ended up doing a post a day almost by accident, as part of playing with Android blogging clients (it's not like there's a shortage of random ideas to write about...) Today I'm being a little lazy and using a full sized laptop keyboard (Thinkpad T60p) rather than continuing to torment my thumbs - but I figured I'd at least try desktop clients instead of directly using the website.

First try was kblogger - that was short-lived, the version in Karmic simply crashes when you try to tell it about a new blog (and the sophisticated auto-report-bug says "traceback is useless", which actually looks accurate as it only contained _start.)

Next thought was "ok, there's bound to be something for emacs, digging around a bit turned up g-client which is an entire suite of googley toys, and some surprisingly brutal blogging support - M-x gblogger-new-entry prompts for a post-URL and a title, and then gives you a buffer full of XML. (Not that I have a problem with that, but it ties directly back to my point about minimizing resistance being what distinguishes blogging from writing HTML pages in an editor.)

So while it is a little "raw", it's working out pretty well; perhaps this will become my default when I'm not specifically trying to use the phone. It's certainly a good starting point for adding other hooks, and might be a lazy starting point for figuring out how to muck with the Atom Publishing Protocol more directly...

Three minor followups, added later:

mark-eichin-blogspot-com: Fri Jan 15 05:50:00 2010

Fri Jan 15 05:50:00 2010

"Put... the candle... back!"

I was mailing something last night, and as usual couldn't remember if postage had gone up again or not... so as much for amusement value as anything, I unlocked my phone, hit the voice search button, said "US first class postage price"... and while it didn't quite match it, the first link was close and the second was perfect. Yeah, yeah, welcome to the future. But...

This morning I was thinking about it and realized that that took too many steps. The right interface (humour me a bit and don't skip ahead to "not using paper mail", that's inevitable and not the point) is for me to just say "Hey, Igor?" and to hear back (from the phone, a headset, or maybe the house sound system) "Yesss, Masster?" in Marty Feldman's voice. (The hard part there will be to ask my boring question instead of shouting "THROW THE FIRST SWITCH!!!" but I suppose I'll get over that eventually.)

mark-eichin-blogspot-com: Thu Jan 14 04:59:00 2010

Thu Jan 14 04:59:00 2010

if birds exploded on impact, birdwatching would be a lot more popular

Yesterday I watched a tufted titmouse fly down out of a crabapple tree (dive-flap flap flap-dive-flap flap flap) towards my birdfeeder, sideswipe a pillar at full speed, recover and curve back around and finally land on the feeder... all to get a single safflower seed and fly off with it.

mark-eichin-blogspot-com: Wed Jan 13 11:41:00 2010

Wed Jan 13 11:41:00 2010

doing it right when you don't have to makes it easier when you do

Shouldn't it be nearly as easy to take a few idle minutes and write/produce, not just read/consume? at least proportional to "interface speed", I can read 10x faster than I can type (given a real keyboard, not thumbs) and I type pretty fast...

That said, traffic-light-blogging is probably still a bad idea... but the whole blogging revolution was about taking something easy and removing even those energy barriers...

mark-eichin-blogspot-com: Tue Jan 12 19:07:00 2010

Tue Jan 12 19:07:00 2010

Another client

The G1 is woefully underprovisioned, so a 4M blogging app like blogaway is only going to get a quick test, even if it has pretty icons and picture support... it appears to do posting, and comments (just like androblogger, though both are kind of weak on affordances.) Both are on; both continue to make me want either USB or Bluetooth HID (keyboard) support. Still usable for a paragraph here and there, especially if I'm going to go back and edit them on-line later.

mark-eichin-blogspot-com: Tue Jan 12 18:42:00 2010

Tue Jan 12 18:42:00 2010

actually doing is what counts...

Just how easy is it to get started blogging from my phone/pda again, and has it improved at all since my Sony Clié-based photomoblog from 1999?

Starting with a gmail account, blogspot signup, and Androblogger for the G1, it looks pretty easy, though thumbtyping is just on the wretched side of not quite fast/transparent enough...