Peter Christensen

  • Presentations

Beautiful Guts – Dissecting a First Generation iPod Nano

May 23, 2008 by Peter 7 Comments

I’ve recently come into possession of a damaged, non-functioning iPod Nano (Public Service Announcement: be careful how you hold your iPod when operating a urinal) that gave its body to science. After cleaning and drying it, I decided to see what was inside. I never took things apart as a kid because a) I took good care of things so they didn’t break, and b) if I couldn’t get it working again, I wouldn’t get a new one, so I didn’t risk it. First time for everything!

So here’s my photo documentary about taking my iPod Nano apart. I have no great electrical skills so I didn’t bother trying to fix it; I just wanted to see how it was put together and what was inside.

[DISCLAIMER: The thumbnails were automatically generated by WordPress and therefore not always centered or cropped the way I would like. Click on each image for larger and more complete images.]

First, a front and back view of the iPod:

Front and back view

[Read more…]

Filed Under: Pictures

Installing CLISP, Emacs, and SLIME on Windows XP

May 16, 2008 by Peter 57 Comments

Until this week, I had been putting off setting up a CL/Emacs/SLIME environment from scratch ever since I had trouble getting ASDF to work with Lispbox. Every time I tried, I ran into some will-sapping problem like needing to find a good Windows program for .tar.gz files, or finding the command line flags to get CLISP to run right, or figuring out the best way to setup a folder structure that matches the Unix folders used by most Lispers. Every time I fixed one problem, I ran into another. For someone out there trying to do a setup like this, there are lots of good resources, but they are either incomplete or outdated.

For instance, the Common Lisp Cookbook has a very thorough page on Setting Up an IDE with Emacs on Windows or Max OSX, but as far as I can tell, it’s from 2004 or earlier because it doesn’t mention SBCL or SLIME, two of the most popular pieces of CL development software today. Or when you run into a specific problem, it’s usually not too hard to find an answer, but it might not match the setup you’re using. That’s why I had to quit using Lispbox, because no one had any clue how it was configured, especially not on Windows. n00bs didn’t know the answers and the wizards had a traditional setup.

Here are some of the variables that contribute to the combinatorial explosion of configuration, in order or pain caused:

  • Operating system: Linux (many flavors), Mac, Windows, Cygwin
  • CL implementation: most common are SBCL, CMUCL, Allegro, LispWorks, CLISP
  • CL implementation version (I ran into a problem here)
  • SLIME version (stable 2.0 release or CVS snapshot)
  • Emacs version (I didn’t run across any problems with this)
  • I almost forgot, now there’s Cusp/Eclipse if you don’t want to use Emacs/SLIME, but right now Cusp is only tested on SBCL.

Maybe someday someone will try out all of those combinations and report, but for today, I did exactly one: Windows XP, CLISP 2.44, SLIME CVS, and Emacs 22.2 Why CLISP? After reading lots of internet, I came to the conclusion that (aside from the commercial CLs), CLISP is the best implementation for Windows users. The knocks against it are that it’s slow because it’s byte-code compiled, it doesn’t have threads, and on some points, it’s ideologically different from CL and other implementations.

Well, the performance isn’t a big concern for me (plus as I went to press, 2.45 was released with experimental JIT compilation), the threads also aren’t a big deal right now, and I think the differences will help me be aware of the considerations for writing portable code. Also regarding the SBCL windows port, it’s still considered experimental (currently v1.013 for Windows) but people are saying it’s stable and everything works except the threads. There’s even an msi installer for the Windows version. One of my next projects will be to dive into the SBCL documentation and mailing lists to get a better feel for it.

As far as the philosophy behind this (and future) setup guides, I want them to be a) thorough and b) instructive. Instructive? If you just want to take my word for everything, that’s fine, but I want you to know where I got my info from, so I’ve tried to include links to references for each step. On to the setup guide!

[Read more…]

Filed Under: Lisp, Programming

Ripping And Encoding Streaming RM, or How I Defeated RealPlayer

May 13, 2008 by Peter 4 Comments

I’ve known (and written about) MIT’s OpenCourseWare project for a while but never gone through any of the courses. I’ve found the first one I want to work through on Data Wrangling’s outstanding Hidden Video Courses in Math, Science, and Engineering page. One of the courses in the Mathematics header is Godel, Escher, Bach: A Mental Space Odyssey, and I decided to bite.

Godel, Escher, Bach: An Eternal Golden Braid

The book Godel, Escher, Bach: An Eternal Golden Braid, is widely praised as being an important, mind-bending, eye-opening book, but the reviews I’ve seen generally fall have fallen into two categories:

  • people who have tried to read it but quit about 1/3 of the way through, but still proudly display it on their shelves as a badge of honor
  • b) people who have read it and understand it, but don’t feel like trying to explain it to the uninitiated.

Since the MIT OCW course was a summer lecture series for high school students, I figured I could keep up. And by watching the lectures first, I’m hoping the book will be easier when I get around to reading it. It doesn’t seem like a book where I should worry about spoiling the ending.

There was one problem that took me a while to overcome: the lectures were in streaming .rm (Real Media) format. That means RealPlayer. I am not friends with RealPlayer – I cut my ties with Real in 2002 and vowed never to have their software on any of my computers again. If you don’t understand my revulsion, just Google “real player sucks” (477,000 hits).

So after a few days of tinkering, I came up with this solution for ripping rm streams and encoding them in a different format (I chose .mp4 so I can watch them on computer or video iPod). It takes about 20-25 mintues per hour of media but can be setup up in batches to run overnight. In my opinion, that’s a small price to avoid dealing with RealPlayer.

[NOTE: This is for Windows XP. YMMV on other platforms]

[Read more…]

Filed Under: Education

Some Links on Sleep, 5/14/08

May 12, 2008 by Peter 2 Comments

Some links I came across with a thorough, well researched view of sleep. Two articles, with key excerpts:

Good Sleep, Good Learning, Good Life

“…Myth: Since we feel rested after sleep, sleep must be for resting. Ask anyone, even a student of medicine: What is the role of sleep? Nearly everyone will tell you: Sleep is for rest. Fact: Sleep is for optimizing the structure of memories. If it was for rest or energy saving, we would cover the saving by consuming just one apple per night. To effectively encode memories, mammals, birds and even reptiles need to turn off the thinking and do some housekeeping in their brains. This is vital for survival. This is why the evolution produced a defense mechanisms against skipping sleep. If we do not get sleep, we feel miserable. We are not actually as wasted as we feel, the damage can be quickly repaired by getting a good night sleep. It is our brain dishing punishment for not sticking to the rules of intelligent life-form: let the memory do restructuring in its programmed time.”

Polyphasic Sleep: Facts and Myths

“It appears that polyphasic sleep encounters the precisely same problems as seen in jet lag or shift-work. Human body clock is not adapted to sleeping in patterns other than monophasic or biphasic sleep. In other words, the only known healthy alternatives are: (1) a single 6-8 hours sleep block in the night, or (2) a night sleep of 5-7 hours combined with a 15-90 min. siesta nap. Those numbers differ substantially across the population and there is no single recommended dose of sleep for everyone.”

The site these articles came from, www.supermemo.com, is called “Super Memory: Forget About Forgetting”. I’ll be looking more into it soon.

Filed Under: Polyphasic

My Life, Told By Pins

May 11, 2008 by Peter Leave a Comment

As part of my husbandly duties on Mother’s day, I did some cleaning and came across my pin collection. Yes, I went through a phase (that’s apparently over – keep reading for details) where I would collect pins from the places I traveled to. I kept them in a little tin that I hadn’t seen in years until today. I had my camera out so I thought I’d show a picture and let them tell my story (or the part of it that can be expressed through pins).

Explanation after the jump:

[Read more…]

Filed Under: Fun, Pictures

Music Operates Directly On Your Abstract Syntax Tree

May 9, 2008 by Peter 3 Comments

I mentioned music in each of the last two posts as a digitizable creation that people enjoy enough to pay for. So what is it about music that is so great? I’ve been asking myself this question for years, and now seems like the time to try and tackle it.

I’ve always enjoyed music – from playing the trumpet in elementary school, owning a $230 portable CD player in 1993, to being an iPod man today. Practically every spare dollar I earned between the ages of 13 and 17 was spent on CDs. I love and appreciate all kinds of music – classical, rap, rock, alternative, opera, techno, Hawai’ian (especially Hawai’ian), even country (Claire from 9th grade, if you’re reading this (which I’m pretty darn sure you’re not), it took over 15 years and I’m still not a fan, but I can say now that I appreciate country music). But now I don’t listen to music very often. In fact hardly at all. I have my iPod running most of the day, but I listen to podcasts, sweet delicious podcasts of all stripes that keep me informed and help me learn new things. What’s the difference between me now and when I was in high school (besides the notably reduced mental redardation and 70 extra pounds)?

Music and the Brain

On Intelligence

My answer has come from my interest in neuroscience and artificial intelligence. Jeff Hawkins’ book On Intelligence (God bless him for writing it) stresses the temporal nature of the brain – how learning, memory, even sensory perceptions like vision and hearing only work on data that changes through time. Our brain works by processing related events connected by the sequence they occur in – kind of like musical notes! Music speaks our brain’s native language! No compiling, no byte code, etc – it operates directly on our abstract syntax tree (that’s my analogy, don’t hold it against Jeff). That is why it’s easier to remember song lyrics than the words of a speech – the lyrics are attached to a musical sequence that burns into your mind.

[Read more…]

Filed Under: Fun, Programming

The Value is in the Experience

May 8, 2008 by Peter 7 Comments

I had great fun writing my last article “What Kind of Software Would People Actually Pay For?” because it helped me flesh out a lot of the ideas that had been swimming around in my head recently (actually for the last few years). And it actually made my Masters Degree in Urban Planning useful!

[Hold on kids, Uncle Pete is reminiscing]

Urban history is just economic history viewed from a different angle. Farming and agriculture was the dominant form of life for thousands of years because it was the best economic option – access to soil and water was more important than access to other people. Even if you couldn’t sell the food you grew, at least you could eat it and not starve.

With the economies of scale gained during the Industrial Revolution, congregating in cities became a better economic option for many (and eventually most) people. [Warning: US-centric view of history ahead] Despite the horror stories of Victorian London of the Chicago stockyards, life in cities was a better choice, especially for people who didn’t own their own land. The technological developments of the era (steel mills, railroads, electricity, heavy manufacturing, etc) made those who developed and invested in them rich, and the cities that accommodated them prospered. Cleveland in 1900 had all the optimism and glitter that cities like Seattle do now. Starting around the 1970s, the US economy shifted from primarily manufacturing to services like finance, insurance, accounting, advertising, marketing, law, high tech, research, software, etc. This if referred to the “white collar” or “service economy” and is what we have now.

The Experience Economy: Work Is Theater & Every Business a Stage

Some people claim there is another economic shift underway, from providing services to providing experiences. This idea was first developed in the book “The Experience Economy” by B. Joseph Pine and James Gilmore. Examples of this are how a regular amusement park may offer fun rides, but Disney provides a complete immersion in their (surreal, creepily clean) world. Dunkin Donuts sells you coffee, but Starbucks provides a cozy place with hip music. Nike doesn’t sell shoes, it sells athleticism. You get the point.

[Reader interrupts]

Reader: Peter, why are you giving me a history lesson? That’s not why I read your stuff!

[Peter shakes the glimmer out of his eyes and gets back on track]

[Read more…]

Filed Under: Startups

What Kind of Software Would People Actually Pay For?

May 5, 2008 by Peter 13 Comments

[UPDATE: See two update posts: “The Value in in the Experience” and “Music Operates Directly on Your Abstract Syntax Tree“]

The “Free” Firestorm

Hank Williams, my recent blogging buddy, lit the internet on fire recently with a series of posts where he accuses venture capitalists of collapsing the market for software entrepreneurship by funding so many companies that give products away for free. He says:

In today\’s “free” world, in most online business categories, it is inherently impossible to start a small self-sustaining business and to grow it. This is because in the digital world, advertising, the only real revenue stream, cannot support a small digital business. If businesses were based on the idea that people paid for services then small companies could succeed at a small scale and grow. But it is very hard to charge when your competition is free.

…Venture capital has totally distorted the market. VCs are investing billions of dollars in companies with instructions to get big fast and to worry about advertising revenue later. As a result the competition is for users and not paying customers.

Then at Startup School 2008, DHH took Hank’s fire and poured a 500,000 DWT oil tanker on it with his talk “The Secret to Making Money Online“. And what was the secret? Charge people for your product! Breathtaking, isn’t it? We’re living a world where feathers get seriously ruffled when you insinuate that people should have to pay money for stuff.

This recent “free” debate needed to happen, and some good points were raised. Anything that can be digitized can be copied and distributed for (essentially) free on the Internet, so anyone whose business is digital or digitizable needs to understand free. It can either be an advantage (if you’re starting from nothing and building up) or a disadvantage (if you used to rely on high copying costs to protect your profits – I’m looking at you, music and movie industries).

Breaking Free From Free

What does this mean for software entrepreneurs? Right now the market for people wanting to make money off the Internet (supply of entrepreneurs) is growing, the demand for free software is growing, but what about the demand for non-free software?. Reg Braithwaite aka Raganwald asked a great question:

What does this mean for startups and business models? Is this effect stronger in some niches (programmer tools, for example) but weaker in others (enterprise integration applications)? Does SAAS change the game? Does pricing a product so that it is credit-card-ware change things?

Rather than answer those specific questions (which I don’t have any particular insight or experience into), let’s look at some guidelines for anyone trying to grow a profitable, Ben and Jerry-style software company. Hank gave his advice on the subject in “Seven Dos and Three Dont’s for Creating New Web Products” post (definitely go read the whole post for details and examples). Here’s my list of 5 principles to evaluate an idea to see if people will pay for a product that:

  1. Supports serious, expensive hobbies
  2. Is so outstanding it redefines its category
  3. Helps businesses spend less money
  4. Helps businesses make more money
  5. Can be bought easily and instinctively

[Read more…]

Filed Under: Startups

DropBox Makes Syncing Computers Painless

May 3, 2008 by Peter 1 Comment

I’m a cheap guy who doesn’t like to spend money on software. I’m not totally against it, but I have awesomer stuff to spend my money on like diapers, mortgage payments, and $4 gas. I enjoy using free tools or trials offered by the software entrepreneurs I know, but no matter how much I like them, I could live without most of them.

Not DropBox.

DropBox solves a pain I’ve had for years, a pain that never relented or could be relinquished – keeping data consistent across multiple computers. I usually have 2 computers at work (a desktop and a laptop), plus my laptop at home and 2 more desktops. I tried to keep a folder that would sync across all of those machines but I never found a process or product that could do it for me, so I just decided to live without access the files I wanted. I’m not even talking about a 100 gigabyte media library, just things like notes, drafts, some pictures, etc.

I’ve been using DropBox since it came out in beta, and it solved my problem so completely that I had to consciously think to remember what life was like without it (kind of like trying to remember what it was like to install a device driver on Win 3.1). There’s a client app you install that watches your DropBox directory. It then syncs all the files in that directory tree with a copy on their server, and pushes the changes out to other machines where you’ve installed the client app. So far, It’s fast and flawless.

But wait, there’s more! Since it syncs by sending changes to your file instead of the entire file, it also keeps a backup and revision history so you can restore older versions (again, across all machines), like source control for dummies. They also encrypt the files, both in transit and on their servers, so your stuff is safe.

Still not sold? Since copies of all your files are on their servers, you can access them (including revisions) over the web! So if you’re on a computer that doesn’t have the client installed and you just want a couple files, you can just grab them off the web.

Don't Make Me Think! A Common Sense Approach to Web Usability (Circle.Com Library)

It’s sort of funny, but despite absolutely loving the product, I hadn’t written about it yet because I didn’t know what to write. It worked so well that I didn’t even notice it 99% of the time. Have you heard of the book Don’t Make Me Think, one of the great books on designing for usability? (If not, GO READ IT!) If you need to see an example of those principles in practice, try DropBox. I didn’t have anything to write because I hadn’t really used the program – it just quietly served me like a good butler.

They’re still in beta. Once beta is over, there will be small free accounts and paid accounts with more storage. Beta testers will retain a free account that’s bigger than the standard free. I have some beta invites left, so if you’d like to try DropBox (and if you don’t, why the heck are you still reading?), email me and I’ll send you one.

Filed Under: Startups

Recap of 4/18/2008 Chicago Lisp Meeting

May 1, 2008 by Peter 1 Comment

I’m proud to report that the Chicago Lisp group is experiencing monthly membership growth of over 50%! If my math is correct, by this time next year we should have close to 2500 members. That should complicate venue planning :).

[Read more…]

Filed Under: Education, Lisp

« Previous Page
Next Page »

Categories

  • Blog
  • Book Review
  • Business
  • Clojure
  • Education
  • Emacs
  • Fun
  • iOS
  • Lisp
  • Personal Sprints
  • Pictures
  • Polyphasic
  • Presentations
  • Programming
  • Rails
  • Startups
  • Uncategorized

Copyright © 2025 · Minimum Pro Theme on Genesis Framework · WordPress · Log in