It’s hard not to see a parallel between the mental shift that September 11 implied, and the mental shift that’s been going on in the computing business for a year or two: It used to be that you could focus in designing systems that worked when everybody cooperated willingly. Now you have to design systems that work, even in the face of someone trying to do harm.
Sure, airports in the US had security measures even before September 11. But they weren’t taken very seriously. The focus was definitely on making air travel as effective as possible, assuming that all the passengers and all the personnel were doing their best to make things work.
Likewise with computers. Networking protocols were designed so they’d work. Nobody thought about what would happen if someone wanted to disrupt things. Why would they want to do that? Don’t they want it to work for them? Case in point: A security flaw was recently discovered in most implementations of SNMP.
Changing your mind-set from designing things that work when everybody’s trying to make it work, to designing things that work even in the face of evil-doers, is quite a challenge.
Lots of people are busy whining about Microsoft being the big, evil monopolist, and if it wasn’t because they forced their software down our throats, they wouldn’t be where they are today.
The fact is, Microsoft is simply overall best at making great software. Sure, programmers hate MS because their code is so klugy. And they have security issues. And some of it is really bad. But the overall approach to software means they’re good all-round: It works, it performs well, it solves the problem that the users have, it’s got a reasonable user interface, it’s shipped at the right time, they have decent support and bug fix updates, and they’re extremely good at marketing and selling and strategy.
All these factors, and more, need to be taken into consideration when a software company is evaluated. In fact, I believe the right metric to apply is to measure them all on a scale from zero to one, and then multiply them to get the overall score. This means, that if you really suck at just one of these things, you’re out of the game. Lots of companies end up like that.
Who’s there to give them serious competition? Oracle? I don’t think so. Their products are buggy and ugly and hard to use. Computer Associates? Probably not. Compuware? Don’t know, never saw any of their products. Novell? Hah. SAP? Nope. Adobe is actually doing a pretty good job, as are Intuit, and Symantec. IBM? Come on! Apple and Sun are way too focused on hardware to be a serious competitor in the software business.
So yes, Microsoft’s monopoly position does have something to say, but let’s not forget that Microsoft’s products usually are better, and when they finally win over some competitor, it’s because their competitor makes some stupid mistake, not because Microsoft cuts off their air supply. That was the case with WordPerfect, and with Netscape. Intuit is still hanging in there, because they haven’t yet made a mistake.
Can we please get some software companies that will compete a bit more seriously?
“Commercial” is often used as an invective, to mean that something’s bad taste, stupid, or wrong. At least in my country. But the people that do that, tends to forget that things that sell ultimately are the things that people want.
When someone decides to pull out his wallet and pay you money for something you do, it’s because what you do is of value to that person. Hollywood owns the global movie industry, because they overall, andno less importantconsistently, make the best movies. Microsoft owns the software market for the same reason.
The money flow is really a value flow. Someone pays me for my work, because it’s of value to them. I pay for a beer at a bar, because both the beer and the surroundings are of value to me. It’s very simple. If what you’re doing doesn’t sell, it just might be because it’s not really that important to anybody.
But then there are people who claim to know better than the rest of us what’s good for us. The cultural elite who dictates that Rachmaninoff is better than Rocky. But why, then, is Rocky more popular? Who has the right to determine what is good and what is not, if not the people who make the decision to purchase?
Of course, marketing and sales also play an important part. If people aren’t aware that you’re there, and you aren’t able to explain to people why what you do is valuable to them, they probably won’t buy it either.
I recently talked to an arts student who makes movies. Most movies like that in Denmark are heavily subsidized and not watched by very many people. Turns out that making movies that way had always annoyed him. He longed to make a movie that would sell, one that lots of people really wanted to see, and would really enjoy. Subsidizing art may not be the way to make either artist or the public happy.
Ask Bjørn Hansen sent me a link to this Entrepreneurial Deathtraps speech. Not bad to be aware of these traps. I’ve definitely seen quite a bit of them in action in various places I’ve been involved with.
Why is it that software specifications are always written so horribly? In fact, almost all technical writing is bad: Documentation, RFPs, proposals, you name it.
Sure, the really talented writers would rather write the Great American Novel than the specification for the 100th “What Is My IP?” web service. But it doesn’t take an exceptionally talented writer to write well. And it surely doesn’t require exceptional writing by any standards. But couldn’t we do just a little better?
I believe most people can learn to write reasonably well. I think the problem is that most people have no idea how to do it. They don’t know what makes good writing good, or bad writing bad. They don’t know what to aim for, they don’t have a vision for their writing skills.
Fortunately, that’s fairly easy to remedy: Try distributing a copy of On Writing Well to your team, and see what happens.
I’ve added another couple books: Gig, which I finished a couple months ago (and which is a good swimming-pool type bookyou dive in every once in a while, when you get a chance and you feel like it), and The E-Myth Revisited, which I just finished yesterday.
February 27, 2002 · 1 comment
This is another one of those things that crystallized gradually, because it kept popping up in several situations over a few days.
I think the first one was in The Art of Possibility, where she catches herself saying something like “But it wasn’t you talking. It was your jealousy.”
But the one that really clicked was the one in The E-Myth Revisited, with the story about the Skinny Guy and the Fat Guy:
One happy Sunday you decide that you gotta do something about yourself. Loose some weight. So you start jogging. Monday you live on carrot sticks, water and tomato juice, and you jog. Tuesday’s the same. And Wednesday again. Though as you go to bed, you sense that something’s changed. When you wake up on Thursday morning, you know what it is: You’re the Fat Guy again. Bummer.
The bottom line is, in a lot of situations, it makes a lot of sense to think of yourself as multiple personalities in conflict with each other. Part of you feels angry with some person, and another part feels sad for the same person. Part of you wants to exercise, part of you wants to kick back and relax with a few beers and a football game. Part of you wants to write The Perfect Piece of Software &tm;, part of you worries that you may be about to burn out, while yet another part of you is interested in the conflict that’s going on while you’re coding.
It can be really remarkable at times to disintegrate one’s sense of self in this way. It explains a lot of little things.
A number of people have asked me for the custom code that I run on my site, on top of OpenACS.
What’s been holding me back is that it’s really custom-built. Originally, I wouldn’t code anything unless it lived up to my standards for proper ACS code. But then, when you’re the sole maintainer, and you’re not getting paid for it, I found out that it’s better to whip something up than to not do anything at all.
Lately, though, I’ve been doing a bit of code vacuum cleaning. I’m planning on releasing the APM packages within, let’s say, a month or two, depending no how many client projects I get. So now you know.
You know the feeling when something just happens to pop up again and again? You walk by a bookstore and notice some book. Then you see that same book at a friend’s place. And then you come across some obscure book recommendation somewhere for that same book. Then you realize you better buy that book.
Well, that’s what happened with this thing about having a vision for where you want to go. It was something that came up when I was talking to one of my friends. Then I came across it in a book. And then it came up again while talking to my girlfriend. Finally, I realized I probably had to put this down in words.
I meant it to be just a blog. But then it grew. Here’s what it ended up looking like: Knowing where to go.
Creating a vision

I have a little trick I’d like to share. It’s quite simple, but it
makes a big difference: I try to always have a vision for where I want
to go.
I try to think about my life. What do I want my life to look like a
year from now? Five years from now? Ten years from now? The day I die?
And I try to do this for the projects I work on as well. For the
company I’m building. For pretty much everything I do.
It doesn’t have to be a complete, detailed vision. I’m mostly visually
and emotionally oriented, so for me it usually involves pictures in my
mind, and how it feels to be there. It doesn’t have to be completely
accurate, but it absolutely has to feel real and alive. And to make it
come alive, it helps to have a lot of details.
For me, it’s a bit of a stretch to force myself to quantify the
vision, e.g. when do I want this to happen? How much money should my
company be making? How many people will I be employing? But it’s a
very good thing to go through, so I make myself do it.
How to get there

By no means does it have to be a road map. It helps to have some vague
idea of how to get there, but I don’t want to limit myself to the
products of my own meager imagination, when it comes to the steps I
need to take to get there. The best things in life are the ones that
just happen, that you didn’t plan for.
So I try to remain open, always letting the concrete steps of the path
remain be in a little bit of flux, so I can change plans in an instant
when serendipity hits. The only
criterion is that it takes me in the direction I want to go. And since
I have a vision, I have something to judge that by. When you don’t
have that vision, you procrastinate.
However, serendipity doesn’t happen every day. But the vision still
helps me organize my day-to-day tasks. It allows me to focus on just
one step at a time. I don’t have to worry about where that step is
going to take me, because I already know that. I dont’ have to worry
about what to do down the road, I can figure that out later, because I
have a vision that ensures I’ll end up in the right place. I just
have to focus on the next step. And then the next step. Then the next
after that. As long as I keep moving in the right direction,
eventually I’ll get there.
I’ll have milestones along the way to tell me if I’m moving at a good
pace or not. That’s what the “one year from now” or “one month from
now” visions are for. But I only worry about those every once in a
while, when I have a little breathing room. Normally, I just take one
day at a time, and trust that it’ll all work out. And it has so far.
Developing the vision

The vision, of course, changes over time. I learn something new about
myself or about the world, and I realize that I no longer want what I
once wanted. That’s fine. Chances are that if I’ve based my vision on
something realmy personality, my feelingsmy idea of where
I want to go won’t change that dramatically. There’ll be a lot of
constants involved, because I don’t fundamentally change all that
much. I just learn more about who I really am.
The whole exercise of establishing the vision helps a lot in getting
to know myself. If I put something in writing and think it through,
and try to imagine that I’m there already, it’s easier to sense
whether it feels right or not. If something’s annoying me, I ask
myself why, and I make changes. If you don’t go through this, you
won’t know until you’re finally there, and then you realize it
wasn’t right. Better to find that out up front.
On a smaller scale
You can use this on a small scale, too. Before talking to someone,
before giving a speech, before going into an important meeting, ask
yourself “what do you want to achieve?” If you don’t know what you
want to achieve, it can be pretty damn hard to get it.
Sometimes you don’t want to achieve anything specifically, you just
want to feel your way, see if there’s anything there, any synergies,
or whatever. That’s fine, too. At other times, you want some very
specific outcome. Whatever it is, be clear about what you want, and
make sure that what you intend to do is likely to generate the outcome
you want.
This isn’t something new

I’m not the only person who came up with this, of course. It’s
something I’ve done naturally for a very long time, because I’m the
dreamer and the visionary that I am: I love thinking about what’s
possible and what the future could bring. But many people advocate
this kind of approach.
Some people call it creative
visualization. I’ve been told that sports people use
it a lot to visualize themselves winning the game. In this form, it
usually involves some kind of magic by which your subconscious
attracts the things you’re visualizing. I won’t be the judge of
whether that’s true or not, and it’s not really important to me,
either. If it is true, it’s just an added bonus.
Another example is the professional coach
I used while at ArsDigita. With
her, establishing the vision for my life and my job was the first and
most important step. And then, just a few days ago, I came across the
technique again in The E-Myth
Revisited.
So it’s not just something I’m making up, and it’s something that
really does help. It helps give your life the meaning you want your
life to have, and to live your life intentionally instead of just
letting life happen to you. To work on your life, at the same
time you’re working in your life.
It takes a bit of courage to get started. Am I really so important
that I need to plan my life? Am I really worth it? Well, you better
damn be! If you don’t take your life seriously, no-one else
will. So just jump in there and started. Where do you want to
be ten years from now?
I have a love/hate relationship with standards.
On the one side, my human side wants me to reject the idea that it’s about standards. It’s much more complex, about feelings, human nature, blah, blah.
On the other side, I like the predictability, I like that you don’t waste time reinventing the simple stuff over and over again, but can focus on the complex, because you have standards for the rest.
I think part of the trick is to realize that the standards are the real work. You work on the standards that dictate how you work, rather than on the work itself.
For several years, I’ve been saying that the genius of American business is that it knows how to make stupid people do something valuable, as epitomized by McDonald’s. Mostly people I’ve told it to have just shrugged.
Now I have “proof” that I was right. I’m reading The E-Myth Revisited, and it’s right there, on page 100: “The model will be operated by people with the lowest possible level of skill”.
The point is that you design a system of standards and practices that make the system as a whole produce more value than those same people could’ve done without the system. A lot more value.
Maybe Denmark could learn from this. Danish politics are still stuck in a world of technicianship. We believe that the way Denmark shall stack up to the competition is by being better educated. Which is fine. And our level of education probably is higher than most other countries. Yet we still have serious unemployment, especially among people with a higher level of education. Could it be that we’re not good enough at turning that knowledge into value for the customer?
Added a couple more book reviews: The Mythical Man-Month which I actually read about a year ago but forgot to review, and The Art of Possibility which I just finished.
February 21, 2002 · 1 comment
Next time you’re reading something, try to understand what the text is really saying. Imagine you are that person inside the text. How does it feel? How big is it? What is really going on here.
When the CIA warns about possible chaos in Afghanistan, imagine what it’s like to be there on the ground, to be a warlord, or to be a citizen caught in this struggle. Or imagine who that “CIA” is, imagine the people at CIA looking into this and making these conclusions; who are they? what are they saying to each other? are they in a big conference room together? who first thought of this, how did it progress.
Of course, a lot of this is going to be guesswork. But it’s worth reminding yourself that that’s how everything gets done: Someone sees something, or thinks of something, shares it with other people, they all have to eat and go to the bathroom, evertying is always in the end very down-to-earth, common humand, understandable.
Anyway, this conversation reminded me that I’d never published a review of the Feynman books, so here goes the first one.
I’m amazed at the level of anger and frustration over ArsDigita being vented (anonymously) over at F**kedcompany.com.
It proves my point, though: People are angry because they’re hurt. They’re hurt because Philip verbalized our deep professional and personal dreams.
We all felt “this place is different, this is the place I want to work for”. But then we were let down, and now we’re really angry.
Got an email this morning from Bryan Quinn talking about serendipity.
I’ve been meaning to look that word up for a while now (you know, what with the movie and all), but didn’t get around to it until now.
Yes, baby, serendipity’s the shit. Before I moved to New York back in ‘99, I went there on a one-week trip for some job interviews, and to try to find a place for us to live. All I got was an offer for a $10/hour internship at a random web shop. But then I started chatting with the waiter at a restaurant where I ate, and he ended up offering us to stay with him and his wife for as long as it would take us to find a place to live.
Just two days after we’d finally arrived together, we’d signed a lease in Brooklyn. And about a month later, Philip popped out of the sky and offered me a job at $100K/year. I had no idea it was gonna go like that, but I just went with the flow.
The cool thing is, you can learn to use serendipity, just like in the tale of the three princes. You don’t have to plan everything out in advance, to cover all eventualities. Just take one step in roughly the right direction each day, and trust that things will work out better than you could have ever planned it. That’s what happened to me in New York.
Didn’t Lennon say “Life’s what happens to you while you’re busy making other plans”?
February 20, 2002 · 1 comment
There we go again: “Failed to Register Scheduler DLL in AvSynchMgr”. Didn’t I uninstall it yesterday?
Apparantly not. So I uninstalled it just now, and now Outlook won’t start, because it’s missing some McAfee DLLs that, apparantly, McAfee’s uninstaller forgot to remove entries for.
Did all the good programmers leave McAfee?
Update: Found instructions on how to get rid of those errors. Couldn’t find them on McAfee.com, but Google, as usual, helped me out.

You’ve probably heard of Scandinavian open-faced sandwiches.
What you may not know is that they’re in fact so common, that they’re simply called “foods” (madder):
One food (en mad). Multiple foods (flere madder).
Simple as that! We eat plenty of foods.
I've cancelled McAfee's Virusscan online twice now. First time they didn't work with IE6 yet, though it had been in preview for a sizable period. Then the lured me back with a really cheap offer, and since they claimed to have fixed the issues, I tried again. Still no luck. Got long emails from techsupport (who seemed like complete morons) telling me to mock with my registry (search for x, delete each instance (but
not these instances), repeat for this list of 20 words). Needless to say, I gave up.
Then I thought I'd use their standard Virusscan product, which I've used before, and it's worked well. But now that also bombs, with a "failed to register scheduler DLL in AvSynchMgr" message. Oh, thank you.
The one good thing to say is that there's no argument about getting a refund.
What antivirus should I use? (WinXP)
Amazing. As the Argentinian economy has collapsed, people turn to trade goods for goods in a good old-fashioned barter economy, anno 2002. They even print their own “bank” notes, which are worth a lot more than the peso.
Maybe this can help us find a more humane way of doing business?
Along with nearly 500,000 other Argentinians in a similar situation, Ms Iglesias has joined one of the 800 “barter clubs” that have sprung up around the country, where haircuts are traded for psychoanalysis sessions, apple cakes for clothes. (From The Guardian)
I have a new cell phone number: (+45) 26 37 47 07
I’ve been doing a couple two-week projects as a freelance developer. It’s quite fun, and it’s good training to do development projects on such a compressed time scale.
During the first day or two, you have to make sure that you’re in agreement on the specification. Then you have about a day or two to design the thing. That leaves you about three or four days to code, before you have to start wrapping up, iterating with the client to check if there were any misunderstandings, and test. After fixing a few bugs, you’re done. The client’s happy, you’re happy, everybody’s happy.
When the time’s so short, there’s not much room for mistakes. On the other hand, if there are mistakes, they’re quick to fix, because the investment of time is minimal.
It’s a very welcome change from the turnaround time of 9 months on the last project I worked on for ArsDigita.
Side bar: Don Baccus recently explained to me how the word “free lance” stems from the European middle ages, where free lancers were soldiers, equipped with lances, who fought for whomever wanted to pay them, as opposed to the other lancers, who would fight for a particular king. In other words, a mercenary.
Yes, so now I’m officially blogging. Figured it was time for some changes around here.
Besides, what else was I gonna do with all those small scraps of information and ideas that didn’t fit anywhere else?
I’ve been trying to gather who’s doing OpenACS stuff in Denmark. The list so far includes:
Did I miss anyone?
Someone recently named someone else a butt-licker in my presence.
Somehow, the term stuck. A butt-licker? Doesn’t sound like the person I want to be.
During the days that followed, I’d time and again watch myself, watch my words, and wonder whether what I was saying could be interpreted as butt-licking? Maybe it was butt-licking?
What is butt-licking, anyway? I’m guessing that throwing insincere compliments at someone to try to please would characterize as licking butt. But how about telling someone that you’re truly grateful for what he or she has given you? Is that butt-licking? Probably not.
Oh, well. Maybe I should just stop caring so much what other peole think.
ArsDigita is gone. The <a
href=”http://www.masshightech.com/displayarticledetail.asp?Art_ID=54496”>rumors
say that RedHat bought all their assets, and the company was shut
down. It makes me sad.
I was excited about this company when I first heard about it. It was
so unlike anything else I knew. The company had a voice, a vision, and
a mission. A place in the world. A reason for being.
The voice was Philip’s, and he would tell you things as they are. Or
at least as he thinks they are. Or, as I found out later, as he wants
you to believe that he thinks they are. But still, it was refreshingly
simple and funny. It was personal.
He would say
things like: “SAP is the best thing that ever happened to
computer people. It appeals to businesses that are too stupid to
understand and model their own processes but too rich to simply
continue relying on secretaries and file cabinets,” and he’d
even print it in a book about web publishing.
He made it seem like any idiot could do this, if only you looked at
things the right way and didn’t make things more complicated than they
should be. And I believed in that – heck I could do it, why shouldn’t
everyone? That was until I <a
href=”/bookshelf/isbn?isbn=1885705026”>learned that
people are different in very real ways, that some people will learn
this easily and others will not.
ArsDigita had a <a
href=”http://web.archive.org/web/20010608071050/www.arsdigita.com/pages/mission/”>mission
statement that you could actually understand and agree
to. “Our first principle is that we do not lie to customers. If
a service goes down because of something we did wrong and should have
known not to do, we tell the customer exactly what we did wrong in as
clear language as possible. Even if the customer might not know that
this was a stupid thing to do under Unix or Oracle, we explicitly tell
them “this was a stupid thing to do.” If we slacked off and partied
all weekend and didn’t finish some work that we promised, we admit it
rather than conjuring up mythical technical dragons to slay. We do not
take advantage of customer ignorance to hide our mistakes, a practice
that is depressingly widespread in our industry.”
Could it really be true?
I guess my suspicion should’ve been awakened earlier. In the <a
href=”http://web.archive.org/web/20000821125745/www.arsdigita.com/books/panda/suck.html”>first
chapter of his book, Philip mentions how he and Peter
Nürnberg from Texas A&M once exchanged views on botany and web
publishing. I happened to have just finished a job where I worked with
Peter, so I asked him about his relationship with Philip. Turns out
Peter cannot recall ever having met the guy, though he had heard
Philip’s name mentioned somewhere. Peter was actually a bit pissed
that Philip made it seem like the two were pals, and had talked about
these things over a couple beers one day.
But I finally did manage to realize that things weren’t as great as
they’d seemed from a distance. I learned that the things he says
probably aren’t entirely false. They’re just slanted. And judging from
some of the <a
href=”http://forum.fuckedcompany.com/phpcomments/index.php?newsid=82497&page=7&parentid=0&crapfilter=1”>comments
over at fuckedcompany, he probably wasn’t as great when you were
actually working for him.
Today, my sadness over ArsDigita’s death is like if a very old uncle
had passed away after a year of painful illness. It’s best for
everyone involved that the air supply was finally cut off, but it’s
sad to realize that this is the end of it, that all the good things my
uncle once were to me aren’t anymore.
When is it worth it?
On the whole ArsDigita experience was well worth it for me. I learned
a lot from working there. Not just technology stuff, but I also got to
try the whole US corporate experience, which operates at a different
level from paltry Denmark. And I managed to avoid being abused. I
insisted in living and working in New York even though there was no
office there, which conveniently kept me away from Philip and his
80-hours-a-week insanity.
I tried to make sure every day of work was worth it. Sure, I’ll work
80 hours a week if I’m reasonably certain it’ll be worth it in the
end. I wasn’t in this case, so I stuck mostly with a 40-hour work
week. Since I wasn’t in the office anyway, people could only tell if I
did my job or not, not how many hours it took me.
I tried to learn as much as possible while there. Read tons of books,
tried a lot of different things. I learned how to make internet
collaboration work, because the company was so spread out and I was
away from them all. And I made some good friends all over the country
- all over the world, even. “No-no, they can’t take that away
from me.”
Can we make it happen?
Yes, I’m a naïve dreamer, but I still believe that some of the ideas
are worth fighting for, even if ArsDigita, including Philip, shunned
them all too easily.
I believe in companies having a clear voice. There’s so much bullshit
being written in press releases. I just went to <a
href=”http://www.beasys.com”>www.beasys.com and picked the <a
href=”http://www.beasys.com/press/releases/2002/0207_portal_infoworld_award.shtml”>first
one on their list: “As businesses look to securely extend access
to information, applications and business processes to customers,
partners and employees, portals have become a critical part of
enterprise application infrastructure,” said
some guy from BEA, who most likely never spoke those words.
Why can’t companies speak in plain language? Why do they have to
clothe their words in clutter and euphemism, and pump it up with hot
air? We’re all humans. None of us chose to be here. We should at least
talk to each other like human beings. Dare to be personal.
Remember the <a
href=”http://web.archive.org/web/19991012141104/http://arsdigita.com/”>early
ArsDigita web site? That was straight talk. The link under “Rich
Web Publishers” even linked to a page with a URL ending in
“crass-sales-pitch.html”. If that’s what it is, why disguise it? It
doesn’t have to be quite as arrogant and have that air of “we’re the
only ones who get this, everyone else are stupid asses”, but it does
make it more fun to read.
The “never lie to the customers” thing is the same idea. Say it like
it is, and have enough confidence that people will respect you for
it. And if they don’t, tough luck. Hopefully there’s someone else out
there who will. In fact, I’ve been thinking of instituting a policy of
“if you don’t like what you get, don’t pay” in my own software
consulting business. Can I trust my clients to not misuse it? Don’t
know, but it’s worth a try, isn’t it?
The software was open sourced, something that’s a very real benefit to
me: Even though ArsDigita itself has tanked, the source code that I
helped write still lives on over at <a
href=”http://www.openacs.org”>OpenACS. Real people are using it to
build real web sites, people are maintaining it, and I’m sure a lot of
people learned from it.
I liked the whole idea that ArsDigita gave away things for free to
people who couldn’t afford to hire the company, anyway. ArsDigita
would teach people to do what they did, by publishing on the web,
giving speeches all over the world, through free boot camps (ahem,
recruiting camps), at aD University, and at real universities (which
were also made into a first-class recruiting channel). The idea was
good, the synergies were interesting, but what I really liked was the
spirit of “this is easier than you think, come here, and we’ll show
you how”.
It’s hard to admit especially after the serial abuse that we’ve
all taken from ArsDigita in the past year and a half but there
was a reason we were all attracted to ArsDigita. Something that made
us move hundreds or thousands of miles away from where we lived, to go
work for this company.
We all shared a dream of working for a company that had a personality,
that talked straight talk, that had a good heart (and made tons of
money in the process). It turned out that ArsDigita wasn’t that
company. But ArsDigita proved that there’s a real longing for such a
place in corporate America. Hopefully someone else will eventually
pick up the lead and make it happen.
February 01, 2002 · 1 comment
Ahh, the Joy of Installing a New OS
If you’ve ever messed around with installing a new operating system on
the computer that you need for your work, you know how scary that is.
You never know if the box is going to boot at all, whether the data
you had on your hard drive are going to still be there when you’re
done. And what if the backup won’t read?
Trying to get Windows and Linux to dual-boot is even
worse. Nobody enjoys messing with the boot sector. And besides, if you
ever get it to work, you have to shut down one OS close word,
close outlook, close emacs, shut down, wait, power on, wait …
before you can start the other. And you can’t go make coffee while
this is going on, because you have to enter at just the right moment
and tell the stupid box which OS to boot. “The other one,
stupid!”
VMware takes all the pain out of those things. Well, okay, so it
doesn’t do exactly the same thing, but it does allow you to install
all the operating systems you could ever dream of on a single box. And
it lets you run them all simultaneously. That is, if you have
enough RAM and hard disk space. But that’s pretty cheap, these days.
In VMware, it’s safe
What VMware does is it emulates an Intel PC, complete with
BIOS, virtual disk drives and CD-ROM drives, network interface and
all. And everything’s simply contained in a handful files in the file
system on your computer. So if you’re about to do some screwy
operation on a virtual machine, you simply shut down or suspend the
virtual machine, copy all the files to a secure place, power up or
resume the virtual machine, and you can do all sorts of crazy shit,
and you can still restore the copy if something goes awry. Try that
with your master boot record!
If you really plan on messing things up on a regular basis, you
can even ask VMware to ask you each time you shut down whether to keep
or discard anything you did in that session. Or if the whole point is
to try to trash things, you can make it non-persistent, in which case
everything’s automatically discarded each time. This would be pretty
effective for a front-end web server, in a situation where the
database and the log files and everything else that gets updated live
on other machines. If hackers decide to pay you a visit, you can
simple power cycle the virtual machine, and everything will be back to
normal.
The Ideal Development Server
All in all, this makes VMware ideal to use for your personal
development server. When you have different clients and different
projects on a monthly basis, like I do, they usually require
different development setups. Maybe on one project, you need to
develop J2EE on Oracle. Another project is based on PostgreSQL and
OpenACS. Yet other projects must work on FreeBSD or on some particular
version of Windows. It’s all easy as pie with VMware.
The trick that works brilliantly for me, is to have, say, RedHat 7.2
with PosgreSQL, AOLserver, and the software I’m developing, running in
a virtual machine. Then I connect to that server using a standard
secure shell tool, such as <a
href=”http://www.zip.com.au/~roca/ttssh.html”>ttssh or <a
href=”http://www.vandyke.com/products/securecrt/”>SecureCRT, with
X11 forwarding enabled. In addition, my Windows box runs an X server,
such as <a
href=”http://www.hummingbird.com/products/nc/exceed/”>Exceed or <a
href=”http://www.microimages.com/freestuf/mix/”>MI/X. That way, I
can use Internet Explorer, Outlook, Word, Excel, WinAmp, AIM, YM, WM,
and all the other essential tools I’ve grown accustomed to, next to my
Emacs and terminal windows, for a complete, functional work and
development environment, all on one box.
The suspend feature is really handy, too. If you’re done with a
machine for a while, you don’t need to waste memory on having it
sitting idle. You can simply suspend it, and then resume it again when
you need it. And, amazingly enough, if you have open SSH or X11
connections, and you don’t mess with them while the virtual machine is
sleeping, they’ll survive the suspend/resume operation.
VMware is a bit on the expensive side, but I’ve found it to be well
worth it. It’s such a relief to be able to install a new OS on without
having to worry about whether you’ll be able to work again the next
day. And they’re not even paying me to say this!