January 18, 2007
Eclipse is a dead system
(DON'T PANIC! I probably don't mean what you think I mean.)
On a long enough timeline, the survival rate for everyone drops to zero.
Steve Yegge has a thought-provoking essay on living systems vs. dead systems, in essence: systems that can be modified at runtime vs. systems that you have to stop (kill) first to modify.
In this context Eclipse is a "dead system" (or "hardware" as Stevey says). And this makes me sad :(
In fact, it's saddened me for a while, though I've never framed the issue in these terms.
Even though Eclipse has a world-class extension system, we have to go through an onerous process of launching and relaunching Eclipse instances to make the slightest change to a plugin.
In contrast, a "living" system like Emacs doesn't have this problem. In Emacs we can evaluate s-expression, set variables, rewrite functions, and swap code on the fly without having to relaunch - which is why writing Emacs extensions is an order of magnitude easier (and more fun) than writing Eclipse extensions.
Stevey also draws a parallel between how long a system can stay running without reboot, and how long people will continue to use the system.
*shrug*
I think it has more to do with how close your system gets to hitting the best solutions to the problems people are trying to solve on any given day. But here's the thing: the problems of today aren't necessarily the problems of tomorrow, nor the problems of ten years from now.
The more malleable your system is, the better its chance of solving the problems of 2007, and 2008, and 2017, and 2027. And as it happens, systems that can be modified without a reboot are much easier to modify and far more malleable than systems that can't.
Eclipse has many advantages over Emacs (mostly in terms of gooeyness), but as ugly as Emacs looks on the outside, it's definitely the more malleable of the two. So, if I had to choose pick which one is more likely to be around in 100 years, my money would be on Emacs. And if history is any guide, that's probably not a bad bet.
UPDATE:
Hehe, as Bill points out in the comments, I do feel like kind of a bastard for writing this post (especially the inflammatory title). But my aim isn't to disparage Eclipse. I love Eclipse. It's a great platform, and it's very good at what it does.
And no... it's certainly not "dying" :)
My aim is to point out that there are other kinds of extensibility out there that we don't typically get with Eclipse... at least not right now, and it's the kind of extensibility I'd very much like to see.
And just for full disclosure, I work for the company that originally founded the Eclipse project. All views expressed here are my own and not those of my employer.
In
Technology and Software
Posted at 06:05 PM | Permanent link
January 16, 2007
Raleigh bloggers meetup tonight @ Helios Coffee
Though it's been a while since I've advertised it here, the Raleigh area blog meetup is still going strong.
We meet twice a month: the first and third Tuesday, 6:30PM at the Helios Coffee Company.
Details at the wiki.
Tonight will be our first meetup of the year. If you live in Raleigh or around Raleigh, please join us! I'd love to meet you in person.
(Dave even has Helios photos)
In
Blogging
Posted at 09:00 AM | Permanent link
links for 2007-01-16
-
"I was able to create a page that was hosted on a google.com domain, which is something that should never be allowed to happen."
-
A great "nutshell" overview of writing a RESTful web service.
-
"Justin Timberlake is not a guilty pleasure. Putting oven cleaner in your daughter's Similac is a guilty pleasure, or smearing birdseed on your balls and visiting an aviary."
-
Yay for Darwin :D
-
Why You Shouldn't Leave A Gallon Of Paint With Unsupervised Toddlers
-
It can be clearly seen that Communist’s coup was so successfull due to the help of time travelers who had come from the future equipped with PDAs, cell phones and laptops.
-
This is a blog post I've been wanting to write for a while.
Posted at 12:29 AM | Permanent link
January 15, 2007
How to install bzr on Dreamhost
Bazaar or bzr
is a Python-based source code management system that I've noticed is becoming increasingly popular amongst small open-source projects.
Right now I'm not sure what advantages bzr
might have over other SCM systems such as Subversion (I suspect it's more light-weight), but it's handy to have when you want to grab the source for a project like Planet Venus.
Here's how I installed bzr
on my Dreamhost shell account.
(note: There's not anything special here. This is all pretty standard Unix tarball installation fair. In fact, there's little here that isn't already in the bzr
installation guide. I'm providing this as a confidence cushion for other Dreamhost users.)
Fetch it
Downloads of bzr
are available here: http://bazaar-vcs.org/Download
Fetch the tarball install into a directory of your choice:
~$ cd ~/incoming
~/incoming$ wget http://bazaar-vcs.org/releases/src/bzr-0.13.tar.gz
Unzip it
~/incoming$ tar -zxvf bzr-0.13.tar.gz
Install it
~/incoming$ cd bzr-0.13
~/incoming/bzr-0.13$ python2.4 setup.py install --home ~
No problem...
Adjust environmental variables
... except one hiccup when we try to run bzr
:
$ bzr
bzr: ERROR: Couldn't import bzrlib and dependencies.
Please check bzrlib is on your PYTHONPATH.
Traceback (most recent call last):
File "/home/joshstaiger/bin/bzr", line 62, in ?
import bzrlib
ImportError: No module named bzrlib
Because we installed bzr
in our home directory, the Python code behind bzr
is living in a nonstandard location that Python can't see. We add this location to our Python library path by setting the PYTHONPATH
environmental variable in our .bashrc
.
Modify .bashrc
as follows:
echo "export PYTHONPATH=/home/joshstaiger/lib/python" >> ~/.bashrc
(replace "joshstaiger" with your shell login name)
We'll also want the bzr
manual to be in our MANPATH
if it isn't already, so we can read about bzr
in our spare time instead of picking up women:
echo 'export MANPATH=$MANPATH:/home/joshstaiger/man' >> ~/.bashrc
Source .bashrc (or relogin) to pick up our changes:
. ~/.bashrc
Run it
And we're set:
~$ bzr
Bazaar -- a free distributed version-control tool
http://bazaar-vcs.org/
Basic commands:
bzr init makes this directory a versioned branch
bzr branch make a copy of another branch
bzr add make files or directories versioned
bzr ignore ignore a file or pattern
bzr mv move or rename a versioned file
bzr status summarize changes in working copy
bzr diff show detailed diffs
bzr merge pull in changes from another branch
bzr commit save some or all changes
bzr log show history of changes
bzr check validate storage
bzr help init more help on e.g. init command
bzr help commands list all commands
bzr help topics list all help topics
In
Technology and Software
Posted at 10:54 PM | Permanent link
January 13, 2007
links for 2007-01-13
-
ecdysis: a lisp-like syntax for python
-
"Although this code is ugly, writing it gave me a feel for the real power of a language like lisp."
-
all Tony needed to do was make a user who’s logged into their Google Account visit a page of his, which happened to be on a “trustworthy” google.com sub-domain
-
WebKit now has some very basic support for multiple columns from CSS3.
-
The iPhone has given the nerd community it's hardest collective wood since Princess Leia wore a bronze bikini.
-
Ripped from Andy Riley's excellent "The Book of Bunny Suicides" and "Return of the Bunny Suicides".
In
General
Posted at 11:29 PM | Permanent link
January 12, 2007
The iPhone is NOT a platform
Ok, I was wrong.
Looks like they will be fighting us every step of the way.
*shrug*
Steve just lost my willingness to give him $599 and put my balls in a vice grip with his carrier (which I otherwise would have done gladly, just to play in the new sandbox).
I will, however, continue to write webapps that incidentally work well on his phone, safe in the knowledge they'll no longer have to be crippled to be mobile.
In
Technology and Software
Posted at 03:51 AM | Permanent link
January 09, 2007
The iPhone as a platform
Tonight, every nerd I know is salivating over the iPhone.
Obviously people are orgasmic over the sexyness: the form-factor, the fluid touch-screen, the (for serious!) smart calling software, the media apps, and the internet connectivity.
But I think the real story here is we finally have a real platform for mobile application development, complete with real OS, real apis, and a real web browser capable of running real web applications - all delivered by a company that isn't going to fight us every step of the way.
And the sexyness ensures it's going to be very popular.
It almost sounds like the mobile platform we've been waiting for for the past ten years!
This is going to be big :)
In
Technology and Software
Posted at 09:47 PM | Permanent link