Saturday, February 16, 2008

Dear Pat Robertson: Anal Hygeine & God

Dear Pat Robertson:

I'm afraid that wiping too vigorously after using the restroom will make me gay. Usually I try closing my eyes and praying during the moment of defecation and wiping but I'm till terrified. I thought of installing a bidet that sprays holy water but I'm afraid it won't be enough. How do I avoid becoming homosexual and angering god?

Thank you.

Wednesday, January 09, 2008

Demonology '08

In the new year the Berkeley Software Distribution family of Unix-like operating systems is growing at a phenomenal rate and excitement over the possibilities for this operating system family is in the air. After unprecedented development and adoption as well as major shifts in the marketplace, it's time to take a look at what's new with this demonic family of operating systems. Don't fear, the word demon means Unix goodness at just the right price.

FreeBSD

FreeBSD 5 was the darkest period in this operating system's history and morale and marketshare were at an all-time low. The problem originated from merging BSD/OS into FreeBSD; though the two systems shared a lot of code, the difference of just a couple years was staggering. FreeBSD's virtual memory and multi-processing code was immature, while BSD/OS's libraries were archaic. Mating the two was a mess that cost FreeBSD face and kept users on an older branch from the Nineties, 4.11.

After several years of struggle, Apple came to the rescue with Darwin — its FreeBSD-based server operating system — filling the holes where BSD/OS and FreeBSD didn't mesh. In just a few short months of code contribution, FreeBSD 6 began to take shape and even in development it looked miles ahead of the doomed 5 branch. Within months of release Hotmail and Yahoo! updated their mail servers and Apple developers began reincorporating the merged changes into Mac OS X Leopard. After years of tumult, Apple finally hit the switch that made FreeBSD "just work."

Now, with FreeBSD 7.0b on the horizon promising to wrap it all up, FreeBSD is once again taking the free Unix world by storm. It's a tight, efficient codebase leveraging the best of BSD/OS, Darwin, and FreeBSD that users have been clamoring for. FreeBSD users and sites now have a shining future ahead of them.

NetBSD

NetBSD is languishing. In supporting as many platforms as possible, development is a quagmire of obsolete hardware, spotty driver support, and developer infighting.

Where FreeBSD chooses to focus on a few platforms, NetBSD tinkers with obsolete hardware like z80, i386, 68k and C64 that draw away from putting new features into production. The drag is significant: NetBSD can't do many things that FreeBSD or Linux did years ago. It's gotten so bad, in fact, that the NetBSD Group voted to change version numbering to make it appear as if more was being done. There were eleven years between NetBSD 0.8 to 2.0; there have been just three years between NetBSD 2 and 4. You do the math.

That isn't to say that NetBSD is without its uses, however. Other operating systems often take code from NetBSD when they begin work on new drivers. There have also been occasions when developers borrowed or modeled NetBSD code to fix platform-specific bugs. But these are strictly developer applications, not end user, and GNOME and KDE won't run on NetBSD without liberal amounts of trouble. This is not something you pop on your PC when you get tired of Windows. In fact, NetBSD makes Vista look like utopia.

NetBSD's raison d'être is to crawl onto unsupported hardware, and for that we have them to thank for other operating systems' support for new platforms. But out of seventy-one supported platforms, NetBSD runs natively on just eight of them. Anything beyond development with NetBSD is a major investment of time and, if you're a company, money. Using NetBSD as a primary OS is neither a goal of the project nor practical. Caveat end user!

OpenBSD

Picking up where FreeBSD and NetBSD do rather poorly, OpenBSD focuses on security no matter the cost. For example, when several bugs in Athlon 64 came to light, OpenBSD leader Theo de Raadt pulled all AMD support from the kernel before ever consulting his development team or announcing his intentions to the public. It was only after AMD CEO Héctor Ruiz pledged better support that de Raadt slowly began replacing AMD support one microarchitecture at a time over the next several months.

If you think that's extreme, you must not be used to OpenBSD. In a line of work where one buffer overflow can mean your company's secret data, not to mention your job, every line of code counts. In OpenBSD, every line of code is passed around between developers and poked, probed, and teamed up on before it's even considered for inclusion. Theo de Raadt comes under fire for such harsh measures, but no other Unix comes close to OpenBSD's security.

The downside to this is that OpenBSD lags behind innovations that other operating systems implement, as it often ports them months or years after the developers have reengineered the code to OpenBSD's standards. This is another point of contention with the community, as the OpenBSD Foundation was forced to take code from FreeBSD to support Intel's cryptography module and had to rewrite NetBSD's firewall since it was so long in making its own. That's nothing, however, compared to the measures de Raadt himself takes.

In one highly publicized incident, a user who had questioned de Raadt's delay of porting CML2 was banned by de Raadt from the OpenBSD Foundation's mailing list. Later, he cracked the user's box and remapped their keyboard to prove that they hadn't configured their system properly, thus rendering their argument about CML2 support moot. Though rebuked by fellow developers and industry pundits, de Raadt never apologized and to this day has refused to include CML2.

If you plan on using OpenBSD, you'd better be prepared to deal with the consequences.

DragonFlyBSD

DragonFlyBSD aims to preserve the lightweight threading model of FreeBSD 4.8, of which it is a fork. Its developer, Matt Dillon, is a former Amiga and BeOS developer and began the project to keep the philosophy of those older operating systems alive. Users who favor or require FreeBSD 4, which is no longer supported, can use DragonFly.

Performance is also quite fast, but these benefits are at the cost of newer features and security. Dillon has begun syncing releases with subsequent FreeBSD 4 updates; DragonFlyBSD 1.10 was synced with FreeBSD 4.9 and DragonFly 1.14 will be synced with FreeBSD 4.11 in what Dillon has called "mirrored perfection."

Another gimmick of DragonFlyBSD is what Dillon calls netclustering, where users can anonymously cluster over the internet. DragonFly threads allow for just such clustering since they don't include security hooks and would facilitate fast multimedia crunching, all transparent to the user who would only see their work finish faster. In this way netclustering is akin to Apple's Xgrid but not quite as polished. Dillon has promised this for post-1.14 releases but, since he refuses to let others develop the project, that could be a while in coming.

While all of this sounds promising, nothing has been delivered yet. Installing DragonFly at the moment gives you a functioning FreeBSD 4 clone but not much more. Should Dillon deliver on his plans there might be compelling uses for this project, but that's a mighty big if for a guy coding a ten-year-old operating system alone in his parents' basement.

Darwin

Darwin is the pinnacle of Unix, let alone Berkeley Software Distributions.

Since Apple bought Next, Darwin has changed the Unix paradigm. It is now the most widely-used Unix in the world bar none. Not even Linux comes close to the installed userbase of Darwin, which is at the core of every Mac OS X install. It runs in both 32- and 64-bit flavors on the Intel and Power architectures and it transparently subsumes the previously separate ideas of terminal, desktop, workstation, and server.

Darwin has all the positives and none of the negatives that the previous BSD distributions have, and Apple's proprietary APIs seal the deal. QuickTime, WebKit, CoreData, et al offer the premium services no other operating system does on top of the stable, modern Unix underpinnings of Darwin. It's the best way to ensure the secure, stable environment Mac OS X is. That's just how Apple plays.

And it's all in one version for just $129.99.

Demonology

With all of these great improvements to the Berkeley operating system family in the last few years, BSD is clearly where it's at. Linux is a throwback to when Open Source was a hot buzzword and sharing code was a novel idea. Now, Apple and company use it as standard coding procedure to share and improve the tech they have and leverage their individual strengths.

Even when taking the few commercial Unices that still exist into account, like AIX and Solaris, BSD still owns the arena in its frantic steamroll to the top of the supercomputing mountain. Whether you want the general wholesomeness of FreeBSD, the KGB-like security of OpenBSD, the more experimental NetBSD or DragonFlyBSD, or the utter perfection of Mac OS X, BSD has your bases completely covered with room to grow in the future.

If you haven't converted, now's the time to become a demon worshipper.

Tuesday, October 09, 2007

QNX Missed the 64-bit Bus

Why, on my eight-way Xeon 5365 system, does QNX only report a single 1.333 GHz chip? And why, after spending thousands dollars on RAM, does QNX only see four gigabytes of it? These were the first signs something was amiss with this tiny operating system touted as being capable of running cars, hospital devices, and entire networks all from a single floppy.

And being on an ISO apparently doesn't help. Freely available from their site with a gratis license, I decided to give it a spin after reading the announcement that QNX Software Systems had Open Sourced their kernel and, a week later, their multi-core support. They had even rolled up the last several years' worth of updates, something devotees had been clamoring for.

But all to no avail. After repeatedly power-cycling my system, I stumbled upon a nice little quirk of the OS. To run QNX with SMP or MMCP support, you have to manually backup, copy, and rename an alternate kernel into place from the command line. If this were Mac OS X there would be a mutiny. QNX ought to keep that in mind if it wants to be taken seriously.

So now, with all eight 3 GHz cores showing, QNX still only saw four of my thirty-two gigabytes of memory. Returning to EFI, I saw QNX was booting in 32-bit mode. After poking around the operating system, QSS's site, and finally Google, I came to the cringe-inducing conclusion that QNX wasn't booting in 32-bit mode — it's just 32-bit. Period. Not 64-bit, not mixed-mode, nada.

Let's allow that to sink in. QNX is a wholly 32-bit operating system. The CPU industry has moved to 64-bit, which addresses up to 16 XB of memory, two magnitudes greater than what is typical today. Think of the difference between kilobytes and gigabytes, and then imagine being able to use only four kilobytes of your sixteen gigabytes of RAM. Infuriating, no? Not to mention stupid.

Truth be told, I was so disappointed in QNX that I completely gave up when I realized top wasn't installed with the OS. I did install the GNU package, didn't I? If my name were Dan Dodge I'd be ashamed of myself. Even Linux includes a more or less complete UNIX command utility set.

I understand having to run a car with 96K of system memory, or an emergency respirator with half that much, but with the breadth and depth of networks today leaving QNX only capable of addressing four gigabytes is shortsighted. We're talking QNX developers, the platform's lifeblood, not being able to use the latest systems to make great new QNX apps with.

If you're running a Pentium 4 and don't particularly care about having a usable OS or developing good software, check QNX out. If you're pushing the limits, however, don't expect QNX to push with you.

Wednesday, June 20, 2007

Haroon the Hacker

Dear 2600:

A local bar owner I know uses UNIX and has a long beard and wears thick glasses. He is also very fat. When he gets drunk he talks about the good old days of Commodore bulletin boards and flat databases. Additionally, his bar is quite filthy. Therefore I believe he is a hacker.

I really need to become a hacker and this man is my only hope. My question is, how do I approach him about mentoring me? I keep showing up at his bar but he gets drunk and yells at me for loitering. Sometimes he falls asleep. One time I tried to show him a few tricks in Windows with TweakUI but he told me never to use his computer again. He even made fun of me for not knowing Linux and owning a Mac.

Thanks for any information you can give me about social engineering this guy!

Haroon the Hacker

Tuesday, June 12, 2007

Open Source Health Alert

June 12, 2007 8:37 PM

ATLANTA, GEORGIA — There are dangerous biological side effects of using alcohol and Open Source software.

By now the public is aware of Open Source's association with homosexuality and therefore with AIDS, male prostitution, and anal fissures, but today the CDC issued a health advisory about a new issue relevant to individuals involved in the Open Source community. After months of testing and retesting, a dangerous suspicion has been confirmed. The use of alcohol and Open Source software can cause human DNA to become unstable and mutate.

The hypothetical etiology works as follows: Open Source causes DNA to become unstable which accelerates and amplifies mutations in your body's cells.

When alcohol is introduced into into this already-degrading process, the effects grow by an entire order of magnitude. So for example, while a human male is expected to begin greying in his late twenties, lose muscle tone by his late thirties, and accumulate fat deposits by his mid-forties, simultaneous alcohol and Open Source increases the rate of these natural DNA degradation.

The graphic below displays an example of an alcohol/Open Source mutation, the victim of which is now barely recognizable as human. Sensitive readers may wish to look away, but the fact remains clear. If you value your health and the health of your children, do not drink alcohol and use Open Source software.

Eric S. Raymond, who drank Jägermeister and used Open Source software.

Do not mix Open Source and alcohol — the consequences can be devastating!

Monday, June 11, 2007

Mac OS X Gets Multi-Arch Right

Apple has beaten the world’s most popular desktop operating system and the world’s most popular Unixalike to the punch with multi-platform support. At Monday’s WWDC07 Apple, Inc. CEO Steve Jobs revealed that, when Leopard ships, it will install and run on every one of its supported architectures from one DVD without bothering the user. And the more featured your system is, the more features Leopard will automatically enable.

For example, a user can use the same DVD to install Mac OS X on a dual 533 MHz Power Mac G4, a 32-bit Core Solo Mac mini, a 64-bit Power Mac G5 Quad, and a 64-bit Core 2 Duo MacBook Pro. It even goes so far as to allow 64-bit apps without a 32-bit binary to run in 32-bit mode transparently, which is unprecedented thus far.

Windows, on the other hand, requires a different 32- or 64-bit version for each of its six flavors. So once you decide you want, say, Windows Professional Enterprise, you need to make sure it comes with 64-bit support. Otherwise, you’ll be stuck booting your chip in 32-bit mode. Apps must be written and released for 32- or 64-bit and can’t run otherwise. This limits users of older systems with Pentium III processors, for example, from running a 64-bit version of a popular game.

Linux eats dust in the race for 64-bit desktopedness too. With Ubuntu 7.05, the latest stable release, things have gotten simpler but still don’t stack up to Leopard. So while you can download one version of Ubuntu for both 32- and 64-bit x86, if you want to run 32-bit programs on a 64-bit system you have to download a compatibility layer, check library dependencies, and compile it yourself. 64-bit programs won’t work on a 32-bit arch, simply returning an error code and quitting.

That only counts for Intel and AMD, however. Other architectures supported by Linux, which number in the dozens and include 68k, ARM, Power, and SPARC among others, are one-at-a-time installs only and don’t have any compatibility between 32- and 64-bit versions. So a user installing Linux on a 32-bit SPARC system from Sun will have to purchase another completely different disc when he installs on Linux on his 64-bit UltraSPARC system even though both processors use the same instruction set.

At most, when counting Mac OS X and Mac OS X Server as two different "versions" of the operating system, you still have only to choose one and are then done with it. Each installs on all four architectures seamlessly and silently.

IntelPowerPC
32-bit64-bit32-bit64-bit
Mac OS X
Mac OS X Server

Windows comes to a total of twelves versions: 32- and 64-bit for each six editions. The number jumps to twenty-four when you consider that you must also choose whether to buy the retail or upgrade versions. This is simply too much work for most people whether they're doing personal use or IT.

Linux does little better, as above with the old download/compile scheme for legacy support. The kicker is that most other distributions of Linux don't even do that well. A user with Fedora Core 7 will still need to hunt down a different ISO for each and every nuance of processor, a real shame since Linux developers sit and scratch their heads over why Linux is still not ready for the desktop.

Come October, Mac OS X will serve everyone with one price, one version, one install: one vision of simple 64-bit desktop goodness.

Major QNX Upgrade to Rock Embedded World

QNX is about to take another quantum leap forward. Production on a new QNX kernel, dubbed "Axion," aka QNX 8, is wrapping up later this summer and will debut sometime early next year. And it's going to pack a wallop in the embedded industry.

"Technologies like 64-bit, VT, SSE, and multi-core have all become important in the market today," said Luc du Croix, senior kernel engineer with QNX Software Systems. "And it's important that QNX take advantage of each and every one of them."

We spoke with du Croix, who has been with QSS for over a decade in various roles, about the changes coming in the new operating system. For the last year, he and his team have been hard at work rewiring their kernel alongside Intel and AMD engineers so they can support new features as soon as possible.

"With this upgrade we're actually using different SSE operations to speed kernel performance." Heretofore, SSE was seen mostly as a multimedia booster, useful for games and Photoshop plugins. "Imagine using a single instruction to move up to one hundred and twenty-eight bits of message data."

Multiple cores are key too. QNX already supports multi-processing and has won awards for its efficient use of multiple processors. But massively multi-core processing (MMCP) is a little different. "SMP is like starting a fire with sticks. MMCP is like lobbing a Molotov cocktail out of the window of a speeding Ferrari and that's what we'd really like to be doing."

Another thing that's changing is processor caching. Back when Neutrino was released, 256k off-die cache was common. Today, 2 MB on-chip cache is the norm. "QNX Neutrino is tiny, 69k, and with all of the processor cache available today, we've rewritten the kernel to load and run entirely from cache."

Running from cache has some serious speed advantages. "QNX messaging is a whole order of magnitude faster when run from cache versus system memory," du Croix said. "It prevents QNX from having to access the system bus." QSS calls this feature FastCache.

When QNX does run in main memory, however, it will be able to access up to sixteen exabytes thanks to the 64-bit ground-up rewrite. "Thirty-two bits just wasn't enough," du Croix said. "Our customers want to run on AMD 64, Core 2, Power6, and they're all playing with 64-bits."

After the update is polished, it will be bundled with the latest version of the Eclipse development suite and offered as an upgrade to developers as QNXtreme, the successor to the current QNX 6.3-based Momentics. QSS will also include a whole new userland based on FreeBSD 6's, an idea left over from the scrapped Overfiend project.

Customers deploying production systems will have the option to upgrade when the time comes as Axion will be completely backward compatible with 32-bit platforms. Customers using QNX4, however, will likely want to contact their QSS rep for evaluation.