Now With 70% More RSS!

February 14th, 2008

When I looked at my stats, I saw that very few people appeared to be coming from RSS.  I know that RSS readers are hard to track down (that’s why Feedburner sold for $100 million), so I just used Google Reader as a proxy.  There were about 6 people per day coming from there, and I wondered why it was so low, considering that thousands of people have seen my blog through various social news hits.  Then I looked at my page and saw there was only the lame RSS link in the WordPress footer.

I looked for a different theme that included RSS in the sidebars.  I did this for a (n embarassingly long) while until I realized that WordPress is just PHP, and as a typical elitist hacker, I could make a minor change to PHP code (even if I had to wash my hands afterwards :).  So, now it’s done, and the RSS links and icons are now in the sidebar.

So, what are you waiting for?  Subscribe!!

Tooting My Own Horn

February 12th, 2008

After spending a (very) long time on the Reference for the SLIME/Lisp/Emacs Screencast and getting lots of good reviews of it, I’ve taken a little pause from writing to actually do some coding! A few months ago, I started going through Practical Common Lisp, but found it too painful to work in Emacs. I believed in Emacs, I just need to invest the time and practice in getting more comfortable with it. The SLIME movie was part of it, and I’ve been working on the Ultimate Noob Emacs/SLIME Cheat Sheet. I’m beta testing it right now and I’ll post it when I feel more comfortable with it. (EDIT: A beta version is up now)  I’m going through Practical Common Lisp again and this time it’s much better. I’ve read the book and I’m following along in the Practical chapters, coding alongside the text and testing, running, debugging, etc. Right now I’m a little hung up on the magic of how asdf knows where to find the files. I’ll have some more later this week. Probably a startup or business article - I’ve got a couple ideas ready to burst from my head.

In the meantime, I’ve received some glowing praise. First, my Lisp: The Golden Age… article was nominated for the first ever Battle of the Technorati Challenged, a little contest for excellent writing from little-known bloggers (I certainly qualify there!). I ended up winning, since 6 out of 14 voters chose me! So thanks to Caffeinated Coder for nominating me, and thanks to his dozens of readers for participating in the contest.

Second, I got some nice feedback from some of the people on comp.lang.lisp about the SLIME screencast reference. Here a few of my favorites:

“er, Hip hip hooray? This is my dream come true, fresh blood invigorating the CL landscape. We get a /lot/ of noobs who whine about the tools learning curve, and I understand that it is hard, but I also understand that the situation will not change until folks like you make the climb and before charging off to create the next Viaweb take a moment or week to make things easier for the next bloke.” - Ken Tilton

“Seconded. This is really cool! I hope you’ll stick around a create more resources like this.” - Peter Hildebrandt

“Very impressive! Good work. Next step, make another screencast that add to what Marco covered! :) ” - Andreas Davour

Thanks everyone, I appreciate everyone that has read and commented, and there’s more good stuff to come!

Reference for the SLIME/Lisp/Emacs Screencast

February 8th, 2008

Following up on my transcript/review of the UCW “Hello World” screencast, here is my review of Marco Barringer’s SLIME movie. (Description, 150MB .mov, Torrent, watch online). This screencast was more difficult to annotate because:

  1. It was almost 3x as long (55 min vs. 20)
  2. It covered more topics (Linux, Emacs, Lisp, SLIME)

I did find it much more interesting though because it showed off a lot of the cool features in those topics, whereas the UCW screencast was mostly just instructional. Also, I don’t know if I’ll ever use UCW for an app, but I’m already using the LELS stack and plan on using it for a long time to come.

(See what other people have said about it)

Looking back at my UCW reference, I think the format worked for that screencast because it was mostly just straight Lisp code. In the SLIME movie, the Lisp code is the least useful part - it’s just the vehicle for showing off the tools. So there’s a mix of Linux commands (unfortunately omitted because Wordpress or Apache or somebody thinks they’re a security problem), Emacs key chords, Emacs Lisp code, and Common Lisp code. I’m leaving out most of the Common Lisp code for the morse code translator to focus on what’s more relevant. Also, I added links to documentation for the features shown. Hopefully this will make it easier to watch the movie and get straight to work on your own projects!

Read the rest of this entry »

What Happens When You Oversleep During Polyphasic Sleep?

February 8th, 2008

YOU GET SO GROGGY IT’S ALMOST IMPOSSIBLE TO FUNCTION!!!

Three times this week, my daytime circustances have prevented me from taking enough naps (just 1 or 2 each of those days) between my core daytime hours of 7am to 10pm. Not having napped during the day, I didn’t wake up from my nighttime 30 minutes naps and basically ended up sleeping a normal night’s sleep, say 11pm-7am. That must have been refreshing, right?

WRONG!

This is the third of those three days following a full night sleep. It is also on pace to be one of the worst days I’ve had at work since I started doing polyphasic sleep again. Its only competitors are the 4 or 5 other days where I slept through the night and then sleepwalked through the next day.

Perhaps I was just too tired from the days I did get by on only naps, and this is just a carryover from that sleep deprivation? Good idea, but I doubt it’s true. The reason I decided to bite the bullet and go back to polyphasic sleep despite the challenges was that I wasn’t feeling rested despite getting a full night’s sleep! Normal sleep wasn’t cutting it for me, plus I didn’t have nearly enough time to do all the things I wanted, so I decided to try polyphasic sleep again. And not only did I get more time to pursue my interests, I was more alert and better rested during the day than before I started! So when people ask me “How alert can you be if you only sleep a couple hours a day?”, I tell them I’m a heck of a lot more alert than when I was sleeping 7-8 hours a day.

Polyphasic sleep has made my job, my hobbies, my startup, and (sort of) my family better, but everyone thinks it’s so crazy that I feel like I have to sneak around doing it. I mean honestly, the space under my desk is huge and would be a great place to sleep, but I bundle up and go sleep in my car so I don’t get in trouble or get funny looks.

More sleep is not better. Better sleep is better!

EDIT: OK, I’ve been up for a few hours, then took a nap, and now I’m a lot less grumpy.

Pumping Startup Iron: Be an Arnold, Not a Lou

February 7th, 2008

Part of the joys of staying up all night is that I don’t have to fight with my wife over what movies to watch. My latest guilty pleasure was the bodybuilding documentary Pumping Iron, starring Arnold Schwarzenegger, Lou Ferrigno and others leading up to the Mr Olympia 1975 contest. I grew up an Arnold fan (let’s just say I could recite all of Conan the Destroyer as a 7 year old) so this was an interesting look into his life before being a movie star and politician. One new thing I picked up on is how seriously he took all of his competitions. At the time of the movie, he had won 5 consecutive Mr. Olympia titles, he had been the youngest Mr Olympia ever, and he hadn’t lost a competition in 5 years. He was the undisputed king of the body building world. He knew it, and everyone else knew it.

Arnold

But he wasn’t content to rely on the strength of his reputation or his preparation. He went out of his way to get in the heads of his competitors, to psych them out before they even got up on stage. On the morning of the competition, he ate breakfast with Lou Ferrigno and his family, and while he seemed friendly and jovial, he was undermining Lou with his comments. He said things like “Oh yeah, Lou’s got so much potential, he’s got a great career ahead of him.” and “Lou, this competition today will be a great learning experience for you.” He planted the thought in Lou’s head that winning wasn’t even a possibility. Now there was little chance that anyone could unseat Arnold (he won his 6th straight title that day), but he didn’t take any chances with a potential competitor.

Another (slightly disturbing) thing Arnold said was how weight lifting and the pump you get, the rush of posing on stage, was like having sex, even better than sex. So when he worked out and competed, it was like having sex all the time. It certainly made me glad I wasn’t his workout partner :). But once I got over my creeps, I realized that if that’s truly how the reward system in his brain worked, no wonder he became world class so young and stayed so long. If what you do for your job also happens to be the thing that gives you the most pleasure, then you can’t help but excel. If you have found what you love, and it’s so satisfying that you can’t stop working at it, you will be on your way to success. Great success takes years of consistent work, and you have to love something a lot to put in that effort. Arnold is just another example of that.

Lou Ferrigno, on the other hand, seemed to lack that same internal motivation. Now don’t get me wrong, I love Lou and thought his height and size made me more impressive than Arnold on the stage. I must also confess that seeing his face strain while he was working out made me think a car was about to get flipped over or a hyperbaric chamber was going to get ripped apart! But whereas Arnold tended to do his own workouts or take time to help others with their technique, Lou always had his father, brother, and friends with him. They pushed him, they told him how hard he had to work, they told him he had to beat Arnold. He would try to quit halfway through his set, saying he didn’t want it anymore, but his dad would tell him he had to finish. Now don’t get me wrong, Lou had to work his guts out to get where he did, and he was still young at the time, but he seemed like he was doing what he was told instead of doing what he loved. He had the size and build to compete, which none of his crew did, but at least the way the movie showed him, he didn’t seem like he was intrinsically motivated, even though he worked hard.

Lou

It’s simple to draw a parallel between these two and types of startup founders. One loves what he’s doing and would do anything to succeed, one is great at what he’s doing but can’t stay motivated on his own. And if I had to honestly assess myself, I’d say that right now, I’m a Lou, not an Arnold. I haven’t gotten to the point where success breeds more success, where I’ve got enough of an application that build more is intoxicating. I’m still fleshing out ideas, improving my familiarity with the tools I’m going to use, and doing infrastructure setup. I know I can get to the Arnold level of motivation once I get to the sweet spot of the work, because I’ve been there before. I can get the same way with reading, and more recently with writing.

What I don’t know if I can do is to be cutthroat with my competition. I have that horrible gene that geeks have makes them think the best product/person/team/etc should win on its merits, and that using any methods besides excellence to win is cheating. I suppose I can remove some of this cognitive dissonance by telling myself that a clearly inferior product deserves to have its weaknesses exploited. But for now, I’m so early in the process that my offering isn’t even worse.

If you lack the passion for what you’re doing or the dedication to bend the rules in your favor, you’re going to have a tough time succeeding.  But if you realize it, you can change it.  Change takes time, so don’t wait.  It’s time to go pump some code!

Transcript of Marco Barringer’s UCW “Hello World” Movie

January 31st, 2008

I think one of the things that made Ruby on Rails so popular was the screencasts where you could write a blog site in 20 minutes, integrate with Flickr in 5 minutes, or setup database migrations in 20 minutes. It’s hard to overstate how mindblowing those were in 2005 (or whenever they came out). At that point, the only languages I had ever used were Pascal, C, C++ (all in school) and C#/.Net (in jobs). I was used to (and blind to) the big, industrial scale, industrial pain in the butt that those languages consist of. Ruby on Rails just seemed to dance, seemed so easy and flexible. I didn’t ever end up getting into RoR, but interest in it did start me on the language learning, abstraction seeking path I’m on today.

Lisp happens to have a number of similar screencasts. I’ve looked at a couple of them, both by Marco Barringer. I watched the first half of the SLIME movie and was blown away (I only watched the first half because 3:30am isn’t a great time to stay awake through a screencast). He was just throwing out tricks right and left: Linux tricks, emacs tricks, slime tricks, Lisp tricks. I kept rewinding and rewatching parts, like a bunch of Cub Scouts trying to figure out how a magician makes a handkerchief disappear. I have installed and played with emacs and SLIME, but I didn’t get the gist of what it could do. Everyone said it’s so powerful, and I believed them. They said it was extensible and reprogrammable, but I’m not ready to take on that. I tried looking at the documentation, but everything is presented so evenly that I couldn’t get a sense of where to start. I decided that the SLIME movie was too good of documentation to be stuck inside a non-search-indexable video format, so I re-downloaded it and started watching it, frequently pausing and taking meticulous notes on key chords, exact times that different things happen, and setup commands, with the intention that the lessons it contains could easily be referred to later. Well, I had to stop that because my download is corrupted, I only have the first 8 minutes, and right now the download link isn’t working. So I moved on to the next video (which was actually the first video), the UCW “Hello World” screencast (download 51MB .mov or torrent).

In this 20 minute video, Marco created a simple website using UCW, the UnCommon Web application framework (that Marco created). The focus was teaching how to write a simple site and what each of the commands and components means, so it was a little slower and had less “zing” than the RoR screencasts, which just demonstrated how quick it was to work with without waiting for you to figure out what’s going on. Also, since it was focused on the basics of UCW, it didn’t give a good feel for how powerful UCW actually is. I think it would be a great Part I in a series of screencasts showing the progression to use more and more of the power of the framework. Regardless, I have my notes anyway. I haven’t done any special formatting or cleaning up. I plan on doing this for more of the Lisp movies and I’ll wait until I’ve found a style I like, then go back and clean them up. The only thing special is that actual Lisp code is marked with “—” on the lines immediately above and below it. Here goes:

Read the rest of this entry »

Why Google Isn’t In It To Win

January 31st, 2008

You are where you live.  That’s the message that Prizm, a market research tool from the company Claritas says.  In the United States, groups of similar people tend to live near each other, and the size of these groups roughly corresponds to ZIP code boundaries.  Claritas has identified 66 lifestyle types, and they geographically aggregated demographic information to companies looking to refine targeted marketing.  This demographic information has proven to be very valuable.  Try your zip code and I think you’ll agree they’ve done their homework.

The web magnifies this effect.  On the web, companies know more about you as an individual as opposed to a member of a group.  They track your individual activity in a way that physical companies couldn’t dream of.  Search engines have managed to turn one activity, answering simple questions (search queries), into one of the most profitable businesses in the history of the world.  The combination of wide appeal, high effectiveness, ease of use, low transaction cost,  and an effective method of monetization (paid ads alongside normal search results) has produced hundreds of billions of dollars of wealth and many billions in revenue and profit over the last 10 years, Google being the leader.

Google has over 50 products (not counting Labs products), including dozens that aren’t variations on search.  Google is the undisputed king of search, but none of its non-search products are #1 in their category (except YouTube, but that was an acquisition).  Orkut is way, way behind MySpace and Facebook in popularity.  Finance is behind Yahoo.  Maps, despite redefining how online maps should work a few years ago, still isn’t as popular as others (it boggles my mind that people still use MapQuest).  Talk is way behind AIM and MSN.  Gmail is a fraction the size of Hotmail or Yahoo Mail.  I’ve never heard anyone say anything positive about Checkout.  The list goes on.  How can Google, which completely owns search, be so dysfunctional in every other space?

Because it’s not trying to win those categories!

Google made $10.6 billion in 2006, a 73% increase from the previous year.  That’s almost $1B/month (and at the rate they’re growing, it probably is by now).  Nearly all of that comes from two products: AdWords (paid search ads) and AdSense (contextual ads on other websites).  Simply put, for any of their other products to even be a blip in their revenue, it would have to be one of the most successful software projects in history!  Google is smart enough to know this, and so what they’re really trying to do with these other products is to gather usage data and refine their picture of customers.

There are really only two ways Google can bump its revenue: increase Internet usage in general, and improve monetization of search.  Google is indeed trying to increase internet usage (through things like the citywide wifi initiatives, bidding on the 700 MHz spectrum, and the Android smart phone platform) because they’re the biggest provider of one of the most common and most profitable activities on the web.  But their ability to speed this up relative to general societal trends is small.  On the other hand, if they can improve their search monetization even slightly, they make swimming pools worth of cash.  If data mining users’ search queries against email messages against blog entries and comments could improve monetization by just 1%, that’s $100,000,000 a year.  A couple percent improvement and pretty soon you’re talking about real money!

How could usage data from other products improve search?  Here are a couple ideas off the top of my head.  Right now (as far as I know), Google returns the same search results to everyone, and just counts on covering all interpretations of a query in the first few terms.  If they ever do (do they already?) offer personalized search results, they could use other data to get a better idea of how to answer a query.  For instance, geographical ambiguities would disappear (Aurora, IL vs Aurora, CO, Portland, ME vs Portland, ME, Springfield wherever), and terms with multiple meanings could be handled better (if you’ve never asked or talked about programming, then a Lisp is a speech impediment).  Heck, location specific results could be tailored to information in your calendar that identifies where you are (ditto with mobile queries).  Searches for products could return results from Base.  I don’t know how advanced their Natural Language Processing is, but if they could understand your email and documents, then they could get to know you pretty well.  They could go beyond what you ask to who you are and what you feel.  Even if they don’t give personalized results, if they could create hundreds (or thousands or more) of “lifestyle types” (as opposed to Claritas’ 66), they could target general search results more effectively.  I’m going to stop this now because it’s starting to scare me.

Plus, by being second or third (or eighth or whatever), Google can still get a useful amount of data without worrying about running into antitrust regulations.  They (especially Eric Schmidt) have seen what happened to Microsoft when they bought or crushed competitors in different markets, and how much of Microsoft’s decision making in the late 1990’s was cramped by fear of the Justice Department.  So it doesn’t matter if Knol is smaller than Squidoo, if Base is less popular than Craigslist, or if Docs never kills Office.  If the data these apps collect on users helps improve their searches even the tiniest smidge, Google makes much more money than the company they’re losing to (well, maybe not with Docs).  Interestingly, for the area where they’re most likely to run into antitrust issues (online advertising), they find it worth the risk to make a valuable acquisition (DoubleClick).

What does this mean for a company that Google copies?  People used to be terrified that Microsoft would move into their space, because they would make a similar product and then just crush you, and all you accomplished was “doing market research for Microsoft”.  With the internet, though, so much of the value is in the quality and size of the audience and the data they contribute.  Many popular sites have technology that wouldn’t be that hard to duplicate, but their community is irreplaceable (take Google Video vs. YouTube for example).  This means that if Google wants what you have, they have to buy you.  Second,  if they copy you, all it means is that you’ve found a useful online activity that they can mine behavioral data from.  They will build something to get a representative data sample, but no matter how valuable your business is to you, it’s less than a drop in the bucket for them.  Just consider your idea validated and keep your nose to the grindstone.

Two recommended blogs

January 29th, 2008

There are two blogs I’ve recently begun reading (and they’ve recently begun writing). Most of the time I read a new blog, I found it because one of the posts was on Hacker News. If I like the post, I’ll look at the recent and archive posts on that same blog to see if I’d like to continue reading that author, or if they just had one good post on a topic I enjoy. If while reading the other posts I find that I find a high percentage of the posts interesting, I will subscribe to it in Google Reader so I can get the newest as it comes out. If I really, really enjoy it, I’ll go back and read through the archives. When I find someone whose writing, insights and topics I really enjoy, I try to read as much as I can from them because it gives me a more complete picture of the identity they’ve chosen to reveal. I want to get to know then, and reading their words is the best way available.

For these two, I went all the way back to their very first posts. (granted, they both started writing recently)

First, Danielle Fong from Berkely, CA. I discovered her during a recent discussion about female hackers on Hacker News. There were a lot of insightful (and a few ugly) comments in that discussion, and she was the first to come forward. Some people wondered if, since they were few in number, the female readers were valuable contributors. I went and looked at her comments were certainly valuable. She immediately jumped on my list of “comments I’ll take more seriously because they’re written by X”, and her blog is well written and thoughtful too. I recommend Third Places and Outliers: Why the Central Limit Theorem Is Typically Off. In just a month, she has talked about physics, computability, statistics, creativity and social interaction, and writing. If you enjoy quality writing about a variety of intelligent topics, don’t wait, just go subscribe to Danielle’s blog.

The other blog is by Hank Williams from NYC. He’s every bit as insightful but with a completely different flavor. His blog, Why Does Everything Suck? is a rapid fire attack on conventional wisdom, poor usability, and outdated or incorrect business models. He gives a hard reality check to the hype spouted in other parts of the internet. My list of draft blog posts is full of posts of his that I wanted to point out or comment on. I’ve come to realize that I’ll never keep with him because he keeps cranking out quality post after quality post. So here’s a rapid fire summary of some of my favorites:

Does it matter that New York is less techie than Silicon Valley? - Silicon Valley is good at making products, which he defines as solving a hard problem and making it really easy. New York is less interested (capable?) in solving hard problems, so there’s nothing to make easy. His solution is to make his startup as location agnostic as possible so he can work with the best possible people, regardless of where they are.

The Psychology of User Interface, Part I and Part II, and Part III - He outlines the concepts of spatial visualization, direct manipulation (as opposed to action at a distance), and there is no freedom without boundaries. It’s worth reading the whole series for a primer on the theories behind effective user interfaces.

Teaching Computer Science the Old Fashioned Way - in contrast to other opinions, Hank defends the traditional way of teaching computer science because it teaches students how to think, how to reason, as opposed just how to use the latest tools.

How to Create Great Ideas - generate, discuss, filter, internalize, repeat. Read it.

700 MHz Spectrum: Not so great for internet - low frequency = less data = few customers per tower. Strong signal = more interference = towers spaced out more. Two conflicting problems that make it seem like not such a great replacement for wifi. If what he says is true, this is a huge issue that has been completely overlooked by the media too busy fawning over Google’s openness requirements.

Will Technology Yield an Automated Economy? - many jobs that people used to do have been replaced by technology. Many jobs that people do will be replaced by technology. Are we running out of opportunities for profit and employment? I have a good answer in me that will take more than a few minutes to write. Look for it in the future (oh, dang, just when I cleared out my Hank backlog, I just put something back on it).

So, if what I think is reflected in what I write, and you like what I write, then you’ll probably like what Danielle and Hank write. If I could splice their posts into my feed I would, but for now, you can subscribe yourself.

Mourning A Friend

January 29th, 2008

I mostly keep my personal life out of this blog, but today was a sad day for me because a friend of mine passed away.  While I had never met him personally, I have followed him and listened to him for my entire adult life.  He’s been with me when I was at my best, and he has comforted me when I was at my worst.  I do not feel sorry for him, because it would be hard to imagine a richer life than the one he lived.  I feel sorry for the world that has to go on without him.  Life will go on, but the world seems a little smaller and a sadder without him.

Taking Requests for Book Reviews

January 27th, 2008

One of the first things I did when I started the blog last year was to write reviews of the books I read. Since I had a 45 minute train ride each way to and from work, I cranked through a lot of books, and when I tried to write reviews to keep up with all of them, I realized I liked reading better than writing. So I stopped writing reviews and kept reading tons.

Now, I have a driving commute and my reading has ground to a halt. I’ve also started writing much more in general, so I thought I’d pick up my old book reviewing pen and take another crack at it. One twist: this time, I’ll use a classic Threadless/Tim Ferriss technique: demand measurement. Rather than me choosing which reviews will be most valuable, I’ll let you, yes you, my dozens of readers, decide which of all the books I’ve read you’d like to hear my take on. And if I don’t hear from anyone, I’ll just write other stuff!

(Funny story that got me thinking about book reviews again: when I was looking at the Search Engine terms that led people to my blog, I noticed several searches for book reviews. Not bad considering I’ve only written four. I also saw “pictures of a head in a vise” and wondered what my blog had to do with that. Well, I have a category “Pictures”, my blog title is “What’s in Peter’s Head”, and I wrote a review of a book by David Vise. Organic search results at their finest!)

Read the rest of this entry »