Linux for the Masses

It’s not there yet. I’m being totally unfair, because comparing Windows or OS X to the Linux distribution I’m using (Gentoo) is like apples and oranges. Gentoo is meant for people who are comfortable with the command-line and want to experiment. (It’d be fairer to compare Windows to Suse.) But I just want to bridge a connection between an ethernet card and a wireless USB device. Is that too much to ask? When I did this in Windows I just highlighted the two connections, right-clicked, and chose “Bridge Connections.” It spun for a little bit and then it was done. End of story.

The work started yesterday, when I figured out that the reason nothing would emerge is that there were bad GCC flags in my make.conf file. How they got there, I’ll never know. Bad ebuild I guess. So I got that fixed, synced, and updated world. 85 packages! The next day I compiled a new kernel (2.6.7-rc2) but forgot to load the Tulip module required for my ethernet card. Recompile, reboot. Runs great, and I tell myself everything is running faster. Right now I’m bridging my desk LAN to the main router through the Windows desktop, and since I just moved the linux box on a new UPS I’d like to move the wireless connection there too. I was feeling lucky, so I tried just plugging it in to see what happened. dmesg, device not recognized. Search search search the excellent Gentoo forums, find out that to get my MA101 working I shouldn’t use the drivers from Sourceforge, but rather the at76c503a Atmel drivers for wireless USB devices. Download, compile against current kernel sources, install. Reboot. Don’t have any wireless tools. emerge wireless-utilities. Twiddle for 45 minutes to see why it won’t see any networks. Forgot to enable “Wireless radio (non-HAM)” support in the kernel. Recompile. Reboot. iwscan shows my network, iwconfig wlan0 works as expected. The instructions that tell me to put in ad-hoc mode are wrong. (Hour later.) Put it in Managed mode. Cycle the device and run dhcpd wlan0. Ping Yahoo. Online! Track down documentation on bridging. Emerge bridging program. Appears to run fine, but gives a funky error and doesn’t seem to do anything. Add “802.11d bridging” support to kernel. Recompile. Remount /boot. Copy kernel. Reboot… Computer loads everything through Gnome, then mouse and keyboard freezes. Switch back to laptop, write blog entry to let off steam. Reboot again, just to see if it’ll work. Loads, run brctl.So far so good. brctl addbr mattlan returns br_add_bridge: Package not installed, which seems to indicate that the proper kernel module isn’t installed. Would check the .config, but the computer just froze again.

I need some rest.

Armchair Scaling Experts

random($foo): Internet Asshattery, Armchair Scaling Experts Edition. If you’re not the largest site using a given piece of software or framework and you’re having more trouble than someone who is, you’re doing it wrong.

With WordPress specifically, there are hundreds of sites I can point to that scale just fine to meaningful traffic levels with no caching, plugins, or anything. If your server is tuned for serving static files instead of dynamic requests, then a plugin to make WP output static files is a fine band-aid, but only if you don’t have the access or expertise to properly configure things in the first place. (In which case you should consider alternative hosting, help, or a hosted service like WordPress.com.) But people like to think that (1) they’re bigger or more special than anyone else or (2) that the 5-6 layers that sit under WordPress have nothing to do with its performance.

I don’t expect everyone to know about this, it’s very much a learning-by-doing thing and everyone’s situation is different. But at least operate with the assumption that if there’s someone bigger running without troubles that they (or sufficient Googling) might be able to help you out.

See also: the shockingly ignorant comments (over 200 at this writing) on this post. There are some smart people in there, but they’re drowned out by “wind0z sux!” and “that’s what you get for using (PHP|MySQL|WP|IIS|RDBMS)…”

Here’s a WordPress blog doing just fine: