Posts categorized “Ubuntu”.

New Laptop: Setting up Email

And my email configuration addiction continues. As you may recall, I did an extensive (now out-dated) post about my email setup. I’m still using the basic configuration outlined there (all of the same programs) just some of my settings have changed a little. I tend to make little changes every now and then which I think will save me a tiny amount of time wet-ware processing my email. Below I outline how I am making the transition to new machines/installs easier for my email setup.

Restore Config Files

With the purchase of a new laptop, I have to re-setup my email’s (and other applications’) configuration. Luckily, I keep all of my configuration files in version control which is synced between 3 computers; my old laptop, my desktop, and my webserver (for mostly backup purposes, but also for imapfilter). All I had to do was run the following very basic commands:

mkdir src
cd src
bzr branch greg@my.server.net:/home/greg/src/dotfiles .
bzr branch greg@my.server.net:/home/greg/src/scripts .
cd scripts
./restore_email_apps.sh
./restore_symlinks_desktop.sh

The first 5 things are pretty self-explanatory: make a directory called “src,” go in there, then create 2 branches of the bzr repos for dotfiles and scripts.

Then, lets run two of the scripts in ~/src/scripts/.

restore_email_apps.sh is really just an easy way for me to remember which applications I use for email and its supported functions. The contents of that shell script is merely:
sudo aptitude install mutt-patched offlineimap msmtp abook
Yep, thats it.

The restore_symlinks_desktop.sh file is a little more involved. Basically, since I keep all of my dotfiles in a bzr repo called ~/src/dotfiles I need to tell the associated applications where to find those files. Well, I don’t really tell the applications, I trick them. I create symbolic links from where they are expecting the file to where I actually keep it. This is a common trick for these types of setups. In fact, if you didn’t want to use a traditional version control system to handle the versioning/syncing between computers you could store your dotfiles in your Ubuntu One folder and then they will be synced automatically. So, restore_symlinks_desktop.sh goes and creates all of those symlinks for me.

offlineimap

Now, you may have noticed that I use offlineimap with my email system. I won’t go into all of the benefits of offlineimap here, but the main ones that I enjoy are: local really fast storage of my mail (vs online) and brain-less email backups (its already backed up already).

However, using offlineimap creates one speed bump in this email setup; you need to redownload all of your email again, which, if you are like me and don’t delete anything (just put it in an Archive folder) then this can take a long time depending on your mail server. And, if you use gmail’s servers, they can lock you out of IMAP access if you download too much. Luckily, offlineimap is pretty robust and allows you to get around that problem fairly easily.

Note: I have only done this with offlineimap using the MailDir format so I don’t know what would be different for the other formats. Also, I haven’t seen any other guides like this online which is A) why I wrote this out and B) makes me wonder if this is bad for some reason [I did this over 5 days ago and haven't lost any email yet].

Anyway, here is what I did:

1) copy my .maildb folder from one computer which had a recent sync to my new laptop using a local LAN. I did this using rsync so it would compress during transit, because even at 10 megs a second, 6 gigs is a lot to transfer.
rsync -e 'ssh -ax' -auhvz --progress greg@192.168.1.102:/home/greg/.maildb/ /home/greg/.maildb/

2) rename the MailDir format email files to reflect the new computer’s hostname. The files look like this:
1264133355_0.24102.alexandria,U=3422,FMD5=e727b00944f81e1d0a95c12886ac4641:2,S
That “alexandria” part is the hostname of my desktop. So, I need to change that to “zen” so it looks like this:
1264133355_0.24102.zen,U=3422,FMD5=e727b00944f81e1d0a95c12886ac4641:2,S
But I need to do that for ALL of my email. find and xargs to the rescue!
find . -name '*' -type f -print0 | xargs -0 rename -v 's/alexandria/zen/'

3) setup offlineimap; ie: install and configure your email accounts. This is already done for me by running those two scripts above. Note: Make sure your ~/.offlineimap folder is empty (ie: don’t copy it over from your old computer).

3b) A big change from my last email setup is that I am now checking one of my mail account (grossmeier.net) over ssh. Basically, offlineimap ssh’s to the server, then runs an imap server (in my case, rimap). I followed the instructions set out here: http://eagain.net/blog/2007/02/09/imap-over-ssh.html (changing the pertinent parts about the imap service on the server, of course).

4) run offlineimap. You should see it SCREAM through your email archive as it adds the metadata to its .offlineimap folder from the local maildir you just copied to the machine.

There ya go. Now when you get a new machine and you use offlineimap to sync your email you don’t need to re-download all of your email again.

New Laptop

I finally broke down and purchased a new laptop.

My old trusty companion was a System76 Darter Ultra (revision 2). It was a great little machine with a 12.1″ screen, as much processor and RAM (4gig after purchase) as I need, and Ubuntu pre-installed. I can’t say enough about the people at System76; a small company out of Denver, Colorado where you know pretty much the whole company by first name. Carl is the owner; Tom is the guy answering your support questions; Erik is in charge of sales; and one of their daughters or nieces helps stuff envelopes on the weekends. I’m sure there are more people involved, but those three people I have had personal communication with via email and/or phone and every time it was great.

Why am I telling you how much I love System76? Because I feel bad not sticking with them for my latest purchase. I now have a Lenovo X200s. Another 12.1″ screen machine that is really light and works great.

Why did I switch my supplier? Honestly, because I wanted a machine that had a little better structural build quality (my Darter was a MSI barebones and started having structural issues near its 3rd year of life) and the X200s is just a little “better” (lighter and higher resolution).

So far, everything is working great out of the box*! The best part is I had a 160gig Intel SSD waiting to be put in it when it arrived. As soon as I replaced the harddrive I installed Lucid using a USB flash drive which was extremely quick. What that means is I never booted the original drive and thus never even saw the Windows 7 logo. :)

This machine, with the SSD drive, simply just screams. Best upgrade investment I ever made.

Action pics:

writing this blog post at my work office:

* The only thing not working correctly is two finger scrolling using the nipple and third mouse button (there is no trackpad). I tried the adding the hal quirk identified here, but it didn’t work. Haven’t messed with it too much, really.

Global Jam – Michigan Edition!

That’s right, we be jammin’, too.

First the details from the original ubuntu-us-mi mailing list announcment:

  • What: Michigan LoCo’s Global Jam
  • When: October 3rd from 12 (noon) to 6pm
  • Where: SRT Solutions in Ann Arbor
  • Why: To rock out on Ubuntu before the release of Karmic Koala.
  • Who: YOU! Your friends! Your neighbors! And all of the wonderful members of the Michigan LoCo team.

Now, the great looking banner from Leandro Gómez:

See you there!

sourcecode:binary::???:ppt/odp/pdf

(sourcecode is to binary as ??? is to ppt/odp/pdf)

Ted Gould just posted to the planet with his presentation that he gave at the Desktop Summit. At the end of his post you’ll notice that he uploaded his presentation to Launchpad (at lp:~ted/presentations/2009_desktop_summit/).

I think that is a great idea! Not only does it provide the ability for the community to see what others are using for their presentations but it allows anyone to branch a presentation, which has awesome potential. Especially with the presentation format that Ted chose, SVGs. The S5 presentation format (XHTML/CSS/JS based) would also be a great candidate for easy branching and editing of presentations.

But what if you need to create presentations with others who use Powerpoint or Impress and you wanted to harness the power of a Version Control System? Old powerpoint (ppt) files are binary blobs which don’t work well in version control systems (they *work* but not *well*). Impress (odp) and new Powerpoint (pptx) files are effectively zipped archives of xml and images. However, since it is zipped, bzr treats it as a binary. I only tested with bzr but don’t foresee any of the other systems behaving any differently.

Why would you want to use a VCS for your presentation files? Especially a DVCS like bzr/git/hg? COLLABORATION!

Some of you may know that I am currently working with Open.Michigan, a project at the University of Michigan that enables the creation of Open Educational Resources (OER). OER is effectively a broader term for the concept of Open CourseWare. Basically, everything used in education is a resource, not just presentations, and thus is useful for others to see, use, and remix. If you are curious to see what kinds of things we produce, see our Educommons installation.

OpenMichigan

Back to the topic at hand though: presentations and DVCS.

One of the major areas that the OER community could greatly improve upon is the area of remixing; taking the openly licensed materials and using them, adding new material, and creating something original. Remixing, in general, is enabled by having access to the source files of the material being worked with. Sure, you can use a PDF or a mp3 in a remix, but it is usually better to have the original .odt or multitrack file to work from. This is why Open.Michigan provides to the public the ppt files along with the pdfs of the presentations created through the OER program.

But lets leverage some of the tried and true methods of the FLOSS community in the OER community. One of the biggest and most fundamental benefits of the FLOSS world is that everyone has access to the source code, and can easily get it, edit it, and (hopefully) compile a new version of the program; effectively a “remix.” How does the FLOSS community lower the barriers and increase efficiency for that workflow? We provide public access to code repositories, instructions on building the software (documentation), and a bug tracker to inform what needs to be worked on next.

I want to mirror much of that to the OER community. One of the first things that needs to happen is to provide an easy way to manage multiple versions of a single resource (eg: presentation, video/audio, book). A VCS seems like the obvious choice. But there must be a better way than just managing binary blobs, right?

That is the part that I need to figure out next: how to utilize the power of a DVCS in this genre. Then I can move on to figuring out what a bug tracker for OER would look like (and if it is even needed). The documentation is actually already there, at least for Open.Michigan.

Do you have any ideas?

My Ubuntu Cycling Sunday Ride

I am a proud member of the Ubuntu Cyclist group, just like Rich. So, today I decided to make the best of the beautiful weather and go for a ride on my Miyata 310.

Here is the route I took:

View Bike/Walk Route June 28, 2009 in a larger map

Those blue markers all correspond to places I stopped to take pictures.

This ride would have been a great time, but with 3.4 miles to get home my front tire tube popped. Note to other riders: when going down a hill on a dirt road and at the bottom is where the pavement begins, be sure to take that pretty easy or you are bound to pop your front tire.

Why did I title this post “My Ubuntu Cycling Sunday Ride?” What makes it Ubuntu? Well I had my with me the whole time which means I had 8 Jaunty CDs and a couple sheets of Ubuntu stickers, just in case!

Anyways, here are some photos, full set here:

Bike + Diesel Tank

Blah Blah

Crane Treads

Swamps of Washtenaw County

Swamps of Washtenaw County

Oliver the Tractor

Oliver the Tractor

Foraged Mullberries from a foreclosed home

Foraged Mullberries from a foreclosed home

Creative Commons and FLOSS

Tuesday night I gave a presentation at the Michigan!/usr/group (MUG) meeting about Creative Commons and its relationship with Free/Libre Open Source Software. I had a great time giving the presentation and judging from the amount and activity of the questions it seems like others enjoyed it, too!

I started off with a quick background on Creative Commons and what we do, in general. Then, after answering a ton of questions which were raised in the first 5 minutes, I went on to discuss CC’s role in the Free/Open Source Software community. Specifically, the FLOSS projects we develop and/or work on and how we can help others create awesome things.

If you weren’t there, you missed the opportunity to be a part of a great conversation between some great MUG members and I. But luckily, my slides are available online:

And, since Craig was nice enough to use my photo camera to record the presentation, we even have video! We only have 34 minutes of video, but that gets the majority of the talk. Apparently my camera records at a 1 gig per 10 minutes rate, we only got 34 minutes because it filled up my 4 gig memory card.

Thanks to everyone who came out, you made it fun.

Michigan Jaunty Release Party!

Happy Jaunty Release Day Everyone!

Ubuntu Jaunty Countdown

Those in the Southeast Michigan area are more than welcome to attend our release party THIS SATURDAY. We’ll be toasting to the next great Ubuntu release. Bring your friends, bring your laptop (free wifi!), bring your questions. I’ll bring stickers!

Important Details:
What: Jaunty Release Party!
Where: Corner Brewery
When: 7pm – ???
Why: Because Ubuntu is awesome! Because we’re awesome! Right on.
How: Need a ride? Join the mailing list.

Jaunty Release Party – April 25th

Release Party Time!

Thats right, the Michigan LoCo Team will be hosting our biannual Ubuntu Release Party on April 25th in Ypsilanti, Michigan. The venue of choice is The Corner Brewery as it provides ample seating and ability to move tables around to have bigger groups. Plus, if you know where to sit there are power outlets!

And you know the Michigan LoCo can throw a party, we even had people come up from OHIO last time because they knew our party was better. I wouldn’t be surprised if this year we even had people from CHICAGO make the drive over. I don’t even see Ohio or Chicago on the list of Release Parties yet.

Important Details:
What: Jaunty Release Party!
Where: Corner Brewery
When: 7pm – ???
Why: Because Ubuntu is awesome! Because we’re awesome! Right on.
How: Need a ride? Join the mailing list.

Be sure to check out what other teams are having parties on the nice JauntyReleaseParties wiki page.

Hope to see you there!

apport-collect, just what you wanted!

I’ve been triaging bugs for Ubuntu for a while and I have always wanted an easy way for bug reporters to give me all the relevant information that is needed to help with finding out the problem. The way I usually did this was to add copy/paste-able requests to the Debugging Procedures Ubuntu wiki page. This was a pain for a few reasons: sometimes those copy/paste segments weren’t there and I had to add them and it also necessitated I have those wiki pages open (and wasting valuable tab-space in Firefox).

But now, thanks to the work of Matin Pitt, you no longer need to do anything as complicated! If the package already has some Apport Hooks then all you need the bug reporter to do is to run the command: “apport-collect 12345″ (substituting 12345 with the bug number in question, obviously).

apport-collect will then go find all the open tasks for that bug (just in case it is assigned to more than one package), run all of the apport-hooks for those packages, and attach that information to the bug report. It does all of this with out any other interaction with the reporter. To see which packages already have apport hooks available for them, see the Apport wiki page. Now, we all need to start adding more apport hooks so this is even more useful.

Be sure to check out Martin’s original announcement on the ubuntu-devel-announce mailing list.

Michigan’s Global Bug Jam report

Well, I will call that a success.

First, we all traveled through the blizzard conditions to get to the event. No one was hurt.

When we arrived we set up quickly and got to work. The only hitch was the wireless at the library was effectively non-existent. Luckily, we had a hub and cables. Our turn out wasn’t the highest (I blame the weather) but our spirits were high.

Everyone there was really putting a lot of good effort into doing some quality triage today. Had lots of good questions asked (and answered!) and judging from the stats at the end of the event, we kicked some butt!

(sidenote: I’m not sure what is up with the stats now, because I’m pretty sure the michigan team did not touch over a thousand bugs today).

Be sure to check out the pictures taken by Craig, another Michigan LoCo member, and his blog post about the event: linky.

And speaking of pictures, so far I am the only one to have uploaded pictures to flickr with the tag of “ubuntu-global-bugjam-february-09” as outlined on the GlobalBugJam/Stories page; get your photos up there!