Exceptions and casual programming

Exceptions have somewhat of a bad reputation in serious programmingcircles. People feel that they are troublesome for various reasons,including that they are non-local gotos and they make it hard toguarantee that you really are cleaning up after problems. (You canfind posts about this at Joel on Software and in Raymond Chen's blog,among other places.)

I don't know about that, but I do know that exceptions are really goodfor casual programs, which is what I mostly write. Casual programs


Exceptions as efficient programming

Python likes to make programming efficient: that is, to make programsfast and easy to write, and eliminate the tedious drudgery. Prettymuch all dynamically typed languages do, since static typing is a lotof effort (except in languages with a lot of type inference, where itis only some effort).

After writing yesterday's entry ,it's struck me that exceptions are a form of efficientprogramming, because they let you aggregate error checking and errorhandling across a large block of code.

Without exceptions


How many places actually send us email?

A few weeks ago I discovered that only 220 different IP addresses sentus actual email over the course of a week. This naturally raises thequestion: was this just a slow week, or is this typical? The answerturns out to be 'maybe'.

On the system I usually run my stats on, I only have logs going backabout 28 days; looking at the entire time period, there was email from443 different IP addresses. Not surprisingly, the distribution of howmuch


Skills I use when troubleshooting

A while back I wrote about FutureSysadminJobs and suggested thatpeople who wanted satisfying careers as system administrators overthe long term should develop the skills to be troubleshooters. Whichbegs the question: what are those skills?

The first and most important skill is: you have to find all thisinteresting . Enjoying being a curious packrat is not entirelyrequired, but I think it helps a whole lot, especially as you'llprobably need to learn a number of things on your own time.

Other than that, based on my


First Irritations with Fedora Core 4

I can't call this a review or even first impressions of Fedora Core 4,because I haven't used it enough yet (and may not for a while). So thisis my first irritations with Fedora Core 4, gained from banging my headagainst it repeatedly in the process of preparing our new OS load fora planned late-August upgrade/reinstall of a bunch of workstations.

  • The Anaconda installer is buggy .(Still with no sign of an update.)

  • Once X starts, it kills

Intel

How AMD killed the Itanium

I've been telling people versions of this story for a while, so Ifigure I might as well write it down for posterity (or at leastentertainment).

When Intel started Itanium development work in the mid 1990s, it had astraightforward story: the x86 architecture was about to run into aperformance cap, because of all the ugly warts it had inherited fromits predecessors (a very limited supply of registers, a highlyirregular instruction format, etc). To get the


The legend of Debian Linux

Officially, Debian is a widely used Linuxdistribution that meets people's needs with stability, lots ofsoftware and years of security releases. The Debian community has lotsof developers and will tell you that it's just the right thing ifyou're tired of living on Red Hat's bleeding edge.

Unfortunately, that's a legend. The truth is somewhat different, as Ihave found out by actually running a server using Debian's 'Woody'release.

By the time it was replaced


Chasing a problem in our Gnome customizations

Yesterday I talked about how I made a day-longexcursion into the depths of Gnome, trying to chase down a problem wewere having customizing Gnome's main menu, when I could have skippedmost of the work by doing some Googling first. I thought it would beinterested to give some more detail about the problem and the processI followed in finding it.

The problem was that we want a submenu for our local applications toappear on the default main applications menu. I had everything elsenecessary (such


Adding submenus to Gnome

It's interesting how easily I can use Google to embarrass myself.

Last week, I spent most of an entire day trying to work out how to adda submenu to the default main application menu in the Gnome FedoraCore 4 configuration. (Not building the submenu itself; we had alreadydone that for a previous Red Hat release. Just figuring out how to getit to appear, so that all the students who use the defaultconfiguration would see our local application menu.)

I was all set to write


Tools versus frontends in systems programs

I feel that people writing programs for system administration shouldbe forced to make a choice: are you writing a tool or a frontend?'Both' is not a good answer, because nine times out of ten that leadsto a program that does neither very well and irritates everyone,leading to things like Friday's entry on why apt-get is notmy favorite program.

A system administration tool is is a reusable building block, part ofthe larger system. It's designed to be easily used by