Thursday, November 17, 2011

HOWTO: Use APT without the Bloat

Today I would like to share a small tidbit with all the users of APT distros out there. One of the reasons Bodhi Linux is so light weight and snappy is because when I install all the base packages for Bodhi I install them with the minimal amount of extra dependencies.

For whatever reason a good deal of Debian packagers like to tack on a whole slew of "optional" dependencies to the packages they create. By default apt-get installs all of these extra dependencies on your computer. If you are like me and don't want all the extra bloat it is as simple as running apt-get with on extra argument:

sudo apt-get install --no-install-recommends foo 

In the above example "foo" is the name of the package you wish to install. Doing this can save a good bit of space on your system. For example:

sudo apt-get install abiword


sudo apt-get install --no-install-recommends abiword


sudo apt-get install k3b


sudo apt-get install --no-install-recommends k3b

~Jeff Hoogland

Wednesday, November 16, 2011

One Year with Bodhi Linux

Today marks the one year point from our first Bodhi Linux "0.1.0" release. I feel we have come a long way in such a short time and I am happy with everything the team has accomplished thus far. Would you believe that I first started Bodhi simply because I was tired of having to recompile E on each of my half dozen systems every week?

What has been done in the last year? Well we racked up over 150,000 ISO downloads between source forge and our torrent tracker alone (and over two-thirds of these downloads have been since our 1.0.0 release in March). In addition to disc downloads it would appear more people are actually using Bodhi due to the increase of server traffic (on our main mirror) we have experienced over the last year:

Our forums have also become fairly active. We total almost 30,000 posts now from our 1,600 users.

I would also like to take a moment to thank our community for all the contributions people have made. Our document wiki has been gaining more and more valuable content. It has become a truly great resource.

Beyond this I would like to thank everyone that has contributed a monetary donation. When the Bodhi project first started Ken and I paid out of pocket for all the server costs. Since we opened the door for donations in February we have more than covered our server costs each month. The 150$ our main mirror has cost the last couple months may not seem like much, but it is costly for two students to maintain on their own.

Looking to the future I'd just like to clear up a few release dates and plans our team currently has. First off our next update release (1.3.0) will be out towards the end of December. This will again be something current Bodhi users can easily update their systems to obtain - it's main goal is to keep the LiveCD current. We will continue to have these update releases for our 1.x.y versions until the release of Bodhi 2.0.0

Speaking of Bodhi 2.0.0 - this will be our next "major" release, meaning a full reinstall will be recommended for those wanting to move from the 1.x.y version of Bodhi. 2.0.0 will be re-based on the new Ubuntu LTS 12.04 version. With this version we also plan to add a 64bit version of Bodhi that will have workstations and multimedia production systems in mind. Since Ubuntu 12.04 releases in April expect to see Bodhi 2.0.0 sometime after that, most likely May or June.

While I'm on the topic of new architectures I'd like to also say we will be moving forward with our Debian based ARM build. I'm also excited to announce that Genesi has become a Bodhi Affiliate - meaning we plan to support our ARM build on their hardware once we get a bit further along. We also hope to extend our support to the Raspberry Pi devices as well once they are released.

Thanks for reading and we hope you enjoy using Bodhi!

~Jeff Hoogland

Tuesday, November 15, 2011

Application Spotlight: Parcellite

After getting a few comments on my post about NCDU I've decided I'm going to start doing a few posts a month with the topic of "Application Spotlight". Basically I am going to feature applications I use on my Linux desktop every week that I feel haven't seen enough attention in the FOSS world to date.

Today I would like to talk about a light weight clip board manager called:

- We all have our favorite celebrities. Get high quality posters of yours at IDPoster. -

A clipboard manager is one of those small things I have that make using my Linux desktop more enjoyable (it is also one of the things I miss the most when sitting down in front of someone else's computer). A clipboard manager essentially just saves the last couple of dozen lines you have saved with ctrl+c:

If you can't think of any situations in which a tool like this is useful I ask you to simply use it for a few days and you will find a few. I like parcellite because in addition to being stable it is also light weight, it's installation leaves a fairly minimal footprint (just a few GTK things).

Parcellite is also fairly configurable:

All in all I believe Parcellite is an excellent piece of software. It is almost always one of the first things I install while setting up a newly installed Linux distro. Give it a try and let me know what you think of it.

~Jeff Hoogland

Monday, November 14, 2011

Playing Magic the Gathering on Linux with Cockatrice

If you ask almost anyone that knows me in person they will attest to the fact that I am a huge nerd. Today I would like to give a short tutorial on how I've combined two of my most nerdy passions:

For the uninformed, Linux is my operating system of choice and Magic the Gathering is a trading card game created by Wizards of the Coast. I recently came across an open source application that is being written in C++ and QT4 called Cockatrice that allows you to play Magic the Gathering games over the internet for no charge. I intend to do a full review/overview of all the features Cockatrice offers at some point in the near future, today however I would simply like to go through how the get this excellent piece of software installed and setup on Linux.


If you are using Bodhi Linux then you are in luck, Cockatrice is in our official repositories. Grab it from our App Center or by simply install it by running:

sudo apt-get install cockatrice

If you are running something other than Bodhi Linux that is still Debian based I try to keep the .deb packages I create fairly generic. You can try manually downloading and installing my package from here. If you now have Cockatrice installed you can skip down to configuration section below. 

If that doesn't work (or if you are using some other distribution) compiling Cockatrice from source isn't a huge deal. The exact package names will vary based on your distribution but you need to first install: Git, GCC, QT4 Developmental, QT4 Mobility and Pulse Audio. Next download the source code from here, extract it and run the following from the source directory:

cmake .
sudo make install

Depending on the speed of your system the make lines may take a little while, if all goes without errors you will be set to move on.


Next you just need to take care of a few configuration things and you will be ready to start slinging some cards. If you installed Cockatrice from my Debian package you will have two new menu entries under Applications->Games. First you need to run the Cockatrice card downloader (if you built Cockatrice from source run the command oracle). You will be greeted with a window that looks like:

Click File->Download Sets and then select OK on the window that pops up. Next, check the boxes next to the sets you want to download (really it is best to just check them all) and hit start download:

Wait for this to finish (it will take a while based on how fast your internet is). Once it is done, load Cockatrice (cockatrice if you installed from source). You will be greeted by a configuration window that looks like:

You will need to select the path you want to save your decks and downloaded images in. These can be where ever you want (personally I put them right into my dropbox). The third entry needs to point to the card information you just downloaded though. If you installed with my Debian package this file should be located in /opt/cockatrice/oracle/cards.xml:

Once you set these three paths simply hit close and you should be greeted by the main Cockatrice window. Before you can play you will need to make a deck. The deck editor is select-able from the main menu:

Finally once you have a deck saved you can connect to the main cockatrice server and play a few games:

Have any issues feel free to drop a comment below and I'll do my best to help you out. If you see me online feel free to ask for a game - my user name is the very non-creative "JeffHoogland"

Have fun!
~Jeff Hoogland

Monday, November 7, 2011

Bodhi Linux ARM Repository Online

Five months ago I did a post announcing that we are working to bring Bodhi to ARM devices. I've been rather quiet about this part of our project since then. We are still finalizing the direction this part of our project is headed in, but for now we have landed on the choice of Debian Wheezy as our core. Our repository is currently online and you can easily install our Enlightenment packages on top of your Debian Wheezy ARM install by following these steps:

Edit your /etc/apt/sources.list file and add the following line (yes squeeze is correct):

deb squeeze stable

Save and close the file and then run:

sudo apt-get update && sudo apt-get install bodhi-desktop

Let apt work it's magic and you will soon have our customized Enlightenment desktop installed on your system (there are even some extra E modules in the repo). Our goal is to get our ARM packages as polished and stable as our x86 release on a variety of hardware.
I've recorded a short demo video of these packages running in a Debian chroot on my Nokia N900:

As you can see, still a little rough around the edges - but we will be improving these in the coming months. If you wish to help us test packages be sure to leave us some feedback on our forums.

Finally, we will not be officially supporting ArchOS Gen8 devices as we had hoped. The number of lacking closed source drivers they require make it impossible for us to achieve the level of polish on these devices we would like to see. Note the steps above work for installing Bodhi packages on your ArchOS after installing Debian.

~Jeff Hoogland

Thursday, November 3, 2011

Team Work in Open Source Projects

What makes a great open source project? Well, first off you have to have an idea. Then you need to execute said idea.

Just over a year ago I decided I wanted to help bring an easily accessible, Enlightenment desktop to Linux users that wanted it. Shortly after the Bodhi Linux project was started.

What has made our project the small success it is to date? Well first, we had a fairly unique idea. When we started we are one of very few distros that ship a default Enlightenment desktop.

You know what really helped us get to where we are today though? Team work. The old saying of "many hands make light work" holds true even in the process of software creation. While there is no doubting that I am the face man of the Bodhi project, this enlightening initiative has been a team project from the start. We started off as a small three man team:

Myself: Packaging Enlightenment and building the ISO image.
Jason Peel: Graphics and Web design.
Ken LaBuda: Server setup and upkeep

There is more to running a quality project than just servers and a website though. We soon found ourselves needing document writers, translators, code monkeys and IRC/forum moderators. Without even having to ask community members started coming forward to partake in these various tasks. This only reinforced what we already knew: Bodhi is a project worth having. The fact that so many other people were stepping forward to lend a hand is proof of this. To date we have over 30 people working on Bodhi to make it better for everyone.

Even if a single person had the ability to modify software, write documents, creature video tutorials, translate into over a dozen languages and create a website - there really just aren't enough hours in the day. So do your favorite open source project a favor: reach out and find out how you can help!

~Jeff Hoogland

Tuesday, November 1, 2011

Whats good for the Goose should be good for the Gander

I think many in the world of FOSS take for granted that a good deal of our x86 compatible hardware works with their operating system of choice. In fact all the fuss about a possible lock out with the coming of Windows 8 attests to this fact. x86 hardware has always been fairly free and it should remain as such right?

Yes it should.

Something that really bothers me though is the fact that ARM hardware is treated in a very different way. What do I mean by this? Well as someone who has worked with over a dozen different pieces of ARM hardware from many different manufactures I can tell you installing an alternative operating system on such a piece of hardware is almost never a pleasant experience.

Before I go on I would like to clarify that by "install" I mean physically run the operating system on the hardware. Not just running it inside a chroot like so many Android users seem content to do on their hardware. In my opinion being told to be content with a chroot setup is just like being told I should be happy simply running Linux inside of Windows via a virtual machine.

Even devices that advertise themselves as open source loving (such as my beloved N900) are a nightmare and a half to install something such as Debian on. Don't be fooled by devices that ship things like Ubuntu Linux by default either. I recently purchased a Trimslice with the hopes of installing Debian on it and it has been an up-hill battle to make it work (one I still haven't won). Once you manage to get the operating system installed even that is only half the process - next you have to hope you can somehow get all your hardware functioning.

Why does all this headache happen? Well, partially it is because of lack of standards in the ARM world. A vast variety of hardware that all have different external components make this task difficult. This difficultly is multiplied two fold when you take into account that most of this hardware has no open specifications. 

In the end my question to the open source community is why is this acceptable for ARM hardware? Why do you continue to rejoice about every new Android device that gets released riddled with closed source modules that are next to impossible to make work under actual Linux.

Just as many of you would be upset if you where told that desktop (or laptop) you bought had to keep it's default operating system I am more than a little annoyed that a good deal of the ARM hardware out there comes with this stipulation attached.

~Jeff Hoogland