I spent a few years writing down my thoughts about how one should approach problems. If you're looking for a how-to guide, a cookbook, or a reference this book is not for you. If you want to learn by challenging the way you think, pick up a copy.
Perl seems like a very expressive, arguably elegant, extremely powerful language on the surface. In fact it is. However, under the hood it's down-right scary. man perlguts, perlembed, perlapi, perlxs, perliol just for starters.
For people embedding perl in other apps, or writing perl extensions in C, things get hair quick. Perl's internals don't have the benefit of an advanced garbage collector (like some other interpretted languages). Instead, it uses stacks, heaps and reference counting. This means, if you aren't perfect, you leak. And with perl, leaks are scary and will ultimately cause your long running application to bust at the seams.
There are some tools to track these leaks, but none were instrumented as I needed... I needed something more powerful.
So, routine mainenance, kernel upgrade, reboot. It's a Linux box...
Reboots without half terabyte storage system mounted. It's managed under LVM2 and I expect a /dev/maildata/spool file... Nope.
I've had some scary run ins with LVM, but have yet to loose anything. MD (metadevice stuff under Linux) is a whole other story, I've had it "do thing" that it shouldn't have and lost hosts of data. I don't like md. So, with confidence, let's see if we can't tackle this LVM2 issue...
So, I'm sitting here in the living room of our cottage rental (quite nice). What's better? I show up and my slick wireless network detector lights up before I'm in the house. SID=Motorola and no password -- sweet. It's fast and convenient and free.
So, I hop online and surf the web, but then I try to ssh somewhere and I find that they are blocking all ports but 80, 443, and 25. So, port blocking is really annoying, but WTF?! would you leave 25 open. What are they saying, I can't ssh somewhere (or check my mail via IMAP or POP3), but I can spam the world? Beyond stupid.
Turns out that my PPTP-based VPN works like a charm and the connectivity is good to the office, so life is fine. But why a provider would block ports and not block port 25 is just beyond my comprehension. Sad.
So, for a long time we have supported FreeBSD as a deployment platform for our MTA. It ran okay under 4-stable, but didn't perform as well as Linux or Solaris or Windows due to that lack of good non-userspace threading. FreeBSD 5.4 was a godsend... or was it?
Now that we have a few internal beta in "high capacity" environments, we are seeing FreeBSD 5.4 kernel panics all over the place (can't keep any of the mahcines up for more than a few hours (sometimes a few minutes). So, I love me some BSD, but I'm too busy to deal with these issues. As it so happens we have a job opening on our core engineering team (bad-ass C mojo required). So, FreeBSD kernel hackers, please apply! Aside from working on FreeBSD, you'll get to play with some pretty wicked technologies that implement the fastest MTA on Earth as well as some truly innovative high-availability and data replication.