Gliffy Screenshot

Gliffy is a pre-launch startup, which makes a program for collaborative drawing. I signed up for the beta a few weeks ago, and just got invited today.

While I haven’t tried out the collaboration feature, I am pretty impressed by the program overall. First, I was surprised that it actually worked, until I found out it was written in Flash (after which the only surprise was that copy and pasting text worked). I am also impressed by the use of screen real estate. All of the features needed to do a drawing are given space, and it is much less cluttered than Microsoft Office (don’t even get me started on Office 2007 or Windows Vista). Another thing that impresses me is the versioning system built into it.

I think with the new crop of office applications, including those from 37 Signals, and a web app to tie them together that hasn’t been invented yet, we could start to see a shift from desktop office applications to the web in half a decade or so.

I’m going to L. A. this weekend. Instead of comparison-shopping for airline tickets, I just went to southwest.com and booked my flight.

I’m not going to fly United or Delta or anyone who has gone bankrupt and continued to fly (and incur more losses) or anyone who’s received corporate welfare. This is for the simple reason that I’m not going to pay twice for my travel – first in tickets, then in taxes (or national debt, if you prefer to look at it that way) and in the strain on the economy caused by bankruptcy.

The trip should be interesting. The only times I’ve been to the L. A. area, I’ve either gone with family or just drove through. During the family vacations we were either in Anaheim, Valencia, or Dana Point. This time I’m going to stay with a friend at Thousand Oaks, and probably explore the areas south and west of there. I also want to go to Chinatown for dinner. It’s a goal of mine to go to all of the Chinatowns in major cities in the U. S. I told this to a friend, who asked if I knew Chinese. I sure don’t, but maybe I’ll learn a little. :)

Update: Southwest sure isn’t as fun to fly as JetBlue. In fact, in one way it’s worse than the (other?) big companies created by mergers. The seating is not reserved beforehand. On the other hand, I did help a person out with a spreadsheet on the way back and we had a good conversation. So it evened out.

JetBlue has a great website. It’s very usable, and has a nice picture where you can choose where to sit, that really beats the other airlines. Also, all of its planes are relatively new, which is nice, IMO.

Another update: The verdict is still out on whether I prefer reserved or open seating. The reason I didn’t get a good seat was that I reserved late on a holiday weekend. If I had been able to pick my seat in a web app I would have seen that all of the good seats were occupied.

I got linked to an MSDN blog and noticed that the URL was http://blogs.msdn.com/jensenh/archive/2005/11/08/490348.aspx. I don’t think that this is the actual folder structure on the server’s filesystem. I think it’s just what gets passed on to a script, that determines what content is being requested, and generates that content.

The “.aspx” must be deliberate. I think it’s an advertisement to anyone who programs computers that the website uses XML-based ASP (Active Server Pages, a Microsoft technology).

I think that this is pretty silly, because the extensions in the URLs are extra typing, are incorrect after switching languages, and don’t make things any easier for developers that are using URL dispatchers.

On the other hand, I think it’s a pretty slick move by Microsoft, and in some way I wouldn’t mind seeing it countered by Java, Python, and Ruby programmers.

Any thoughts?

Over the last couple of weeks, I’ve been trying to code up a news aggregator that works the way I want it to. That meant I had to decide what I was going to use to develop it.

I thought about what I like, and read about a few different web application frameworks. A few things I was thinking when I chose to give Django a try:

  • I prefer liberal open source licenses (MIT, BSD) to copyleft ones (GPL).
  • I want Python or Ruby. Of the two, I prefer Python because it has less syntax and more libraries coded for it.
  • I like PostgreSQL. It has some cool extension libraries (for mapping and other domains) and a liberal license.
  • I want something that’s proven
  • I want something that is very actively being worked on
  • Not having to write any SQL at all for simple sites is a plus.

I thought about web.py, Rails, Turbogears, and Django. I also thought about Python servlets or writing my own framework.

Things that impress me about Django, besides meeting my above criteria:

  • The template system. It has its own template system that supports “Template Inheritance”, which is a very neat concept. It also plays well with Dreamweaver, they say. I haven’t used Dreamweaver so I’m unable to confirm that.
  • The admin interface. It’s a bunch of code that comes with Django to provide a nice admin screen. In the program I’m making, if feeds become corrupted I could go into the admin and fix them. Or I could just have a good look at the data
  • The configuration files, including regular expressions for URLs.

I set to work installing it, and decided to document how I did it in a Wiki. For this, I installed Instiki, which is an impressive program. One thing I like about it is the fact that it supports three different wiki languages. I chose Markdown, which is not the default. I expected that since it was not the default, the support would be very rudimentary. I was pleasantly surprised! It’s supported and documented every bit as well as TextPattern, including a quick reference on the side of the editing pages.

After I figured out how to get a kick-ass Django development installation on my iBook, I decided to share my knowledge with others. The best place to post the information, I determined, was on the Django wiki. The wiki, as it turns out, is powered by Trac. It has its own wiki syntax that is similar to wikipedia.

After a search for translation tools, I started manually converting what I’d written to Trac’s wiki format. This was tedious, so I wrote a script to help out. After that I searched around a bit more, and found that Aaron Swartz wrote an html2text that converts from HTML to markdown syntax. What a great idea! First, Markdown looks good in plain text format, since it was designed to use the same idioms that people use when sending plain text e-mails. Second, it can be used to go from any wiki format to Markdown. This is because in order to display pages wikis convert from plain text to html. So all you have to do is go into view source in any wiki, copy the segment of the wiki you want, paste it into a text editor, save it, and run Swartz’s html2text on it, and voila, you have converted from that wiki format to Markdown.

If I get around to writing a serious tool to help me translate from Markdown to Trac, instead of just writing something to go between the formats, I’ll write a script to convert from HTML to the Trac wiki syntax.

I just got done reading a great article called HOWTO: Be more productive on Aaron Swartz: The Weblog. One part I found interesting:

Time when you’re hungry or tired or twitchy is low-quality time. Improving it is simple: eat, sleep, and exercise.

If you’re not exercising, I’d like to encourage you to start again. Please feel free to encourage me next time I forget that exercising actually makes me more likely to get other things done.

A couple of months ago I bought an iBook. The idea was to get a laptop with good battery life and to try out Mac OS X. I’ve used it for a while, and decided that I prefer Linux.

The current version of iTunes is the best example I can think of to show what bugs me about Mac OS X, as a platform. iTunes does a ton of things now – music, video, shopping, downloading, burning, and podcasts. I don’t think it is possible for a single application to do all of those things the “best” way. For one thing, what’s best depends on the person. Another thing is that some applications just don’t go so well together – like music listening and podcasts. When I’m browsing and listening to my music I don’t want to see my podcasts in my library with the music. Another thing is music and video.

I prefer to have a bunch of small applications that I can pick and choose from. And this extends to other parts of the OS. Especially desktop managers.

I’ve read several well-written negative reviews of Mac OS X. I found one today called How MacOS X sucks.

Finally, I’ll mention how I’m doing the switch. I like the ability to run all major OS’s, for testing, so I’m not getting rid of OS X entirely. But I want it off the laptop I use every day. So I’m going to get an external drive, install Mac OS X on it, and boot from the external drive when I want to use Mac OS X. But I’ll stick to Linux for programming.

Update: I changed my mind about installing Linux on my iBook. It’s a hassle, and I thought of a number of good things about Mac OS X that I previously had not considered. Also, I re-read that link, and realized that a number of the problems have been fixed, or aren’t real problems. Finally, I’m removing the text suggesting reading it for insights into software design – it really has nothing to do with the subject. It’s a rant.

I just thought I’d share this thing I noticed with anyone from Startup School who might still be reading my blog.

After Startup School for Hackers there was an Open House at Y Combinator, a unique Venture Capitalist firm started by Paul Graham and others. I might apply for funding for their 2005 summer founders program. Y Combinator’s office was in a home-type building in a neighborhood in Cambridge. They’re moving to Silicon Valley for the winter, though.

A punch of the address to google maps reveals that in Silicon Valley they’ll be using a traditional office building.

After having some performance problems with Firefox 1.07 (slow-scrolling text with the new design on Joel On Software), I opened Firefox 1.5 Beta and tried viewing the page with it. I found that not only was the scrolling issue gone in the beta, but that the time it takes to go back to a previous page is much quicker.

This is good to see. Firefox is playing a key role in moving from desktop applications to web applications. They have long been good about implementing new features, but with the current generation of web applications, a lot of work needs to be done on other things, like performance.

One thing that I see happening is Firefox dealing with lots of issues normally left to the Operating System. Firefox is no ordinary program – it’s a platform for running applications, and has to deal with lots of issues of being a platform. When many pages are open, memory management between different pages becomes an issue. Same with page histories, and making the back button instantaneous. I also see a lot of work to be done on isolation. I’ve had Firefox freeze a number of times with complicated JavaScript, CSS, or Flash. The obvious thing to do is to make Firefox do internally what the OS does when Firefox crashes, that is, isolate the crash to a single web page, the same way the OS isolates a crash to a single application.

I see a lot of exciting times ahead for Firefox.




Sea Lion

Originally uploaded by vote_zaphod_beeblebrox.

Yesterday, of the places I planned to go, I only went to the Empire State Building. Instead of going to the Gugenheim Museum and the Intrepid Sea, Air, and Space Museum I went to the Metropolitan Museum of Art, the Queens Zoo, and the New York Hall of Science in Queens.

The Metropolitan Museum of Art is a very large building with thousands of exhibits. I could spend a whole week in there.

Queens is very green and very beautiful. It also has some poor areas, something I have not seen in Manhattan.

I’m in New York right now. So far I’ve been to Central Park, Times Square, Washington Park, and Prospect Park in Brooklyn. I’ve also been on a ferry to and from Staten Island, where I saw the Statue of Liberty. I ate some pretty good New York Pizza in Manhattan. A friend also showed me a great dumpling place called The Dumpling Man.

Tomorrow I’m going to the Empire State Building, the Gugenheim Museum, and the Intrepid Sea, Air, and Space Museum.

I’ll post some photos later.