It’s a fine grey Seattle spring afternoon and I’m sprawled out on my bed with a laptop making an array of LEDs jump through some specific hoops. The math is pouring out of my head, stuff from the previous iteration of the previous bloom lights project mixing up with old familiar tools I’ve been using since I worked on Starfish. I don’t exactly know what to call this, but it feels like my most comfortable artistic medium, and it’s really nice to be back.
April 26, 2015
April 25, 2015
April 22, 2015
An Indiana company called Startracks Trucks offers 6×6 conversions – all six wheels drive and steer. There is a tantalizing photo of the suspension layout though I don’t think that example shows steerable axles.
Lockheed prototyped an 8×8 vehicle where the entire frontend operated as a separate 4-wheel walking beam suspension module. I love the photo showing a Twister prototype climbing over a wall which appears to be at least 80% of the height of its tires, but I’m linking it here because of the interesting diagrams of its suspension and drivetrain.
April 20, 2015
April 19, 2015
April 6, 2015
I don’t know how it is that I have so far neglected to mention the single largest project I am likely to undertake in this calendar year, but it’s finally drawing to a close, so I feel like giving you all an update.
In a nutshell: I tore my bedroom down to the plaster and subflooring, ripped out the drop ceiling, and rebuilt it all again.
Somebody, at some point, for reasons I can only guess at, decided that the bedrooms in my house were just too spacious, and would look a lot better if their ceilings were sixteen inches lower. Various other people, at other times, have applied their opinions about the desirability of thick texturing on the plaster. The most recent owner clearly believed that cheap beige carpet was a good thing. And nobody, in the entire history of this house’s existence, appears to have taken issue with the manifest insufficiency of this bedroom’s single, solitary power outlet.
I had one month – February – between the departure of one tenant and the arrival of another, in which to move all my possessions out, tear my bedroom apart, and rebuild it in a manner more in keeping with my aesthetic priorities. I just barely accomplished this, but of course the last 10% of any project takes the other 90% of the time and so I have been living in a mostly-but-not-quite finished bedroom all month.
The ceiling is back up to its original height, and after scraping off years of texture and wallpaper, I smoothed the walls back up with a fresh coat of finishing plaster. The carpet is gone, with a new layer of sound-dampening felt under a sturdy sheet of engineered hardwood in its place. I’ve installed new door, closet, and window trim, and now the baseboards as well. Yesterday I finished painting all this new trim, and it’s starting to look almost respectable in here.
I’ve slimmed down my furniture as well, passing a couple of shelving units along to new owners after making better use of the vertical space in my closet – so there’s more open space horizontally and not just vertically.
There’s still a fair bit of work left but I am definitely easing down the home stretch. The ceiling needs crown moulding, I have a ceiling fan/light unit to install in place of the bare bulb currently illuminating the room, and my wall-mounted nightstands need to be reinstalled after I’ve finished painting the wall they live on. I should probably come up with a new closet door, too.
It’s been a ton of work, but I’m really happy with the way it’s coming together. It’s my bedroom, in my house; I’ve never had so much freedom to customize a space before, and it’s been great to take things as far as I wanted to make them go.
March 27, 2015
The warmest temperature ever recorded on the continent of Antarctica may have occurred on Tuesday, March 24, 2015, when the mercury shot up to 63.5°F (17.5°C) at Argentina’s Esperanza Base on the northern tip of the Antarctic Peninsula. According to weather records researcher Maximiliano Herrera, the previous hottest temperature recorded in Antarctica was 63.3°F (17.4°C) set just one day previously at Argentina’s Marambio Base, on a small islet just off the coast of the Antarctic Peninsula. Prior to this week’s remarkable heat wave, the hottest known temperature in Antarctica was the 62.8°F (17.1°C) recorded at Esperanza Base on April 24, 1961.
It was easy to understand why the Internet was awesome, right from the beginning, because you could use it for something really useful: communicating with other people. This is something every human being wants to do.
I still don’t understand how this internet of things is going to provide a service that human beings actually want. I can see why the economics of chip manufacture have made it possible to add a microcontroller to every electronic device, and a network interface to every microcontroller, but then what? Why would we want to do that?
March 24, 2015
How to turn the Chromebook Pixel into a proper developer laptop and get rid of that crazy control-key-on-boot nonsense normally required if you want to run linux on a chromebook.
March 10, 2015
My feelings about the so-far-still-pretty-much-speculative self-driving car future range from “meh” to “please stop already”, which is odd for such a blatantly sexy application of robotics. Aside from the obvious privacy/tracking problems, which are increasingly moot given the proliferation of license plate scanners and toll pass sensors, I think the real problem is that it just sounds boring. If I’m driving, at least I have something to do with my brain. Handing the controls over to a robot leaves nothing but the tedium of sitting around waiting to arrive.
I can imagine self-driving cars as a replacement for human drivers in a service like Lyft or Uber much more easily than I can imagine individuals purchasing their own. I use Lyft a fair amount, actually – though I usually chat with the driver, and getting acquainted with somebody new is a nice way to circumvent boredom. Riding alone in a silent, empty car with nothing to do sounds… much less pleasant. It’d still be nicer than taking the bus, which is neither silent nor empty nor comfortable nor rapid, and offers little in the way of stimulation for a hungry brain.
At least there will always be motorcycles.
March 8, 2015
February 26, 2015
I wrote a little code editor some twenty-odd years ago which I named “lindi”, a partial acronym for some series of words I can no longer recall. I’ve long since lost track of the code as well as the meaning, but decided to reuse the name for my new retro-style terminal-mode IDE partly from nostalgia and partly because names are hard.
After a few months of steady use, however, I’ve noticed an unfortunate consequence of this particular name: it doesn’t autocomplete well, because there are too many other programs already named “lin*”. “lind”-tab is no shorter than “lindi”, so I end up typing the program’s full name every time I want to use it – which I do many times a day.
Being a fundamentally lazy person, I have therefore decided to rename my editor. I listed out all the unused two-letter prefixes on my system, then searched for various words beginning with those letters on github and the web to make sure they weren’t already used by other projects, and the winner is “ozette”, after the lake out on the Olympic Peninsula.
And now I’ve written a long blog post about an inconsequential design decision affecting a piece of software LITERALLY ZERO PEOPLE IN THE WORLD other than me have ever used! But I am amusing myself, and this is my blog, so I guess you know what you’re getting if you read it.
February 11, 2015
My sister Carolyn has a food blog, with recipes. Mmm.
February 10, 2015
It is now possible to build and run the .NET CLR on Mac OS X, from source. This is… interesting.
Cuwire is a styled-up replacement for the (extremely simple) Arduino IDE with more of the usual features found in a professional dev tool.
February 2, 2015
After doing my best to ignore the downtown Seattle library for the last decade, I am now stuck walking past it every work day. Everyone who has taken the time to figure out which side has the entrance tells me it is very nice once you go inside, but the building is so alienating that I just don’t want to. It looks like a group of extraterrestrial cephalopoids were busy erecting a high-tech prison when an earthquake knocked its foundations over, and they simply carried on stacking up the floors without bothering to fix the damage. The place is even more unwelcoming than the Darth Vader building, and that takes some doing.
January 30, 2015
PCBmodE is a PCB design tool built sort of like a programming language. Instead of laying out a board graphically, you write a JSON description, which PCBmodE then compiles into an SVG. You can preview and even edit the layout in Inkscape, then use PCBmodE again to generate Gerber/Excellon files you can send to the fab house.
This seems like it could be a clever end-run around the complexity and generally proprietary nature of EDA tools. Using Inkscape as a viewer/graphical editor instead of writing a whole new CAD app is a great idea.
January 28, 2015
Now that I’m back in Linux for daily development work, I’ve switched to Lindi as my full-time editor. It’s not perfect, but it’s good enough to get my work done, and it is just so satisfying to use an editor whose design is tailored precisely to my own taste that forgiving the occasional hiccup comes easily.
January 22, 2015
I’m near the end of my second week at Coverity, and I feel pretty happy about the way things have gone so far. I have yet to commit any new code, but I feel like I’m ramping up reasonably well and will begin making useful contributions soon. I have a nice dev environment set up, my coworkers are friendly and intelligent, and the office has a great view of Mount Rainier whenever weather allows. I think this is going to be good.
January 15, 2015
gnome-terminal describes itself as
$TERM="xterm" even though it is capable of displaying more than 8 colors. You can fix this by pasting this code into ~/.bashrc:
if [ -n "$DISPLAY" -a "$TERM" == "xterm" ]; then
Verify that the fix worked by doing
source ~/.bashrc, then
tput colors; it should print
January 14, 2015
Helpful illustrated explanation of an electric bicycle conversion. Lots of details and discussion of the reasons for each design decision.
January 10, 2015
The little book about OS development, by Erik Helin and Adam Renberg, dated May 2012. 76 pages, straightforward and practical.
January 5, 2015
Some day, I will own a tank*.
*an APC would be sufficiently tank-like to satisfy this life goal
December 4, 2014
I just heard from my lawyer: fourteen months after Ava and I broke up, our divorce is finally over.
WOOT! Such a relief.
November 22, 2014
This 42″ giclee print of Echo Chernik’s “Jakouageha” is signed by the artist and numbered “1/1″. There are 50 of the 36″ prints and 20 of the 48″ version, but this is the only 42″ print of Jakouageha that was ever made. I have had it on layaway for most of a year, with a little poster version of the image standing in for it in the meantime. I’m very happy to have this beautiful piece of art over my mantel, first thing you see when you walk in the front door.
November 20, 2014
November 19, 2014
A moment of inspiration hit just after I finished up with Mylio and had some time to act on it. I’ve had this idea brewing in the back of my head for three or four years now, and the whole thing came flying out in a nearly non-stop rush. I’m sure I’ll be tweaking it for months to come but it feels pretty good to have built a usable tool in just a couple of weeks.
I’ve posted the code on github:
Lindi, an editor shell for software development
I smashed a directory browser, a pico-inspired text editor, and a simple shell console together inside a terminal-mode window manager to create a kind of lightweight IDE where the current working directory plays the role of the project file.
The immediate problem was that I want to work on a project which has to be compiled on a Mac using Xcode, but I don’t want to be stuck at my desk all the time, and my laptop is a Thinkpad running Ubuntu. I considered VNC, but it’s hilariously insecure, tunneling it over SSL looks like a nuisance, and anyway Xcode feels cramped on the Thinkpad’s 1024×768 screen. In a classic fit of programmer laziness I decided that spending a couple of weeks building a new tool was the easiest solution.
Result: I can ssh into my Mac, run Lindi, and drive everything from a single xterm. Yay!
Lindi is unapologetically idiosyncratic and not at all configurable. Tabs are 4 columns wide, text files are 80, and control-C means “copy”, not “cancel”. The world is awash in editors, and everyone has their favorite; I just thought it’d be nice to build my own, tailored to the way I like to work.
It’s up on github now, though, and I’ll probably post a link on reddit or hackernews once I’ve knocked some more of the rough edges off; I’m curious whether anyone else happens to share my particular taste.
I’d call it maybe 75% baked, but it has enough that I’ve been using it to edit its own code. Long term plans: make the directory browser git/svn aware, beef up the console until it can run lldb/gdb, add syntax highlighting, use syntax highlighting to do project-wide identifier lookup.
November 3, 2014
The software product I spent the last two years on has just shipped:
Mylio is Here.
The next generation photo management system is now available.
All of your photos. All of your devices. Always protected.
The press release has this fun little remark:
“We recognized a growing need for photographers and consumers to protect, access and share all their photos everywhere they go and on every device they own,” explains David Vaskevitch, CEO of MyLO, creators of Mylio. “We formed a unique team of world-class software developers, designers and photographers to build a solution that satisfies this need and allows people to enjoy their photos again.”
November 2, 2014
This device runs a VPN relay (using your home internet connection as uplink) and a server which relays GSM audio and SMS messages.
Next, delete the SMS and voice-call apps on your phone, replacing them with some yet-to-be-determined app designed to work through the relay server above.
Configure your phone’s internet connection to use a VPN, routing all data traffic – which now includes all voice and SMS traffic – through the relay box at home.
This allows you to run a firewall on the relay box which can whitelist or blacklist anything you want. Worried that your apps are phoning home behind your back? Block ‘em. You could have different firewall rule sets, like “allow nothing”, “allow email only”, “allow email and these web sites”, “allow everything but block known malware sites”, etc.
Further idea: take the SIM out of your phone, put it in the relay box, and cancel your data plan. Buy a prepaid SIM with cash and put it in your phone. Now people who know your phone number and have the ability to track phones can see that your phone is sitting at your house, 24/7, but unless they know about your prepaid SIM, they can’t track your physical location. Bonus: travelling internationally? All your web sites continue to think you’re logging in from home, and you don’t have to worry about geo-restrictions.
October 28, 2014
Terminals are weird: quirks of the ways control and alt keys are represented in a standard unix style terminal.