Jun 25 2008

How To: Host a Subversion Repository in Ubuntu Hardy

Tag: deep thoughts, diy, food, how-to, linux, open source, review, software, ubuntuScott Wegner @ 10:46 pm

Have you ever wanted to set up a subversion repository on your home computer? Whether it be for a new software project, versioning your personal documents, or any other reason, there are many benefits to using version control. Some free websites that will host your project for you, such as SourceForge or Google Code, but it’s often necessary to have a little bit more control.

I set up a subversion repository for a new project the other day, and the process was relatively painless. I’m using a standard Ubuntu Hardy Heron 8.04 desktop setup, with OpenDNS and DD-WRT for port-forwarding, and without an Apache web server. Keep reading to host your own subversion repository server.

Continue reading “How To: Host a Subversion Repository in Ubuntu Hardy”

If you're new here, you can subscribe to automaticable's RSS feed by clicking here. Or, you can get post updates through your email. Thanks for visiting!


Jun 11 2008

Firefox 3 Download Leaked Early in Ubuntu Hardy

Tag: Firefox, linux, open source, software, ubuntuScott Wegner @ 2:48 pm

Well, it’s all but confirmed now.  With Firefox 3 download day set to hit any time this month, it looks like the Firefox developers are preparing.  As a result, it appears that the final release of Firefox 3 hit the hardy-proposed repository this morning.  I installed the update, and am running it now.  Check it out:

And you can see the version string through Synapic Package Manager:

The latest in hardy-updates is “3.0~rc1+nobinonly-0ubuntu1″, but this version string is “3.0+nobinonly-0ubuntu0.8.04.1″, clearly lacking any “release candidate” tag.  Could this be the real deal?  It was probably uploaded in an effort to make sure that Ubuntu users are able to access it in hardy-updates on release day, so they have a better chance at their world record.

If you want to download this pre-release for yourself, all you need to do is enable the hardy-proposed repository:

  • Go to System > Administration > Sofware Sources
  • Click on the “Updates” tab, and make sure the box for “Unsupported Updates” is checked
  • Press “Close”, and let the package manager refresh.

Afterwards, you should see the update icon in your taskbar, with the latest Firefox 3 ready to go! Note, however, that the hardy-proposed repository does contain *unsupported* updates.  To be on the safe side, you should disable it after you install Firefox.

Has anyone else been running Firefox 3 yet?  Have you noticed any differences?  Mine feels a little faster, although that may be due to the fact that a few extensions are still incompatible.


May 28 2008

How-to: Enable Surround Sound on Ubuntu Hardy

Tag: film, how-to, linux, music, ubuntuScott Wegner @ 6:36 pm

By default, Ubuntu Hardy Heron uses PulseAudio for audio mixing, which disables surround sound by default. I just bought new 5.1-channel speakers, but I was only heard sound coming from the front two. Disappointed, I went searching for the answer in the forums. If you want surround sound on your Linux setup, keep reading below..

Continue reading “How-to: Enable Surround Sound on Ubuntu Hardy”


Apr 24 2008

Get Ubuntu 8.04 Hardy Heron Today!

Tag: linux, open source, software, ubuntuScott Wegner @ 11:17 am

Well, it’s finally here, the latest release from the Ubuntu team.  Ubuntu 8.04 “Hardy Heron” is the second in the line of “long term releases”.  This means that Canonical and the Ubuntu team will continue with support and updates for 3 years on the desktop edition, and 5 years for the server.

If you’re ready to convert a new system today, the fastest way to get Ubuntu will be through torrents.  If you’re upgrading an Ubuntu system, simply open the Update Manager and it’ll show a new option to upgrade.  Make sure you’ve selected local repositories, because the servers are going to get hit hard today.

Be sure to check out the desktop feature tour.  And if you plan on burning some Ubuntu CDs, print off the CD album artwork for the cases.


Apr 22 2008

Ubuntu Upgrade, Hardy Goals

Tag: linux, open source, ubuntuScott Wegner @ 12:36 pm

Our countdown to Hardy is nearing its end; we are just days away from the final release of the latest version of Ubuntu, codenamed Hardy Heron.  I’ve been testing since the alpha release, and I can safely say that it’s come along way.  It also marks about a year since I installed Linux for the first time.  I feel like I’ve learned a lot in the process.  However, I think I want to start clean with Hardy, and setup my system with a few goals in mind:

  • Drop Windows Vista:  Currently I have a dual boot setup with Vista on a separate partition.  But at this point, it’s a waste of space, and a waste of energy everytime I boot into it.  The only reason left for using it has been for Netflix, but I think I can live without it.  Worst-case scenario, I can setup Wine or a virtual machine.
  • Separate /home Partition: I think this should be done on new Ubuntu systems by default, but alas, it’s not.  By putting your /home directory on its own partition, it’s very easy to separate your data from program files.  This makes it very easy to upgrade, or share your /home folder in a dual-boot.
  • Optimize MythTV: I have a TV tuner card in my computer, and I’ve only been using it experimentally at this point.  But with Hardy and a clean system, I’d like to install MythTV and really use my computer for it’s media-center potential.
  • Leave Some Test Space: Along with Ubuntu 8.04 coming out in the next couple days, there are also many other great Linux distros planning releases right around the corner.  I’d like to set aside a partition on my system for testing on distros, such as Fedora, openSUSE, or Debian.

Mar 30 2008

Ubuntu 8.04 Hardy Heron Countdown

Tag: linux, open source, ubuntuScott Wegner @ 7:41 pm


In the latest Ubuntu newsletter, a new link was posted for the Hardy Heron release countdown script.  The beta version is already available, and we are under a month away from the final release.  Hardy will have the latest Firefox 3 pre-release, as well as major updates to GNOME, the Linux kernel, and much more.  This is another step closer to a general-purpose free operating system that “just works”.  Get excited.

[ Hardy Countdown Timer ]


Mar 30 2008

Comcast Blocking DD-WRT?

Tag: linux, software, troubleshootScott Wegner @ 7:18 pm

About a month ago, I received a notice in the mail from my ISP, Insight, with news that they had been bought-out by Comcast.  They promised that there would be no changes in my service and the transition would be seemless.  Everything would work as it had, except they would charge a little bit more.  Great.

They’re in the midst of transferring services to Comcast, set to be complete sometime in April.  Everything was fine on our end until our internet went out a few days ago.  After a few hours of toying with it, I decided it had to be Comcast’s issue.  I tried rebooting the router, renewing the IP, and even connecting my computer directly to the modem– nothing worked.

Finally, I called Comcast and talked to one of their “specialists” from Indiana (better than India, right?).  He dialed into the modem, and was able to get a computer hooked up through the modem, but still not through the router.  We made an appointment to have somebody come out.

Two days later, somebody from Comcast came out and tinkered with things for about an hour.  With all of the toys in his magic bag, he still couldn’t get the router working.  Moreover, we were able to hook up a different router, and that one worked.  We chalked it up as a faulty router, and he was on his way.  But something was still fishy.

We bought the router about 5 months ago, and everything had been working on it perfectly.  I installed the DD-WRT firmwire for even more control.  Everything looked good on it, except we couldn’t get an IP from the modem.  After doing a little research, it seems that Comcast has some trouble with DD-WRT routers.  The solution was to change the router’s MAC address from the default DD-WRT address to something else.  Many users clone their laptop’s MAC, but I used one from an older router.  A quick reboot afterwards, and we’re back up.

It’s hard to say whether it’s an incompatibility issue, or Comcast is actively blocking this alternative firmware.  I’ve generally had bad experiences with Comcast, so I choose to believe the latter.  Anyway, I’m glad we got things worked out, because I wasn’t too excited about going through the warranty process with Linksys either.


Mar 13 2008

Wosaic 1.0 beta– Faster, Cleaner Mosaics From Your Own Photos

Tag: linux, mac, open source, software, ubuntu, windowsScott Wegner @ 9:22 pm

Alma Mater MosaicWe’ve released our second iteration of Wosaic just in time for the Engineering Open House at the University of Illinois. At the Engineering Open House, we created over 120 mosaics for people, and won 3rd place for the non-technical theme.

This new release represents a major rewrite in the code for the GUI and general control flow. While this won’t be immediately apparent at first glance, this means major efficiency gains and better stability. You can now create multiple mosaics in the same session, and even cancel processing mid-generation. Also, the resolution parameters don’t take effect until saving, which means you can save a Mosaic at a variety of different resolutions.

For more details, check out the Release Notes, which also contains links to other useful wiki pages. Or, head straight for the download page to grab a copy of the latest version. Keep reading below for a walk-through to create your first mosaic.

Continue reading “Wosaic 1.0 beta– Faster, Cleaner Mosaics From Your Own Photos”


Feb 22 2008

Crazy One-Liners

Tag: hack, linux, ubuntuScott Wegner @ 7:42 pm

Command TerminalSo I wrote a pretty interesting one-line command for a specific task today. Here it is– can you guess what it does?

awk '1 {system("lwp-request -Sm HEAD " $0)}' \
input.txt | awk '/200 OK/ {print $2}' > output.txt

Yeah, me either if I were just looking at it. But let’s break it apart, piece-by-piece. You’ll notice that’s its essentially two commands, strung together through some piping and redirection (the “\” character is just to break the command up in two lines). It’s broken up like so:

{command1} | {command2} > {file}

This says to execute command1 first. Then pipe it’s output into command2 as input. Finally take the output of command2, and throw it all into a file. So we start with the first command:

awk '1 {system("lwp-request -Sm HEAD " $0)}' input.txt

So what the heck does awk do? Well, it’s basically a utility to read in input text, do some filtering on it, and then execute a specific task (or tasks) based on the results. In this case, it has the form:

awk 'filter {command}' input

Skipping first to input, we see that the text we want to process comes from a simple text file– in this case, input.txt. filter is what decides which lines of the input actually get used. Generally it’s in the form of a regular expression, and the matching lines are processed. In our case, we just use 1, which means everything matches, and we will process all lines. Next to the command:

system("lwp-request -Sm HEAD " $0)

In awk, the system command actually specifies that the parameter command should be executed in a sub-shell. The parameter is a quoted string, and using $0 means that we should use the first token of the matching line each time. So the function we really want to look at is:

lwp-request -Sm HEAD {token}

The lwp-request command, as seen here, is a command-line utility to send HTTP requests to a server, and observe there response. It has one required argument, which is the URL to query. Since we don’t see that explicitly here, that must be coming from the token we parsed from our input. We also specify two other parameters. -S tells the program to “print the response chain,” meaning that it will show any redirection or authorization handled automatically. Also, we use -m HEAD, which specifies that we are interested in the header data from the HTTP response. So far, pretty confusing, right? Well, let’s see what a sample query looks like:

$ lwp-request -Sm HEAD http://google.com
HEAD http://google.com --> 301 Moved Permanently
HEAD http://www.google.com/ --> 200 OK
Cache-Control: private
Connection: Close
Date: Sat, 23 Feb 2008 01:27:27 GMT
Server: gws
Content-Length: 0
Content-Type: text/html; charset=ISO-8859-1
Client-Date: Sat, 23 Feb 2008 01:27:36 GMT
Client-Peer: 64.233.167.104:80
Client-Response-Num: 1
Set-Cookie: PREF=ID=4b507d757f70e13b:TM=1203730047: (...)

Interesting, sort of. Anyway, let’s move on. So that little piece of code is getting executed for the first token of every line in our input file. Then, the output is getting “piped” into our next command:

awk '/200 OK/ {print $2}'

We’ve seen awk before! This time, though, we don’t specify an input file, because the input comes directly from the previous command. Our other parameters have changed as well. The filter is no longer 1, but rather /200 OK/. This is a true (albeit simple) regular expression, and matches any line that contains the string “200 OK”. Only lines with this string will be processed. Which brings us to our command, or action: print $2. print means to simply output what follows. In this case, $2, which represents the second parsed token. awk is going to consider everything that is piped in from command1, filter out lines it doesn’t care about, and execute the action on the filtered set. Looking at our sample output above, the only matching line is:

HEAD http://www.google.com/ --> 200 OK

This line will be used in the command, print $2. The command simply prints the second token (separated by a space) on the line, so it outputs:

http://www.google.com/

The final piece of our code redirects command2’s output into a file, output.txt. And that’s it! So putting the pieces together, let’s look at what is really happening here:

  • We read in data from an input file for parsing. We can infer that each line contains a URL, which is needed later
  • Each URL is passed to the lwp-request command, which outputs header information from the server
  • We filter the response information down to only the bits we care about. In this case, a new URL
  • Finally, we output each of these “new” URL’s to an output file.

So, that’s the whole one-liner. A little more compactly, it’s a piece of code that takes a list of input URL’s, and outputs the URL’s that each one redirects to. It’s a pretty specific snippet, and has absolutely no error-checking, so is definitely prone to bugs. But, it worked for me the one time I needed it, and it was enough to show off.

On a side-note, this little piece of code made the difference between hours of mindless data-entry, and automated awesomeness.


Feb 21 2008

Synfig - The Linux replacement for Flash

Tag: linux, software, technology, ubuntu, windowsJoe Wegner @ 5:54 pm

Synfig LogoMy recent changeover to Ubuntu Linux has had me searching for easy replacements for all of my Windows programs. The Linux community has made this a pretty easy task, especially with Ubuntu. Ubuntu provides you with Gimp (Photoshop), Firefox (Internet Explorer), Thunderbird (Outlook Express), and the OpenOffice Suite (Microsoft Office Suite). One thing they do not provide you with, however, is an easy replacement for Adobe Flash. Adobe Flash was one of my commonly used programs on Windows, because I do a lot of intro movies for my youth group. Not having a replacement for it was a major downfall for Linux.

Seeing this problem, for about two weeks I searched around for a good replacement for it. I ran across programs such as Flash-4-Linux and OpenLazlo. I heard good things about both of these programs, but found that the install was a bit difficult for a Linux newbie. Then I ran across a program called Synfig. It looked like it had good documentation, and a pretty easy install. All you had to do to install was open up a terminal and put in:

sudo aptitude install synfigstudio

After installing Synfig and opening it (Applications > Graphics > Synfig Studio), I found that I really liked the interface. The synfig interface is broken up into multiple windows, much like that of GIMP. This makes it very easy for me to customize it to my specific needs and project. I also noticed that it had a very easy tool selection menu. Choosing a brush, color, and all the other properties of the brush is very simple.

One of the main features I found in synfig that I have come to love is the different keyframe setup from Adobe Flash. Instead of having the keyframes, time, motion tweens, and everything else all bunched up onto a single window like Adobe Flash, synfig seperates all of these components. This means that creating keyframes is a much simpler process, and is much easier to get them at the precise moment you want.

The only downfall, however, is that Synfig is not made to do intense visual editing. Synfig only allows you to go about as complex as creating a simple gradient. Anything greater than that, such as opacity, blending, or even just adding text is not implemented. This means that if you want to make a very nice looking flash movie, you’ve got to couple Synfig with GIMP.

I would say that, if you are a fan of Adobe Flash, you should definately give Synfig a try. It is a great alternative for Linux, it’s got plenty of documentation, and the interface is very simple. Check out the website to get started, or use the terminal command above.


Next Page »