This is my old blog. My new ones are herdrick.tumblr.com or herdrick.posterous.com

Thursday, April 26, 2007

Something I'm missing?

This makes me a bit mad. And this ups the boggle factor. How do you define a -map function, a -fold function, but forget to do the -filter?

Probably I'm complaining about something I should be fixing. Or there's some good reason for this that every Schemer more experienced than me knows.

Monday, April 09, 2007

Scheme makes you smarter by making you feel dumb

This sums it up.

Friday, March 23, 2007

Stop whining and build!


Years ago I often read and posted at the Joel on Software forum. In mid-2003 someone started a thread to complain that the best days of software development were in the 1980s and to ask the forum's opinion about his chances in writing some successful software on his own. Of course, out of the woodwork came a solid crop of Eeyores, right on schedule. What is it about complaints and pessimism that attract such a following? Remarkably, Eric Sink - whom I admire - joined right in with them. But I guess if you are fixated on desktop software, today is boring and barren. Just like mainframe programming wasn't any fun any more in the 1980s...

Anyway, I had to object. So I posted:

No. TODAY is the best of times, and software is the best of businesses. You forget that back then there was no way to get your product to customers except through the computer stores at the local mall. The internet is the most open sales channel imaginable, linking producer of IP to customer directly. Those old timers had it hard.

No matter how endless the possibilities and bountiful the opportunities, there will always be those whose covetous eyes are drawn to the crowded streets of exploited opportunities instead of the open blue yonder of infinite possibilities. If this is you, please, start exercising the creative parts of your brain, build some castles in the sky, and stop underestimating your own potential to build something new.


I ran across that today. Metaphor! Poetry! I must have been pretty outraged. That silly pessimism merely irritates me these days. I'm no longer inpired to purple prose. ("Covetous eyes"? Sounds like an Eddie Money song.) But I'm standing by it.

Tuesday, March 13, 2007

Heysan blog slideshows

I like the newest Y Combinator startup, Heysan. They offer a chunk of HTML that you paste into your blog or MySpace page or whatever. The HTML is a slideshow, displaying the pics you email to an address they give you when you sign up. It's very simple.

You know that delighted feeling you get when you find a 'hidden' feature in a product? Heysan gave me one of those. I only had a single pic on my phone to send, and since a slideshow of one image isn't really a slideshow, I needed another way to get photos into my account. So I tried emailed some from my desktop, and it just worked. Well done, Heysaners.

I'd like to be able to turn off the pixie dust effect. I'm sure this is possible and I'll read all about it when they have an FAQ/Help page written.

If you can't see the slideshow at the top of this blog, please leave a comment.

Monday, February 19, 2007

atom? - Get it right.

Since Google seems to be having a hard time finding it the right definition, I'd like to point out for the record that in Scheme, atom? should be defined so:


(define atom?
(lambda (x)
(and (not (pair? x)) (not (null? x)))))

Other definitions should be stoned to death or at least given a very dirty look.

Thank you for your attention to this matter.

Thursday, February 08, 2007

Fever's break

Upon emerging from the worst of my head-cold chest-cold fever, I realized: association lists work fine for any arbitrary key/value pairs. A very obvious thing I suppose, but something had been throwing me off when I was thinking of alists this morning. When you cons the key onto the value, but the value is a list, then the resulting alist entry isn't a dotted pair, it's just a plain old list. But who cares? Functionally it's identical. It may as well be a dotted pair. Look:

(a . (1 2 3))
(a 1 2 3))

Are the car and cdr of this any different? No.

Obvious, yes, but I had a fever! I was lucky to be thinking at all. Get off my case!

Wednesday, January 17, 2007

In sympathy

My thoughts are with my friends in Arizona. Take care, folks.

Tuesday, January 16, 2007

Shaving the Yak at work.

Perhaps not swamped, but I'm seriously bogged down right now with a lot of things that aren't exactly what I'm trying to get done, but really need to be done anyway. It's Yak shaving.

Monday, January 15, 2007

Google transit is excellent

Another web service has made my varsity team. Google Transit tells you how and when to take the bus to wherever you want to go. It's a must if you live in King county (i.e. metro Seattle) and commute to a high-density area (the U-District, downtown, Belltown, SODO, downtown Bellevue, etc). I use it daily. Imagine Google Maps driving directions with discrete choices leave time choices and you pretty much have it.

It only really has two problems: buses often run late (so the times can't be taken too seriously), and it's probably not available in your town. But if you're one the lucky people in one of these places, try it: Burbank (Burbank Bus), Orange County (OCTA), Tampa (HART), Honolulu (TheBus), Duluth (Duluth Transit), Eugene (Lane Transit District), Portland (TriMet), Pittsburgh (Port Authority), and of course, Seattle (King County Metro).

Wednesday, January 10, 2007

Research job.

Following my ICFP-inspired plunge into academic Computer Science last autumn, I knew I'd need to get a regular industry job to replenish the war chest before making another raid into the classroom. Another option came up though - while walking back to the Allen Center after taking the final exam of my favorite class ever, I was talking with the instructor of the course, my favorite professor ever, (making a brown-nosing jackass of myself, no doubt) and he asked if I'd be interested in doing some research. I was, and after a job interview with the manager of the research project, I got an offer to work full time as an undergraduate researcher. I happily accepted. Today was the sixth day of work at the lab and I'm enjoying things. We're wrestling the usual sort of problems that plague any big piece of software. Before too long I'll be starting work on some actual research - more about that later.

Speaking of new directions in life, last night at the SeaFunc meeting I was talking with an interesting fellow and somehow or other the topic of major life changes came up. I quoted a person in Michael Lewis' nonfiction Wall Street memoir, Liar's Poker. (That was a heck of a book - you should read it - and it had an big impact on me. Speaking of that book, and this one, I need to do a post about investment banking, the study of Economics, the Pacific Northwest, word of mouth and clouds of personal connections someday. Remind me.) I think it was his mentor in London, who, when Lewis told him he was leaving his carreer in finance just when it was about to make him very rich, said something to the effect of, "Good for you. These major life changes are always the right decision." Now, a programmer going back to school to study Computer Science isn't exactly like closing the shop, selling the house, buying a ticket to the west coast and giving them the stand up routine in L.A., and it wasn't much of a change compared to my usual life modification, but this time I wasn't in some kind of desperate or dead-end situation. So I think it counts as a significant change.

(insert excuses for not blogging here)

Didn't think I had time, blah blah blah, you've heard it all before.