Archive for the 'Linux' Category

Why dual screens are still fail in Linux

Dual screen support is made of fail on Linux. In this post, you will learn why. I reference Ubuntu 9.04, but it applies to other distributions also. It is my hope that by documenting some of the problems, I will add intangible weight to the issue and make whoever fixes it feel good about their work.

Let’s walk through setup, shall we? First, you are required to log out after initially adding a second monitor to the system. I understand why this is, but it’s lame. I hoped that Ubuntu 9.04 would have had some magic way of fixing this. Apparently not.

Now, suppose the user is actually using the secondary monitor which has a smaller vertical resolution . One very nice feature of many window managers is edge resistance — when a window is close to the edge of the screen, it will sort of cling to the edge a little. This is usually what the user wants. As it currently stands, this is broken. The screen is treated as a big rectangle with smaller rectangular views overlayed on top of it — the monitors. The edges windows resist are on the big rectangle, not the smaller ones. This means that an edge on the smaller secondary monitor will not have resistance. This is inconsistent with the larger monitor, which is bad.

Finally, let us think about laptops. A large number of dual screen users are also laptop users, because laptops don’t usually have very big screens, and because pretty much all laptops (even low end ones) support dual screens. Laptops, being as portable as they are, have a tendency to be used in multiple locations. Some of these locations might have dual screens; some might not. When you leave a location which has dual screens, your first inclination is to unplug the second screen. Unfortunately, any windows which were visible on the second screen are now not visible at all. They now exist in a magic imaginary space off to the side of your primary screen. If you put the laptop into a power-saving mode like sleep or hibernate before pulling the second monitor out, you will have the same problem. The only solution is to end your session by shutting down the computer or restarting X11.

Advanced users will overcome this quirk by either moving all their windows off the secondary screen before unplugging it, or holding down a meta key and making blind grabs into the void in hopes of fishing out a desired window. Meanwhile, Microsoft Windows handles this issue easily. It simply moves all the windows that were on the secondary screen onto the primary screen. Why can’t X, xrandr, or the window manager do that?

About the Facebook redesign

Dearest Facebook,

You have no Linux users in your UI testing groups. Either that, or you ignore them. Or they don’t actually test. It’s one of those. I state this merely because Firefox 3 on Linux is not compatible with your new design. This has been tested in Arch Linux and the version of Ubuntu that came out back in April.

So anyway. The links on the main page don’t work. You must click a link, then refresh the page to be taken to your destination.

On a completely different note, it’s somewhat disappointing to see that you switched from one fixed-width style to another. I used to be able to have a web browser on the left sode of my desktop and IM windows on the right side. Now my browser needs to be about 170 pixels wider, so it overlaps. The worst part is how much seems to be dedicated to ads (a large number of which are either completely irrelavent to me or offensive. I shamelessly block them) and whitespace. Yeah, the new layout seems a lot cleaner, but a lot of that is because you bought the whitespace by making the user resize the window larger. And what’s up with 1/3 of the viewable area not being used while looking at wall-to-wall conversations? It would have been a lot more nifty if the layout flowed depending on how wide the window was.

Just some thoughts.


P.S. Oh, just remembered. That you know that guy Joe Minifeed? Why are you calling him “Mr. Wall” now?

P.P.S. Try loading the main page with the window not full length. Scroll to the right. Note the fun redraw issues. I’ll bet we see Firefox 3.0.2, “Facebook Edition” pretty soon.

Summer Day Two: slow decent into madness

Woah, so this is what sleep is like. *ahem*

Everything is all over the place in room. Most of my textbooks are about a fraction of a centimeter too tall to fit anywhere in my bookcases neatly. Random books I never use, various burned CD-Rs, and paper scrap litter various elevated surfaces; this is partially due to my philosophy that the easiest way to clean up a book case is to take everything off it, then put everything back on. The other part is due to the current complete lack of floor space. >_<

Summer of Code marches on! Except not. The new router I set up for family which seemed to work so nicely over Christmas break now seems barely capable of transmitting a signal which I can receive consistently. I get disconnected from our home network and reconnected to our neighbor’s stupid “linksys” signal every ten to thirty minutes. And just forget about it if someone is using the cordless phone or the microwave. A reconnect every ten to thirty minutes doesn’t seem too bad- and I keep telling myself this. And [sic, don’t care] it woulden’t be, if I didn’t happen to be conversing with someone about how to fix it, or downloading an eclipse update, or something of that nature every time it happened.

Seriously! NetworkManager is driving me crazy. Why on earth can’t I easily blacklist this “linksys” network? It’s freaking weak, weaker than the signal I want to stay connected to. Wicd won’t connect to my network at all. It’s really rather messy. To compound the frustration, the wifi tool in XP seems to have a slightly longer timeout that NM, so I can stay connected in Windows but not Linux. The irony!

Also ironic: the IDE situation on Linux, which is usually my development platform of choice. I installed Arch Linux half way through this past semester because of issues with Ubuntu, and I’ve been absurdly busy since then. Thus, I’ve just been using Gedit and a terminal window with gcc, guile, or whatever compiler/interpreter the situation called for. No sense mucking around with a full fledged IDE for 200 line homework assignments. However, AbiWord has a lot of code. This is by far the most complex project I’ve worked on.

So, after getting thoroughly overwhelmed (and reminding myself that this was the planning/research phase and I didn’t have to start coding in earnest for another three weeks), I decided to take Eclipse for another spin. Problem: it won’t spin. After figuring out how Subclipse worked and getting things syncing off the AbiWord SVN, my wifi connection died, taking Eclipse with it mid-checkout. Now Eclipse freezes on the loading splash screen.

In between the lack of IDE and lack of stable internet connection, I’m getting pretty frustrated. So, I need a plan.

  • Teh Internets
    • Construct a Pringles ™ antenna, slap it on the router and point it in the general direction of my laptop.
    • (Plan B) Install OpenWRT (or something similar) on the WRT54G router, then pump up the transmitting power. Pray that the router doesn’t overheat, the FCC doesn’t show up at my door, and that the router doesn’t brick. Any of these are bad as they mean potentially making the internet situation worse. Gah!
  • Eclipse (Ideally, after fixing the wifi situation. It’s hard download packages and/or to flame people on IRC when one’s connection drops every other thing.)
    • Visit #archlinux. Complain. Get connection dropped. Be ignored by everyone. (Accomplished)
    • Run Eclipse and get some sort of terminal output. There must be a console debug argument or log or something somewhere.
    • If Eclipse won’t run at all, I’ll fall back upon the “pencil and paper” approach and try drawing out the relationship between things. You laugh, but it’s worked before.
  • General Sanity
    • Unpack from school and get boxen out of room.
    • Find mouse. Battling my laptop’s touchpad is not aiding my mood.
    • Unruly mob! Unruly mob!
    • Get something done on AbiWord. Seriously.

That said, I’ve got quite enough to keep me busy right now. Over and out.

Facebook Chat

So, Facebook got a new feature, Facebook Chat. It looks a lot like Gtalk, but it can only be accessed online on the facebook website. It also comes with an annoying gray bar which covers the entire bottom of the screen and can’t be permanently removed. Joy.

So, I thought it would be a great idea to have Jabber support for this thing. I told them as much.

Will Facebook chat support Jabber in the future?

It would be a shame if it were browser-only or used some proprietary desktop client not compatible with Linux.

They replied.

Hi James,

Thank you for your interest in Facebook Chat.  Unfortunately, the features offered by Facebook Chat do not necessarily match those of other chat clients.  Additionally, Facebook Chat cannot currently be integrated with third party chat applications.  We will keep your suggestion in mind and welcome your feedback as we continue to improve this feature.  Let me know if you have any further questions.

Features? Facebook Chat has features? Additionally, I distinctly remember the word “future” being in there someplace. Meh. Open standards! Interoperability! Pretty please?

Return to ArchLinux

So, when an Ubuntu kernel update severely messed up last week, I was trapped with the horrors of Windows XP for a week. Clearly, something had to be done. I didn’t want to reinstall Ubuntu just to be faced with the same annoying X crash, and I do like to be running kernels with the latest security updates applied.

Enter Arch Linux. You can thank this fine fellow for reminding me of it’s existence. Though installation was much longer and painful than Ubuntu, it should be a lot less of a pain to fix if something breaks. Everything seems to be running fairly smoothly, though the interface fonts on Firefox 2 are in like 6 point font for no apparent reason, and sound is either muted or non-existent.  I’ll live; I just needed my coding environment back. I figure that if I have enough time to care about non-school-related details, I’ll have enough time to fix it.

Oh, It’s fast too. Noticeably faster boot, login, and package installation times. I’m pretty happy about pretty much everything associated with the switch.

All except for my 5 gigs of bandwith. *sigh* Alas, one-fifth of my five gigabyte per month bandwith allocation. I knew thee well.


My roommate and I are both nerds. My nerdy nature is probably already widely known to people online (due in part to this blog), and to associates in The Real World (due to my attire, language, topics of conversation, and general social awkwardness). However, I felt it necessary to establish that my roommate is with me on this.

So, what did we do with part of our extended, three day weekend? No, I can truthfully say that it had absolutely nothing to do with the dixie-cups. No! We were constructive! We built a Beowulf cluster!

Behold: Project FragMano.

While, in the past, a project to get a permanent gaming server running for my dorm floor was titled this, the majority of gamers are gone, and it’s much too cool a name to waste.

What you see here (aside from my back and amazing Hootenuity t-shirt) is our (poor) estimate of about 3.5Ghz of combined processing power. They’ll be running Ubuntu Linux (server install) with OpenMosix. We’ll use them for rendering Blender stuff, possibly a little folding@home, and (of course) seeing if we can program games that utilize the cluster effectively.

Right now, the task is getting the stupid things running, much less talking to each other. Two of them are missing vital organs such as hard disks, ram and cables. One of them is missing a processor. A few are under the mistaken belief that they have no physical storage media implanted within them.We’re working on it. Andy is a hybrid hardware/software guy, and I’m mostly software, so it works out quite nicely. My priority is installing Linux, recompiling the kernel, and getting the cluster software on as many of them as possible, while he figures out the happy hardware and network configuration. Or something. In theory.

We would like to note that there are now no less than eleven x86 based machines in the room. There are even more computers than that if you count our calculators, the hacked routers, and Andy’s game console. Isn’t being a computer science major just amazing?

Check out our Flickr stream for more photos of our progress as it develops.

The “Ubuntu Upgrade Process” Compared Unfavorably Against “A Pile of Trash”

Dear Ubuntu,

I am mad and ranting. This is flamebait because it’s been a major problem every single Ubuntu release since I got involved four versions ago. Four freaking versions! That’s two years.

A little over one year ago, I was using Ubuntu 6.06. It was a good release, and it served me well. Then I tried to upgrade to version 6.10, and it was the worst upgrade I have ever done in my entire life. The IRC channels were flooded with people who said their systems were broken, mine included. Based on what I was told, the fact I had once used an early version of Automatix to install the fglrx 3D acceleration drivers had somehow made significant changes to my machine that lurked deep within the system, waiting to resurface and bite my head off when I upgrade. In retrospect, this was BS. There were a lot of things gone wrong with the upgrade that Automatix had absolutely nothing to do with.
I ended up reverting to 6.06 until 7.04 came out, when I backed everything up and did a clean install. This is what was have been using up until about noon today.

At noon, I made the decision that I had waited long enough, and the time had come to check out 7.10. After all, two months after release, the upgrade should be a smooth process, right? This was a horrible, horrible mistake. First, I needed to download 1.1 gigs of packages. This took three hours. Then, they were installed. This ran until 9pm.
Yes, I repeat, this was a nine hour upgrade. During this period, I was instructed not to use any programs because of “data loss.”

Oh, but it’s not an unattended upgrade either. Periodically, a dialog box would appear asking if I wanted to replace X configuration file I didn’t know existed with Y configuration file provided by the new package. While this box was on the screen, the entire upgrade would grind to a halt. There were like six of these things, spaced about 45 minutes apart. What the heck? In case you haven’t figured it out yet, this is bad design. This is disrespectful to the user. This is stupid.

Right, so the install finally completes. I reboot, to be greeted with a blank black screen. This blank screen stayed for a very long time (blinking occasionally) until the login box appeared. I decided to chalk up the long boot time to first boot and the blank screen to… a bug or whatever.

I logged into Gnome. There was an absurdly long login period, which I also attributed to first run. My processor indicator instantly shoots up to 100%. The system becomes sluggish and unresponsive. Apparently that nifty new “Tracker Desktop Search” tool is preset to begin indexing aggressively the first time an existing user logs in. I kill the process.

My mouse and windows are still sluggish. Running glxinfo reveals that my previously working fglrx drivers no longer are providing 3D acceleration. A popup message randomly appears in the center of the desktop telling me that non-free drivers are available for my hardware. It appears that it has clipped off the edge of the taskbar and taken it with it. I click it and it vanishes. Nothing happens. I eventually locate the icon in the tray that the bubble was supposed to be attached to. I double click it and it vanishes. Nothing happens. I go to the restricted drivers control panel and discover that the alert was for my unused dial-up modem; fglrx is indeed enabled. Great.

I try unchecking and rechecking it my double clicking. The desktop disappears and I am presented with the login screen. I log in again. Very long wait again. I decide to get online to find out how to fix the graphics drivers. The upgrade has uninstalled my wifi program of choice, Wicd, so I try to use the network control panel manually. Nothing happens. I try to change the essid of the network to a nonexistant network. Whoops, didn’t like that. Now I can’t get the control panel to come up at all.

Before Wicd, I used NetworkManager. It used to be buggy and not able to connect to hidden WEP networks. I’ve updated the network since than to a hidden WAP network. It connects! Yay! I’m connected to the internet! Suddenly, almost all the plugins on my taskbar all crash at the same time. Then my mouse freezes. Then the screen goes black. I wait for three minutes. Nothing happens. I’ve had better experiences with Windows ME.

At this point, I’ve wasted like thirty minutes messing with the stupid thing, in addition to the nine hour upgrade where I was hovering nearby checking every 15 minutes for “Replace configuration file?” dialogs.

This is completely unacceptable. You know what, I’m not even gonna bother anymore. I’ll just back up my recent data, wipe the entire thing, and start from scratch. It’ll take two hours, tops. Am I overreacting? No. You just wasted my day.

The Ubuntu upgrade process is junk. I’ve never had a Debian or Windows upgrade that ended as horribly as either of the times I’ve used the Ubuntu major version updater. Windows is trash. QED: The Ubuntu upgrade process performs worse than a pile of trash.

RSS Status

  • An error has occurred; the feed is probably down. Try again later.

Creative Commons License
This stuff is licensed under a Creative Commons License.