One day while watch­ing Arrested Devel­op­ment, I noticed some­thing: The theme song is strik­ingly sim­i­lar to the Pac-Man theme.

I had to slow the Pac-Man theme down a bit to match these up, but otherwise:


Arrested Devel­op­ment / Pac-Man


Update: More at CelineThe­Fe­line

I began notic­ing recently that some­times when try­ing to send a file to the trash, I was told that it couldn’t be moved there and that I’d have to delete it entirely to get rid of it. I didn’t really think any­thing of this at first, until I began to sus­pect that it was only hap­pen­ing with files in my /home directory.

My /home direc­tory is on its own par­ti­tion on a stan­dard hard disk. The rest of the file sys­tem is on another par­ti­tion on an SSD. In order to fully reap the speed ben­e­fits of an SSD, I sym­bol­i­cally linked as many non-personal direc­to­ries as I could from /home to the /var/jay on the SSD. These included ~/.local, ~/.cache, ~/.gconf, ~/.mozilla, etc.

I didn’t really know much about the way Linux/GNOME han­dles Trash. Files deleted from a third inter­nal hard disk or from USB sticks would be moved to /.Trash-1000 on that device, while appear­ing in “Trash” in Nau­tilus. Files from a user’s home direc­tory, how­ever, don’t go to /home/.Trash-1000, or even /.Trash-1000 — instead, they go to ~/.local/share/Trash. Because in my setup this direc­tory was on the SSD rather than the hard disk with the /home par­ti­tion, GNOME refused to move it there, since that would require copy­ing from one disk to another, which GNOME’s devel­op­ers (smartly, I think) believe would be alarm­ingly time-consuming for some­one who’s just try­ing to delete some files — they shouldn’t expect to see a copy dia­log grind­ing away.

In order to try to fix this, I made ~/.local/share/Trash into a sym­bolic link itself, back to the /home par­ti­tion at ~/Trash. After this change, things were get­ting trashed prop­erly — at least, I wasn’t asked to delete them entirely — but they weren’t show­ing up in Nautilus’s Trash view. I don’t know how Nau­tilus makes itself aware of all the trash fold­ers spread across dif­fer­ent devices, but for what­ever rea­son it wasn’t pick­ing up on this one, even after sev­eral reboot cycles.

Finally I gave up and moved ~/.local back onto the same par­ti­tion as /home, and now everything’s back to nor­mal. But I’d still like to know if it’s pos­si­ble to keep ~/.local on a sep­a­rate disk while retain­ing GNOME’s and Nautilus’s ordi­nary trash behavior.

Bug report­ing sucks, it’s clear. How can it be better?

One idea that could alle­vi­ate a lot of the headaches of bug report­ing while pro­vid­ing increased func­tion­al­ity is a desk­top bug-reporting appli­ca­tion. I won’t pre­tend to be famil­iar with any APIs that are made avail­able by Launch­pad, GNOME, Bugzilla, Trac, etc., but I have to imag­ine that some exist. I also won’t pre­tend that I’m the first to have this idea — it’s entirely pos­si­ble that it’s been attempted and that those attempts have failed many times. But from where I’m sit­ting it seems like a near-perfect solu­tion. Here are the ben­e­fits we’d get from a desk­top bug-reporting application:

  1. It can man­age your bug tracker logins.
    Imag­ine hav­ing all your bug tracker logins stored in a lit­tle data­base for you on your desk­top. More than that, imag­ine being able to reg­is­ter at a new bug tracker with just a few clicks using the per­sonal infor­ma­tion kept by the application.
  2. It can iden­tify the bug tracker used by a given appli­ca­tion.
    This may actu­ally be a bit dif­fi­cult. It’s pos­si­ble that this could be done by hav­ing appli­ca­tions make this info avail­able in some way, although that puts a bur­den on appli­ca­tion devel­op­ers, and I assume there is no sys­tem cur­rently in place for some­thing like this. It’d require some creativity.
  3. It can iden­tify the pack­age in the appro­pri­ate bug tracker against which to file a bug.
    Launch­pad is prob­a­bly the bug tracker with which I’m most famil­iar, and there in par­tic­u­lar it seems to me to be plau­si­ble for a bug-reporting appli­ca­tion to eas­ily find the pack­age against which a bug should be filed. How many peo­ple even know that Ubuntu’s default PDF viewer is called “Evince,” or that its default image viewer is called “Eye of GNOME,” or espe­cially that the Eye of GNOME pack­age is called “eog”? Imag­ine instead being able to choose from a list of run­ning appli­ca­tions and hav­ing the bug-reporting appli­ca­tion do the rest.
  4. It can pro­vide bet­ter search for dupli­cates.
    Launch­pad only presents you with pos­si­ble dupli­cates after you’ve entered the title of your bug report. A desk­top appli­ca­tion, on the other hand, could con­tinue to search for dupli­cates as you’re elab­o­rat­ing on the bug in your descrip­tion, updat­ing on-the-fly and pre­sent­ing you with rel­e­vant excerpts from the poten­tial dupli­cates’ descrip­tions. And if it has a high enough con­fi­dence in a match, it can ask “Are you sure?” before allow­ing you to submit.
  5. It can col­lect and upload sys­tem logs.
    Not only could a desk­top appli­ca­tion attach basic sys­tem logs and hard­ware info, but it could cat­a­log which version(s) of your application’s depencenc(y/ies) you have installed, poten­tially sav­ing hours of work per bug.
  6. It can open an impromptu chat with oth­ers suf­fer­ing from the bug, or with pack­age main­tain­ers.
    By check­ing the online avail­abil­ity of other bug suf­fer­ers or pack­age main­tain­ers, this appli­ca­tion could inte­grate with Empa­thy, Pid­gin, or IRC to put you in con­tact with them, if they choose to make them­selves available.
  7. It can search exist­ing help avenues for poten­tial solu­tions to your prob­lem.
    Stack Exchange (Ask Ubuntu, Super User), Quora, Ubuntu Forums — search­ing all of these places takes time, and might not even occur to a large num­ber of users. Search­ing these places on-the-fly as bugs are being described might pre­vent unnec­es­sary bugs from being filed in the first place, or direct bug suf­fer­ers toward tem­po­rary workarounds.
  8. It can look for PPAs that con­tain updated pack­ages that might fix the bug you’re report­ing.
    Many times the appli­ca­tions in offi­cial repos­i­to­ries are out­dated, and many times the most com­mon bugs have been fixed in more recent releases. Given ade­quate safe­guards, this could be invalu­able for peo­ple des­per­ate for a solution.
  9. It could inte­grate with the mes­sag­ing menu.
    “Some­one just marked one of your book­marked bugs as ‘Affects me too.’ They are avail­able for chat. Would you like to con­tact them?“
    “The bug ‘[bug descrip­tion here]’ has a new comment.“

I’m sure with my lim­ited imag­i­na­tion I’ve not even scratched the sur­face of what a desk­top bug-reporting appli­ca­tion is capa­ble of. What else would you like to see in one? What would some of the pit­falls be? Is this prac­ti­cal or imprac­ti­cal, and why?

Bug report­ing sucks. Every time I’m forced to do it, it’s labo­ri­ous and soul-draining. It makes me give up hope for free soft­ware hav­ing a viable future. But it’s nec­es­sary, (a) as the way I “pay” for free soft­ware, and (b) to see if maybe I can slightly has­ten a hypo­thet­i­cal future where the soft­ware I rely on daily might work rea­son­ably well (it’s coming!!).

Here are the stages of bug report­ing, and why each of them sucks:

  1. Tol­er­at­ing the flaws in the soft­ware because it’s bet­ter than fil­ing bugs about them (time frame: 2 weeks to a life­time)
    This stage is prob­a­bly the worst, in the most insid­i­ous way, because although it is less tedious and frus­trat­ing than the fol­low­ing stages, it’s the one that inspires the most hope­less­ness in you. Unless you are com­pletely enshrouded in ide­ol­ogy, you will begin to resent your com­puter more than Win­dows users do.
  2. Fig­ur­ing out against which pack­age to file a bug (1 minute to 2 hours)
    We’re only in the sec­ond stage, and already you have to have a pretty deep famil­iar­ity with Linux and bug report­ing in gen­eral to move for­ward. Say, for instance, that Flash is crash­ing Fire­fox. Holy hell do you have a lot of work to do! There are prob­a­bly at least ten inde­pen­dent vari­ables at play here, includ­ing the obvi­ous cul­prits Fire­fox and Flash, but also your video card dri­vers, your Fire­fox plu­g­ins, and your win­dow man­ager. If you don’t spend enough time exper­i­ment­ing with dif­fer­ent com­bi­na­tions of these vari­ables (remem­ber­ing that this bug almost cer­tainly isn’t repro­ducible on com­mand), then you’ll be wast­ing everybody’s time by fil­ing against the wrong package.
  3. Fig­ur­ing out where the cul­prit pack­age tracks its bugs (2 to 10 min­utes)
    Ooh, this is fun. First go to Launch­pad, nat­u­rally. You might encounter sev­eral pages that look sus­pi­ciously sim­i­lar; if that hap­pens, just close your eyes and pick one. If your pack­age isn’t on Launch­pad, you might get lucky and find a link to some Bugzilla site or the project’s home page (“I hope the devs still own that domain!”), oth­er­wise you are at the mercy of Google.
  4. Remem­ber­ing your password/creating an account at the cor­rect bug tracker (1 sec­ond to 10 min­utes)
    Oh right, there is no uni­ver­sal login for *all* Bugzilla sites, of course, so I’m going to have to cre­ate a new account. Oh, it says there already is an account asso­ci­ated with my email address. Huh. Ok, send me the link to cre­ate a new pass­word. Did that go into my spam folder? Oh, ok, finally, here it is. Alright, click. Now to file a new bug. Oh wait, I’m not logged in? I thought that would have done it. Ok, “Log In.” Ok.
  5. Look­ing for an exist­ing report con­cern­ing your bug (0 sec­onds to 15 min­utes)
    I have seen bugs with dozens of dupli­cates attached to them. Devel­op­ers must love that. Launch­pad does a pretty ok job here, search­ing for exist­ing bugs based on the title you give. It’s not often that I see a match, and when I don’t, I’m not com­pletely con­fi­dent that there isn’t one some­where in there. I usu­ally resort to Google and use my own human brain to fig­ure out other ways the symp­toms of the bug might have been worded. I don’t want to be one of those dunces who files dupli­cates, after all.
  6. Ver­bally artic­u­lat­ing the symp­toms of your bug in a way that is suc­cinct, unam­bigu­ous, and thor­ough (2 read­ings of Strunk & White)
    Ok, I hope you’ve got a lib­eral arts degree. Oh wait, you don’t, because you are using Linux. Hell, even if you do, some­times the sub­tle con­di­tions that lead to the expo­sure of a bug are so dif­fi­cult to describe that you end up with bloated sen­tences in which you’re mostly try­ing to con­vey some­thing visual or with a far too com­plex lin­guis­tic parse tree:

    “So, then if I click on the but­ton again, this time *after* clear­ing the .con­fig direc­tory, but with­out hav­ing restarted the pro­gram, the drop-down list (usu­ally just the “Pro­files” one, but some­times all of them) will lose any entries that I cre­ated (except for the ones made before I upgraded to 0.0.2.11).“

    What you find your­self want­ing to do is take a video of the prob­lem occur­ring, but that would require sub­ject­ing your­self to the hell that is desk­top video record­ing soft­ware for Linux, a path that will only leave you spi­ral­ing fur­ther and inescapably down into the toi­let that is the bug report­ing process.

  7. You’re done! Oh oops, you’re not. Col­lect sys­tem logs and info (2 min­utes to 30 min­utes)
    One of my least favorite mem­o­ries in life is the hours I spent diag­nos­ing a prob­lem with hiber­na­tion on my lap­top. Or was it hiber­na­tion and sleep? Who the hell knows, the shit didn’t work and I banged my head against a brick wall of diag­nos­tics and bug report­ing and research­ing so furi­ously that by the end of it my room­mate found me naked on the cold tile floor of our bath­room, shiv­er­ing and blan­keted in sweat. Oh, did the bug ever get fixed? Is there a dif­fer­ence between a bug get­ting fixed and your brain cop­ing with the stress of it by mak­ing you numb to it? I don’t know. I don’t know. Oh any­way, yeah, be sure to grab some logs and shit, they’ll prob­a­bly need that.

That’s it. Oh my god I hate it every time, it’s like pulling god damn teeth, and it’s a won­der any­body chooses to do this with their free time. What in the hell is wrong with me? And more impor­tantly, how can we make this bet­ter? I have an idea, but I’m too emo­tion­ally exhausted right now to get into it.

Update: Part 2

Skip for­ward to about 2:20.

Update: Here is the orig­i­nal video from which Colbert’s clip was taken. More from O’Reilly about us being “lucky.”

It is so plainly obvi­ous how deeply flawed O’Reilly’s rea­son­ing is here, and these are more words than the sub­ject could pos­si­bly deserve, but I can’t help but want to address it.

What’s really pecu­liar about it is that he doesn’t seem to be say­ing that the cre­ation of the moon can’t be explained by ordi­nary, mechan­i­cal events. I’m sure he’d agree that it’s viable to the­o­rize that a huge aster­oid smashed into the earth a cou­ple bil­lion years ago and formed the moon. It has explana­tory power, although there is no way to know for cer­tain that that hap­pened, because we can’t observe it directly. And that seems to be his point; it’s one thing for apol­o­gists to point to some­thing that can’t be explained in order to sug­gest that there is a god — “Why is there some­thing rather than noth­ing? Why is the grav­i­ta­tional con­stant what it is?” — but here he’s invok­ing some­thing so triv­ial, some­thing that can be explained, but whose expla­na­tion we can’t ver­ify with absolute cer­tainty, and sug­gest­ing that it has the same log­i­cal heft.

Con­tinue reading →

Lately, my Dell Vostro V13 has been act­ing up. Or, rather, Ubuntu has been act­ing up on it. At first I thought it was lim­ited to hiber­na­tion: wak­ing from hiber­nate often (and I mean often) failed, shut­ting power off to the machine some­time dur­ing boot. Then I began notic­ing that it had also been hap­pen­ing while boot­ing back up from an ordi­nary shut down. Some­times it took three or more tries to get back to the desk­top in these circumstances.

I’ve explored what feel like count­less pos­si­ble expla­na­tions — shut­ting the screen before shut down/hibernate had com­pleted, the wire­less dri­ver, the wire­less being on dur­ing shut down/hibernate, the “splash,” “quiet,” and “no_console_suspend” flags in GRUB (and their 8 per­mu­ta­tions), two shut downs/hibernates in a row (rather than alter­nat­ing), the par­tic­u­lar ver­sion of the ker­nel, and, finally, some uniden­ti­fi­able kink in my instal­la­tion that resulted in me rein­stalling Mav­er­ick entirely.

Noth­ing seemed to alle­vi­ate the prob­lem. Even the third or fourth boot after rein­stall (the first one after updat­ing to the newest ker­nel, in fact) failed in the same manner.

Con­tinue reading →

It wasn’t until Mark Shuttleworth’s announce­ment of “windi­ca­tors” that I learned of the ratio­nale behind the palette of noti­fi­ca­tion col­ors in the indi­ca­tor applet. To quote:

[Windi­ca­tors] would fol­low the same styling as Ayatana indi­ca­tors: Seman­ti­cally col­ored: with red for crit­i­cal prob­lems, orange for alerts, green for pos­i­tive sta­tus changes and blue for infor­ma­tive states that are not the default or usual state.

This came as a real sur­prise given that I had (and still have) never seen a blue or orange indi­ca­tor icon.

The obvi­ous and pri­mary objec­tion is that four col­ors in a palette to con­vey mean­ing is far too many. Shut­tle­worth even said as late as April 1 — just four weeks before Lucid’s release — “Per­son­ally, my expec­ta­tion is that green vs orange/red is as far as we want to go.” Two col­ors is an absolute max­i­mum here — one for neg­a­tive mes­sages about some­thing being bro­ken, the other merely to notify you of some­thing — although even one should suf­fice: “Some­thing has changed; request­ing your attention.”

If “orange is for alerts” and “green is for pos­i­tive sta­tus changes,” then why do new IM mes­sages turn the mes­sag­ing icon green? Isn’t that an alert? What is “pos­i­tive” about get­ting a new mes­sage? What if it’s your boss fir­ing you? Your boyfriend break­ing up with you? A spambot?

Con­tinue reading →

Recently I got a Nexus One, which had me curi­ous to dis­cover the value (if any) of location-sharing appli­ca­tions like Foursquare and Gowalla. I had dor­mant accounts for both, and decided to see who among my con­tacts were actu­ally using these things. I imag­ined not many.

Foursquare’s friend finder was straight­for­ward and I was able to add three or four peo­ple. Gowalla’s, on the other hand, mis­led me into send­ing an invite to all 947 peo­ple in my Google con­tacts. This includes peo­ple I bought stuff from on Craigslist; old bosses; old girl­friends; co-workers; prob­a­bly even prospec­tive employers.

The trick was in mim­ic­k­ing a fairly stan­dard “Step 2″ for­mat for these types of func­tions. It appears that I’m being pre­sented two choices here: the first, to begin fol­low­ing only those con­tacts who are already on Gowalla; the sec­ond, to send invite emails to all checked names in the list.

Instead, both but­tons do exactly the same thing. So when I clicked the but­ton at the top, an email was sent to every per­son on that list. There was no pop-up win­dow telling me, “You are about to send an email to 947 peo­ple. Continue?”

For­tu­nately I hadn’t used my full name on my pro­file; the email peo­ple received came from no-reply@gowalla.com or some­thing sim­i­lar; and I deleted my pro­file as soon as I real­ized what had hap­pened. So hope­fully I wasn’t as incrim­i­nated as I may have oth­er­wise been. I know I roll my eyes when­ever a friend has fallen for an obvi­ous trap like that. And I like to think I’m pretty good at spot­ting these tricks. But this lay­out is out­right deceptive.