Vagrant – Keeping your host clean from development specific software

After a few months with a computer you usually end up with a lot of different software packages installed that is only required for few specific projects. Wouldn’t it be better to not install the software on your development machine so you don’t have to re-install your operating system so often?

That is where Vagrant comes in. For me Vagrant is a frontend for virtualbox and other virtual machines engines(?) such VM Fusion/Workstation. The cool part is that with one Vagrant configuration file you can easily create a new Virtual Machine with the exact same settings as last time and you can share these settings with other developers. If you accidently install something that crash or slows down your VM, just destroy it and boot up a new instance.

I use Vagrant for a lot of different purposes and today I created a Vagrantfile (Vagrant settings file is called “Vagrantfile”) for LaTeX to PDF generation. In xubuntu 12.04 LTS which I run on my host the LaTeX packages are quite old so instead of messing around with custom installation files or PPA:s I set up a VM xubuntu 14.04 which have a LaTeX version that I need. To generate my PDFs from LaTeX I just run “vagrant up && vagrant ssh” and then “make” in the report folder and out comes a PDF without installing a lot of extra packages on my host system.

The entire project is found on github here.

Install Spotify on Ubuntu 12.04 LTS

I’ve been using spotify web player for quite some time now but it lacks some simple features such as adding multiple songs to a playlist. So today I installed spotify qt version, works like a charm. Instructions from

## Step 1
sudo apt-key adv –keyserver –recv-keys 94558F59

## Step 2
sudo sh -c ‘echo “deb stable non-free” >> /etc/apt/sources.list’

## Step 3
sudo apt-get update && sudo apt-get install spotify-client-qt

The commands in step 1 are supposed to have double “-” (dash). The formatting in this blog isn’t showing the correct characters. The steps above also works with Xubuntu 14.04 Alpha, tested on the 10th of January 2014.

UDS – Last day and some final sessions

uds2So soon time for the last day of this Ubuntu Developer Summit and the first virtual one (or perhaps second, it depends on how you count). Yesterday I missed some of the ones I had planned due to my life AFK, but will perhaps be able to catch up later this week by watching the recorded sessions. That is really one of the benefits of the virtual developer summit.

The sessions for today in the app developer track that I will follow are the following ones.

Jekyll, Github pages and making it run both on github and locally

So github pages is a website hosting service that support simple static pages. They also support Jekyll which can basically generate static pages from simple text files in Markdown. For more information about its functionality go here. The purpose of this service is to support simple websites for different projects, github organisations and github users e.g. your personal blog or static presentation of yourself.

The hosting service is somewhat limited but one hickup is the use of domain name. My user account at github is “christofferholmstedt” so my personal github page can be stored at “”. If I then create a project website for the project “ideas” it would be located at “”. They use the same domain which can cause some collisions. Though that is another topic but lays out the basics of the problem I had today.

If you want to run a jekyll website locally you would run “jekyll serve” and it would be hosted at “localhost:4000″. The problem here is that links within jekyll can be absolute or relative and it’s just a big mess because it’s not easy to debug through githubs generation of pages. So I will jump directly to my solution so you can test your website locally as well as make it work properly online.

If you’re trying to host a project website. In your _config.yml add the following line:

baseurl: <path_to_project_github_page>

For one of my projects that is:

For each link within your project you then add {{ site.baseurl }} infront of it.

As an example
<a href=”{{ site.baseurl }}”/docs/usage>

Push everything to your project gh-pages branch and it should work. To test this locally you can run the following command (two citations in then end to make the baseurl empty).

jekyll serve –baseurl “”

You can take a closer look at all of this and how it works in my “eclipse plugin tested” project at github.

UDS – Changes in the schedule and more app development today

uds2Yesterday gave me some insight into what the Ubuntu SDK is and what the goals are, or at least some of the goals are. If I understood it correctly it’s mostly for mobile development at the moment but the goal is to have one SDK for development on all platforms in the future. Already today there are some instructions on how to develop for different touch devices such as mobile phones and tablets. As an example to this is the “Resolution independence” tips and trix and how Ubuntu solves the problem with different screen resolutions and pixel density.

So for the second day I will continue to follow the App developer track. My plan was to participate in the community roundtable but they are now rescheduled for later so I will probably miss them. Sessions for today as follows.

After that it gets too late…

Ubuntu Developer Summit less than two hours away

uds2So in about two hours the UDS intro will be given. I will probably be out by then so will miss it though the next sessions coming up after that may include some interesting stuff that I will be able to watch/attend. First of all there are two roundtables of interest to me, the App Developer Roundtable and Community Roundtable. With another two community roundtables later this week I’ll probably just attend the “App” roundtable today, tuesday. The rest of the day I will probably focus on the App Developer track. To keep it short I will just list the sessions I look forward to.

When looking at the scheduled times I realise that it might not be so good for me to have the UDS sessions during the evenings. Though it probably is the only suitable time when people from both sides of the Atlantic ocean will be awake. (afaik Ubuntu isn’t that big in Asia yet, at least not when it comes to number of developers).

Ubuntu Developer Summit next week

Ubuntu Developer Summit (UDS) will take place next week and can be seen as the first virtual UDS (not counting the one in march that was planned just a week ahead). As I did participate in Copenhagen last year it will be interesting to compare the AFK version of UDS with this new virtual one. There are both pros and cons with having the summit online but I won’t go into that now.

Instead I would like to focus on which sessions that looks interesting to attend. First of I will probably attend one or two Community roundtables to see what’s going on within other local communities (Ubuntu LoCos). After that I will probably devote my time to general development sessions as I’m either going to participate in Google summer of code this summer (for Inkscape) or create a few proof of concepts for some of my sparetime projects. The complete schedule is not up yet but I will probably attend some testing and touch device related sessions.

Installing pdflatex and LaTeX for Ubuntu 12.04

Previously I’ve installed Texlive the full installation with everything but that package is quite huge when it comes to disk space requirements so I decided this time around to just install the “base”.

sudo apt-get install texlive-latex-base

When running pdflatex on an old project I got some warnings complaining about some fonts.

grep: ptmr8t.log: No such file or directory

The related string that turned up several times was “ptmr8t”. All I had to do to make it run without warnings was to install “texlive-fonts-recommend” packages and now everything works just fine.

sudo apt-get install texlive-fonts-recommended

Global ignore list for SVN and Visual Studio projects

For a current academic project I have to use SVN and Visual Studio and this brings some new challenges/problems I haven’t solved before. What happened to Git, Bazaar and Mercurial one could ask?

Anyway, first up was to find out which visual studio project files I should add to the repository and which files I should add to the ignore list. As many times before Stackoverflow has the answer

Though after adding those files to the global ignore list I still have .manifest and .cache left which I believe can be left outside as well. Oo, now I found it here is another example from Stackoverflow which is more complete. Will see in the upcoming days if that ignores too many files or not…

Ubuntu UDS in May

So the next UDS is now scheduled to take place the 14th to 16th of May 2013. I didn’t get time to participate in the first online UDS a few weeks back but now with this information way ahead of time I think I will be able to attend a few sessions.

Mostly looking forward for a session concerning input devices for gaming, if there is any follow up session from the UDS in Copenhagen as well as other gaming related sessions. When a more detailed session schedule is presented closer to UDS I will make sure to update with a new blog post with the sessions I plan to attend.

More information is found here at the fridge.