The Dangers of a Public Clipboard

I know that an L. Hall (name shortened) last sat in front of this computer. How do I know? Because their entire paper was copied into the clipboard. Times, dates, class number, the whole nine yards.

Just because you close the browser, doesn’t mean all of your private information is gone. Any feature, any program you use, you need to be absolutely certain that all your data is deleted.

Be careful.

A Short Review of MOG

Logging into MOG is liking walking into a record store and listening to whatever you want for however long you want. MOG provides a huge selection of music that’s only as limited as far their agreements with labels reach. The monthly plan starts at $5/month, though I believe there are discounts that bring it closer to $4/month if you get a long-term subscription. This is extremely competitive, and well worth it depending on how much music you listen to and discover. (I make more than enough discoveries for it to be worth the cost.) Continue reading

Non-obvious, Unannounced Gentoo Update

I’m not too happy the devicekit-power package has become unsupported but still remains in the tree as stable, with not even a word in elog or similar. This package depends on libusb:0, which has some pretty unfortunate bugs, resulting, at least for me, in power management only half working. I praise the developers of GNOME yet again for solid code writing that chugs along and still recognizes my battery and other things despite crashes like this.

It’s pretty easy to update and move on. Simply run emerge -1v upower and portage will handle the transition.

qemu-user: Turning your dual-core 2.6GHz processor into a dual-core 500MHz processor

I just discovered qemu-user, thanks to lu_zero on #gentoo-embedded. It’s brilliant. They took QEMU’s ability to simulate an entire processor, tossed out the other hardware emulation, and packaged it up. qemu-user’s primary use is for running foreign binaries.

So far, I’ve been running all my stage generation for Neuvoo on the BeagleBoard, which has a 500MHz armv7a processor. Everything compiles very slowly, but at least it’s native and stable.

There’s a couple problems with that setup. First, everything is running off an SDHC card. We’re talking slow. Second, the beagle has 128M of RAM, and after that it’s using the swapfile. Which is on the SDHC card. Now we’re really talking slow.

qemu-user deftly solves these problems. Of course, running stage generation on my hefty 2.6GHz Core2 Duo processor is going to slightly speed up compiling, just because of the dual cores. But not only that: now I have a huge, fast 7200rpm hard-drive to run everything off of, and 4G of RAM (2 of which is almost always cache) to run it all within.

Think of it like this: qemu-user enables you to run a chroot (and possibly other things) for almost any processor on a system of your choice, as though it were running natively.

Setting up qemu-user is a piece of cake, so I won’t go into details here. Just follow these instructions. One thing I didn’t get at first was why they use “USE=static”. The reason is this: if you’re going to be running an armv7a chroot, you need something inside the chroot to be translating (qemu-user). The problem is, that something can’t link dynamically against any libraries, because they’ll all be armv7a libraries. Static linking means the binary is self-contained and portable.

Let me know if there are other cool uses for qemu-user. I’m all ears. 🙂

Course Listing Database Project

I was just told by UMass Dartmouth that they wouldn’t be releasing publicly available data in a database format just so I, a mere student, could work on a simple project for what they deemed is likely only a personal project for my own benefit, without actually asking me what the project is about.

They then proceeded to say I was more than welcome to process the HTML-ified version of the course listing, which, they reminded, is a more ambitious project. What the…!? Are they trying to make my life difficult?

Well, you know what? I’m going to process that HTML, and then I’m going to push that database to my home directory on the UMass Dartmouth servers, so everyone can use it without bothering with talking to these people.

There shouldn’t be any problem with this, given that it’s already publicly available information. I think the real problem here is they just don’t have time for silly student ideas.

Edit: HTML processing code finished. I have an SQLite database of all UMass Dartmouth classes. 🙂

Do (Computer) Geeks Really Rule the (Computer) World?

I just read about an interesting development with the latest iPhone. It all started when we found out the iPhone’s antenna is bad. Now we’re finding out AppleCare has informed customers it won’t be fixed (really), Consumer Reports specifically does not recommend the iPhone 4, and Apple forum moderators are deleting threads right and left, which apparently isn’t out of the ordinary, nor will that likely change in the future. (Whew, that was a mouthful!)

If that weren’t enough, Megan McArdle reported about a growing aggravation with Apple’s policies among the geek crowd (surprise, surprise).

Now, what I have to say here is largely speculation. It’s one of those thoughts where you think about it, and it interests you, but you have no real way or need to prove it at the time, but, as time goes on, you start to notice patterns that add leverage to the idea. Continue reading

“I like bug 327809”: Let’s make revdep-rebuild obsolete

That’s a quote from solar. I also like this bug. I really like it. I think it’s one of the best bug reports I’ve ever seen.

(First, a disclaimer: I’m not a Gentoo developer, I’ve only just started any kind of serious portage work, and have had quite a few stupid ideas at this point. Take what I have to say with a healthy pinch of salt.)

First of all, here’s the bug link:

Here’s a highlight of what I think makes this bug so impressive, and my comments on it: Continue reading

Excellent Post About Free Software Purists

Edit: Almost forgot to mention: I heard about this blog post from flameeyes.

There was a really, really good blog post that actually clarified to me what was for so long a nuisance in discussions with Free Software purists (and I couldn’t reason out why at the time). Read this quote:

A long time ago, Larry Wall gave a “State of the Onion” speech. Larry is the guy behind Perl, the programming language, and every year he gave a talk about what he believes Perl is all about and where it’ll be going over the following twelve months. Larry’s not really a programmer; he’s a linguist who does a lot of programming. So his view on what a computer language should be is uniquely interesting, and should be read. Anyway, he spoke of freedom, and characterised the ends of the spectrum on the subject as “Bill” and “Richard”, those two being Bill Gates (at the time head of Microsoft) and Richard Stallman (head of the Free Software Foundation): the idea here was that those two represented the ultimate expressions of their philosophies. Richard Stallman was at the far extreme of belief in free software; Bill Gates was at the other far end, decrying the very concept of freedom. It was a throwaway joke, at the time; a caricature for the purpose of a laugh in a presentation.

I encourage everyone to read the original post, since it really brings some light out on the unreasonableness and extreme nature of the Free Software purist position.

Portage Hooks

Now that school is done for the 2009-2010 year, I’m back at it in Neuvoo again. I’m finishing off a long-planned and fairly major addition to portage I call “portage hooks.” The fun thing is I’ve submitted some patches to zmedico and the response has actually been more positive than previous experiences. solar seemed to be (tentatively?) liking the idea as well.

So, here’s what portage hooks are all about. If you have portage-utils installed, you will have an /etc/portage/postsync.d/ directory. Scripts in this directory are executed after portage syncs the tree. I thought this was a great idea, and I thought it should be expanded so there are other opportunities for unofficial extensions. Continue reading

Status of Gentoo on MacBook Pro (5,3)

HEY, LISTEN! This blog post and some of its tips are out-dated. You can read it but keep that in mind. I have a more detailed HOWTO-like blog post here.

  • ALSA: It supports all the inputs and outputs on the computer. The headphones and speakers get two different volume levels. I find setting headphones to 30% and speakers to 100% works perfectly for me, but every pair of headphones acts differently.
  • Graphics: NVIDIA drivers have been available from the start. No fuss or mess here, especially now that distributions have seemed to have finally found a way to package them in a way that doesn’t obliterate important X11 libraries.
  • Screen and keyboard brightness work if you install pommed. Since GNOME already recognizes the volume keys, I turned that off in pommed. The Banshee music player (my new favorite) understands the media controls, to my surprise! The eject button is also supported by pommed. As far as standard keyboard buttons go, the Home, End, Page Up, Page Down, Windows, Delete, and Function keys are all accessible via the Fn key, in combination with the left, right, up, down, Command, “delete”/Backspace, and Function keys respectively. (Why OSX doesn’t understand half these keys, and some of them only half the time, I still don’t understand.)
  • The large trackpad works very well. Single-finger click is a left click, two-finger click is a right click, and three-finger click is a middle click. Two-finger scrolling works very well, and can even be turned on and off in the Mouse settings in GNOME. Four-finger scrolling appears to be interpreted as a single finger, but that may be adjustable.
  • Within the last week or so, a new release of the isight-firmware-tools package (1.5.92) just added support for the iSight camera built into this MacBook. I am very happy about that, since that’s one less thing to reboot into OSX for. It still has some small setup required, but it’s a one-liner, so it barely registers on my “todo” list.
  • The wireless card works very well, and works with NetworkManager. Bluetooth works.
  • The battery is reported correctly in GNOME.
  • The SD card slot works. I’ve used it several times.
  • The fans require some doing. They don’t actually turn on automatically (scarily enough), so I had to hack up a script someone wrote to get the fan to react to temperatures reported by sysfs.
  • And the hard-drive, um, spins and stuff.

So, as you can see, besides pommed, a fan script, and the webcam, there’s really very little tweaking required. Everything more or less works.

Edit: The kernel configuration for this machine was requested in the comments below, so I’ve posted it here.