Ripping And Encoding Streaming RM, or How I Defeated RealPlayer

May 13th, 2008

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 the rest of this entry »

Some Links on Sleep, 5/14/08

May 12th, 2008

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.

My Life, Told By Pins

May 11th, 2008

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 the rest of this entry »

Music Operates Directly On Your Abstract Syntax Tree

May 9th, 2008

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 the rest of this entry »

The Value is in the Experience

May 8th, 2008

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 the rest of this entry »

What Kind of Software Would People Actually Pay For?

May 5th, 2008

[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 the rest of this entry »

DropBox Makes Syncing Computers Painless

May 3rd, 2008

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.

Recap of 4/18/2008 Chicago Lisp Meeting

May 1st, 2008

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 the rest of this entry »

Announcing Intro to Lisp Workshop

May 1st, 2008

The first big project by the Chicago Lisp User Group is a half-day workshop to introduce Lisp and its goodness to other programmers. The primary audience is the Chicago Linux User Group but it open to everyone. This is the initial announcement and tentative schedule. The most updated info will be on my Chicago Lisp page.

INTRO TO LISP WORKSHOP

WHO: Programmers interested in learning more about Lisp.

HOW MUCH: The low, low price of 3ish hours of attention span.

WHEN: Saturday, May 31st from 3pm-6pm.

WHERE: Institute of Design, 350 N. LaSalle St, 4th floor, Chicago. Map.

WHAT: A hands-on introduction the the Common Lisp programming language.

Tentative Schedule (presentations will be 30-60 min)

  • Setting up a Lisp Environment (John Quigley): A hands-on walkthrough of how to setup a Lisp environment, Emacs, and SLIME. There will be documentation beforehand about steps to take and which packages to get.
  • Lisp Basics and Idioms (Peter Christensen): Lisp syntax, contructs, basic code, idioms and practices.
  • Common Lisp condition system (need a volunteer)
  • Macros (Craig Luddington): How Lisp lets you write code that writes code that writes code … and why you’d want to do that.
  • Demos of cool things in Lisp (need volunteers): showing off both neat and practical things that Lisp can do.

We’re looking for volunteers to do the following:

  • Present on the CL condition system
  • Suggest and present on other aspects of CL not listed here that would be suitable for an introductory session
  • Walk around and help troubleshoot during the first session about setting up your environment.

If you’re interested in attending or helping, please email me and include “Intro to Lisp Workshop” at the start of the message.

Lessons Learned By A Second Time Dad

May 1st, 2008

I’ve been quiet since the birth of my second daughter 3 weeks ago.  A little too quiet for my taste, so here’s a quick personal post (apologies to those anticipating my usual hardcore technical content).

Lots of people write their impressions as a first time parent, but there’s not much to them.  Usually it’s stuff like “Babies are small” and “I’m overwhelmed.”  (trust me, I said brilliant stuff like that a couple years ago after my first).  This time I’ve got all of the mechanics down pat (cooking while holding an infant, the proper bouncing to rocking ratio, etc) so I’ve had different observations that I was too blown away to notice the first time around.  Let’s hope they’re useful to anyone contemplating a second child.

  • Typing with one hand is hard and slow.
  • Watching a newborn is like driving - doesn’t nearly use your whole brain but occupies your body enough that all you can do is think.
  • No matter how much your infant cries, if you jump up from playing with your toddler to care for the infant, then the toddler learns that crying = results.  Bad lesson.
  • Being able to fall asleep fast is useful, since you never know how long you’ll get to sleep.
  • Some items of housework are important (clean laundry, empty sink) while most others are not.
  • If you want your kids well taken care of during the day, make sure your wife gets to sleep at night.
  • Anything you want done, get it done fast (see bullet #2 for explanation).
  • Love doesn’t happen automatically, it needs to be cultivated.  While I’m thrilled about the newborn, I don’t have the same feelings towards her as I do towards the toddler because I have years of memories, experiences, and interactions with the toddler.  But that doesn’t diminish what I have for the newborn - I’m already so much closer to her than I was two weeks or even one week ago.
  • Following up the last point, you have to put in the time and effort if you want to enjoy your kids.  Just like you’d never expect to learn something you didn’t work hard at and experiment with, you probably won’t love your kids as much if you don’t put in lots of consistent time in caring for them.

It’s been a great couple of weeks and I look forward to decades more with my two little girls!