The importance of test suites for standards
A while back I noted that very few ofthe web's standards have a test suite and that this could be a problem.You might reasonably ask why this matters, especially since so fewstandards in general have a test suite.
My answer is that having an official test suite for the standard doesa lot of things:
- it lets you know if the implementation you've created actuallyconforms. Without this you're left with various sorts of ad-hoctests that may be hard to set up and
You don't need to bake your site to static files to be fast
Recently (for my value of recently) there has beena bunch of people pushing rendering your website tostatic files as the way to make it able to stand up tosurprise load; for example, Tim Bray's More on Baking (which has links to others). I disagree with this approach, because it'snot necessary and it has some significant downsides.
You don't need static files to go fast when you're hit with load;you just need software that doesn't suck
The evolution of the git tree format
This is a second-hand war story. Second hand because it's not my warstory; I was just lucky enough to be reading the right mailing listsduring the early days of Linus Torvalds developing git.
(One of the occasional privileges of hanging around the mailing listsfor various open source projects is getting to see people evolvedesigns on the fly as they learn more about the problem that they'retackling. To be clear, I mean this non-sarcastically; it's not oftenthat you
An example of modifying a Firefox extension
I've written vaguely a while backabout modifying Firefox extensions. I just needed to do this again,so this time I am going to write down a much less vague and moredetailed discussion of what I did.
The basics are that I modified thecurrent version of All-in-One Gestures toadd new 'View page in no style' and 'View page in basic style' actionsthat could be associated with a gesture (these are normally accessiblethrough View → Page Style). I wanted this
Why I don't like Solaris boot archives, illustrated
I've written before about how I don't like Solarisboot archives. Let me condense that previous writing and illustrate it witha recent event. First, the short reason I don't like boot archives:
The problem with boot archives is that they make my machines unbootablefor unimportant reasons.
It might be okay if boot archives only got out of date because ofimportant things and important changes, especially if things wereinterrupted partway through. But that's not what actually happens.
Recently I decided to
Monkey subclassing for fun and profit
Monkey subclassing is my own term for something that I wind updoing every so often, formed by analogy to monkey patching . Where monkey patching ischanging the class itself, monkey subclassing is changing the class bysubclassing it and then overriding internal method functions (generallyundocumented ones, or at least ones not officially exposed as publicinterfaces). Monkey subclassing is different from regular subclassing inthat I am playing fast and loose with the internals of someone else'scode and in fact these classes may never have been designed to
The story of leaving N% of your filesystem unused for performance
In a comment onon Please don't alert based on percentages , Joce wrote:
I don't know if the example given is correct. I've heard thatperformances will drop dramatically when disk usage is above 80%.
Maybe, but probably not. This is almost one of those Unix legends like ' sync; sync; sync ' , but it's not quite entirelylegendary. To explain, I need to go back to where this story comes from.
The original V7 Unix filesystem
Logs are not just streams
Via Hacker News, I recently read Logs Are Streams, Not Files .In it, Adam Wiggins suggests that because logs are just streams, yourprogram should just write log messages to standard error as the mostflexible, most stream-based way of operating on Unix.
I'm sorry, I'm a sysadmin. I just saw red.
Logs are not just streams. Logs are crucially different from streamsin one respect; logs can and in fact must be segmented and sectionedperiodically. In the sysadmin business
Why logging to syslog is different than logging to standard error
In the previous entry I wrote that logger is nota good solution for converting a program that logs to standard errorinto a system that logs to syslog. In fact, the issue is more generalthan just logger ; logging to standard error is significantly differentfrom logging to syslog that it is hard to turn the former into thelatter.
The issue is that syslog handles a bunch of important things for youthat you have to handle yourself in logging to standard error. Syslogautomatically attaches a timestamp, the program name,
Please don't alert based on percentages
One of the classic mistakes made by monitoring and alerting systems isto alert based on percentages; if something registers at 90% or 95% orwhatever, it raises various sorts of alerts. This is a terrible mistake.
(The people who write these monitoring systems love percentage basedalerts because they're so easy to do, which in my cynical view is whylots of monitoring systems ship with them.)
The easiest way to see the problem of percentage based alerts is toconsider disk space monitoring.