Posts Tagged ‘Linux’

Acer Aspire One Clock Adjust

Since the time change, I’ve been having an issue with the clock on my Aspire One. Everytime it sleeps, the clock is exactly one hour in the past. It wasn’t a timezone problem, since running date correctly showed the time as EDT

The fix for this is to run the follow two commands:

$ sudo ntpdate us.pool.ntp.org
$ sudo hwclock --systohc

This will sync your hardware clock to the time from the network time service.

  • Share/Bookmark

Why Git is better than SVN

SVN is based on a relic and broken. A fundamental feature of SVN/CVS is that one’s working copy is a subtree of the repository. At some point in the distant past, this made sense. Diskspace and bandwidth were limited and expensive, but times have changed for the better. However, the design and functionality of CVS stems from this core feature. SVN is a major improvement over CVS by including atomic commits, better support for binary files, and using deltas to create branches (making branching and tagging cheap), but it’s still tied to the partial working directory concept.

For an example of why this sucks, checkout some code with SVN. Then do a rm -rf on a directory, followed by a svn status . Hilarity will ensue.

I want my version control to be as out of the way as possible. I don’t want hidden directories everywhere. I don’t want to svn delete, followed by a commit, followed by pulling out the SVN Manual and scracthing my head. I just want to remove the directory. The version control tool should deal. It works for me, not the other way around.

It’s a little thing, but it got under my skin enough to find another solution. I’ve started using Git for all of my personal projects and become a big fan of the tool. Now that I’ve gotten the ranting out of the way, what follows are what I see as the benefits.

*** CAVEAT *** If you want a tool that works like SVN, use SVN. Git is not for you.

The biggest difference between Git and SVN is that Git is distributed version control. Every working copy is full clone of the repository. SVN is hosted on a single server. An SVN working copy is just the current checked out code: nothing more, nothing less.

Distributed version control is a little more complicated, but it gives the user a lot of flexibility. I can start working on a project and version control it on my laptop immediately. When it comes time to share, setting up a hosted repository is trivial, or I can use a site like GitHub to host it for me.

Since I have a local repository I can freely check stuff in without worrying about its impact on other developers. If I do something that I know is going to break IE, or if I haven’t finished my unit tests, I can still commit code so that I can rolllback after the inevitable screw up. However, I don’t have to make the code public until everything is done. It’s like the local history feature in Eclipse, but you don’t need 6Gigs of RAM and a JVM.

Also, since it’s distributed, you can model usage to your team structure. SVN forces you into a situation where you are basically treating your committers as an organized whole, like a development team in a company. Git’s processes were designed to be the version control tool for the Linux kernel. Git is designed to work well with patchsets. Or you can have the team leader responsible for pulling finished code from team member’s trees. Or you can use it (almost) like you would SVN.

The other major benefit of Git is the command line tools are a lot better. git status gives more information than svn status. Most of the tools work on directories as well as files. git log is super flexible and can give you extremely detailed reports.

Obviously, this isn’t an indepth article. These are just the reasons that I keep using Git. Git is not perfect and there are some drawbacks, but I think it’s the best free version control system. Finally, if you are interested in Git, here are a few things to keep in mind to get over the initial frustrations and learning curve:

  • Don’t be afraid of committing, there’s no risk
  • Everything in Git happens to to the head of your repository branch. This means merges, updates, etc, occur against what you’ve checked in locally
  • Always check in before pulling from a remote repository
  • You have to pull before you can push to a remote repository
  • Git is less intuitive than SVN, but it’s easier to use
  • Git is not SVN
  • Most operations work on directories
  • The GUI tools suck
  • The docs were written by the same guys that think man pages are intuitive
  • Share/Bookmark

Acer Aspire One Review

I’ve had the machine for almost two weeks and used it a bunch, so it’s time to write a real review of the system.

Interface

I’ve got the one running Linpus Linux Lite.  Linpus is based off the Fedora project and optimized to run on lower powered machines, such as net-books.  The goal of the interface appears to be to abstract out as much of the Linux guts as possible.  The main screen is a collection of application buttons to launch the applications that someone figured would be the most used.  The list is pretty sensible.  I’d imagine the vast majority of users would actually use the machine for Web Browsing, Instant Messaging, and writing documents.  In another attempt to make things comfortable for main-stream users, the default theme and window dressing looks like WindowsXP.

This is how the Aspire c

This is how the Aspire c

However, if you aren’t a Linux Newbie or want to learn more about the how to use Linux, it’s pretty easy to break out of the Linpus box.  The Linpus interface is just some custom stuff on top of Xfce, a Linux interface that I’m a big fan of.  Like with any other Linux system, once you have root and a terminal, the sky’s the limit on what you can do.  I followed the steps in the link to enable the Xfce menu, which allowed me to add custom keybindings, virtual desktops, get rid of the default WindowsXP window dressing, and a hot key to open the run dialog.

more visually palatable

more visually palatable

Installed Apps

There are a few surprises here.  Instead of shipping with Pidgin, it ships with an app called Messenger.  Messenger supports Skype, along with the standard text protocols, with the downside being that the interface is not as nice.

Despite the vast speed improvements present in Firefox3, the Aspire One continues to ship with FireFox2.

Otherwise, it’s your standard set of linux productivity tools, such as OpenOffice, some random media clients (no Amarok because the system in GTK based), and some of the usual free (and fun) games. It’s pretty much what you’d want in a system like this, unless…. Well I’ll get to that in a bit.

Input

The keyboard is slightly smaller than a standard laptop keyboard.  I believe Acer claims it is about 95%.  I used to use a Fujitsu mini-notebook that had a similar sized keyboard.  Personally, I like slightly smaller keyboards because they require less finger travel.   Another big plus is how responsive the keys are.  I often find Dells are just a little mushy.  The Acer keyboard is very nice and springy.

The mouse, on the other hand, is not as nice.  It supports up/down and side to side scrolling.  However, the scroll points aren’t right at the edge, so it’s very hit or miss on whether you’ll get the behavior that you want.  The placement of the mouse buttons to the left and right of the trackpad is a bit weird too.  It’s going to take a lot of practice to reliably hit them without accidentally scrolling to somewhere on the page.  All this means that using the mouse can often be frustrating.  Playing with the sensitivity settings may help a bit, but I have yet to find that sweet spot.

Performance

This is where the little machine really shines.  I figured that 1.6Ghz low voltage processor would be a bit of a dog, but this machine is pretty fast.  Of course, I’ve cheated a bit, I did pop open the hardware and add an additional Gig of RAM.  Websites are very usable on Firefox.  Openoffice loads quickly and is usable.  The games are smooth.  Messenger is pretty quick too.  I often have multiple applications open at a time and hardly get frustrated by the performance of the processor.

There has been a lot of noise online about the write speed of the built in flash drive.  It’s not super fast, but I haven’t done anything that’s made me mad at it.

Also the connectivity options sort of suck.  You can’t get one with 802.11n or Gigabit ethernet.   However, I find it somewhat unlikely that you’re going to transfer very large files to a machine with 8G of Hdd.

Linuxy-ness

Make no mistake, this is a real Linux system.  Occasionally this manifests itself in weird gui behavior.  When the network disconnects, I get about 4 error messages about it.  That’s somewhat annoying.

What’s not annoying is that a little knowledge of yum can set you up with gedit, mysql, postgresql, gcc, ruby and whatever else you want to run.  Since the performance is so good you can actually use it as a goof around development box.  While nobody is going to mistake it for a dual-core Macbook Pro,  it’s actually very usable. There are times that you’re going to want something with a bigger screen, or more horsepower, but $330, a machine that can do that much is really quite cool.

Summary

I had hoped that the performance of this machine would be good enough to take to a coffee shop and hack.  It’s far exceeded those expectations.  I love using this thing and it covers about 80% of my computer usage.  If you want something small, cheap, and useful (and your handy with a screw-driver) this is the machine that you want to get.  As long as you aren’t trying to develop some silly J2EE app, you’ll be thrilled with what it can do.

  • Share/Bookmark

RMagick on Centos5

In a week that included running 10 kilometers for the first time in over 12 months, getting jabbed with a needle for a blood test, and setting a personal best for the cycle ride to the office, by far the most painful was trying to get RMagick installed on a Centos5 box.

For starters, the RMagick 2.x series requires ImageMagick 6.3.0 (which came out in early 2006). Of course, CentOS5 ships with ImageMagick 6.2.28. I understand the need for stability. But what’s a developer to do if COBOL isn’t a viable solution?

David Bock’s website suggests to try the older version. Which worked, kinda. However, the rmagick build threw up while running sanity checks. The issue is that I didn’t have the Microsoft True Type Fonts installed. Now to find an easy way to install them.

More googleing lead me to Corefonts, which has the installation instructions. I followed these directions and tried again.

Same error.

The finally step is to link the directory with the fonts to where ImageMagick wants them to be.

ln -s /usr/share/fonts/msttcorefonts /usr/share/fonts/default/TrueType

One more gem install and everything is happy.

As rock-solid as Centos is, I’m getting very reluctant to recommend it anymore because of issues like this. Unless you’re running software that’s older or from a commercial vendor, it’s just not worth it. Eventually you’re going to want a library, a major upgrade or a snazzy new language that’s going to make you jump through all sorts of crazy hoops.

  • Share/Bookmark
Return top

About

This is my blog about programming. For random stuff, checkout my Twitter or Tumblr