Red Echo

July 6, 2011

I spent the morning building a big work table for ALTSpace. The top is from the 4×8 workbench Adam and I built at the old Rocket Factory; we broke down the legs and wall mounting when we moved out, and the tabletop has been leaning up against a wall in ALTSpace for the last four months. I woke up early this morning, and felt inspired to build… so I went to Lowe’s and bought lumber.

Construction took about three hours. I laminated pairs of 2x4s together with screws and glue for the legs, then bolted on locking swivel casters. I mounted the legs into the corners of the old tabletop, which was already framed with 2x4s, using strong-tie gussets. Some more framing underneath added cross bracing and a platform for a future storage shelf, and now it’s done.

We have plenty of tables at seated height, so this one is a standing-height work surface: 39″. Once we get it cleaned up and polish the edges some it should make an excellent fabric layout table, and we can push it up against a wall to serve as a bar during artwalk or other parties.

Ava and I are leaving for our backpacking trip soon, so my to-do list is getting full quickly. I have some last oddments to pick up at REI, a rental car to book (since our car is not back from its transmission repairs yet, alas), and a little bit of packing to do.

I picked up a cowhide yesterday; my new motorcycle came with a spare Corbin seat, but its stitching is coming apart. I opened it up thinking I’d restitch the seams, only to discover that someone had tried that already. The vinyl fabric doesn’t look like it would hold up to a second restitching, so I decided to rip the whole thing apart and use it as a pattern for a new cover made of leather.

This afternoon I’m going to do a quick little starter project to familiarize myself with the material: I have a really nice utility knife which would be good to bring on the backpacking trip, but it’s a fixed blade and has no sheath. Seems like a simple enough project… I hope?

New playa coat

img00278-20110706-0839.jpg

I picked up this German military surplus overcoat a few months back; it was on sale at Metro for something like $20, so I bought two. One I’ve been wearing as-is – it’s a nice grey wool coat with classic lines – and the other was destined for fashion hackery. I decided to complement the flat grey with some shiny orange, relining the cuffs, insetting quilted panels in the sleeves, and lining the collar in similar mode. I might take another pass at it later and add a hazardous-materials style flame appliqué to the back, but it’ll do for now.

July 1, 2011

It’s my last day working for Synapse. I’m basically just cleaning up and checking things in today. I’ve long since passed on all useful knowledge about this project, and while my teammates say they’ll miss me I’m sure they will carry the project on without a hitch. I’ll be off work for all of July; my first day at Google will be the first of August.

I like Synapse; it’s a good company and I’m going to miss the people here. I’ve learned a lot about embedded software development, and about electrical engineering too; comparing the lights I built for the Shame Project with either of the two previous years’ Burning Man projects makes the difference obvious. I’d expected to spend more time here, but the opportunity to go work for Google is definitely not to be missed.

June 27, 2011

Finished fleece jacket

img00277-20110627-2217.jpg

I picked up a fleece jacket in the REI bargain basement a while back for some absurdly low price – $7 I think? The zipper was broken. I happened to have a spare zipper in my sewing box so I repaired it and have been wearing it ever since. A couple of months ago the jacket went missing. This was just after Ava and I moved into our new apartment so I assumed it was around somewhere and that it would turn up eventually; but several thorough greps later I still couldn’t find it. Much grousing about the situation later, I began to annoy even myself.

Saturday morning I resolved to count the jacket as missing and go replace it. I have a lot of backpacking planned for next month and I am definitely going to need a nice warm fleece. Instead of buying a new jacket I decided to head up to Seattle Fabrics, buy some polartec, and make myself something stylish. I picked out some charcoal grey and some brick red, some reflective piping, and zippers; about $50 worth altogether.

When I got back to the shop it was time for Shop Cleaning Day. (Rather late for Shop Cleaning Day, actually; traffic was terrible.) I put down the bag of materials and started cleaning. Ten minutes later, I picked up some random box of clothes I didn’t recognize and started pawing through them trying to figure out whose they were. Buried in the middle of the pile? My REI jacket, of course.

I still have no idea whose clothes those were but at least I have my jacket back. Having already gotten myself excited about the new sewing project, I decided I would press on anyway. Maybe I can pass the old jacket along to someone else who will appreciate it. A couple of things came up and I didn’t end up finishing the new jacket, but I got pretty far along. The body of the jacket is all finished, with zipper pockets and all. I reused the basic design of this vest, minus the fur trim; the body is mostly charcoal, with the side panels and collar lining of the red. The retroreflective piping fits into the horizontal chest seams and along the back side panels. I picked a big bold zipper which stands out as a design element, and made shoulder panels of matching grey ballistic nylon.

The sleeves will match the body styling, with a charcoal-grey outer panel and brick red underneath; I’ll fit some more reflective piping into the back seam. I’m also planning to design in some ballistic nylon elbow pads but haven’t figured out how that will work yet.

June 23, 2011

In the course of a conversation about speed limits and speeding tickets, I went looking for a research study I remembered reading about. Here it is: Effects of Raising and Lowering Speed Limits, a US DOT report from 1992.

Lowering posted speed limits by as much as 20 mi/h (32 km/h), or raising speed limits by as much as 15 mi/h (24 km/h) had little effect on motorist’ speed. The majority of motorist did not drive 5 mi/h (8 km/h) above the posted speed limits when speed limits were raised, nor did they reduce their speed by 5 or 10 mi/h (8 or 16 km/h) when speed limits are lowered. Data collected at the study sites indicated that the majority of speed limits are posted below the average speed of traffic. Lowering speed limits below the 50th percentile does not reduce accidents, but does significantly increase driver violations of the speed limit. Conversely, raising the posted speed limits did not increase speeds or accidents.

Since speed limits are shown to have minimal effect on driver speeds, we can say that the principal effect of a speed limit is to arbitrarily impede the flow of traffic when a police officer happens to be present. We can also describe speeding tickets as randomly-issued fines for driving normally when one happens not to have noticed a police officer in the vicinity. Speed limit laws clearly do not reflect the values of the communities they regulate, and are thus an example of bad, anti-democratic law.

Furthermore, arbitrarily low speed limits may actually reduce traffic safety. Later in the same study:

It is interesting to note that compliance decreased when speed limits were lowered and accidents tended to increase. Conversely, when compliance improved after speed limits are raised, accidents tended to decrease.

Perhaps there is a “boy who cried wolf” effect at work here: after discovering, through repeated experience, that traffic speed limits have nothing to do with actual risks, one might easily discount the value of traffic regulations in general, some of which may actually have some rational basis.

June 21, 2011

I haven’t even started working for Google yet and I’ve already run into some annoying big-company bullshit. Every Google employee apparently starts out with a week long orientation in Mountain View, which is fine – I’m looking forward to it, actually – but I’ve just found out that they expect me to pay for all the travel expenses myself. Sure, they’re promising to reimburse me later, but it still means I have to extend Google a short-term, zero-interest loan of a thousand bucks or so as a condition of employment. It’s so pathetically cheap – they can afford the fancy benefits package they were dazzling me with last week, but can’t afford to buy a plane ticket and book a hotel? Not cool. I am well aware that this kind of exploitative nonsense is common in the mega-corporate world, but I’d expected better from Google. I hope this is just laziness, something they picked up from other companies without really thinking about it, and not a true reflection of their management philosophy.

Oh, well. Perhaps I can turn the nonsense to my advantage. Instead of booking a plane ticket and a rental car, perhaps I’ll just ride down on my bike and bill ’em for the cost of fuel. It’ll cost less than a plane flight, I won’t have to deal with the TSA, and I’ll get to show up for my first day in style.

Nice tutorial on adapting ATX power supplies for use as a lab bench supply. 15 minute youtube video.

June 19, 2011

I got fifteen out of my sixteen to-do items finished yesterday. Lots of life-maintenance chores, mostly, but I also got a couple of projects wrapped up. I finished stitching together the custom Raggedy Ann themed laptop case for Candace M., and met up with her to drop it off. It’s made of neoprene, which is not the easiest material to sew, and I broke two needles when I veered off-course while sewing the zipper, so the fabrication is not as perfect as I had hoped… but, whatever, it looks good and it works, so I’ll call it a success.

Also finally installed that light switch in the ALTSpace machine shop. It was originally set up on a motion detector, which would annoyingly forget about your presence if you didn’t move around enough while working. We had jury-rigged a system of extension cords we could plug and un-plug, but it really just needed a normal switch. Which I have now installed.

I am now down to four open projects:

– a funky custom L-shaped couch for the living room
– animated, networked lights for the Shame Project
– controller for Hunter C.’s solar light project
– Radian

I haven’t been making any progress on Radian lately. I think it might be time to ship it. Perhaps I need feedback from real people to figure out what I ought to work on next.

For the couch, I am waiting for the roll of batting to arrive. We’ll cover the foam with batting, cover the batting with upholstery fabric, then staple it all onto the wood frame and call it good.

My goal was to complete the Shame Project lights by the end of June. I’m going backpacking in California for a good chunk of July, so I’d like to have any time-sensitive stuff out of the way before then. I guess that the couch project will be finished by then, too. So, I’m thinking I might have time free to make some interesting personal project for Burning Man.

I’ve been thinking of making a custom tent: a heavy-walled, light-blocking tyvek/canvas sandwich, with no windows and no zippers, seven or eight feet tall. The door would have an internal strut to hold it rigid, and a closure made of either velcro or magnets, with a wide flap: something I could open and close without having to duck and climb in, but which would still keep the wind and dust outside. A pocket on the side would let me install an HVAC filter, through which a fan could pull cool air, and an array of clips and D-rings attached to the walls and ceiling would let me hang up flashlights, a mirror, camelbak, headlamp, and all the other stuff that ends up scattered on the floor. I’m sick of going to Burning Man in normal camping tents, which just aren’t very good at dealing with Black Rock Desert conditions.

Another idea is a second try at the inline tricycle I tried to build in 2009. This time I’d use even bigger, fatter back wheels, and a much longer, more ridiculous set of front forks, and I’d weld the frame instead of trying to bolt it together. (Oh yeah: there’s a welder at ALTSpace now. Whee!) It’d have the same long banana seat chopper design, but it would be even more ridiculous looking.

Finally, I have a few pieces of playawear I’d like to sew up: a new-model fur coat, a leather/nylon-webbing/silk jacket, a stylin’ utility vest, this red-tan-orange striped three-piece suit….

Oh, well. We’ll see how much time I actually have for this kind of stuff after I get back from Yosemite. Perhaps the new Google job will soak up all the time I have – that would be a certain kind of success.

June 16, 2011

The Arty Bollocks Generator creates synthetic artist statements. An example:

My work explores the relationship between acquired synesthesia and life as perfomance.

With influences as diverse as Nietzsche and Andy Warhol, new tensions are crafted from both explicit and implicit textures.

Ever since I was a student I have been fascinated by the ephemeral nature of the mind. What starts out as hope soon becomes corrupted into a cacophony of lust, leaving only a sense of decadence and the possibility of a new reality.

As shifting phenomena become clarified through boundaried and diverse practice, the viewer is left with a statement of the inaccuracies of our condition.

It’s a pretty good little mad-libs program, though its limitations show up after just a couple of repetitions.

June 8, 2011

I bought Burning Man tickets today. Whee. It still feels awfully wintery to be thinking about going to the desert, but the first four tiers of tickets are already sold out, and word is that they’re going to cap the total number of tickets this year. I’ve heard similar rumours in years past, but this year they’re going so far as to say they’re not going to offer ticket sales at the gate, which makes me think they might actually mean it.

Last night I had a work party for the Shame Project lanterns. We built fourteen microcontroller boards, each equipped with four cheap current regulators. Each lantern will have red, green, blue, and white LEDs, and the controllers will be linked in a ring network. They will run an evolving rhythm pattern, and they will pass pieces of their “genomes” around the network. Viewers will see the animations drift together and back apart over time as the controllers mutate and then re-converge the data driving the rhythm pattern.

The work party was fun – I did a lot of prep work writing up instruction sheets with diagrams and explanations, and I designed a very simple, almost primitive board where all the solder points are easy to reach and most of the traces are on the opposite side of the board. It seemed to work; the skill level ranged from “novice” to “moderate” and yet we got all the work done ahead of time with minimal rework. I still have to test all the boards, but the manufacturing process was so smooth that my hopes are high.

May 31, 2011

I spent the weekend in Portland with Ava, visiting a couple of her friends who recently moved over from Melbourne. We roamed around downtown, stopped in at a coffee shop so snobbish it was positively entertaining, wandered through the Saturday Market, visited the Multnomah County Fair… We tried to go look at the waterfalls in the Columbia River Gorge, but hundreds of other people had the same idea so there was nowhere to park. Oh, well – some other time I’ll go back on a motorcycle, since that windy little road looks like great fun. We were more successful with a trip to the Acropolis Steakhouse… and while we only managed to visit about half the rooms at Powell’s, we stumbled out, eyes glazed over, with a dozen new books between us. Yay, Portland.

May 27, 2011

I got the official, on-paper, signed-by-the-VP offer letter yesterday, and gave my notice today, so it’s official: I’m going to go work at Google, over in the Fremont office. I won’t start on til the end of July, so I’ll have plenty of time to finish up my project at Synapse, and to get a couple of weeks of high-Sierra backpacking in. I don’t know what project I’ll be working on yet, but I am angling for something to do with language tools, or some other kind of system software.

I’m excited! I know a bunch of smart, interesting people over there and met a few more during the interviews, so I have hopes that this will go well. Google is a big company but still seems to have its engineer-friendly charm, so I’m hoping it will be a place I can spend a few years learning and growing and tackling big, hairy, fascinating problems.

Hobbyist hacker builds his own parallel computer system using an array of Parallax Propeller chips, each of which has 8 processor cores.

May 19, 2011

TermKit is a novel, interesting design for a terminal architecture, based on mime-typed data streams. The designer’s explanation of the system is clear, readable, and well thought out. The idea of a terminal-style computer interface which actually takes advantage of modern datatypes and graphics hardware looks really appealing through his point of view, and there are lots of screen shots.

In the meantime, we’ve gotten a lot better at displaying information. We’ve also learned a lot of lessons through the web about data interchange, network transparency, API design, and more. We know better how small tweaks in an implementation can make a world of difference in usability.

And yet the world of Unix is rife with jargon, invisible processes, traps and legacy bits. Every new adept has to pass a constant trial by fire, of not destroying their system at every opportunity it gives them.

So while I agree that having a flexible toolbox is great, in my opinion, those pieces could be built a lot better. I don’t want the computer equivalent of a screwdriver and a hammer, I want a tricorder and a laser saw. TermKit is my attempt at making these better tools and addresses a couple of major pain points.

In my ongoing imaginations about the operating system I would design if I were to build everything from scratch, I’ve toyed with the idea of some kind of hybrid command line / graphics interface, some kind of new terminal which is aware that it is operating on a bitmapped display… this TermKit project looks like someone had a similar idea and then actually did the work of figuring out how to make it practical. Now I want to play with it and see how it feels in practice.

It’s been sunny this week in Seattle, and I’ve been taking advantage by hopping on the new bike and going for a spin after work. Even just a little breeze around the neighborhood fills me with delight – I’ve missed riding, the way I feel when I’m on a bike, the mix of peace and excitement, the combination of in-the-moment focus and mind-wide-open rumination. I’m planning to take the bike down the Oregon coast when I go to Mike and Alissa’s wedding – it’s a twelve-hour ride but I can’t wait to

I spent a couple hours working in the shop last night. The new apartment’s kitchen lacks for counter space, so I bought a little wooden cutting board at Ikea and cut it down to fit in a gap between the edge of the counter and the refrigerator. The gap is only about sixteen inches wide, but we only have about three linear feet of counter space to begin with, so that’s a significant improvement. I glued on some wooden mounting rails; Ava is going to oil the wood tonight, and we’ll install it this weekend some time.

I also worked on the couch project some more. After sitting on the not-yet-upholstered platform a while and observing the way it flexes, I decided to add some more support underneath, and to build up more substantial sockets for the four thinner legs. It’s going to be a fair bit heavier this way but I think it’s worth the effort.

May 16, 2011

I sold the last of my three motorcycles Friday night – the ’86 Intruder. I had intended to fix this one up and ride it, after selling the other two, but the mechanic’s verdict wasn’t good. It has an oil leak in the #2 cylinder somewhere, and it’d cost more than the bike was worth to have the mechanic fix it. I don’t have time or inclination to do it myself so I posted it on Craigslist. I put the ad up around 8 PM, thinking people would make arrangements to come look at the bike on Saturday – but three hours later I was standing on the sidewalk with cash in my hand, watching a guy who had driven down from Monroe load the bike onto his truck. So, that went well.

Saturday I test-rode Nika’s bike, a ’95 Honda Nighthawk 750. She’s pregnant and thus not going to be riding for a couple of years, so she decided to sell her bike rather than let it molder in the driveway. Its paint needs some work but it is in solid mechanical condition, so after a spin around the lake I decided to buy it. Amazing how quickly that old feeling of balance and exhilaration comes back! I’ve missed this.

May 5, 2011

Argument that programming is more like gardening than engineering:

If you were building a bridge or a skyscraper and you told me, before you began, that you knew exactly how it would look when it was finished – I would believe you. If you told me that you knew to some insane degree of accuracy how long it would take to get to ‘finished’ – I would believe you again. That’s how Engineers roll. Tell me the same thing about your garden and I’m gonna call bullshit. Tell me you are going to make it grow faster by hiring more gardeners and I’m gonna laugh at you.

May 4, 2011

This hybrid PWM / resistor DAC scheme combines two 8-bit PWM outputs with a resistor divider to create a composite 16-bit DAC.

Ava and I spent the weekend out in Eastern Washington at a fabulous, low-key, all-night-and-the-next-day dance party called Prosperity. We rode out with Jeff & Nika and camped with them and a handful of their friends. I didn’t actually dance til dawn this time; I hit a wall somewhere around 3 AM, and woke up in time for the sunrise set. Sunday was a lazy, sunny day listening to music, drinking whiskey, and talking with friends. Altogether a thoroughly worthwhile weekend.

Last night Ava and I spent a couple of hours working on our couch project. We finished up the carpentry and now have a bare wooden platform sitting in our living room. It’s a curved, L-shaped structure designed to seat two or three people in an otherwise unusable corner, low enough to work with our floor cushions and coffee table. Next step is to cut some high-density foam to shape and glue it on to the plywood surface; then we’ll upholster it, leaving only the finished legs showing.

I also did some work on the rhythm robot last night. I finished desoldering all the high-torque encoders I ordered by mistake and replacing them with a more finger-pleasing model. Removing parts is hard work! Once finished, I fitted up the faceplate, installed the knobs, and test fit the assembly in the box. It looks so sharp! I’m looking forward to actually using it… though I’m sure it will take more months of work before I actually get any sound out.

I briefly considered leaving the metal box unfinished, or possibly just giving it a clearcoat, but the aluminum is too bright and cheap-looking against the polished wood. I’ll stick with my original plan and have the box powdercoated.

April 28, 2011

How strange – some suicide-bomber blew up Cafe Argana in Marrakesh, which faces Djamaa-el-Fna, the central square. When MJ and I visited Marrakesh a few years back we spent all of our time there wandering around the back streets of the medina, passing through Djamaa-el-Fna several times a day. I don’t think we ever visited Cafe Argana but we must have passed by it many times.

April 27, 2011

I ran across a paper on Hacker News that looks like it probably contains useful insight into a problem I am currently trying to solve – Yield: Mainstream Delimited Continuations, by Roshan James and Amr Sabry. It so happens that I am designing an implementation of ‘yield’ for Radian, and have been thinking a lot about its relationship with C#-style async IO by way of continuations, trying to come up with an architecture which can conveniently express both. After reading this paragraph, I felt some hope that the authors were going to tell me how to do that:

Many mainstream languages have operators named yield that share common semantic roots but differ significantly in their details. We present the first known formal study of these mainstream yield operators, unify their many semantic differences, adapt them to a functional setting, and distill the operational semantics and type theory for a generalized yield operator. The resultant yield, with its delimiter run, turns out to be a delimited control operator of comparable expressive power to shift- reset, with translations from one to the other. The mainstream variants of yield turn out to be one-shot or linearly used restrictions of delimited continuations.

Well, yes, of course yield must be implemented using continuations. How else would you do it? But any hope I had that this paper would help me design a satisfactory implementation vanished when I ran into this sentence on page 6:

We are now ready to introduce the syntax of a monadic meta-language with yield. This language is Moggi’s monadic metalanguage (MML) extended with the opaque monadic type Yield i o r and a type Iterator i o r for interacting with iterators:

I don’t even know how to start understanding what this means, and the following paragraphs wander off into an impenetrable thicket of symbolic goobledygook I can’t quote here without destroying the formatting. I have no idea what happens on page 7.

Variations of this experience have begun to frustrate me with increasing frequency over the last couple of years. I ran into the same problem last month when I was implementing finger trees in Radian: every explanation I found was expressed in such a thick, symbolic academic jargon that I could make no sense out of it. I got halfway through my implementation on the strength of the sole exception, Eric Lippert’s clear, well-written explanation of an immutable deque in C#, and then reverse-engineered the rest of the finger tree concept using a lot of trial and error. I must give credit to Hinze and Paterson for inventing and publicizing the thing, since otherwise I would never have known it was possible to create a data structure with those performance characteristics, but I got nothing of any use out of their actual paper.

The thing which really frustrates me here is the apparently unbridgeable gap between academic computer-science language and practical software-engineering language. Of course the CS researchers are going to write papers in their community dialect no matter how much I’d prefer that they spared me the trouble of translation, but isn’t CS research eventually supposed to produce insight which informs the development of actual software? I don’t understand how I’m supposed to even start learning how to read what they’re writing short of burning ten years on a PhD or something. How is this supposed to work? Whose job is it to learn both dialects and perform the translation, and where can I find their writing?

Current list of projects:

– rhythm robot: just made first prototype of the laser-cut front panel
– raggedy-ann themed neoprene laptop sleeve: design worked out, need to actually sew it
– shop storage: half the wire shelves built, waiting to finish the project until we can do it without annoying the neighbors
– living room couch: lumber & hardware acquired, next to work on staining & finishing the legs
– 12V high-current LED fader circuit for Hunter Cross: device built, waiting for test lights
– Alissa’s “Temple of Shame” project: concept & budget ready, doing design work

April 23, 2011

I had a random little idea last night and decided to implement it. The soldering took a little longer than I had expected so I finished it up this morning. It’s a little LED sign for the front door at ALTSpace – we have a nice laser-cut wood sign on the front of the building, but once you walk into the entryway there was nothing to mark which of the two commercial spaces is ours. This little board sits at the top of the glass door frame, on the inside.

img00216-20110423-1258.jpg

April 12, 2011

Interesting, albeit cryptic, outline of common failure patterns in software development teams, with some quick advice on how to manage your way out of each problem. I haven’t dug around much on the rest of the site but it seems like it’s a fairly practical sort of thing and not just a collection of buzzwords.

April 3, 2011

Dave Smith (of Evolver fame) and Roger Linn (of the LinnDrum) have collaborated on a new analog drum machine, the Tempest:

Dave Smith Instruments today introduced Tempest, a new analog drum machine, at the 2011 NAMM Show. Tempest is a collaboration between Smith and longtime friend and fellow instrument designer Roger Linn. […] Each of the 6 analog voices has 2 analog oscillators plus 2 digital oscillators (with a large bank of included samples), Dave’s classic analog low-pass filter with audio-rate modulation, an additional high-pass filter, analog VCA with feedback, 5 envelopes, 2 LFOs, an extraordinary variety of analog modulation routings, and stunning sonic quality, warmth and punch. […] Two pressure- and position-sensitive Note FX slide controllers permit real-time recording of note or beat-wide sound parameter changes into the drumbeat as you play. For example, record simultaneous filter frequency, tuning, envelope decay and pan changes for each note, or control similar parameters affecting the entire beat.

April 1, 2011

This paper finds an inverse correlation of commute length to overall life happiness – Stress That Doesn’t Pay: The Commuting Paradox:

People spend a lot of time commuting and often find it a burden. According to economics, the burden of commuting is chosen when compensated either on the labor or on the housing market so that individuals’ utility is equalized. However, in a direct test of this strong notion of equilibrium, we find that people with longer commuting time report systematically lower subjective well-being. Additional empirical analyses do not find institutional explanations of the empirical results that commuters systematically incur losses. We discuss several possibilities of an extended model of human behavior able to explain this ‘commuting paradox’.

March 31, 2011

Super awesome inspiring mini-presentation: How to Steal Like an Artist, and 9 Other Things Nobody Told Me:

All advice is autobiographical.

It’s one of my theories that when people give you advice, they’re really just talking to themselves in the past. This list is me talking to a previous version of myself.

Your mileage may vary.

1. Steal like an artist.

Every artist gets asked the question, “Where do you get your ideas?”

The honest artist answers, “I steal them.”

March 30, 2011

Why I Like Mercurial More Than Git:

The tools are very similar, and many of the distinguishing differences come down to a matter of taste in my opinion. […] The big difference, the deal-maker for me, is in how each tool goes about meeting the fundamental requirement for any version control system: how it handles source code merging.

March 28, 2011

Right, so, what have I been up to lately?

I spent most of March in a cabin up near Whistler, sick with a flu, or both. I didn’t do as much skiing as I had hoped to, but a quiet cabin in the woods with a fireplace is not a bad place to laze around and get over a flu. I also brought a formidable array of computing hardware and spent a lot of my relaxation time writing code. Some of this was actual day-job work – I brought along the dev boards for my current project – but a fair bit of it was Radian work. In particular, I made solid progress on the two indexed-container objects, map and array.

Most of my time back in Seattle has gone into the ALTSpace project. We have a very substantial sewing workspace, a reasonably well-equipped machine shop, and a rudimentary electronics workbench. There’s a lot of sorting and organizing left to do, and we haven’t even started on the welding room, but it’s coming together. We still don’t have Internet access there yet, but someone who knew what he was talking about took a look at our telecom panel yesterday and figured out what needs to happen next.

I’m still picking away at the next Rhythm Robot prototype. I have finished the layout for the control panel board, which is by far the most complex electronic object I have ever attempted to build, and have actually printed and assembled the MIDI & power daughterboard. I have not yet had time to test the MIDI interface yet but the power regulator works exactly as it is supposed to. The logic board, based on the STM32 Discovery, still needs a fair bit of LED multiplexing circuitry, but I don’t need to finish that in order to make progress on the main control panel and the rest of the hardware needed to make this project go.

March 22, 2011

ARM-Utilities offers a download/upload/debug tool compatible with ST’s proprietary ST-Link protocol, otherwise usable only on Windows.

Later we decided to switch to the more powerful ARM processor, and selected the inexpensive STM32VLDiscovery board as our core module. We were dismayed at the very limited Windows-only support and the concomitant requirement to use a heavyweight GUI for every development activity.

These utilities, libraries and header files were the result of our desire for an equivalent quality ARM development environment. Especially a simple development, build and delivery toolchain. We not only wanted to develop the code, but archive it and have others use, modify, compile and download it with the same ease as with the AVR.

« Previous PageNext Page »