Archive for the ‘Computing’ Category

Running OSS? Don’t buy Brother

2007-08-29 (Wednesday)

It’s the all-too-familiar case of Decent Product, Crappy Drivers.

Both printer and scanner drivers from Brother are simply binary blobs wrapped with [L]GPLed code. Really, really crappy code at that.

The stock CUPS filter wrapper for MFC-420CN actually did not work at all as it was, for some bizarre reason, written in csh: not the most widely used default shell for Linux distributions. After dissecting the code, I realized that the two or three dozen calls to the binary blob printer configuration tool could be replaced with a single call, provided that some smart argument processing is done instead of configuration the printer for every single setting that needs to be parsed from 3 separate sources.

I am currently working on replacing this abomination with Perl.

Of course, that’s only half of the story, as the MFC-420CN is a multi-function printer/scanner/fax.

To make a long story short, I am about 10 minutes into trying to get the scanner to work, and I’m already baffled at the sheer insanity of it all. It requires /proc/bus/usb to be mounted 0666, a manually created usbscanner node, and, from what I can gather from the “source” tarball, has various parts of other OSS projects compiled in statically, like snprintf, strdup, getenv, and usleep.

On the plus side, if you don’t care about polluting your /usr/lib, the drivers do seem to work reliably if you let the RPM do its thing. Nevertheless, cheap toners be damned, what Brother printers I have now will be my last.

Oh For Fuck’s Sake

2007-08-24 (Friday)

I… hate… RedHat…

For fuck’s sake—get it together AMD/ATI

2007-06-01 (Friday)

ati-drivers-3.37.6 was just released.

Here’s a list of things that doesn’t work with my laptop:

  • Switching to “Big Desktop” mode
  • Catalyst Control panel being able to start with xcb support in xorg
  • Catalyst Control panel being able to accurately enable and disable the external monitor

Naturally, all these are features that used to work a few versions ago, with older versions of Linux and xorg.

Bad ATI. You too, AMD.

PowerTOP

2007-05-13 (Sunday)

While browsing Gentoo Online Package Database for curiosity’s sake, I stumbled upon PowerTOP, a utility created by Intel to point out applications that may be interrupting the system too often and affecting battery performance.

I’ve yet to put it to use myself, but the Tips & Tricks section alone was somewhat enlightening. It’s surprising how many big-name applications have somewhat-questionable polling implementations.

What’s in a digit

2007-05-02 (Wednesday)

If you’ve been following any of the major user-contributed blogs/news sites in the last few days, you’ll most likely be aware of a certain “16-digit hexadecimal number” that has been the center of some pretty interesting happenings.

Now, here’s the problem: for anyone that’s passed counting-without-your-fingers, there are clearly 32 alphanumerical characters in the sequence. Folks, that’s a 16-byte hexadecimal number, not 16-digits.

Getting the units correct, as always, is important.

Valuable lessons learned

2006-10-03 (Tuesday)
  • When the assignment due date you wrote down seems suspect, do double check it before the week that you think it’s due.
  • When switching from C++ to C, remember that C is lazy.
  • References in bound-dead-tree form are good
  • Having references in general is good
  • Web references are sometimes not so good
  • manpages downright suck if you don’t know what you’re looking for
  • C != C++
  • When starting assignments early, try to do it for not just one class
  • Start taking care of coop early, like, half-a-year before you want to start working early
  • It’s only the beginning of week 5 — better shape up, or I am beyond fucked
  • My desk-setup is good for my back and wrists, but not at all for my neck

So close…

2006-09-25 (Monday)

After about a couple dozen too many hours, over 900 lines of new code, and lots of finger food, I’ve finally produced something that almost conforms to the specs of my second compilers’ assignment. There’s still one major bug, but I’m willing to let it be until the morning.

Six more assignments to go!

(I’m gonna die…)

I’m back!

2006-09-12 (Tuesday)

Internet was hooked up today.

Yays for internets!

Victory is mine!

2006-08-30 (Wednesday)

At last, I’ve succeeded in setting up a Debian router with CUPS and Samba.

As it turns out, the reason why Samba wasn’t talking to CUPS was because the spool directory did not exist. I’m sure I would have figured this out much sooner had I turned up the logging level while configuring. Eh, it didn’t take too long to figure out. Otherwise, everything has turned out fine after a proper upgrade to testing, except printing via CUPS to the multi-function network printer (a non-issue) and the fact that CUPS’ web interface is completely non-functional when it comes to adding new printers.

Incidentally, today is the more-or-less official start of Missy and I’s renting agreement with our new landlord. Now that this Debian box is up and running, I no longer have to worry about leaving my parents with a non-functioning network once I take away the wireless router, and focus on more pressing matters, like organizing last-minute FroshWeek details, and figuring out how to get all of my crap over to my new place of residence.

Fuck Debian

2006-08-29 (Tuesday)

I’ve now spent about 3 hours more than I had planned and expected to spend to get CUPS, SAMBA, and Windows to all play nice with each other. In fact, the entirety of that 3 hours was trying to get cups to play at all.

I’m about to throw in the towel on Debian and use Gentoo for this router instead. However, I’m going to tough it out for one more day and see if things get any better after a purge and reinstall of cupsys.

While I figured a binary-based distro would be a much better choice for a P166, I am so far unimpressed with Debian. Perhaps Ubuntu server was a better choice?