Posts Tagged ‘Linux’

(on Technorati , Del.icio.us)

Script: Wireless Strength Polling/Logging/Graphing

Initially, I wrote this script to give me frequent feedback on the signal strength. This is useful when adjusting antennas to that sweet spot that give stronger signals; especially if you’re testing some homemade tinfoil parabolic reflectors! πŸ˜‰ If you have a portable wireless device, like a netbook, you can ssh into your (wireless) desktop and run wireless-strength to get realtime feedback on adjustments to the access point’s antenna… assuming the connection doesn’t break. πŸ˜› And, of course, you can just walk around running it on your mobile device to create a kind of wireless heatmap.

If you have gnuplot, you can also generate graphs from the data with ws-plot. This is me walking around my house with my notebook:

I started in my room (40% πŸ™ ), which is where the first peak is – near the window. Left my room, back to 40%, peak near window again, then bathroom… 40%. The climb from 40-80% is me walking towards the TV room (PS3 lives in a solid 80% zone, at least!). Walked upstairs, got 100% in most areas (that’s where the Access Point is) – tried a bedroom, dropped to 40%.

Download the scripts and get more details here: https://github.com/izm/wireless-strength

Nerdy Ramblings

This script originated years back, but I recently tried using it on my laptop and it didn’t work! Unacceptable! The original parsed the output of iwconfig. But what showed up as “Quality=30/70” on my desktop, would show up as “Quality:4” on my laptop. COMPLETELY DIFFERENT. Even the character after “Quality” was different! o.O The output of iwconfig is driver dependent, which is why I looked to network-manager. I figured there’s probably a nice dbus command I can send to network-manager for that purpose – but I got tired of looking and decided to just parse output again. :/ Luckily, network-manager includes nm-tool. It’s certainly not a clean solution, but it works for now.

I also used updating rewriting the script as an excuse to get better acquainted with git – which I’m really liking.

Every time I do a bash script, I vow to do the next script in Python. I like Python and I don’t like Bash… but there’s a certain… nativeness or dependency-free elegance to bash scripts. Still, I hate writing them, and the next script’s in Python! πŸ˜›

GNOME 3.0 Beta v0.0.6 Impressions

GNOME 3.0 is due for release April 16 and I’m pretty excited by it. So I finally decided to check out first-hand how it’s progressing. My perspective is that of a GNOME 2.X user, but like many people, I was a little skeptical of the changes in 3.0. I tried the 0.0.6 image from the GNOME3 website and ran it off the USB key.

The Good

  • It’s pretty. And minimal. Love the new font.
  • High quality and scalable graphics and interface – tried it on both a 10″ netbook and a 23″ monitor with success. Large title bars and close buttons – easy to hit.
  • All the updated core GNOME programs! I especially like the progress with Nautilus, the file manager. Instead of using a status bar, it uses a floating alt-type yellow info box to display info. Plus it seems much faster.
  • Single stroke exposΓ©-like effect that reveals all windows, scaled and tiled. This is bound to the Windows (Super) key, which actually makes it more appropriately named for GNOME3 than any version of Windows. Note: It can also be reached by clicking Activities in the top-left corner. From here, you can use your mouse to switch to a window or quickly close windows, launch/switch-to a program from the left sidebar, or you can start typing a substring of a program to run, or a string to search using wikipedia or google (these options appear after you type something… OR you can browse applications by clicking Applications. Additionally, on the right, you can manage workspaces. With the smart launcher and window manager functionality tied to a single key, I found myself actually starting to heart the windows key and its prime keyboard real estate.

  • Don’t worry, you can still alt-tab! πŸ™‚ And it’s improved, with mouse input, and grouping instances of the same program.

  • Integrated chat with notifications is great.
  • Modal windows are now attached to their parent window (by default, this can be changed).
  • Slick animations with meaning. Like the modal windows that slide out of the parent window’s title bar. I think OSX does something like this….
  • Yelp, the Help browser is about a billion times faster. Seriously. This is largely due to the shift from gecko to webkit, I believe.
  • No more minimize/maximize buttons. At first, I wasn’t sure about this and thought I wouldn’t like it, but the way the new desktop is designed, I don’t miss them. You can add them back, if it’s a concern. And all the old window shortcuts still work: [Alt+F9] = Minimize; both [Alt+F10] and [double-click title bar] = Toggle Maximize; [Alt+right-mouse-button] = window menu.

  • GNOME is just much leaner than it has ever been before. Instead of starting 3 different programs at login (nautilus, gnome-panel, metacity), it simply starts gnome-shell.

The Bad

  • Requires 3D support. Unfortunately, this is not always a simple request for us Linux users. Tried it on my netbook and failed. Couldn’t run it and probably never will thanks to the terribly supported poulsbo integrated graphics.
  • And not just any 3D support… Tried it on my desktop, also with integrated graphics, but a better supported ATI x1250 – performance wasn’t stellar, but it was usable.
  • Not very mature and not very customizable (yet). Panel Applets in prior versions of GNOME are extremely popular. Now we have this huge piece of space we can’t do anything with. But I’m sure something like panel applets will come eventually.
  • It’s really hard to train myself to look to the middle of the top panel for the time/date… I keep looking at the top-right. πŸ˜›
  • Some of the changes had me fishing for functionality. Like, where is the control-center? It’s not in the Applications list under the Activities window. It’s under the user menu, under System Settings.

    And once you’re in the System Settings, you often want to change many things. At first, I was opening System Settings, selecting a component (they’re called Panels) to adjust (Background, for example), making changes, closing, repeat. When you open a panel from the System Settings window, that panel replaces the contents of the System Settings window. I didn’t notice the All Settings button that replaced the search entry in the dark grey area! After realizing that, it wasn’t so bad. πŸ™‚ And to be honest, I think the theme or something is not quite finished. Looking at other screenshots on the web, the button is much more noticable.

The Ugly

  • BIG change in the way it expects people to use it. This will likely cause lots of frustration.
  • Doesn’t quite seem ready for prime time. I guess that makes sense, it’s still beta.
  • Some odd input lag every now and then. Visual artifacts. For both of these, I point my finger at my integrated graphics. Just a general lack of polish. But that’s to be expected with alpha/beta software.
  • Bold, black window titles with same-colour shadow. Ugh… I expect that will change soon. πŸ™‚

After trying Shell, I’m actually more excited for it. It still lacks polish in areas, which is expected at this point, but I love the direction GNOME3 is taking GNOME. I’m hoping I can get by on my integrated graphics, but I’m probably willing to purchase a low-end video card to get better performance. Anyway, I’m really interested to see how Canonical’s Unity and GNOME Shell will evolve side by side. Now I have to try Unity, I guess….

Ubuntu 8.10 (Intrepid Ibex) and Tablets

I just had to mention this: The latest version of Ubuntu finally supports input hotplugging. What this means is that you can plug in your tablet at any point and start taking advantage of its pressure sensitivity, etc. Previously, it would only work correctly if Ubuntu (the X server part of it) started with the tablet plugged in. Let me just say: OMG, I’ve been waiting for this for years! Seriously. I hadn’t been keeping up with every detail on the release (and I’m surprised I hadn’t seen mention of this yet), but I always plug in my USB tablet and run a quick test with new releases. This time, it actually worked! My test turned into a quick (and random) doodle:

How to Test

Plug in your tablet.

Run GIMP (included with Ubuntu by default).
Applications > Graphics > GIMP Image Editor

Enable Extended Input devices in GIMP.
Edit > Preferences > Input Devices > Configure Extended Input Devices

Find your tablet under the Device dropdown (mine is a Wacom Graphire) and select Screen or Window for the Mode. (It defaults to disabled.)

Create a new image, select the paintbrush tool and start drawing. To play with the features of your tablet, expand the Brush Dynamics section in the paintbrush options window (should be below the toolbox, where you selected the paintbrush). Here you can adjust things that pressure of your pen will control, like size and opacity. Fun stuff!

It’s not perfect (only works with the stylus – eraser doesn’t work without configuring), but it’s a HUGE step!! πŸ˜€ And the fact that this also includes the latest version of GIMP (2.6) makes this upgrade an absolute no-brainer for linux graphic-philes. πŸ™‚

I found the new UI in GIMP a little strange at first, because I became so accustomed to the old one, but it is much better.

Upgrade Problems

Related to the upgrade, I lost wireless connectivity with my laptop upon doing it because the hostap_cs driver is used. I forgot about this issue that I had with previous releases and my super-cheap 1000yen wireless card. Blacklisting the hostap_cs driver and forcing the orinoco_cs driver fixed my problem again. The lesson: the upgrade wasn’t perfect and it should never be assumed that they will be – please backup your stuff! But do do the upgrade! πŸ˜‰

open-with for the command-line

Update 2008/11/18: Use xargs πŸ˜›

Here’s a bash script that you can pipe output into and tell it to run a specific program with the output as arguments. I’ve named it open-with and placed it in my personal script directory: /home/steve/bin/. Look within the script at a couple of the examples for how to use it.

#!/bin/bash
 
PROG=`basename $0`
 
DESC="Read arguments from standard input and run a specified program
with them.  Meant to be used as output for a pipe."
 
 
USAGE="OUTPUT | $PROG \"PROGRAM-NAME [OPTIONS AND ARGUMENTS]\""
 
EXAMPLES="
# List (with details), all the files that include \"downloads\" in their name:
  find /home/ -iname \"*downloads*\" | $PROG \"ls -l\"
 
# Queue all AVI files in current directory in vlc:
  ls *.avi | $PROG vlc
 
# View all time-related icons with eye-of-gnome:
  find /usr/share/icons/gnome/ -iregex \".*[^mul]time.*\" | open-with eog
"
 
function Usage() {
  echo "DESCRIPTION: $DESC" ; echo
  echo "USAGE: $USAGE" ; echo
  echo -n "EXAMPLES: $EXAMPLES"
}
 
# Quick check to see it's being called correctly, if not, print Usage and exit
if [ ${#@} -ne 1 ]
then
	Usage
	exit
fi
 
files=()						# empty array
while read -r					# read from stdin
do
	files+=( "$REPLY" )			# add result of read to array
done
 
# assume $1 is a valid program
$1 "${files[@]}"				# pass arguments to specified program

Motivation

You’re sitting at the command line and have a list of images (in different locations) that you would like to browse. Most image viewers let you iterate over a set of images, but only within the same directory. What would be great is if they accepted input from stdin through a pipe!

$ cat my_list_of_images | my_image_viewer

I didn’t find anything that did that, but using the open-with script, you can do something similar:

$ cat my_list_of_images | open-with my_image_viewer


Browsing a select list of images is actually kind of nice. It’s like a playlist for your image viewer – a viewlist. πŸ™‚ Anyway, I’m sure there’s some problems with this script. Feel free to provide suggestions in the comments. But I certainly don’t want to look at it for a while….

I hate shell scripting

With a passion. It’s not a great surprise… many programmers do. I’m willing to go on record and state that I hate it even more than PERL programming. I rarely do it, and when I decide to try something that seems like it would be simple, it turns out taking forever due mostly to quirks. The rest of this post is a bit about how I went about writing this script, which ended up being mostly given to me by some #bash gurus on IRC. And it’s a bit of a rant.

Although not many GUI programs seem to accept stdin as input, most accept filenames as arguments:

$ eog image1.jpg image2.jpg image3.jpg "/home/steve/image seven.jpg"

So I figured I would just have to convert the list of images into an acceptable format: quoted, absolute filenames, separated by space. Doing this depends entirely on the format the list is currently in, but it’s likely a list of unquoted filenames separated by newlines:

/home/steve/image1.jpg
/home/steve/my images/wow.jpg
/tmp/anotherimage.png

For me, my test list looked like this:

/usr/share/icons/gnome/48x48/stock/generic/stock_timezone.png
/usr/share/icons/gnome/16x16/stock/generic/stock_timezone.png
/usr/share/icons/gnome/16x16/stock/generic/stock_timer.png
/usr/share/icons/gnome/16x16/stock/generic/stock_timer_stopped.png
/usr/share/icons/gnome/16x16/stock/form/stock_form-time-field.png
/usr/share/icons/gnome/24x24/stock/generic/stock_timezone.png
/usr/share/icons/gnome/24x24/stock/generic/stock_timer.png
/usr/share/icons/gnome/24x24/stock/generic/stock_timer_stopped.png
/usr/share/icons/gnome/24x24/stock/form/stock_form-time-field.png

I was looking for icons of clocks or representations of time, and I obtained that list using find:

$ find /usr/share/icons/gnome/ -iregex ".*[^mul]time.*"

So I can’t pipe it into my image viewer, but I can use the output as the command-line arguments if I change the newlines to spaces. find has an option for formatting the output which is perfect:

$ find /usr/share/icons/gnome/ -iregex ".*[^mul]time.*" -printf "'%p' "
'/usr/share/icons/gnome/48x48/stock/generic/stock_timezone.png' '/usr/share/icons/gnome/16x16/stock/generic/stock_timezone.png' '/usr/share/icons/gnome/16x16/stock/generic/stock_timer.png' '/usr/share/icons/gnome/16x16/stock/generic/stock_timer_stopped.png' '/usr/share/icons/gnome/16x16/stock/form/stock_form-time-field.png' '/usr/share/icons/gnome/24x24/stock/generic/stock_timezone.png' '/usr/share/icons/gnome/24x24/stock/generic/stock_timer.png' '/usr/share/icons/gnome/24x24/stock/generic/stock_timer_stopped.png' '/usr/share/icons/gnome/24x24/stock/form/stock_form-time-field.png'

That’s great for me, because I’m using find. But not very useful if I’m not, so I wanted something more generic. Of course, there are many ways to do this, and again, I’m by no means a command-line guru. But here’s how I started:

$ find /usr/share/icons/gnome/ -iregex ".*[^mul]time.*" | sed -e 's/^/"/' | sed -e :a -e '$!N;s/\n/" /; ta' | tr '\n' '"'

This wrapped the lines in double-quotes and join them together with a space in between. The find command is the same as before, minus the formatting because that’s what I was trying to find an alternative to. The output of find is piped into sed, which adds a " at the beginning of each line. This output is then sent to another sed which replaces the newline character at the end of each line with a closing double-quote and a space, joining all lines into a single line. Finally, that output is piped into tr which replaces the one remaining newline with a final double-quote.

If the files don’t include spaces or other troublesome characters (mine didn’t), then you could get away with simply changing the newlines into spaces. But again, I wanted something generic.

$ find /usr/share/icons/gnome/ -iregex ".*[^mul]time.*" | tr '\n' ' '

Anyway, now that we have something that creates the desired input, we just have to wrap it in back-ticks and put the whole mess as the argument to the image viewer! In my case, I’m using eye-of-gnome (or eog).

$ eog `find /usr/share/icons/gnome/ -iregex ".*[^mul]time.*" | sed -e 's/^/"/' | sed -e :a -e '$!N;s/\n/" /; ta' | tr '\n' '"'`

Wait a second. That doesn’t actually work. Why not? Running the backtick contents by itself seemed to produce the correct output. Copying this output verbatim as arguments to eog worked as expected. The problem was that when the quoted arguments were manually entered on the command-line, bash (silently) escapes the filenames, removing the quotes, adding backslashes before space,s etc. But when the pipeline is wrapped in backticks, the result is not escaped, and eog complains about not being able to find files that begin with quotes. Fine. I was not about to write a bash “escape” script – something like that should already exist, right? And it should be built in to bash! Perhaps it’s even called “escape“. Well, if there exists such a built-in, I couldn’t find it. But I had to be going about this the wrong way. Heading over to IRC, it was kind of difficult to explain the problem, but ferret eventually gave me the meat of the script above:

files=(); while read -r; do files+=( "$REPLY" ); done < <(find /usr/share/icons/gnome/ -iregex ".*[^mul]time.*"); eog "${files[@]}"

It worked! I thanked him and began studying it. There were still a couple things I didn’t understand:

  • Why two angle brackets with a space between them? I understand the first one is probably redirecting input, but I don’t understand that one next to the opening parenthesis.
    Answer: The <(command) actually puts command‘s output in a temporary file and produces that filename. So <(command) becomes tempfile. (Thanks, kojiro.)
  • If I open some video or audio files in totem using open-with, there’s an odd delay. Using vlc doesn’t produce a delay, however.

And to think this was originally going to be a micro-blog post in Twitter and identi.ca. Wow. It’s safe to say I still hate shell scripting. πŸ™‚

What I did today – Time Tracking with hamster-applet

In GNOMEe 2.24, hamster-applet will be included by default. When I use it, I love it. I should use it more often.

I should note that “laundry” is actually inclusive to other room-cleaning activities. πŸ™‚

Netbooks

“Netbooks” are a fairly recent thing; smaller and more affordable than a regular notebook PC… What’s not to like about that?! πŸ™‚ Asus first tapped into this market with their Eee PC and it has since gone through its second (I think) generation. Eee PC’s generally get great reviews with the one complaint being their keyboards are a little small for adult hands. Acer recently introduced their AspireOne. I picked up one of these for my mom, who was considering a cheap notebook. For what she does (email, browse the Internet, write OpenOffice.org documents, and print things), this is perfect. For myself, I installed a few extra applications on it (emacs, ssh-clients), keep some information on a USB key and I borrow it sometimes because it’s just so portable. I chose this over the Eee PC because it seemed to be a better value and has a bit larger of a keyboard (though the bilingual keyboard is kind of annoying).

The trend with netbooks seems to be that the lower end, cheaper models run some form of Linux and if you want Windows XP, then you’ll have to purchase a higher end model. What I don’t like is that sometimes it appears you can’t get the higher end models with Linux. I doubt you could get a Windows rebate for these PCs….

Just today, Dell has released their Inspiron Mini 9 and it seems to compete quite directly in terms of value with the AspireOne. It’s interesting if you compare Dell’s US offering with their Canadian offering of essentially the same thing (I hope those links work). First of all, Canadians don’t yet have the option of selecting Ubuntu Linux as the operating system, nor a model with 512MB or RAM, so I’m comparing the $400 models. (Right off the bat, Americans have the option of going with Ubuntu and 512MB for $350.) Canadians get 1GB RAM in this model whereas that will cost Americans another $25. But if we Canadians want a 0.3MP or 1.3MP web camera, we will have to pay $20 or $40 extra. The American model comes with a 0.3MP and can be upgraded to a 1.3MP for a mere $10. Also, upgrading from 8GB to 16GB will cost Canadians an extra $10 ($50 compared to $40 for US). But the funniest difference: Americans will have to pay $25 more if they want white, but we here in the Great White North don’t incur that penalty. Huh. I wonder what logic compelled these differences.

I might consider the Inspiron Mini 9 over the AspireOne for myself if I had the option of Ubuntu. Wonder when it will be available to us northern folk.

Creating a DVD Slideshow in Linux

For my brother’s wedding, about a week ago, my sister wanted to do a slideshow for them. She’s done this before and she’s known for spending lots of time making very nice, emotional slideshows with carefully chosen pictures and music. Previously, she would count in her head while manually switch the slides with a traditional projector. (We have a lot of great family photos that are only on slides.) Anyway, she figured she’d use computers this time around and my assistance was “enlisted.” I kept thinking, “If only I had a Mac, I’m sure this would be easy….” But it turns out there’s a reasonable command-line program available on Linux that is just a little cumbersome (mostly because it’s command-line tool for something that really needs to be visual) – but works quite well: dvd-slideshow. I’m going to go over what I did, mention some quirks and how to work around them.

First, install dvd-slideshow (a set of command-line tools).

sudo aptitude install dvd-slideshow

You may want to get the latest version from the webpage and manually install that.

Update: While writing this, I have since discovered “slcreator” which looks like it would fill in the glaringly absent graphical component of dvd-slideshow. Though it hasn’t been updated for quite a long time…. it’s definitely worth investigating before going through the manual process yourself.

Step 1: Organize your digitized photos within a directory

Since my sister was the creative force behind this, she needed to see the photos as she was deciding on the order. Nautilus thumbnails were good enough, so I simply showed her how to rename files and made suggestions for organizing them by name (like naming a photo “12a.jpg” if you want the photo to be in between “12.jpg” and “13.jpg”). This worked in Nautilus, but in the next step, the ordering would be changed to 12a.jpg, 12.jpg, 13.jpg – which is probably a bug in dir2slideshow. (You could work around this by always using a single letter after the number.)

Step 2: Generate input file from images directory and customize

dir2slideshow -o output_directory -t seconds_per_picture -c crossfade_seconds images_directory

This will output a text file in the output_directory that contains all the images in the images_directory with specified transition and duration times. The order of the pictures should be how it is listed by name in your file browser, minus the bug I mentioned earlier. You can manually edit this file and then pass it to dvd-slideshow.

Multiple Directories:
My sister had arranged photos in multiple directories, each consisting of a theme (childhood, Halloween, travel, etc) and a specific song to go with it. So I just generated multiple input files with appropriate names, worked on individual sections, and eventually copied them all into a master input file keeping the desired order.

Adding Music and Silence:
Another bug I encountered was getting music to fade out at the correct time. In the input file, the format for adding music is this: audiofile:track:effect1:effect1_params:effect2:effect2_params . So I had my_sad_song.mp3:1:fadein:0:fadeout:5 saying I wanted it to spend 5 seconds fading out. Additionally, I wanted about 10 seconds of silence at the very end. Your are supposedly able to specify silence:duration_in_seconds but at the end of the slideshow, it wasn’t forcing the song to fade out in time to include that amount of silence – it seemed to be ignoring it at the end if there was no more photos. I got around this by creating a small file of silence, silence.wav, and using that instead of the built-in silence option.

Nice looking fonts
Another quirk I encountered was terrible looking fonts with the built-in title:duration:thought_provoking_title. I didn’t want to spend too long looking at the cause of this, so I just created some title images in the Gimp.

Step 3: Generate the Slideshow

dvd-slideshow -mp2 -nomenu -o tmp/working -f tmp/ALL.txt

The mp2 option is required to avoid an error message and has worked on all DVD players I’ve heard of, so far. The nomenu option is for creating a DVD with no menu – I just wanted it to start playing the slideshow when the disc is inserted into the player. The o option specifies the output directory and the f option specifies the input file created earlier. Once this finishes (it might take a while) you should have a DVD .vob (MPEG2) file and an xml file in the output directory.

Debugging:
I like to see how the final product will look, so I chose not to use the L (low quality) option for debugging. Instead, I created a smaller input file with specifically what I wanted to test. When I was happy with the test, I copied the changes into my master input file.

Step 4: Create the DVD Filesystem

dvd-menu -f tmp/working/ALL.xml -nomenu -mp2 -o tmp/working-dvd

This will output a folder dvd_fs in the output folder (tmp/working-dvd) containing VIDEO_TS and AUDIO_TS directories with the required files for a proper DVD.

Adding Content:
This is where you optionally add more files to the DVD. For me, I added two folders, Music containing the music used in the slideshow and Photos containing the photos used in the slideshow. A good idea would also be to add the source file and commands used to create the DVD and then you are distributing the source. πŸ˜‰

Step 5: Make an ISO to burn

mkisofs -dvd-video -udf -o ~/Desktop/slideshow.iso tmp/working-dvd/dvd_fs

This creates an ISO called slideshow.iso on the desktop.

Step 6: Burn the ISO

There’s many ways to burn an ISO, but just use Nautilus: right click on the icon on your desktop and select Write to Disc…. That’s it! Test it out in your DVD player.

References

Lots more info about specific commands and useful examples can be found at the dvd-slideshow’s documentation page.

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.