Posts Tagged ‘Linux’

(on Technorati , Del.icio.us)

Recent Geekiness

Hmmm… I’ve been pretty quiet on the blog front. Better write something. Show some sign of life. Well, officially 2 weeks of not being gainfully employed and I’ve been making pretty good use of the time, I think! (I know, you’d expect more blog posts from someone who has more time – I’m weird). Even though I haven’t been blogging much, I *have* kept fairly active in Twitter, so if you follow that, it’s kind of like my mini-blog.

So what have I been doing? Naturally, most of my time has been spent on the computer. I finished a tool (written in Python) that I had started in the last week of employment – both for personal satisfaction and for the benefit of a (ex) colleague. I think it will be useful, and that makes me happy. :)

Warning: the following is quite long and geeky. Feel free to skip to the end.

Distributions and Open Source 3D

I’ve done a lot of poking around with my computer, fixing lots of problems (and creating a few others). The most serious of these problems was my wireless connection, which appeared to die somewhat suddenly. I ended up trying multiple other Linux distributions over the course of resolving it. OpenSUSE had a nice polish to it, but I found the interface kind of cluttered. They seem to use their YaST back-end for everything configuration-related. Fedora 9 was really well organized and pretty, I was generally very impressed. But the best thing about Fedora 9? 3D acceleration worked when I booted it up! Even on the live CD! Not only that, but because of Fedora’s “Free” motto, this was the open source (ATI Radeon) driver! WHAT?! I couldn’t even get the proprietary (Catalyst) driver to work on Ubuntu!

Obviously, I had to do some more research. I found out that Fedora runs a lot of software that hasn’t been released as “stable” quite yet. Well guess what I’m running on my Ubuntu now? That same software. I’ve noticed my computer crash a few times when I leave certain other experimental software running for a while, but other than that, it’s stable enough for me to keep and enjoy the perks of 3D every now and then. But I certainly can’t advise it unless you’re willing to suffer the consequences – of which, there could definitely be. (I can’t use the closed source drivers, they somehow break my computer.) You could make a bootable thumb drive to test it out first. I did. Start here.

Performance, Games, and Screencasting

I guess I should talk about that. I read someone say the performance of the open source driver (radeon) is about 40% of the closed source driver (fglrx). 3D effects on the desktop work pretty good, but I can’t play FPSs (First Person Shooters) like Sauerbraten – an open source Quake-like game. In fact, I can barely play “Extreme Tux Racer.” Kinda sad. :( But I can play Neverball and CriticalMass! :) Oh, and I can kind of play Frets on Fire, an open source Guitar Hero clone (has a pretty funny tutorial). So the open source drivers aren’t as feature complete or as high performance as the closed source ones, but since AMD/ATI have become more open, releasing documentation and helping out the community, the open source drivers have been quickly closing the gap. This is very exciting for me. :)

Anyway, enough of that.. I spent a lot of time playing around with 3d and getting my wireless to work again. And the primary solution to my wireless problem? Turning the wireless router upside down. It still cuts out every now and then, but it’s mostly solid now (although maybe a bit slower, due to some buggy drivers). yay. No Internet makes Steven cry. (I really wish I could run a cable to my room….)

I resolved connection problems with my printer (yet again). Oh, and I also set up mic recording and tested making screencasts. I want to use Istanbul, but it seems to have more problems and fewer options than gtk-recordMyDesktop. I was considering making screencasts, as video tutorials for introducing people to GNOME or other simple things. I’ve written down a few ideas, but I’m not sure where that will go. I would like to do it as a kind of mini series with a bit of polish, but I’d have to look into the somewhat shady world of Linux video editing.

Packaging

For some reason (perhaps I’m a bit of a masochist) I decided to learn about Debian packaging (creating those lovely .deb files that us Ubuntu users find so handy). My pain was further enhanced by choosing to package a library (Clutter), rather than a normal application. I found the documentation available to be overly verbose and not particularly plentiful – I suppose I wanted something concise and never found it. When I had finally produced two packages (the lib binary and the accompanying dev package) I could install on my system, I didn’t bother because a few other libs depended on the library I was updating, and I was tired of packaging. And I didn’t really want to create an even more unstable system. ^.^ But even though I didn’t use my packages (which I’m sure were far from “Debian” standards) I found the whole thing quite educational and I’m glad I went through it. I have a new respect for package maintainers and perhaps I can now package my own software (if I get around to writing something worth packaging). :)

The non (less?) Geeky

Aside from all that geeky stuff, I’ve been spending a bit of time with friends and family, and doing lots of rollerblading. Played RockBand at Jeremy’s birthday on 360. Sung til everyone’s ears bled. Drums are fun. That game is seriously fun. It just came out for Wii, but I think I will wait for the next Guitar Hero which promises even more and should be out in Fall. More is better, right? I like more. Oh and I still have to push out that blog post about my roadtrip….

Free Software to Look Forward to

  • WordPress 2.5 is out! This one makes me overly excited because it comes with a built-in gallery!!! FINALLY! And with multi-file upload!! I was just playing with it and It looks like it will suit my purposes just fine. I guess I will continue avoiding the Flickrs and other such community-based photo sites, for now. I’ll probably have to update my theme a little, however… and see if there’s a way to set a maximum photo size.
  • OpenOffice.org 2.4 is out and comes with quite a lot of improvements, including OpenGL transitions (perdy) and performance gains. OpenOffice.org 3.0 looks like it will be quite a massive release, aiming to sing and dance. Also see here (Thanks, Andrew).
  • Ubuntu 8.04, Hardy Heron, is nearly out. Less than a month away! It comes with the recently released GNOME 2.22, Firefox 3.0b4, PulseAudio, and a bunch of other goodies, like using the excellent Transmission as the default Bitorrent client. I’m also really looking forward to the World Clock Applet – then I won’t have to think about Japan’s and Brazil’s timezones ever again. :) Beta’s available now.

Stuff that looks good, but I have no experience with…

  • Pencil – Open source, cross-platform 2D drawing/animation application.
  • Hotwire – Smart shell.
  • GNOME Do – Like quicksilver from OSX.
  • ReInteract – Super python console.
  • Faces Project Management – PM is something that’s lacking on Linux.
  • Tracks GTD – If you’re willing to install it on a RoR supported server to help get things done.

Finally

I’ve been meaning to mention this incredibly well designed (because it’s simple) program to edit subtitles (for those totally legal foreign videos you’re downloading/transcribing): gaupol. Very slick.

Microsoft says, “Why can’t Europe be more like South Korea?”

(…In the palm of our hand.)

We often have homestay students from Korea and Japan. I have set up the family computer (Windows XP) with both a Korean and a Japanese account, in case the students need to use a computer and do not have their own. It’s amazing the degree to which Korean content on the Internet completely depends on Microsoft. Every time Korean students are using the computer, their favourite webpage is almost always broken because they require some ActiveX plugin, and their accounts don’t have permission to install such nonsense. I’m reluctant to, as well, after seeing either (some Korean text I do not understand) or some gibberish to the same effect.

Anyway, I’ve always been really curious why Korea seemed so Microsoft centric. Gen Kanai has a couple posts on the topic and they’re incredibly fascinating. Well, I think so.

This nation is a place where Apple Macintosh users cannot bank online, make any purchases online, or interact with any of the nation’s e-government sites online. In fact, Linux users, Mozilla Firefox users and Opera users are also banned from any of these types of transactions because all encrypted communications online in this nation must be done with Active X controls.

Where is this nation?

South Korea.

Due to an early (pre-US-export approval and pre-standardization) adoption of the 128bit SSL encryption protocol, and the death of Netscape, Koreans were left with the single option of Internet Explorer and Active X plugins to do any sensitive transactions on the Internet. This has left Korean Internet content largely inaccessible to other browsers (leading one group to sue the government), and in a funny twist of fate, also prevents (or strongly discourages) the upgrade to Vista (by sheer amounts of work required).

If you’re interested, I recommend reading the posts (1, 2) for more details.

I’ve always been impressed by South Korea’s very accessible high bandwidth, but I certainly don’t envy this.

GNOME Panel / Ubuntu UI Musings

Reading Ubuntu 7.10 Pragmatic Visual Presentation Critique got me thinking about a better way to position applets and launchers on the panels in GNOME.

Imagine if you have locked all your applets and you’re trying to move a new applet to a specific location, you have to first unlock every applet which involves a right click, left click check-box, and repeating this for all locked applets. Once the applets have been unlocked and you have placed your new applet at the desired location, guess what? Time to lock them all again! Right click, left click check-box, right click, left click check-box, you get the idea. A method of locking/unlocking all the applets at the same time seems like a much welcomed option at this time.

I totally agree here. The panel should have a mode, (“layout mode”?) that darkens the rest of the screen so it’s obvious that you’re operating on the panels. Clicking off the Panel will exit this mode. I’m not sure what the best method would be for entering this mode. (An option on the context menu of every item on the panel?) Once in this mode, applets and launchers can be dragged around with the left mouse button. Moving the mouse cursor over an applet or launcher will highlight it with a red outline or something, so it’s obvious what will be moved. There should be a small lock icon below each. Clicking this will toggle the position lock. Speaking from experience, you usually want to do multiple unlock/move/lock actions at once, and with the current interface, it’s rather painful, as the author points out.

A quick mockup (I found an anchor before I found a lock, but an anchor makes sense):

Layout mode mockup

The author also touches on many other things that I don’t really see as big issues. Blurry icons? And he complains about icons not scaling properly with a resized panel. (See here.) For individual launchers, and the volume applet, the icons will scale fine. I’m not convinced scaling the Notification Area icons up would be desirable, as they would take up a lot of extra space and they can appear and disappear frequently, but that might be the user’s desired effect. Maybe an option for the user to say if they want them to scale, wrap, or neither… but all the icons in the notification area should definitely be consistent in behaviour, just as the launcher icons are on the panel.

notification area

Desktop Effects. He says they feel like a hack. I would agree that the defaults are truly terrible (wobbly windows? seriously?) and they certainly aren’t without their problems. As one would expect, they even introduce new defects. But after installing CCSM, and playing around with what’s available, I must confess I like them and I think they add a valuable layer of communication to the user: windows that aren’t responding fading to dark (see pic), new windows sizing and fading into existence, minimized windows flying to their position on the Window List applet (taskbar), desktop panning, zooming anywhere, live thumbnails for every application, etc. I do wish I could enable the one feature of wobbly windows to act as the system bell, and have the window wobble as a visible bell. I really liked that. But I can’t enable that single wobbly windows option without disabling something else I’m currently using. Also, the workspace switcher seems to be broken. I can’t drag windows from workspace to workspace within it.

not responding

Certainly, I agree the preferences menu could be more sensibly organized, but I think the Appearance capplet is great. A reference to the Appearance capplet within the mouse capplet is all that’s needed to improve the discoverability of the mouse cursor icons.

Two About menu items under the main System menu (one for GNOME and one for Ubuntu): they don’t bother me. There’s only four other items on that menu, and these are both important when users are reporting bugs for checking which versions of software they are running. The “Help” launchers are something I never use, and the first things I remove. But for novice users, maybe they’re helpful. I really wonder how often people read the included documentation, though….

Certain types of behavior should be unacceptable where user experience is concerned. It is unacceptable in my opinion for a Linux Distribution to knowingly ship broken Artwork with the distribution.

He’s clearly never used windows. :) In all seriousness, if usable features had to wait on perfect aesthetics before mass deployment, Apple might be the only company releasing anything. In the Open Source world, users are depended upon for everything, including the aesthetics. If the software never gets out, it doesn’t get the attention it needs, bug reports aren’t filed as soon, and relatively stable (and usable) software is dis-serviced by not being allowed to gather the feedback it should. The article itself is a case in point. It’s also worth mentioning that Ubuntu Gutsy is not an LTS release. The Hardy Heron release will be, and that makes it especially important for Gutsy to get as many new features into users’ hands as possible. Linux distributions depend on the community and can’t evolve as effectively behind closed doors.

Hmmm… I suppose this post turned into more of a response to the post on Architect Fantasy (not my original intention), which I found interesting but didn’t agree with everything (which is totally fine).

Wasn’t in my plans, but…

So I haven’t been working too much on PhotoFile, like wanted to, but I haven’t really been unproductive, either. Giving in to my friend’s incessant nagging to play (and thus, set up) UFO2000 on my computer, I updated the Ubuntu set-up guide I wrote on the forums after doing it again with the latest version on both my laptop (Gutsy beta) and my desktop (Feisty). I’ve played a couple games, so far, and they’ve been fun. But it still doesn’t work flawlessly. On my laptop, with default Gutsy settings, ALSA is used to access the audio. UFO2K uses the Allegro game programming library, and it accurately detects and plays sound on my laptop. However, there is a huge memory leak somewhere when running on my laptop (known issue, I think). Luckily, the game is saved on the server, so if you crash, you can log back in and you have the option of resuming the game. Cool.

On the Desktop side of things, there’s no memory leak, but it doesn’t work with the PulseAudio sound server. This irritated me last time I was looking at UFO2K and put me off of it, but this time, I was determined to figure out what the problem was, exactly. First of all, the problem can be resolved by killing the pulseaudio (pulseaudio -k) daemon before launching the game. But that may mess with your existing applications a little and it’s annoying. Good news: I think I found what the problem was. Bad news: I’m not sure when or if it will be fixed, but the developers are at least aware of it and started talking about it.

I don’t normally do much low-level stuff, so I actually learned quite a bit from the debugging. Unfortunately, I don’t have massive amounts of code to show for my efforts, but I’ve learned a lot and a potentially important bug has been well-documented. So it was well worth it. These are some of the things I did when debugging this problem:

  • Communicated with both PulseAudio and Allegro developers on bug trackers, mailing lists, and IRC.
  • Built the Allegro source and used my own custom (debug-enabled) version without disrupting the installed stable version.
  • Attempted to debug using ‘gdb’ mode in emacs, but I was never able to jump into the ALSA specific functions. I think the debugger wasn’t able to trace the threads as they were mapped with pre-processor statements according to the sound driver. I was able to switch to the thread, but the debugger couldn’t find the associated source, which made stepping rather pointless.
  • Eventually giving up on the fancy way, (but content I had learned something) I resorted to good ‘ol printf statements, and was eventually able to find the values (I think) are causing the problems. (Allegro uses unsigned sample formats, and PulseAudio doesn’t support those.)

I must say, using gdb in emacs is much easier than on the command line (but then, maybe ddd or another graphical debugger is nicer still, depending on how often you debug things). Okay, directing my attention back over to PhotoFile…. Or maybe upgrading WordPress…. or maybe…. :)

Hacking the Printer

Look into my eyes, Brother (MFC420-CN)… repeat after me, “I still have ink left.”

This ink never runs out!

This ink never runs out!

I have a Brother MFC420-CN (multifunction printer) and it religiously cleans its heads as long as it is plugged in. This combined with the facts that it will not print unless it has ink and the cost of ink make for a pretty nice business plan for Brother. This is common practice with most budget bubble jets, I suppose, since I’m sure they lose some money on the ~$100 device. Even if you want to print in black, and you’re magenta is empty, it will refuse to print. I’m a little conflicted about how I feel about this, because Brother does provide open support for Linux, which is a good thing. Anyway, the solution is clear: trick the vile thing into thinking it has ink. In fact, all the times I’ve received the “replace ink” message, there has still been a little ink in the cartridge…. and after tricking it, you can still print in that colour (until it actually runs out, of course). Googling resulted in a post on a forum somewhere about applying a strip of black tape to the ink cartridge, but wasn’t very clear. After some trial and error, I hope this picture clarifies things. I guess the tape blocks light of some sort, which it uses to monitor ink level.

(Wasn’t really sure how to classify this post… don’t have a how-to category. I should upgrade to WP 2.3 and use tags….)