Peter Christensen

  • Presentations

Chrome, the Google Docs-mobile

October 3, 2008 by Peter 5 Comments

A few weeks ago, Google Chrome was released with much fanfare, press, celebration, comic books, and praise (with the usual skepticism and contrarian views thrown in for good measure). People wondered if Google was getting into a browser war, an OS war, a land war in Asia, whatever. I kept waiting, kept waiting, kept waiting until finally … oops, no finally, just more waiting. No one pointed out the biggest strategic benefit of Google Chrome.

First, some background. Google makes a lot of money. Like, they didn’t have enough bathtubs in the Googleplex to put all the money in. They were going to build swimming pools to put their cash in but all of the pool contractors in the Bay Area were already committed, so they’re working on damming and draining part of the San Francisco Bay to make a pit big enough to put all of the coins, bills, doubloons, and gems that those little blue text ads deliver to Mountain View. Meanwhile, Larry and Sergey are impatiently waiting to fulfill their dream of swimming through it like Scrooge McDuck.

So Google = Money = Good. But they make ALL (like 99+%) of it from advertising, about 2/3 from search ads and 1/3 from contextual ads on other websites. So although they completely own this market, making more money than all of their competitors combined and more than anyone imagined was possible, this single-source-of-revenue thing scares the crap out of a lot of people (just ask anyone who has lost a job). That’s the only criticism of Google as a business that has any real substance.

What are the biggest, juiciest targets for a behemoth that needs another revenue source? Let’s look at the cash cows in the computer industry and how attractive they would be to Google:

  • Hardware: a total non-starter. While Google might run the best data centers in the world, it is also one of their major competitive advantages, both in cost and performance. Selling or sharing it is out of the question. Other fields like PCs or servers are too low margin compared to their current business. Besides, hardware involves atoms, and Google has no experience with atoms.
  • Operating Systems: Sure, Apple and Microsoft make a ton of money and high margins off of their OS products, but they also have decades of accumulated advantage, installed base, and brand equity. And they got to build those things back when people PAID for new operating systems.
  • Office Software: Someone at Google is at least as smart as me because they went through the same process of elimination and ended up here. So they’ve built and bought their way into Google Docs, which does enough of what people expect in an office suite that it is considered a plausible alternative to MS Office.

They built it, some businesses have adopted it, but they’re not making billions of dollars off of it. Why not? Let’s ask Joel. His Strategy Letter III is probably the most important business lesson that people don’t get.

The only strategy in getting people to switch to your product is to eliminate barriers…Think of these barriers as an obstacle course that people have to run before you can count them as your customers. If you start out with a field of 1000 runners, about half of them will trip on the tires; half of the survivors won’t be strong enough to jump the wall; half of those survivors will fall off the rope ladder into the mud, and so on, until only 1 or 2 people actually overcome all the hurdles. With 8 or 9 barriers, everybody will have one non-negotiable deal killer. This calculus means that eliminating barriers to switching is the most important thing you have to do if you want to take over an existing market, because eliminating just one barrier will likely double your sales. Eliminate two barriers, and you’ll double your sales again.

(Incidentally, he used Excel as his example, pointing to the last time a smart aggressive software company with one revenue stream was looking to diversify. Maybe office software is just more usurpable than operating systems.)

Google is facing a whole different set of barriers to adoption than Microsoft faced when attacking Lotus 123. What are some of the barriers to adoption facing Google Docs?

  1. Storage space is limited.
  2. MS Office has office has more features.
  3. It’s slower than installed apps.
  4. It can only be used when online.
  5. People are used to opening programs, not websites to work on documents.
  6. IT Departments won’t upgrade their browsers beyond IE negative three.
  7. [UPDATED] Some companies will NOT store their docs online – they only want them on their own machines/network (government, confidential, corporate secrets, etc)

Pre-Chrome, it looked like only #1 and sort-of #2 could be solved. Google, home of the original 1GB email account, isn’t afraid to offer more space when their products are mature. They have great developer resources to add whatever features are necessary, but the JavaScript foundation put a cap on the kinds of features that could be delivered with acceptable performance. The rest just seemed out of reach.

How does Chrome change this?

  • The V8 JavaScript engine greatly improves the performance, basically solving #2 and #3. Coupled with the size and bloat of MS Office, Google Docs on Chrome is pretty comparable for speed. Also, now Google can control the entire stack between the OS and the office apps (browser, renderer, JS engine, software, etc) so they can optimize in ways that they couldn’t do on other browsers. Both Google Docs in Chrome and MS Excel take 1-2 seconds to open on my computer, while Firefox 3 took about 4 seconds and went through several ugly partial rendering states.
  • Google Gears is pre-installed, which should speed up adoption of Gears and solve #4.
  • The “Create Application Shortcuts” feature means that you get a nice desktop link that gives you an applicationesque window with either the list of all your docs or a specific doc, which can also be easily synced for offline access. Take a look:
  • Google Docs vs MS Excel iconsBye bye, #5.
  • And last but not least, the $50 billion question, what about #6? Imagine a version of Chrome with a different installer that a) included an IT controlled whitelist, b) automatically ran the offline setup after installing, and c) created appropriate shortcuts. This means it can be centrally installed, restricted from general browsing, and treated like an installed app. IE6 or 7’s role isn’t changed. That would get the seal of approval of many more IT departments because of the greater control they would have over it vs a standard browser app.
  • [UPDATED] If there was an option to store documents offline only, that would solve #7. This would negate one of Google Docs’ biggest strengths (collaboration) but giving companies that option just might be worth $50B.

So in one move, Google addressed all but one of the strongest obstacles to Google Docs, paving the way for a much bigger, more profitable expansion and the coveted second revenue source. Can you think of any other obstacles to the wider adoption of Google Docs that Google needs to address?

[UPDATES: Thanks for the suggestion Evan!]

Filed Under: Business

Programming Celebrities

September 30, 2008 by Peter 5 Comments

A few months ago, my wife went on a kick where we watched the first few seasons of the TV show Dallas, rented on DVD from Blockbuster Online. If you watch 2-3 episodes a day of anything, you can’t but help become a little obsessed. So when we heard there was going to be a movie remake of Dallas, we immediately critiqued all of their casting decisions and came up with out own more accurate cast for the movie. We spent weeks debating the pros and cons of each potential casting choice, scoured IMDB like Nike at a Brooklyn playground, and came up with the perfect cast. (note to self: If you ever spend that much time on anything, WRITE IT DOWN!).

Now I don’t actually care about a single mainstream celebrity, not one bit. I’m pretty up to speed on their lives due to the gossip magazines my wife leaves around the house (any reading material is acceptable in the restroom) but unless there was a complete debacle like at the end of Miss Congeniality, I would never actually seek out celebrity news.

I don’t care about celebrities, but I had a roaring good time casting Dallas, so I decided to try the same exercise with media I do care about: nerdy programming blogs! I have my own set of celebrities that are huge in their own sphere but who are COMPLETELY INVISIBLE to normal people. A normal person, like my wife, would have no idea who any of these people are. So as my gift to everyone who needs any easy way to explain the personality and influence of a programming blogger, I present this mapping of real world celebrities to programming blogosphere celebrities:

[Read more…]

Filed Under: Fun

The GoogleCam Has Covered A Lot of Miles

July 3, 2008 by Peter Leave a Comment

I’m a fan of the Fail Blog, and the recent Sign Design Fail included a Google Maps StreetView link to Concord, NC, a suburb of Charlotte. They have streetview there? Apparently. I zoomed out to the entire USA and they have covered a TON of cities, many more than I would have suspected in the limited time it has been out. Apparently their data integration process is pretty streamlined to handle all that.

(click for bigness)

Filed Under: Fun

Hey Language Snobs: Don’t Pinch Pennies

June 4, 2008 by Peter 27 Comments

Programming language snobs are penny pinchers. That’s a tough sentence to write for some that just finished holding a workshop to help people learn Lisp of all languages. Why would I make such a bold, inflammatory statement? (No, not to troll. Most of the criticisms in this article are aimed at myself, based on my own actions over the last few years.) I had an unpleasant realization after listening to two excellent talks that developed this idea planted in my head by Raganwald with this post he quoted a few months ago:

“…you can count the number of games written in a purely functional style on one hand. Is it that language tinkerers are less concerned about writing real applications? That they know you can solve any problem with focused grunt work, but it’s not interesting to them? That the spark and newness of a different language is its own reward? Either way, the BASIC programmers win when it comes down to getting projects finished.”

—James Hague, Slumming with BASIC Programmers

The gist of the post is that uber-languages like Lisp, Erlang, Ruby, and even C are worlds ahead of BASIC, but somehow a group of Neanderthals put down their clubs and wiped away their drool long enough to write a slew of various and impressive computer games using BASIC. OK, he didn’t say that, his exact words were “…largely written by people with minimal programming background.” I was just translating for the language snobs out there. But then, mid-gloat, he hits them, you (even me) with that damning quote above about getting projects finished.

[Read more…]

Filed Under: Programming, Startups

Recap of Intro to Lisp Workshop

June 3, 2008 by Peter 3 Comments

Thanks to everyone who attended or helped with the Chicago Lisp User Group’s Intro to Lisp Workshop! We had a great turnout (41 people!), a great facility (thanks to IIT’s Institute of Design), food and prizes (thanks to Obtiva), plus there was some Lisp too! This page will (eventually) contain links to all of the information about the workshop, but since most of it isn’t written or produced yet, this will at least give an idea of what to look forward to. All of the presentations were videotaped and those videos will eventually be online. There is also a big stack of feedback forms waiting to be collated, and some of that feedback will be put online.

Attendee Statistics – a breakdown of the programming languages and OS of choice, as well as a geographic breakdown of where attendees came from.

Funniest Comment – someone’s IM status was set to “Developing a speech impediment…”

Presentations

  • Setting up a Lisp Development Environment – this actually didn’t end up being much of a presentation, since the setup documents for Linux, OSX, and Windows ended up being so thorough that most people didn’t need to troubleshoot.
  • Lisp Basics and Idioms (by Peter Christensen) – my intro talk that covered the history, concepts, and paradigms of Lisp. The goal was to give a big picture and proper mindset for development in Lisp.
    • HTML version of presentation slides (with links, extra resources, etc)
  • Macros (by Craig Luddington and Eli Naeher) – an interactive talk on macros, showing basics of macro development, macro examination in SLIME, and a survey of some of the built-in macros of Common Lisp.
  • Chat Server Development Demo (by John Quigley) – John started with a quiz-show style review where he tested two unwitting volunteers on their understanding of Lisps execution and development model. After that, he demoed a chat server that he wrote in about 250 lines of Lisp. Due to technical difficulties and time constraints, he wasn’t able to do the live updates, but we were proud to have several minutes of open chat on the server where no one cursed (I think the worst comment was “turd”). John has promised a demo of it at one of our meetings.

Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice (O'Reilly))

Programming in Haskell

Practical Common Lisp

Book Raffle Winners

Congratulations to Luke Orland, Janet Kirsch, and (should have written down the third name) who won the following books in our registration raffle.

Gift-bag DVDs

Grant Rettke took the initiative to put together a “gift bag” DVD full of resources for people looking to learn more about Lisp development. The complete list is very long, but here is a summary:

  • Electronic versions of books like OnLisp, SICP, etc
  • Screencasts and movies like those from the SICP lectures, LispCast, the SLIME movie, etc
  • Tons of documents like my SLIME cheat sheet, intro documents for Scheme and Lisp programming, some background and historical documents, etc

We’re looking to make an updated version of this DVD, including the materials from the workshop. Please let me know if you’d be interested one – if there is a lot of interest, we might make another batch and mail them out for a small fee.

After-Party

After the workshop, a dozen or so people walked down to Elephant & Castle Pub and Restaurant. I didn’t go since I had a house full of beautiful women waiting for me (my wife and daughters ;-).

Sponsors

Special thanks to Kevin Taylor of Obtiva for sponsoring the food, drinks, gift DVDs, and the Practical Common Lisp prize book! Obtiva does on-site or outsourced development, and provides training in leading edge technologies.

Filed Under: Lisp

“Lisp Basics and Idioms” Presentation from Intro to Lisp Workshop

May 31, 2008 by Peter 4 Comments

This is an HTML version of the slides from my “Lisp Basics and Idioms” presentation at the Chicago Lisp User Group’s Intro to Lisp Workshop. It’s also videotaped but it will take a while to transfer it to digital, edit it, etc. It was a good presentation (IMHO) worth waiting for, but here’s the sneak peek (with links!).

If you want to look at the .ppt, you can download it here, but it’s pretty bare (or ugly, depending on how charitable you are), it doesn’t have as much info as the version below (no links, fewer references), and it is missing all of the good verbal ad-libbing I did when presenting. But hey, I’m not complaining if you want to see it!

***Lisp Basics and Idioms***

[Read more…]

Filed Under: Lisp

Chicago Intro to Lisp Workshop Attendee Stats

May 31, 2008 by Peter 5 Comments

[UPDATED 6/3/2008: I fixed a duplicate, found some more registration forms, and updated the stats.]

We’re blogging live from the Chicago Lisp User Group’s Intro to Lisp Workshop, and (now that my presentation is done – whew!) here are some statistics on the attendees, based on our ghetto paper signin forms.

Total People: 41. Only 5 were involved in planning or presenting, and only 10 had ever been to one of our meetings.

Total Registration Forms: 25 31. This is the baseline for all of the statistics below (except How Did You Hear?) and doesn’t include Chicago Lisp members. 22 of them wanted to receive email announcements of future meetings.

Geographic Distribution:

Within Chicago – 68%
Illinois (outside Chicago) – 13%
Out of State – 19% (Madison and LaCrosse, Wisconsin, Omaha, Nebraska, and Columbus, Ohio)
People driving over 100 miles – 7
Furthest Travelers: Blaine and Scott from Omaha – 468 miles!

% Gmail Addresses: 45%

Primary Languages (% of registrants) – people could specify more than one

Java – 48%
Ruby – 39%
Python – 29%
C++ – 26%
C – 26%
Javascript – 16%
Perl – 10%
C# – 10%
Lisp – 10%
Obj-C – 6%
PHP – 6%
Bash – 3%
Erlang – 3%
VB – 3%
Fortran – 3%
Groovy – 3%
SmallTalk – 3%

Primary Operating System (% of registrants) – again, people could specify more than one

Linux – 71%
OSX – 48%
Windows – 13%
Solaris – 3%

How Did You Hear About The Workshop? (% of those who answered) – one answer, but I forgot to write it on the form so only 14 answered it.

Chicago Linux User Group – 29%
Chicago Python User Group – 14%
Chicago Ruby User Group – 29%
Other – 36%

I’ll put up Here’s an HTML version of my slideshow “Lisp Basics and Idioms” soon. I’m not sure what to do about the Macros presentation since it’s more in depth and was very interactive on screen (and we didn’t screen capture it). I video recorded the presentations but it’ll take me a while to get them off my camcorder and edit and process them. Keep your eyes here for more goodness.

Filed Under: Lisp

Installing SBCL, Emacs, and SLIME on Windows XP

May 30, 2008 by Peter 28 Comments

My recent install guide for CLISP, Emacs, and SLIME on Windows XP was a big hit – it has had about 2000 hits and 5 sincere thanks in the comments (it even got praise from a troll!). In it I promised a similar guide for SBCL, and here it is.

The nice thing is that swapping out Common Lisp implementations within an Emacs/SLIME setup is easy, so maybe 3/4 of this guide is identical to the CLISP guide. I’ll put a disclaimer at the beginning of each section saying whether there’s anything new or whether you can skip it.

[Read more…]

Filed Under: Lisp, Programming

Recap of 5/16/2008 Chicago Lisp Meeting

May 27, 2008 by Peter 1 Comment

My math joke in the recap of the previous meeting turned out to be too conservative: this month, we had 22 people, double the turnout from last month! The meeting was held at the offices of CashNetUSA, and they were generous enough to provide pizza and drinks (for both drivers and transit riders ;-). There was a wireless transmitter but no connection to the internet, so Bruce B. routed us all through an ad-hoc network off his cellular wireless card. Next month’s meeting will be held there as well, and they promise to have a proper internet connection setup then!

<thankstosponsors>

CashNetUSA

CashNetUSA is looking for Ruby developers, or more accurately, great developers who know Ruby. They’re hiring at all levels of experience – check out their job listings. Thanks, CashNetUSA!

</thankstosponsors>

Programming Erlang: Software for a Concurrent World

John Q. donated a copy of Programming Erlang to our first book raffle, which was won by Craig L. If anyone has a book they’d like to donate, please contact me so I put it in announcements for future meetings.

Intro to Lisp Workshop

There was some more discussion about the details of the Intro to Lisp Workshop on May 31. The most noteworthy decisions were:

  • standardize on SBCL, SLIME, Emacs
  • have a set of milestone files that people who can’t keep up with the presentations can download to get themselves caught up
  • recommended screen capture softweare: xvdicap, vnc2swf

Future Meetings

We also planned presentation topics for future meetings:

  • June: Kurt S. will present on implementing interpreters, and Steve G.’s presentation on Lisp languages on the JVM got bumped to June in the interest of time at May’s meeting
  • July: Andrew W. will demo Open Genera, the operating system from Symbolics’ Lisp machines
  • future: John Q. knows a guy who could presnet on programming language topics, I will (someday) present on Weblocks

[Read more…]

Filed Under: Lisp

Setting Up and Using Emacs InfoMode

May 25, 2008 by Peter 4 Comments

Emacs has an ancient (predating hypertext), simple, powerful documentation program called Info. It’s very difficult to find info about it online (try searching for “Info”), so here’s my beginner’s guide.

Info is an output format for the Texinfo typesetting syntax. Texinfo is used for writing documentation that can be output in multiple print and digital formats and is the official documentation format of the GNU project. Info files are strongly associated with Emacs – Emacs is the primary reader for Info files, but there is also a standalone reader. Manuals are organized into a tree of nodes, with a variety of ways to navigate between those nodes.

Info files can technically be written by hand, but it is much more common for them to be compiled from Texinfo. Many Linux/Unix distros come bundled with the TeX toolchain necessary to compile Texinfo, but Windows does not. The TeX/LaTex/Texinfo on Windows post is coming in the near future. For now, stick to precompiled .info files or go dive into TeX yourself.

Emacs ships with several Info manuals – they’re in the emacs/info folder. You can also create your own Info directory, add new manuals to the directory, and create your own manuals. This guide will walk you through the steps needed to get Emacs to find your info directory, add manuals in your directory to the main directory list, and use Info from within Emacs.

[NOTE: This guide assumes you’re following the directory conventions I laid out in my previous post Installing CLISP, Emacs, and SLIME on Windows XP. It also gives you the baseline level of familiarity with Emacs to follow along here.]

[Read more…]

Filed Under: Lisp, Programming

« 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