The little book about OS development, by Erik Helin and Adam Renberg, dated May 2012. 76 pages, straightforward and practical.
January 10, 2015
October 28, 2014
Terminals are weird: quirks of the ways control and alt keys are represented in a standard unix style terminal.
September 29, 2014
September 25, 2014
Ready for Rain:
Why Seattleites Crave the End of Summer
It’s not simply the arrival of rain, but the transition to a different environment and way of life. The drear has a certain dark beauty; a low-contrast softness. There’s no need to squint or close the blinds. Even the sound of the rain on our house is music to my ears, a lullaby.
MailInABox: a script for setting up your own mail server on an Ubuntu 14.04 machine.
September 16, 2014
July 11, 2014
May 1, 2014
Ruste Protection is a service which turns ordinary jeans into Kevlar-lined motorcycle jeans, with hidden internal pockets for hip and knee armor. Send ’em your favorite jeans and they will send them right back transformed into sturdy, protective bike gear.
April 23, 2014
Mail-in-a-Box
Mail-in-a-Box is a “one-click” script which sets up a mail server, configured for encryption:
Mass electronic surveillance by governments revealed over the last year has spurred a new movement to re-decentralize the web, that is, to empower netizens to be their own service providers again. SMTP, the protocol of email, is decentralized in principle but highly centralized in practice due to the high cost of implementing all of the modern protocols that surround it. As a result, most individuals trade their independence for access to a “free†email service.
Mail-in-a-Box helps individuals take back control of their email by defining a one-click, easy-to-deploy SMTP+everything else server: a mail server in a box.
January 27, 2014
American Tin Ceilings makes a variety of pressed tin ceiling panels called Snaplock which are designed to be installed over plaster or drywall. Ordinary tin ceilings are designed to be installed on furring strips or plywood: rather more work.
December 5, 2013
King James Programming: someone trained a markov chain generator on both the King James Bible and the classic textbook Structure and Interpretation of Computer Programs. The results are glorious:
In APL all data are represented as arrays, and there shall they see the Son of man, in whose sight I brought them out
For if ye love them which love you, what reward have ye? do not even mention “classes†or “inheritance.â€
And Satan stood up against them in that day, and leap for joy: for, behold, your reward is great in heaven: for he maketh his sun to rise on the evil and on the role of procedures in program design.
July 14, 2013
How did I miss the idea of a distributed hash table until last year? This article was published in 2003! I think I first heard the term last year. I suspect that some of the systems I used at Google must have been based on algorithms like this, though I never had a chance to learn enough about them to know for sure.
July 12, 2013
Kim O’Grady discovers the reality of gender discrimination when adding “Mr.” to his resume dramatically improves his job prospects.
July 10, 2013
Two home-made teardrop travel trailer projects: this one is 8’x5′, using fiberglass insulation panels as walls and a translucent polyethylene sheet as roof; this very detailed instructable describes a wood-framed 8’x4′ trailer with aluminum cladding. All of these designs seem to start with one of the cheap Harbor Freight trailer kits – and really, why build the trailer from scratch when it’s the habitat on top that you really care about?
June 26, 2013
Vole is a distributed, peer-to-peer social networking system based on Bittorrent Sync. There’s no big data center; participants’ computers relay encrypted data for each other.
June 24, 2013
May 8, 2013
Big-O Cheat Sheet is a handy reference to the time & space complexities of various algorithms for searching, sorting, and indexing data.
May 2, 2013
January 29, 2013
A big list of single-board computers which can run Linux.
In the long run, X86 is doomed. It will live on as an emulation target, of course, but ARM is the architecture of the future.
November 9, 2012
As we saw in the last couple of Presidential elections, there are no “red states” and “blue states”; there are cities and there are not-cities.
The curious part is that even as America’s population has grown more urban, its culture has grown more conservative, such that our Democratic president gets excoriated for “socialism” even though his policies would have sounded unremarkable to a Republican in the ’80s.
November 3, 2012
Hacker Monthly collects the best articles linked on Hacker News in a given month and prints them out as an actual, on-paper magazine. That’s a neat idea. I’ve been following Hacker News for years and I’d guess that one monthly magazine is just about the right size to print the really good stuff that shows up there.
October 31, 2012
LED board driver progress
I’ve spent the last couple of evenings working on the chandelier project driver board firmware. I rigged up some very simple demo software a couple of weeks ago to make sure the hardware worked, but it was only driving 3 bits per pixel. I haven’t introduced the 24-bit color driver yet, but I’ve gotten the scanline blit time down to 1 microsecond, which means I can theoretically do 8-bit linear PWM across all 192 LEDs at about 244 Hz. Nice. But I plan to take this further: given the STM32F103RBT6 controller’s 72 MHz clock rate, I should be able to do a full scanline update in 140 nanoseconds, which correlates to 12-bit linear PWM at 120 Hz. I’ll then apply gamma correction, yielding a perceptually linear color space, for a working resolution of 6 bits per channel, or 18 bits per pixel. That’s better than most LCD projectors, which can only do 15 bits.
It’s still not quite as good as the Groovik’s Cube drivers, which did 8-bit gamma-corrected PWM, for a perceptually linear 24-bit colorspace – but it doesn’t need to be that good, and to be quite honest neither did the cube drivers. I pushed them as hard as they could go out of personal pride; I was at a real low point in my career back then, and pushing that code as close to the limits of the hardware as it could possibly go made me feel like I still had skills that were worth something. But really, it could have run 15-bit color and I doubt I could have told the difference.
In any case, each cube driver could only manage five lights at a time; the whole cube needed eleven of them. Just one of these chandelier drivers can wrangle 192 lights at a time – so while it may only be doing 18-bit color, each one of these chandelier controllers could theoretically drive three whole cubes at once, with capacity to spare. What I’m losing in per-pixel resolution I’m more than making up in overall display resolution. It’s going to look amazing.
October 29, 2012
Permamake is a shell script which automatically builds a source tree any time one of a list of files changes. It works on anything which has a Makefile. The author uses it as a local continuous build system.
October 24, 2012
Night skiing
Skiers at night with EL wire and headlamps. So clear! I’m curious how they recorded this, because it’s crisp and gorgeous – little or no noise in the blacks, either.
Oh yeah. Winter is coming…
October 23, 2012
After wading through the incredible heap of nonsense it takes just to download the latest Xcode, I am seriously disenchanted with Apple. I never wanted anything to do with their iTunes-centric consumer-electronics universe, but now you have to sign up for an iTunes account just to download Xcode. I can’t even write code on my own Mac anymore without jumping through their hoops. Ugh. Ugh. When did they forget that it’s my computer not theirs? What, just because they wrote the OS, that means they get to decide what I can do with my own machine? No thank you very much go away now please.
Ten or fifteen years after the first Year of the Linux Desktop, it’s still a pretty rough experience, but at least they don’t drag you through their greedy corporate agenda at every opportunity.
If you are still using Snow Leopard, don’t upgrade: it’s really not very nice in the Lion world.
October 15, 2012
Via Metafilter, a beautiful, moving, surprising collection of photos from a photographer named Christy Lee Rogers. Rich, intense, vivid colors and intense shadows, all thick and dreamy.
October 2, 2012
When something as random as a blood vessel bursting in your brain could kill you at any time, why waste energy trying to live life more safely? Safety is a myth. Let’s embrace life with all its risks, enjoy ourselves and really feel alive.
September 28, 2012
How to disable Android utility app auto-launch
Google’s Android file transfer app has an incredibly annoying habit of popping up every time you plug your phone in, whether you want it to or not, and there’s no preference to make it stop. This might be fine if you only ever plugged your phone in when you wanted to transfer pictures, but I use my Mac to charge the phone, too.
Here’s how to disable the behavior: it’s a bit finicky, but basically there’s a little “agent” app that does the auto-launch, and the Android utility app installs this thing as a login item every time you run it. So you have to delete the login item *and* rename the executable, thereby preventing the Android utility app from reinstalling the agent.
Summary, since that link will probably go away:
– If “Android File Transfer” is open, tell it to quit.
– Use Activity Monitor to force the process “Android File Transfer Agent” to quit.
– Right-click on the “Android File Transfer” application and select “Show Package Contents”. Go into Contents > Resources and rename “Android File Transfer Agent” to “Android File Transfer Agent_DISABLED” or something of that sort.
– Go to your user home directory and open Library > Google; if you see another copy of “Android File Transfer Agent”, rename it similarly.
You will still be able to open “Android File Transfer” by hand any time you want to look at the files on your phone: it just won’t pop up automatically every time you plug the phone in to charge.
September 24, 2012
The SSM2166 is an integrated circuit which implements a single-channel preamp with adjustable compression and noise gating. Stick this on the input side of an ADC, in other words, to get a clean, predictable audio input.
August 17, 2012
Motor controllers are hard to understand. It’s not that I can’t find information about them on the Internet, but that there is so much information and so little consensus. For example: can I use an Arduino + SSR to control a DC motor, or do I need to use a MOSFET? Do I need a capacitor? How big a capacitor do I need? Do I need a kickback diode if I’m using an SSR, or is that only important if I’m using a MOSFET? Why does this “simple motor controller” diagram have thirty components?
I am flexible on the control mechanism. I could get a motorcycle-style twist-grip throttle, but I could also just have a push-button and a knob, where the push-button means “go” and the knob means “how fast”.
Whatever it is, it has to be simple enough that I can feel confident it will work, and that it will survive the playa. I don’t trust these massive black box circuits full of who knows what.
Maybe I’ll just skip the whole controller idea and just give it a “go” button. Push the button to power the motor and thereby accelerate; release it to coast. Would that work? Maybe I’ll just try it.
August 15, 2012
Extremely minimal JSON parser written in C89, suitable for small embedded systems. A delightfully basic mechanism.