Category: Projects

There are countless of tutorials online on Python programming.
But all of them seem to be concentrating on all the logic and inner workings, and as a result you have a great application…a command line application.
The problem with that is, you are more likely to stop being interested when only creating a CLI application since it doesn’t look as professional.

So, I will be diving straight in to GUI programming.
We will learn the logic as we go along, so you end up with beautiful applications.
And, I don’t expect you to have too much experience with Python or programming in general.
If you have a logic mind, then why not try it out?

We will be using PyQt.
If you don’t know what that is, it’s the combination of Python and Qt.
Qt was developed for use with the C language family, but thanks to the hard work by some expert developers, it has been ported for use with Python.
Everything that original Qt uses, PyQt can also do, and it’s only limited to your imagination.

Please note, if you aim to create games, mobile apps, or web apps, you may want to try different projects instead.
For games, try PyGame (although Python isn’t the best language for 3D games)
For mobile apps, there is a Python solution for Android, but you may want to try Kivi instead of Qt.
And for Python as webapps, try Django, it’s an amazing rapid platform for creating webapps, designed to be deployed ultra fast (I may do a tutorial of that at some point in the future).

Installation

You will need some packages on top of Python that is already pre-installed. If you aren’t using Ubuntu or a Debian based distro, consult your package manager to install these packages, although they should be available for you.

What we are going to install are these packages:

* python-qt4 – This is PyQt
* qt4-designer – A designer application which can drag-and-drop create the application
* PyCharm – Python IDE, you can use your favourite IDE instead, but PyCharm is excellent if you don’t have a favourite (yet)
* Virtualbox and Windows – Optional: Install these if you want to deploy your apps to Windows too, but don’t have a Windows system on hand.

To install, run the following command in a terminal:

sudo apt-get install python-qt4 qt4-designer

After these are installed, we need to install PyCharm, skip this step if you are going to use a different IDE:

Once you have downloaded it, unpack the tar ball anywhere you want, like your Home directory.
Then go into the PyCharm directory and the ‘bin’ subdirectory. In there you will find ‘pycharm.sh’, run that and you’re ready to go.
I do recommend making a shortcut for that file so you don’t need to keep heading there just to start it. Or even better, create a .desktop file and place that in the application bar.

Once installed, if you get an error telling you that there is no Python, click on the warning and a screen will pop up, to the top right you will see a little + symbol, click on that and select Python 2.7 (default on Ubuntu) and hit Apply and Close, you are now ready.

Qt Designer

Qt Designer is a lot like Glade for anyone who ever developed in Gtk. The main difference is that Glade was extremely strict on using correct layouts.
This meant that you spent a lot of your time dividing the window into areas to place your widgets. The difference with Qt is that it’s not that strict. You can just drag and drop the different widgets wherever you want. The downside to this is that when you maximize or resize a window, the widgets just stay in place. But that’s nothing to be concerned about in the beginning.

How UIs designed in Qt Designer works is rather brilliant.
You create an applications design, and save it. This will create a .ui file. But a terminal application has been installed that will convert the ui file into a Python file. We can then make a controller Python file from where we can control all of our widgets and make the application come to life.

In the next part of the tutorial we will create a basic ‘Hello World’ application (it’s tradition). But we will ask for input and in future tutorials just build on top of it.

It’s been a while since I’ve last posted anything on my blog, and for that I apologize.

Having gained new employment as a software developer and being approached by Google, I have been extremely busy.

However, in order to give back to the community, I plan to release some code and teach you all how to build virtually anything in Python.
I will be using PyQt as it is extremely rich, easy enough to pick up, and if done right, you can have applications that will run on Windows too.
Obviously you wouldn’t want all your potential customers to have to download Qt and Python in order to get it to run, so I will also show you how to bundle your software up, ready to be installed and used.

Do you have your phone on silent at work, or have it charging upstairs?
Or perhaps you are listening to music whilst on your computer and don’t see your phone.
Either way, you most likely will be the victim of ‘the forgotten messages’.

Many attempts at resolving this issue have been going for quite some time now.
Usually it involves a server client running on your computer, and a client on your phone.
You know the type, those ugly Java cross platform apps?
Well, they always fall short in my opinion.

Take for example WhatsApp.
I don’t know anybody who doesn’t use WhatsApp.
Yet, despite the huge success and usage numbers, all the apps to show notifications on the desktop never seem to work with Whatsapp.
Instead, the developer adds support for different applications as he/she goes along, so it’s a case of hoping that your favourite app is included.

Well, that’s all changed now.
First KDE showed off a new application called KDE Connect, which would send messages to the desktop.
The problem is, if you are an Ubuntu user, or just a Linux user who doesn’t use KDE, you were essentially left in the dark.

But a new project has just began called LinConnect.
Once again a server/client set up, but this time specific to Linux.
The server application is CLI, but is simply a case of set up and never touch again. Three questions and it’s all done.
The Android application is also extremely easy to set up, and beats it’s competitors by not requiring an IP specifically (though there is an option for it), but scans the network for servers running LinConnect and allows you to connect to it.

But what makes LinConnect all the more special is that it does not limit itself to built in support of Apps, but instead uses the notification bar on Android phones.
This means that any app that gives you a notification on tray, will do so on your computer too.
And what’s more, it uses cache’s of thumbnails for the different apps.
The notifications are then displayed on your computer just like normal desktop apps, but with thumbnails too.
So that Whatsapp picture of your girlfriend will also pop up as part of the notification. Very slick.
If no picture is needed, it will show a picture representing the type of app.

The impressive thing is that when I have received an email through my phone, and the notification is displayed on my computer, I find it difficult to see whether it was sent as a notification from my phone, or Evolution.

The project is in very early development (Alpha), but I wouldn’t let that discourage you, as I have yet to encounter any bugs.

A lot of entertainment news has hit Linux over the years.
From XBMCbuntu some years back to the up and coming SteamOS, Linux is the place to be.

But as I was watching boring old standard TV a few weeks back, with my laptop by my side and the Wii (yes, I like the Wii) next to the TV, I thought to myself: ‘What if I had one place that would rule all of these’.

I mean, XBMC is great for all those movies, and the Wii is great for the old reliable games, and those great titles for the PC are on steam, why don’t I combine that.
The thing is, all of these products are perfect in what they do, but they don’t do all of it (though modern consoles have tried).
But ultimately, all of these can run on Linux. This would be the glue that would bind them.
So if you are intrigued into building the perfect entertainment system, then please read on and follow my journey.
Please note though, that this isn’t a guide, more of post that should spark some inspiration (though there may be an actual guide in the future.)

So my goals were simple.
1) I should be able to watch movies
2) I should be able to watch TV Shows
3) I should be able to listen to music
4) I should be able to play console games
5) I should be able to play PC games
6) All should be integrated
7) All should be controlled with a controller (wherever possible)

The first few goals are very simple to do, but the latter (controller), that would be a real challenge, especially considering not all PC games are controller compatible, especially when things must be typed in.
The main aim with the controller would be to play Crusader Kings II with a controller (note that this game is entirely played with a keyboard and mouse for obvious reasons).

Before I begin, it’s worth noting that you need to have some hardware, but the limit is entirely up to you, just note that the better hardware, the more you gain.
In my case I had a spare all-in-one computer, since I wanted to just have that by the bed to be lazy. But, if you are going to use your widescreen TV (you want that right?) then you might opt for a fairly small and not so noisy computer. Something you can hide away behind the TV.
For what I will describe, the Raspberry Pi won’t cut it, unless you are willing to sacrifice some things.

For my Linux platform, I chose Ubuntu 13.04.
My reason is that it is out of the box compatible with most Linux applications, requires least amount of set up and I’m a big Ubuntu fan.
You could also opt for XBMCbuntu which is an Ubuntu spin-off with XBMC as it’s focus. It uses XFCE as it’s Desktop environment (which you will almost never see), so you save on that juice.

After I installed Ubuntu, my first step was to install XBMC.
If you don’t know what XBMC is, let me give it a well-deserved introduction.
XBMC stands for XBox Media Center, and started life of as that, a media center for the original Xbox.
But it soon stood all on it’s own, and is the best (in my opinion) open-source media center which sports not only those features you expect out of the box, but also add-ons created by many people to make it even more powerful.

Once XBMC was installed, I first created two folders inside my Videos folder: ‘Movies’ and ‘TV Shows’.
I threw my collection of Movies into the movies folder, and TV shows into it’s corresponding folders, and each individual movie was placed in it’s own folder bearing the name of the movie. For instance ‘Zodiac.mp4’ would go into a folder called ‘Zodiac’ which was located in the Movies folder I had created earlier.
For TV Shows it was essentially the same, except, all episodes of a season were all dropped into a folder with the name of the TV show, not in separate season folders.
I will explain why in a moment.

After this, I dropped all my Music into the Music folder.
I didn’t bother with Pictures.

Once that was done, I selected Movies on the main screen and was asked for a ‘source’ for these files.
At this point, I used XBMC’s file manager to navigate to the Videos>Movies folder, and then, I selected the option that the movies were in the folders by their respective name.
I did the same for TV Shows.
After that was done, it automagically added the movies and tv shows to the list and they were now selectable through the ‘Movies’ or ‘TV Shows’ option at the home screen. And because the titles were in their right folders, it got all the information from the internet, so I was able to see a screenshot, and description of the movies in the list. NICE!

My next step was gaming – retro-style!
I wanted to be able to play all those old classics.
From the original Mario on the NES, Final Fantasy III on the SNES, and even Gran Turismo II on the original PlayStation.
For this to work, I began with the easy bit.
I created a folder in my Home folder called ‘ROMS’, and in there I created the folders ‘NES’, ‘SNES’, and ‘PS1’.

The next step was to get the emulators.
There are a lot to choose from, and to find the one best suited for you, have a look on Google, but here is what I used.
For the NES I installed FCEUX.
For the SNES I installed ZSNES.
And for the PlayStation I installed PCSX.
For more emulators, try this site: http://www.zophar.net/linux.html

Whichever emulator you install, please make a note of where the binary gets placed. They tend to install them in a few different places but if you are unsure, try searching for it using the search feature in Nautilus File Browser, or Google. You will need to know this later.

Ok, so next we go into XBMC and I then selected Programs, then Add-ons.
A list appeared with a few add-ons that were installed, but I selected ‘Get more…’
In that big list that appears, you will want to look for ROM Collection Browser.
Select it, and select install. That’s it.
Next time you go to Programs, it will appear in the list.
So, that’s what I did next.
The thing is, right at that moment, we have no games, and no emulators to even run them on, so it will be blank.
You probably will find that on the first run, it will ask you to create a collection. If not, press ‘c’ on your keyboard and create a new collection.
Here it will ask you some questions, most of which you can leave empty, but you will want to select the correct collection type (NES, SNES, PlayStation) and select the source.
One thing I found unclear, so I will try and save you some confusion is that the screens for the location of the emulator and the roms is identical, and it makes you think it didn’t take your first imput.
So, keep a close eye on the top when you get to this step.
If it asks for the emulator, then that location of the binary you wrote down comes in here, just browse down the location of the binary and click it.
Then when it asks for the location of the ROMS, select ~/ROMS/NES for instance. This is where our games will be.
The rest can be left as it is for now.
It will also ask you for extensions of files.
Have a look through the ROMS or copies of the games you have, and type the asterisk (*) followed by a dot (.) and finally the extenstion. Do this for both upper and lowercase. So for instance, I had two type of files, ones that ended in .bin, and those that ended in .img.
So, here I entered this: *.bin, *.BIN, *.img, *.IMG
Linux is case-sensitive, so by having added both the upper and lowercase, I stop the chances of the files not being added.
Any files inside the ROM folders that don’t have these extensions, will NOT be added to the list.
To add a game at a later date, press ‘c’ on the rom list screen and select ‘import games’, then click on the down arrow on the small box that comes up to change from ‘ALL’ to either ‘NES’, ‘SNES’, ‘PLayStation’ or whatever list you have added and whose game types you want to add.
To make a new list for a new type of console, press ‘c’ and opt for a new collection.

But, the console games aren’t entirely ready just yet.
The problem is that if you start the game now, you might find the controller not to work.
So that’s what I tackled next.

Outside of XBMC, open the emulator, and usually at the top where you have file, edit etc, you want to look for an option for joypads.
Open that up and configure your joystick.
I can’t really help you here since I don’t know which emulator you use, but it should be straight forward.
Whilst you’re there, also set the option for full-screen mode since that was my next step.

Okay, at this point, go on, test it out.
Inside XBMC, open ROM manager, press up on your keyboard to set filtering options, select a game and press enter.
If all was well, like with me, XBMC should go into windowed-mode and a full-screen game should appear.
If you want to go back, simply hit ESC and XBMC goes back to full-screen.

Okay.
Next step was for all those PC games.

This is easy, install Steam if you haven’t already done so, and click on ‘Big Picture’ in the top-right hand corner.
Now Steam looks more like a media center, and next I clicked on the gear at the top to enter the settings, clicked on controller, and then the option to edit the controls.
Just click on the list and configure each button, and at the end click done.
Steam is now compatible and can be controlled with your controller.

But I still have to use my keyboard and mouse when using Crusader Kings II.
I went ahead to fix that next.
For this, I went for AntiMicro.
This application basically maps controller buttons to keyboard input, or mouse input.
I simply created a ‘Crusader Kings II’ profile, then pressed a button on my joypad to see which button that was (it lights up the button you pressed), and mapped that to keyboard keys. I did the same for the digital sticks to map mouse movements, tested, and done! Then saved the file.
Now Crusader Kings works perfectly fine (still not the same as keyboard and mouse but that’s expected).
I could do this for every game I want and fire it up when I play.

The exciting moment came when I installed AutoKey for XBMC.
With this add-on, I was able to start Steam right from XBMC, and when it closed, it would come back to XBMC. Therefore, all integrated.
The details of which I got from here: Integrating Steam and XBMC

But for some bonus points, there was one factor that would limit people, so allow me to share.
I am obliged to say that I tell you this since knowledge is power and all that.
So that out of the way, let’s add even more crunch.

What you might want to do next is add 1Channel to XBMC.
1Channel is an add-on that allows you to watch any movie, or TV Show through XBMC from the internet.
It saves space on your hard-drive, and it still has support of those descriptions and pictures.
If you want to add it, it’s probably better to follow the guide here since it has pictures and does a great job at explaining.

With all this done, I accomplished all my goals.
And since I also mapped AntiMicro for XBMC, I can stay in bed and watch a movie, play a game, listen to music and even talk to my friends without leaving my bed.

Now all I need to do is build a servant robot and I’ll never see daylight again.

I hope to find the time to actually build this again and record the steps, but this was more a sharing of my ramblings.

It’s already 2013 and I’m glad to see that you all survived the invisible apocalypse of December the 21st 2012.
2012 has been a strange year in the world of Linux.
We saw no real major change in the world of Linux until the last few months.
And those changes weren’t small either, in fact they were huge!

First we seen Valve’s closed testing of Steam, an app which has been dreamed of for quite some time now.
It has since then moved into open beta and it’s everything we have expected.
Originally we all thought Valve decided to cater for us Linux fans but with the announcement of the Steam gaming console, it is fairly obvious why the move had been made.
However, regardless of the motives, we now have Steam and it works very well.

The end of the year also finished rather ominous when Canonical announced that it was going to announce the unveiling of a new exciting product but wouldn’t reveal what until early January.
All kinds of ideas of what it could be started flooding the internet.
Some said it could be an Ubuntu gaming console, and others had even more fantastic ideas.
However, the unveiling was in my opinion even more amazing than all of them.
We were introduced to the Ubuntu Phone.

When I first learned about it I was excited but also slightly worried.
I love Android at the moment but would give it up in a moments notice for an Ubuntu Phone.
And that’s not because I’m an Ubuntu fanboy because I’m not, but because it’s pure Linux.
For those of you who don’t know the difference in terms of Linux inclusion for these phones, let me quickly explain.
It’s often said that Android is a Linux phone, which is technically correct, but not as much as you might hope.
The underlying kernel is in fact Linux, the same as on a computer.
However, what makes Android work is a form of Java.
The entire operating system is actually running Java, which slows it down slightly and let’s be fair, is not Linux.
Ubuntu however are going to cut out Java and make it a complete Linux phone.

The only issue I had was that like so many others I want it, and I want it preferably right now!
But I’m not the wealthiest of people and to buy yet another phone when I really can’t afford it, was slightly worrying.
But, it turns out you don’t have to buy a new phone at all!
In fact, if you have a shiny Samsung Nexus then you can download Ubuntu OS towards the end of February and load it right onto the device for nothing.
You will have an Ubuntu Phone before anyone else and for absolutely nothing.
And even if you have an older phone (like me), then don’t worry, Ubuntu have said they will be ensuring that this OS runs on older hardware too, although you will have to sacrifice the docking to a desktop experience.
Please note that February’s release will have some features missing as they are still working on it, but the majority of the features are already working and all the phone services (calling, texting etc) will work. However, whether a marketplace is working yet is unclear, so it might mean not having any apps to put on there yet. But we will see.

So what will 2013 bring?

Well, the Ubuntu Phone and of course improvements to Steam.
We will also see two new releases to Ubuntu desktop and perhaps even Ubuntu TV.
So if you are a fan of Ubuntu, I think this year will be the year where you can fill your house with everything Ubuntu.
And for Linux as a whole?
I don’t think it will be the year of the Linux desktop.
I say this because I think that ship sailed a long time ago.
Although I personally cannot see the death of computers for tablets for instance (which I feel is now declining), I do think that the desktop is not as important as it once was.
The time that the race for the desktop was important was the days before smartphones, and now that we can get our information and entertainment from many sources, I think the desktop has to share it’s world.

But what about this blog?

Well, I have many personal projects going on at the moment and I think there will be some new ones heading my way. But I like to share my knowledge and I want to see everyone having a brighter future so I have some ideas lined up for you.

Firstly I will be making a series entirely dedicated to the new user.
I will be covering everything from using the desktops (Unity, Gnome3 and KDE) as well as using the terminal, administration and a few more things to put the new user in charge of his/her system.
But for those that are already familiar with these things, and those hoping to make a career out of Linux, I want to try something interesting too.

I will be creating an LPI1 category.
Here I will be showing everything you need to know about Linux for Junior Linux Admins, and that will help you to get an LPI certificate.
Now you most likely will need to read books etc too, but I will try and cover every subject that would come up in an exam, and all I will ask back for it is a cup of coffee if we ever cross paths, that’s not a bad deal is it?

So all in all, let’s make this a great year and I hope we can celebrate it together

If you are getting a little bored by the ‘Steam posts’ lately, please do let me know, but I thought it would be nice to be ahead of the game.

If you are one of those people who is super-excited about Steam natively on Linux, then you will soon run out of excitement when you realise that most games, and the really popular ones, are not yet available for us Linux users.
So how cool would it be if we could play Windows games through Steam on Linux so you have all those features of Steam whilst playing those games, and having your Steam friends know that you are playing those games?

As you can imagine, we will be using Wine for this to be possible, and in particular: PlayOnLinux, when you are done you should have something like this:

As the screenshot above shows, here I have Europa Universalis III inside the native Steam client. This obviously isn’t an official Steam game, therefore it is limited. However, when you play the game, you still have the Steam features

And when you are playing this Wine game, it does show up in chat exactly what you are playing:

Note how it states that I am playing the non-Steam game Europa Universalis III.

Funny enough, this isn’t difficult to do, and has many advantages.
Rather than having your games scattered around, you can have all your games, Linux or Windows inside one client: Steam.
So let’s look how I did it.

For ease and convenience, I used PlayOnLinux.
This is a pretty Wine GUI and allows you to make seperate Wine bottles and install games from a list or manually with minimal effort. For more information on PlayOnLinux, have a look at another post as I won’t be covering that here.

If you have PlayOnLinux installed and have some games running on it, you are ready to go. I do recommend having a few games (or just one) installed through PlayOnLinux before you begin.

Begin by creating a directory in your home folder which I am calling ‘.POLGames’.
I am using the .(dot) in front of the folder name to keep it hidden and keep my home directory clean.

Next, you will want to keep that folder open, then fire up PlayOnLinux.
Select the game you want to add to Steam and click on ‘Create a shortcut’ on the right-hand panel.
This should have created a shortcut to that game on your Desktop.

Right-click on the shortcut and click on ‘Properties’ and then you should see ‘Command’ under the name, and description. This should be filled in by a line typically starting with ‘/usr/share/playonlinux –run …’.
Select that entire line and copy it (Ctrl+C) as we will need this later.
Then close that window and drag the shortcut to the directory we created, in my example ‘.POLGames’.

Now open Steam for Linux.

Click on ‘Library’ and at the bottom click on ‘+ ADD A GAME’ and then ‘Add a Non-Steam Game’.

You should have a window open which takes a moment to populate.
When it is done, look through this list and see if the game is listed and add it, if it is not listed, don’t worry, we will add it manually.

Click on ‘Browse’ and go to ‘/home/USERNAME/.POLGames/’ (if you used .POLGames, otherwise whatever you called the directory). You can move up a directory by clicking on the icon of a folder and an up arrow at the top.

You should find all the .desktop files of games you have added there earlier from the created shortcuts you placed in there earlier.

Select the game you want to add and click ‘Open’.

If all went well, then you should have it at the bottom of your games list.
If the name is incorrect, you can change it in a minute.

Next we need to change the run command since it will just open PlayOnLinux if you click ‘Play’.

Now right-click the game you added to the list in Steam and select ‘Properties’.
This should open the ‘shortcut’ menu.

Here you should see a button named ‘CHOOSE ICON…’, the name of the game, ‘Target’, ‘Start In…’ and a button named ‘CHANGE…’.
If the name of the game was incorrect, change it in the text-box underneath ‘CHOOSE ICON…’.
Now then, underneath target you need to remove what is in that box and replace it with the line we copied earlier from the PlayOnLinux shortcut command.
We can leave the rest alone, just click ‘CLOSE’.

Now you can click ‘PLAY’ and you are able to play the Windows game inside Steam.

I am slightly behind with this news article, but if you weren’t yet aware let me explain about the news.

As you might be aware, Valve has begun their work on a Linux client for the popular game service Steam.
And not too long ago they were looking for experienced Linux users for their closed beta.
I signed up like thousands of others but did not make the cut.

The beta started a few days ago and some users on Reddit have already breached it.

This breach allows non-beta accounts to access the Steam client and use it.
BUT, before you get too excited, Valve already discovered this breach and it’s not much use anymore.
You are able to use this client to run games you already have installed on your system using the ‘Add non-Steam Games’ feature. But games on Steam for Linux are unavailable for those who do not have a non-beta account.

The question has become whether this will have repercussions or not.
Will this breach make Valve think again about Linux and it’s users?
My personal opinion is that this will make no change to their idea of Linux users at all.
The reason for this is that anyone who signed up for the beta will have been asked how many years experience they have with Linux, and those with longer experience had more of a chance to gain access. Also, those attending Ubuntu Developer Summit gained automatic entry.
Therefore, for Valve to be annoyed by this seems illogical, after all, any Linux user with more than 7 years Linux experience will be a hacker.

Then the question becomes, was this a publicity stunt?
Yes, this question has also come up, and I think it has already been answered.
I don’t think it is, purely because they closed this loophole very quickly and if it was a publicity stunt, they would have allowed it to be used, or at least by a few more people.

But, regardless of the limited functionality for non-beta users, let’s have a look at what to expect and what is already available.

Finally we can have our own Steam icon on the panel as expected, which integrates perfectly with Ubuntu, allowing you to access your friends list, store, library and more by a right-click on the icon. Unfortunately I couldn’t show you the quick-list, but here you see the icon in full glory on the bar.

Once you click it however, you get an error because you are not a beta user (at the bottom you will find the work around) as you can see below.

After you run the command from the terminal to gain access you will find it in it’s full beauty.
This is exactly the same as you can see in the Windows client.

What you will notice is in the top right corner you see ‘Big Picture’.
This allows you to switch to a full-screen mode which is similar to what you expect from a console version or a media center like XBMC or the like.
It was a little laggy at loading (Intel integrated graphics) but once you get to the main screen it was very responsive and fluid.
This feature is absolutely gorgeous and I can imagine many will use it a lot.

As part of the work around it was initially possible to install games like Team Fortress 2 using a terminal command. However, whilst it begins installing, it will stop with an error about the servers being busy.
I suspect that this is a polite way of Valve telling the hackers they won’t get very far.

All in all, this is not going to allow you to download and install Games.
However, it is a nice glimpse into what we can expect from Valve very soon.
And if (like me) you want your games that you already own organised neatly, then you will find some use in Steam now, as you are able to play games you have added manually.

To install Steam Beta, get access, and attempt to install TF2 yourself:

Firstly open up a terminal and you can install the client by using these commands:

Now you are probably wondering what that is.
If you have AppBackup on your iPhone, don’t get mixed up, they are no way related, it’s just a coincidence in the names.

AppBackup takes the frustration out of reinstalling or installing new Debian based systems.

How many times have you installed Linux on your computer, or had to reinstall it, and spend hours reinstalling all those great applications you love?

Now, we have Ubuntu One, Dropbox, and many MANY cloud storage systems to take care of moving our personal files from one place to the next.
But seriously, no backup for our applications?!

That was something I had to change…introducing, AppBackup.

What AppBackup does is use your apt-get repository to create a list of your installed applications, then sends that to Dropbox.
Then, it creates a cronjob to ensure this happens hourly, so you don’t need to do it yourself.

Then when you format/reinstall/install debian on another system, AppBackup will take the list from your Dropbox, and reinstall alllllll those applications*.

Does that make things easier or what?!

And come on, it’s award winning, that counts for something surely?

*Only able to reinstall applications that have been installed using repositories. If you have used third-party repositories, please ensure they are added to the list before restoring your applications, otherwise it will not install those packages.

So without further time wasting;

You can download AppBackup in two formats, just a single python file, and a packaged Debian file for easy install.

Please note, that after it has been installed, it will need to be ran for the first time to set up.
You will also need a Dropbox account and the Dropbox app installed for this to work (available from dropbox.com and the Software Center).

Hands up those who need Windows programs but have not found a Linux equivalent?
Hands up those who have tried Wine but found it either didn’t work or didn’t know what to do?

Well, Wine 1.2 has come out and was shipped with Ubuntu 10.04 and updated to Release Candidate 4 at the time of this post.
And what an amazing version it has become.

I am personally someone who tries to and in most cases successfully finds, Linux equivalents to Windows applications.
It is fair and well using wine to get photoshop working or Microsoft Office, but how can Linux ever progress if it’s products don’t get taken seriously.
The only real time I use wine is when I wish to play games, mostly MMORPGS.
It was always a ‘fingers crossed’ game when doing this, since most times the application just did not work at all.

And then came Wine 1.2.

Since using this version of Wine, I have not had a single piece of software or game fail to work.
Now before you start to comment with lists of games or softwares that do not work, I do some software simply doesn’t work.
My point is not that, it is to point out that Wine has matured immensely and I wish to thank the Wine developers for their hard work.

If you don’t know how to install software in wine, well it couldn’t be simpler:

1) Ensure you have Wine (preferably 1.2), if you have 10.04 the repositories are set, otherwise go to the Wine HQ website and follow the instructions.
2) Through the terminal, cd to the directory of the windows installer file(.exe), so if it is on the Desktop simply enter ‘cd Desktop/’
3) Type ‘wine’ followed by the name of the exe file for instance: ‘wine abcdef.exe’
4) Just follow the instructions and once it is done, click on Applications > Wine > Programs

To check which version of wine you have installed, simply type ‘wine –version’ in a terminal.

If this is still a little too much for you, and you wish to find a simpler installer, why not take a look at PlayOnLinux, a Linux installer for games and applications through Wine.

In my previous post I mentioned the new Longene project which also goes by the name of the Linux Unified Kernel (aka LUK).

The main issue that I ran into when attempting to get that working was that I am not one for messing with the kernel and the debian packages provided were only supported for Ubuntu 9.04 and 9.10.
Since then the project team behind the kernel development have released a set of debian packages supporting 10.04.

I had to try this and installed these new files without problems and this time I was able to get input from my keyboard and mouse (which I didn’t last time).

The only problem I encountered however was that for my Nvidia graphics card the driver that is installed in 10.04 (proprietary) was somehow not supported.
Now this I could most likely work with and install the driver directly from the Nvidia site, but also my Atheros card was not recognised in this kernel, and this was simply a must for me. So unfortunately I was unable to continue.

I still find this an exciting development however, and I’m in faith that as the development continues this will become a big change in the Linux world.

Don’t fret though if you were hoping for better support with Windows programs, and just have a look at my Wine 1.2 post as this may just make you excited.

I also want to let you all know that a great support from the Ubuntu community has taken up the challenge for the LUK Longene projects support with Atheros and NVidia and are working on that as we speak. When the support becomes available, I will post it here with obviously the contributor who made this possible.

For more information about the project, please visit their website by clicking on this link here