use Perl Log In

apotheon (5460)

I'm a third generation computer geek. I happen to like Perl, Ruby, XHTML, and C, in no particular order. I happen to dislike Visual Basic, VBScript, Python, and Java.

I'm a Linux geek — I'm a fan of Debian in particular. I know a lot about Windows system administration. The knowledge and experience that goes with my familiarity and expertise with Windows is part of the reason I like Debian GNU/Linux so much.

That's it for now.

NOTE: Except where preexisting copyright or other license conflicts, such as in quoted material, all journal entries at this account are distributed under CCD CopyWrite [apotheon.org].

where I'm writing

I have several articles published at TechRepublic and builder.com by now, and several more awaiting editing and publication all under my legal name, Chad Perrin. I've been commissioned by an editor at TR to write an article that will be featured in a book. I'm doing most of my technical blogging at SOB now, including stuff about Perl, Python, and a comparison of Ruby and Python.

An article I'm submitting for publication today is actually an expansion of a concept I first floated at PerlMonks, but with a great deal more detail and explanation. It is, of course, about Perl.

Tuesday January 17, 2006

01:23 PM

money for nothing, chips for free

It looks like I may shortly be an online technical resource writer for a living. It's sort of an offshoot of tech journalism, focusing on writing howtos and the like as opposed to actual news. Assuming things work out in this regard, I'll probably be doing the happy dance for the next couple months, excepting time spent writing so I actually make money.

Saturday December 31, 2005

10:27 PM

On the Job Apprenticeship

I wonder why nobody hires people these days with the intention of giving them scutwork to do and, thereby, helping them gain further skill in the task. Right about now, my dream job title might be "Perl Flunky I".

Windows desktop malware defense

This is mostly aimed at the common end user. That doesn't mean that "experts" or "power users" won't find useful information here. I do a lot of system cleanup in my line of work, as an IT consultant (primarily for small business networks), and while this isn't anywhere near a comprehensive list of the sort of utilities I use, it is certainly a decent list of things for the general end user to consider in protecting his or her computer from malware running rampant on the Internet.

I actually wrote up a fairly solid post on the subject elsewhere, and I decided I'd put too much into it and it was too well put together for me to just let it fade into obscurity there, so I'm making it available here as well. Here's the link:

Thank Poland, re: software patents

Be sure to thank Poland for standing up for principles of liberty in the face of corporate encroachment in government within the EU. Software patents have been a subject of heated debate in the EU for a couple of years now, and things are teetering on the edge, constantly. Corporations such as Microsoft want to be able to patent the most trivial of software processes (including stuff like a timed double-click on a GUI), which would of course greatly hamper the ability of programmers to build on prior art in the fast-moving field of software design. The biggest losers would probably be open source projects and the general public, as individual end users and open source projects typically don't have the backing needed to wage a court battle over matters of patent infringement. The big winners, if all this patent legislation goes through, would be corporations whose only major goal is market dominance. Stagnation and worse would be the result if such patenting is allowed to occur.

Thankfully, Poland isn't down with that. Check the tech news for the latest. Thank Poland by clicking on the link below. Have a nice day.

web development: picking up the pieces

A new client has a half-built website. It looks like it has fallen to me to finish building it, assuming we get the contract. There's sort of a four-stage process to working on this website in the works, as things currently stand. The stages are:

Cobble together the necessary back end functionality of some contact/feedback pages.

Clean up code and design work.

While the static site is "live", rewrite the entire thing as a dynamically generated site with easy maintenance functionality.

Put together an interactive segment of the site, with discussion fora, online support for the client's software product, et cetera.

. ..

I just got called away to view the email that is being sent to the prospective client. I'm not sure of the phrasing the Boss used, in terms of the likelihood of the client's choosing to work with us. I'll hope for the best. He really does need the help. . . .

In any case, if all of the above happens, I stand to make between $2850 and $4830, according to current estimates (and with that wide range of variation based on speculation about what the client may or may not actually want). It's entirely possible that the client doesn't want the interactive site, which would bring the numbers down to between $1650 and $1830. That's a heckuva paycut, but that's also a heckuva lot less work. The interactive site would be more work to get exactly right for the client than all the rest put together, easily, so it makes sense that there would be an attendant drop in fees for me, the worker-bee, on this.

I'm amazed at the lack of good web development workers out there. This prospective client has apparently been through four different web developers that have failed to come through. The current, half-finished state of the site is the work of the developer before last, who got halfway done then decided he had other, more important things to do, and just told the client that he'd have to get someone else to finish it for him. That developer apparently did everything using Adobe GoLive (judging by the meta generator tag), and it shows in the code: I'm concerned to see that in one page the code includes an instance of a dozen linebreak tags followed by a line of forty-eight nonbreaking space character entities. This is a problem.

I imagine I'll be flexing my weak little Perl muscles on this one, for the back end to the contact form and feedback form (if that's what's meant by the "feedback" button, whose attendant web page doesn't yet exist) if nothing else. Whee.

the importance of a distribution

I've been thinking about what it is that makes various distributions different from each other. Here's sort of a rambling list of factors:

default installer interface(s) and automation

composition (included software) of default install

ease and degree of install customization

package/port availability

package licensing

available support contracts

stability, security, and current-ness of packages/ports

software management system(s) support

filesystem configuration

default kernel (modified/standard/release/etc.)

I think that's all I've got for now. Some of these can probably be combined. In fact, if you really want to generalize things, I think all of that can be combined into two overall catch-all categories of characteristics:

installation

software management

This, of course, helps to explain how I have ended up preferring Debian over other distributions. I like the fact that the easiest way to install Debian is a bare-bones minimal install that includes some very few necessary amenities (like bash). It loads drivers pretty well, installs reasonably quickly (about a third the time of any Windows install), uses a fairly simple installer (now that the new installer has been available for a few months), and doesn't install anything I don't want.

Once installed, of course, I then will want to install some packages to make it "home". The idea of a bare-bones install is that it makes for a machine that runs lean, devoid of cruft, and allows you to install only those software packages you actually want.

The software management for Debian is excellent. Apt is so great that everyone else is trying to incorporate it into their distros, now. In fact, the Red Hat based community distro (Fedora) is offering decent support for apt. Considering Red Hat introduced the RPM, the "other" package format (as contrasted with Debian's "deb" packages), that really seems to be a pretty notable indicator. In any case, apt works more smoothly with Debian than with any other distro, and the Debian archives are bulletproof and extremely friggin' extensive. It's quite a simple thing to find, get an idea of the value of, and add non-official servers for apt to use, if you want to.

Apt's slickness and powerful, flexible functionality not only allows for great ease and convenience of system management, though: it also provides for about the easiest method available for adding exactly the software you want to a minimal, lean install.

Yep. Debian is about perfect, for my tastes.

Friday December 17, 2004

01:16 PM

Linux kernel bugs and software patents

A four-year comprehensive review of the source code of the Linux kernel by Coverity Inc. has been completed this year. The review found that Linux kernel 2.6, out of 5.7 million lines of code, has 985 "flaws". Among these flaws, more than half were bugs that caused the kernel to crash under specific operational circumstances. 25 flaws were buffer overruns, which could be exploited as security vulnerabilities, and 33 were bugs that degraded performance.

I find the number of kernel crash bugs particularly humorous. The fact that there are probably around five hundred of the things, and yet it is such a rock-solid stable OS while Windows dumps regularly, indicates that a number for similar flaws in Windows source must be astronomical. It has to be in the tens of thousands at least, I would think.

In any case, 985 sounds like a lot, but that's only.17 flaws per thousand lines of code. Meanwhile, the average rate of bugs in the source code for commercial software packages is more like 10 or 20 per thousand lines of code. We're talking about roughly a hundred times as many flaws per thousand lines as what has been found in the Linux kernel. I'm amused.

In other news, there's been a response to Steve Ballmer's speech in Asia wherein he stated that Linux infringed on "over 228" patents. He made to big mistakes there. One is in using "over 228" when the actual number was 283. The other is the fact that the study that came up with this number didn't say Linux infringed on that many patents only that it could potentially be found to infringe on that many patents if every single company that holds a patent that might conflict with Linux OS functionality were to suddenly start suing, and if they all to miraculously win. The chances of that sort of win rate are pretty slim.

Of course, OSRM (the organization that sponsored the study) also said that this was an unremarkable number, and that other Unices and Windows almost certainly suffered at least that many potential patent infringements. Furthermore, while many commercial software packages have been targeted with patent infringement suits, no piece of open source software has ever been dragged into court for patent infringement. None. The moral of the story: Don't believe the FUD.