Category Archives: DIY

Marksbury Movein


I’ve had a couple neat projects eating up my spring break, but one of the bigger ones has been helping move the KAOS group into UK’s new Marksbury Building. So far it seems nice and very attractive, albeit a little weird – we’re talking 40+% unsuable glassed-in hallways, cubicle farms, and almost no storage space. I have a little cube in the corner of a lab on the first floor to call my own (until it is dynamically reallocated away – everything in the building is wrongheadedly set up to prevent entrenched labs…), which is actually a reasonably nice workspace. On that note, the various bits of furniture in the building have ABSURD list prices; each of the 12 student desks in the lab have at least $2,155 of furniture in them, including a useless drawer-and-a-half wheeled filing cabinet with a $700 list price, and a table(labelled “desk”) with a $368 list price – which is nearly indistinguishable from this $54 number from IKEA. We also have several conference tables where each LEG has a list price in excess of $300, and the whole building is furnished this way. I have no doubt that the institutional discount was deep, but it is still startling to contemplate.

Machine Room

Hotlink from Live-Update Image


One of the cooler bits is getting the group’s new machine room up – total floor space wise it isn’t very large, but has enough power and airconditioning for a couple city blocks of normal residential buildings, and enough exposed glass to make working in it a little like being in a zoo. The airconditioning unit in the back of the room that feeds the raised floor is so loud it is uncomfortable to be in the room without hearing protection, which makes working in it sort of surreal, and gives the adjoining lab a nice “distant waterfall” level of white noise. We’re bringing up somewhere in the neighborhood of 200 machines in there initially, most of them with fairly straightforward single-link Ethernet networks and stateless node configurations – so far two of the smaller machines (cik and emcluster, made of Core2Duos and Opterons respectively) are up with caos NSA and Perceus, as has been our habit of late. Unfortunately, the administrative process still has nonroutable IPs on our drops in the server room, so we can’t SSH in to use the machines remotely yet.

Posted in Computers, DIY, General, School | Tagged , , | Leave a comment

White Family Rotary

My parents were travelling over UK’s spring break, and I was watching their cats. This meant I had some idle time waiting for the indoor/outdoor to do whatever it is he does outside, and generally keeping the cats company in their house, so I wanted a project to play with there.
What I settled on was poking at the old sewing machine my mother had in the attic, because old sewing machines are cool in every way.
White Family Rotary Sewing Machine
Continue reading

Posted in DIY, General, Objects | Tagged , , | 18 Comments

OS Graveyard

In my continuing adventures with computing oddities of the 1990s, I occasionally look around for copies of the various failed operating systems from the era, especially Apple’s, and have built myself a little archive of them. Some are easy enough to run under emulation, I have hardware which can be coaxed to run others, and a few (Such as A/UX) would require I pick up new machines or fix an emulator to run. Two of the “desirables” of that sort are Copland, the full custom microkernel based OS that could have been Mac OS 8, and Rhapsody, the missing link that connects Macs that have things in common with the original Macintosh and NeXTStep, prior to the birth of OS X. There are several versions of the latter in existence, including early versions of OS X Server, but the most interesting isRhapsody DR2, a developer release prior to the OS X name. In the PPC version, it has “BlueBox,” the predecessor to the Classic environment, but perhaps more amusing is the x86 version, showing an early version of the OS X codebase (or really, a late version of the OpenSTEP/Mach codebase with some Apple extensions) running on IA32 almost a decade before the first x86 compatible OS X releases.

During a distraction that reminded me to look, I found my way to a server (amusingly, an apple-hosted “me”/”iDisk” account) containing imaged install media for both Copland (and it’s marketing materials) and Rhapsody DR2. I would have to go get the 6100/66 from my parent’s house to use the Copland image, but the Rhapsody media should include the x86 version, and it apparently plays nice (-ish) with some of the emulation packages…

Obviously COMPLETELY useless software, but things I’ve wanted for my little archive of obscurities for a long time.

Posted in Computers, DIY, Entertainment, Objects | Leave a comment

Why Application Programming Sucks

You, the programmer, have a problem you would like to solve. This is what progammers do, but since it seems like a common problem, so you leap to t3h googles for a solution:
“Oh great google god, this lazy progammer beseeches you, find me someone who has already solved my problem”
and sure enough, within the first page of results, there is a promising function, DoWhatIWant(), in the magic library. This magic library must be common enough, since it solves your problem, so you hit the package manager (please tell me you are running a system with a package manager. If you have to spend hours tracking down nullsoft installers of patched second class citizen versions, you have only yourself to blame.) to find and install it.
$ sudo newpackagewrangler updatecommand
$ newpackagewrangler searchcommand magic

…10 hits, one of which is PROBABLY the one you intended…
$ sudo newpackagewrangler new-better-install-command magic2
Install:
Magic2 (150K)
Depends:
behemoth (75.3M), UglyTK (5.6M), libCuteName (200K), libalkjosaoifdnjg (547k)
Install (Y/N)?

Let’s take a moment to figure out what the hell just happened:

  • behemoth: It’s 75Mb of crap – included for a single function that could have been reeimplimented in less than 100 lines of code.
  • UglyTK: It’s the newest, greatest graphical toolkit, for an included example frontend. There are only 4 programs written with it, you don’t use any of them, and it won’t take the theme from GTK or QT.
  • libCuteName: Probably named for an animal or a color; at one point there was a clever reason for this, but it has since been depricated.
  • libalkjosaoifdnjg : It isn’t clear what the hell this does, and it appears the name was selected by placing a keyboard in a box of kittens. Thats fine because all editors support autocompletion, right?

Since Magic.DoWhatIWant() appears to do exactly what you want, the package manager can take care of it, and your system supports shared libraries, how bad could it be?
While the dependency pile downloads and installs, you take a look at the documentation, and find that Magic.DoWhatIWant() has 93 arguments.. and only 70 of them are explained. You think “Surely, such a useful function is used all over the place.” and return to the interwebs to find an example.
The example you find actually has 97 arguments, since the documentation is perpetually out of date, and they don’t appear to be a superset of the 93 from the documentation – But Magic.DoWhatIWant() calls to you, and you begin hacking away to make it work.
After some hours, you come upon a heated argument in the magic maling list archive, where one of the developers has declared one of the 97 arguments “bloated crap,” in the last release cycle and removed it, in the process making DoWhatIWant() sligtly less suited to your problem than it seemed – but now you’ve invested some effort, and it should still do basically what you need once you figure it out…
Typically, two days later, you throw up your hands, and, in about two hours, write a function in pure C that solves the problem – or notice that by preprocessing the input with a 10-line AWK script the problem can be avoided alltogether. Occasionally, again about two days later, you DO get it to work, but end up having to do about half the task DoWhatIWant() was supposed to accomplish yourself – and now have 80Mb of dependencies for your 75k program, meaning you will have to update it every time any of them changes.

I realize several of the issues I’m mocking here are contradictory – that’s why it is such a shitty situation. Also, I do mean to be singling out the “layers on top of layers on top of package managers that were shifty when they were written in the early 90s” package managers so many distributions cling to.
This post brought to you by the bitterness of another weekend spent spelunking around inside of LLVM.

Posted in Computers, DIY, General, Navel Gazing | Tagged , | Leave a comment

Proto-netbook

While rooting around one of the labs to clean up for E-Day earlier, I ran into the pile of old Compaq Aero 4/25 subnotebooks the group has never disposed of, and played with one for a few minutes. Here it is next to my current machine:

Aero 4/25

A Compaq Aero 4/25 next to my T510


These charming little things are the forerunner to the modern netbook, and, like many of the early subnotebooks, have something of a following. These particular examples spent much of their lives as The TTL Papers Microcluster, and are hence in surprisingly good physical condition for 15 year old hardware. They are set up to dual boot the tweaked MS-DOS/Windows 3.1 environment they ship with, and, unless interrupted, automatically continue into Linux via loadlin, an arrangement I suspect has to do with the lack of an obvious user-accessible BIOS layer. I once coaxed the PC Compatibility card in a Powermac 6100/66 to boot Linux, this appears to entail similar acrobatics, with “quirky” hardware and a bizarre boot sequence.
The machine is remarkably usable and responsive, especially under Linux, despite the fact that the “4/25” in the name refers to the 4Mb of RAM and 25Mhz 486sx that form its tiny little heart. It makes a terrible reminder of how bloated software has become. Someone clearly put some care into the OS on ours around 1997 and built a pretty nice system, with a 2.0.27 kernel, reasonable selection of utilities, remarkably attractive monochrome DIR_COLORS (which I spirited off), GCC, and Vim, in addition to the AFAPI/PAPERS materials. There is no X server (which is to say, the installer wasn’t obviously insane), but there is also no screen or workalike I could find. I don’t see much evidence of any distribution I know was around at the time, and the kernel is clearly custom built, so it may well have been a fully hand-rolled system. The fact that the internet is full of stories about how uncooperative Aeros could be, and that the leading digits of the kernel version being “2.0” strongly suggest it is a seriously, incompatibly old-school setup, indicate that while it would be fun to tinker with, it probably isn’t a good idea.
The little machine brings home the point that a keyboard, a screen, and a roughly POSIX-like environment in a portable package is, was, and will continue to be most of what a portable device needs to be a desirable thing.

Posted in Computers, DIY, General, Objects, School | Leave a comment

HAK Wired

To follow up the previous post, the group finished wiring HAK Friday afternoon… and into the evening. About 480 runs of Cat5 for both the FNN and a separate network for monitoring and provisioning. It’s an interesting looking network; because of the way it was designed, it is unusually symmetrical for an FNN, so the core has trunks for the rack-crossings on each network, and is therefore rather neat:

Unfortunately, this does mean that all the cables in each wing are passing through the small slot in the center… which looks about like you would expect from the back:

It should produce some interesting results.

Posted in Computers, DIY, General, School | Tagged , | Leave a comment

HAK Wiring


I’ve spent a good fraction of the last several days helping with the preparation and assembly for a cluster the research group is building from 96(+4) old Athlon XP nodes to conduct network research on. The machine is named HAK for “Half-powered Athlon cluster in Kentucky, referring to the fact that every pair of nodes is sharing a power supply (notice the flipped cases). This design is both to save power (switching power supplies are most efficient when heavily loaded), and save power supplies, since that is the part that has had the highest failure rate in the pool of machines used to build it. After a couple passes of repairing nodes, homogenizing network cards and the like, we got to the photogenic part today: attaching the network. In the picture, there is a standard tree topology 100Megabit Ethernet network across all the nodes (the yellow and pink wiring), which will be used for administration and provisioning, and began sticking a full FNN (the bundles of red cable snaking around… those are the first 3 sets of 32, the other 9 are the colored bundles on the floor). That machine is set up to have it’s network swapped out with a FFNN (Fractional Flat Neighborhood Network) and SFNN (Sparse Flat Neighborhood network), but requires this initial fully populated Universal FNN as a baseline for comparison.

Posted in Computers, DIY, General, School | Tagged , | Leave a comment

Nokia Plan B

To follow up the last post, this is pretty cool – a shareholder driven concept for a slimmer, more directed Nokia that remains in control of their core platform. I’ve read through and am in near complete agreement with their plan, and it sounds a lot better than “Become the next Kin.” I don’t directly own Nokia stock (apparently I do indirectly hold some through mutual funds), but I would be seriously considering it if I did, and I hope they succeed. I’d also like to add a proper citation for the previous claim that Microsoft’s mobile partnerships are a string of painful failures.
In more pleasant news, some users have hacked together another new patch set for the Diablo/OS2008 maemo release the n810 runs, and now that I’ve got a new battery and rid myself of the BME bug I hope to play with them. I’m thinking I’ll be a little more cavalier with my use of alternate OSes and software on my n810 now that it is getting problematically obscelescent.

EDIT: It was a hoax.. The issues are real though.

Posted in Computers, DIY, General, Objects | Tagged , , | Leave a comment

Hackbiscus

I’ve had the idea of a “Hackbiscus” emblem rattling around my head for a while, and I was contemplating it again as a possible option for theming the new blog. The idea is to have a hibiscus with it’s stamen arranged in the pattern of a glider(⠠⠵).  The glider has been suggested, and weakly accepted, as a suitable emblem for hacker culture.  Even better, most Hibsicus really do have five Stigma, so it is biologically correct.  With my affection for Aloha shirts and both Hawaiian and Hacker culture, it seemed like a good sigil… and the pun on “Hacker Stigma” is too good to pass up.
It should be an easy trick to make; take one of the common outline images of a hibiscus (It turns out there are about 10 of them from which nearly all prints/stickers/etc. are derived), pull it into GIMP and massage the dots representing the five stigma into the correct pattern.  The problem with this plan is I’ve never found an example of the separated-stamen pattern larger than an oddly aliased 400×400 gif. The solution to that problem arrived the other day when my advisor showed me how to use the Trace Bitmap tool in Inkscape, during a discussion about preparing images for the Silhouette SD cutter the group bought recently to use in some projects (more on that later, hopefully).   I’ve never had good luck working Inscape in the past, but decided to try it to get a nice resizable smooth-edged Hackbiscus. I got excellent results with only a little bit of parameter fiddling, as shown above (although, that is 400×400 like the source image. It scales up indefinitely, promise).

Posted in DIY, Entertainment, General | Tagged , , | 1 Comment

Notes on Migrating Flatpress to WordPress

I’m going to post up some notes on the process of migrating my content from the Flatpress (wordpress-like flat-file backed CMS) instance at my old blog to a WordPress (the dominant CMS for blogs, MySQL backed) instance here at pappp.net.  The short version? It is seriously aggravating. Long block of text follows.
Continue reading

Posted in Computers, DIY, General, Meta | Tagged , , , | 2 Comments