How to Create a Custom Launcher in Unity on Ubuntu 11.10

One of the first things I always have to do after a fresh install of the latest Ubuntu (or whatever distro is striking my fancy at the time) is create some custom launchers for applications like Eclipse.

Prior to Unity this was done quite easily by editing the menus. In Ubuntu 11.04 with Unity this was no longer an option, so you could right-click on your desktop and select “Create Launcher” and then move the new launcher to ~/.local/share/applications, or there was also a method of creating a .desktop file manually that did the trick.

In Ubuntu 11.10 the right-click menu option for “Create Launcher” was removed (you can read more about why here), so we’re really left with no easy way to create custom launchers. I consider myself a gearhead but even I didn’t care for the “just launch the binary from the terminal” suggestion by some people in the bug thread.

So in my semi-obsessive reading about all of this last night I came across a metion of a package called alacarte that brings back the classic menu editing functionality we knew and loved back in the pre-Unity days.

Just install it:

sudo apt-get install alacarte

Then run it (alacarte from a terminal, or just hit super and search for alacarte), and you’ve gone retro with your menu editing.

One of the 10,000 things I love about free sofware–if there’s an annoyance like this chances are someone else who’s annoyed will fix it, or you can always jump in and fix it yourself. Clearly this wasn’t something on which the Ubuntu developers were going to budge but the alacarte solution works extremely well.

Fixing BackInTime Snapshot Failures

Although it's really simple to write your own rsync script to do backups on GNU/Linux, I'm a big fan of BackInTime because it's a more sophisticated, snapshot-oriented backup solution (very similar to Apple's Time Machine) as opposed to the blind copy and sync that you'd typically wind up with using a one-line rsync script.

The issue is that even when running BackInTime as root there are some directories, symlinks, etc. that it can't copy or certain operations it can't perform, so you wind up with failed snapshot errors. In the past I never really dug into them and just went back to using an rsync script to sync to my Amahi server, but today I decided to spend a bit of time working through the errors since they were exacerbated a bit due to my home directory being encrypted on my new System76 Lemur UltraThin.

What makes this process easy is that BackInTime keeps excellent logs of where it's failing, and as opposed to taking the time to investigate why each of these operations was failing, I just added a few patterns and directories to my exclude list and my snapshots are succeeding now.

The specifics in your situation may vary, but in my case I added the following to be excluded:
  • *gvfs*
  • [a few symlinks that pointed to directories in my home directory itself]
  • /home/mwoodward/.config/chromium
  • /home/.ecryptfs/mwoodward/.Private
  • /home/mwoodward/.Private
  • /home/mwoodward/.gconf
  • /home/mwoodward/.pulse
With those in the exclude list the snapshots are clean and I'm happily backing things up with BackInTime again. What I need to do next is verify that these exclusions aren't causing any issues, but since all I really need is the bulk of the files in my home directory to be backed up based on the bit of poking around I did it seems to be working fine.

Technological power should be held by all users of a technology. — FreeSoftware Foundation — working together for free software

As computers play an increasingly important role in the way we
communicate, the people who control the software that runs on
computers play an increasingly important role in determining what we
can say, how we can say it, who we can say it to, and when we
can say it. Control over technology is power. Free software is an
attempt to say that this power should be wielded
democratically. Technological power should be held by all users of a
technology. Software freedom and user freedom are intimately
connected.

Suffice it to say that most users do not think about their software
this way. Many pay for software that is intentionally locked down so
that they can not change it, share it, or see how it works. Many use
software that spies on them, that wields antifeatures against them to
extort money from them, and that is designed and licensed in order to
keep communities of users divided and helpless. Users only put up with
software like this, in large part, because they don’t think of
software in terms of freedom.

If you care about how our technologically driven future develops, and you want freedom to be at the core of this future, please consider joining the Free Software Foundation as an Associate Member.

To quote the end of this excellent post on the FSF web site, “The FSF is a small, humble organization of passionate individuals working tirelessly for our software freedom. I’ve seen firsthand that even small gifts make a difference.”

There is no question in my mind that the technology world as we know it would be a much worse place were it not for the phenomenally important work of the FSF. They continue the fight for software freedom on all fronts every day. Or to paraphrase Tron, they “fight for the users.”

Join the FSF as an Associate Member today, or please give what you can. It’s money exceptionally well spent.

451 CAOS Theory » Big business better use open source

Thus, to say that an organization avoids or bans open source software today is tantamount to saying that organization does not save money, does not do things efficiently and is not progressive. There may be those who continue to believe that the use of open source is still relegated to geeky development or IT operations teams, or that it is limited to test and dev projects, but it has already made inroads into production. Whether the leadership of big business knows it or not may be another matter.

This seems to be a theme in articles covering free software as the year comes to a close. Looking back on 2010 it does seem that free software finally lost most of its “geek sheik” image and is simply an important part of most IT organizations.

Thoughts on Ubuntu 10.10 Netbook Edition

This isn’t intended to be a full-blown review since there are plenty of those out there, but while I was installing Ubuntu 10.10 Netbook Edition on my Asus 1000HE this weekend, I thought I’d jot down my basic thoughts.

Installation

A+++. Absolutely amazing. 25 years later Windows still doesn’t even come close to having such a fantastic installation process. Fast, clean, and flawless. Couldn’t ask for anything better.


Boot Time
Notably faster than 10.04 on my netbook. My main laptop has a solid state drive and already boots up in about 7 seconds with 10.04, so I can’t wait to see if 10.10 makes a difference on that machine.


Ubuntu Font
Ubuntu ships with a new default font called (not surprisingly) Ubuntu. It took some getting used to at first, but I like it! Very readable and easy on the eyes, not to mention Ubuntu-sheik styling.


Unity Interface
I have to give Unity about a C for the time being. The idea of it is awesome, but there are a lot of idiosyncrasies and display issues.

For example, Eclipse flat-out doesn’t work because the entire top menu bar in Eclipse doesn’t appear. There are also many applications (UltraEdit being one example) on which there are too many menu items across the top for the Unity interface to handle correctly, so they spill over into the notification icons on the right-hand side of the screen. (See screenshots for some examples.)

It’s not so bad that I’m going to uninstall 10.10, but I really hope they address the issues soon. If I had to use Eclipse on a regular basis on my netbook I’d simply have to move over to Crunchbang or Easy Peasy, or back to Ubuntu 10.04 which ran Eclipse just fine.

Unity also seems just a bit sluggish on my 1000HE. Not to the point where it’s irritating to use, and a VAST improvement over some of the release candidates. I was using RC1 a few weeks ago and the entire machine was horrendously slow, so if you tried an RC and were turned off by the performance, rest assured they fixed that issue for the most part. Seems just a bit more slow than 10.04 when doing certain things, but overall the performance is acceptable.

Software Center

Huge success here. Software Center got a major upgrade both visually and in terms of functionality. I still do most of my installs in a terminal, but Software Center is a real treat to use. Search and categorization is better and when installing a .deb, there’s a very nice progress bar and clear notification of when the install is complete. It’s a lot more easy to use and clear, particularly for less technical users.

Other Random Thoughts

  • 10.10 is a bit more locked down than 10.04 was in terms of customization. If you like doing a lot of customization to your desktop, menu items, etc. this probably isn’t the distro for you. Adding a launcher for programs you install yourself, for example, simply isn’t possible from what I’ve seen because you can’t customize the launcher directly, and not all programs support the “Keep in launcher” option when you right-click in the launcher after starting the program from a terminal. This isn’t really a criticism per se since if all you want to do is surf the web and read your email 10.10 is fantastic for that, but if you’re more of a hacker with your machines, look elsewhere.
  • Ubuntu One got some really nice new features that I haven’t had time to dig into just yet. Definitely notice fewer random “your login failed” type issues so they’ve clearly been focusing a lot of attention here.
  • The Ubuntu One music store is really awesome. I still have to jump over to Amazon.com’s MP3 store for some things that Ubuntu One doesn’t have, but overall it’s really nice and incredibly usable.
  • The social features in 10.10 seem about the same to me as on 10.04, with maybe just a bit more polish. Note that if you rely on using Gwibber for interfacing with Facebook (which I don’t), there is a bug that is preventing a lot of people (myself included) from being able to successfully add their Facebook accounts to Gwibber. Facebook *chat* works fine in Empathy, but Gwibber has issues.

Overall this is another great release from Ubuntu. If any of the annoyances I’m outlining here are dealbreakers, just stick with what you have for now. The new features are nice, and I like upgrading every six months to have the latest and greatest, but I’m not sure this is a “must have” upgrade. To be fair the .10 releases aren’t really supposed to be “must have” since they don’t have long term support (LTS) like the .04 releases, but there’s enough here to warrant an upgrade if you’re not put off by a couple of glitches here and there.

Will I upgrade my main laptop with Ubuntu 10.10 desktop? Still debating on that one. Short answer is “probably” since I doubt I’ll run into the display issues with Eclipse, and my main laptop is in need of a scrubbing anyway. And if I can brag to all my friends that my laptop boots up in 5 seconds instead of 7, all the better.

Installing OpenConferenceWare on Ubuntu

I’ve been working a soon-to-be-released app called “OpenCFSummitWare” (a.k.a. “Engage” but that name was taken on Google Code) for a while now, and it’s the application we’ll be using to manage proposals, scheduling, and attendee information for OpenCF Summit.

The inspiration for the application is the excellent OpenConferenceWare that was created for the Open Source Bridge conference. Obviously we want to run a CFML conference on a CFML app, but it saved me countless hours by having an extremely strong model on which to base our new application.

OpenConferenceWare is written in Ruby, and since I have zero experience with Ruby (at this point anyway) it took a bit of work to install the app and get it up and running. With a bit of help from the OpenConferenceWare Google Group and some tenacity I got it running, so I thought I’d share the step-by-step process here.

Note that this assumes you’re starting with a clean system or at least one that hasn’t ever had Ruby (and some of the other tools outlined below) installed on it. You can do this all in one shot, and probably in a much more logical order, so what you see here is the step-by-step I went through as I ran into missing items while trying to install OpenConferenceWare. (Note that I am * not* doing the optional MySQL database steps, so I think it uses SQLite by default.)

  1. Install git:
    sudo apt-get install git
  2. Clone the OpenConferenceWare git repo:
    git clone git://github.com/igal/openconferenceware.git
  3. Install Ruby:
    sudo apt-get install ruby
  4. Install Ruby Gems:
    sudo apt-get install rubygems1.8
  5. Install additional tools necessary for building and compiling:
    sudo apt-get install ruby1.8-dev build-essential gcc autoconf libtool
  6. Install the MySQL development libraries:
    sudo apt-get install libmysqlclient-dev
  7. Install XML/XSLT libraries:
    sudo apt-get install libxml2-dev libxslt1-dev
  8. Install SQLite3 libraries:
    sudo apt-get install libsqlite3-dev
  9. Install rake:
    sudo apt-get install rake
  10. Install the bundler gem:
    sudo gem install bundler
  11. Install the MySQL gem:
    sudo gem install mysql
  12. Create a symlink to the bundle command:
    sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle
  13. Go into the openconferenceware project directory you cloned in step 2 above:
    cd openconferenceware
  14. Install the necessary libraries for the application:
    bundle install
  15. Update the styles:
    rake bridgepdx:styles
  16. Set bridgepdx to be the default theme.
    1. Navigate to openconferenceware/config
    2. Create a new file called theme.txt
    3. Add the following line to theme.txt:
      bridgepdx
    4. Save the file
  17. In the openconferenceware directory, create the databases:
    rake db:create:all
  18. Finish the database creation, populate database with sample data, and set the admin password:
    rake setup:sample
    (If you don’t want any sample data, just do rake setup instead of rake setup:sample)
  19. Startup the app:
    ruby script/server
  20. Navigate to http://localhost:3000/admin and log in!

Pay special attention to step 16 if you’re getting an error along the lines of “bridgepdx theme broken”–that simply means you haven’t set a default theme in openconferenceware/config/theme.txt

Final note: this setup is intended for running on a local development box, not for production! If you’re interested in additional performance and security settings for production, make sure and check out the installation instructions on github.

Thanks to Igal and the entire team for such a great open source conference management app on which I could model the app we’ll be using for OpenCF Summit!

Packt Open Source Awards – Vote Now!

The Packt Open Source Awards are now in the voting phase, so make sure and go vote for your favorite open source projects! Unfortunately Mura didn’t make it past the nomination phase (next year we need to change this), but there are lots of other incredible FLOSS projects that deserve your votes.

Vote now so you don’t forget–voting is only open through November 5!

FCC.gov Announces Open Source Redesign | The White House

At its core, the FCC’s new online platform will leverage the same open source technology powering WhiteHouse.gov, and they’re planning active engagement with the open source community. We’ve found open source technology to be a great way maximize the scalability and accessibility of WhiteHouse.gov, and we’ve even contributed some of the custom code we’ve written back to the public domain.

This is definitely a trend I’m loving to see happen in government. Even without an official mandate, open source will likely soon just be the way things are done with government technology projects.

City in a Box: Municipal Makeover Comes to Texas | The White House

Today I am in Manor, Texas (pop. 6,500), to celebrate the burgeoning open government movement underway in America’s towns and cities. Manor is embracing the Obama Administration’s vision of creating effective and efficient government that fosters transparency and innovation. By using new technology to enable open and collaborative ways of working, government—whether federal, state, or local—can deliver better citizen services with fewer resources.

Just goes to show all the things that can be done with technology TODAY, regardless of the size of your resources. Really exciting stuff, and the best part is that many of the initiatives around this mean that the code will be available for other municipalities to use.

It’s nice to see that we’re finally making some progress in using technology to have an actual impact on people’s lives. And if a town of 6500 can do it, there’s really no more excuses large cities can use for not moving in this direction.

My CFFree Session Presentations From BFusion

Yesterday I had the great opportunity to spend an entire day covering the free software CFML engines at BFusion in Bloomington, IN, assisted by Adam Haskell (thanks Adam!). It was fantastic to be able to do a deep dive into building and deploying CFML applications on a free software stack, and I got a lot of good feedback from the attendees.

If you couldn’t attend and are interested, the Ubuntu VM we used in the course is available on Dropbox (3.8GB).

Here are the presentation slides on Google Docs–make sure to go down to “Action” at the bottom of the screen and select “Show Speaker Notes” because otherwise the slides don’t make a lot of sense. 😉
  • Session 1
    • Introduction to Free Software and Open Source
    • Introduction to Free CFML Engines
  • Session 2
    • Installing Open BlueDragon and Railo
    • Configuring Apache and Tomcat
  • Session 3
    • Exploring OpenBD and Railo
    • Enhancements in OpenBD and Railo
    • Deploying Applications
  • Session 4
    • Using the OpenBD Debugger
    • Extending OpenBD and Railo
    • Monitoring Your Applications With VisualVM and Lambda Probe
    • CFML on Google App Engine

Thanks to the attendees for participating in what I hope was a useful and informative session. Whether or not you were at BFusion, feel free to email me with any questions you have about anything related to free/open source CFML.