Archive

Archive for the ‘linux’ Category

Why I switched from Ubuntu to Arch Linux

2012/10/16 2 comments

Ubuntu is a great GNU/Linux distribution. I have been using it since 2004, and except for one LTS (long term support) upgrade a couple years back everything was fine. That LTS upgrade a couple years back screwed up the X system, leaving me with the bash shell. Don’t get me wrong: I enjoy dabling with my Linux system, but an LTS upgrade should be safe.

Well, this was years ago.

After upgrading from Ubuntu 11.10 to 12.04 the same thing happened again: No X system.

I have a cheap Nvidia card with dual head setup (dual head means you can plug in 2 monitors). Worked fine with Ubuntu since 2009. So I upgraded to Ubuntu 12.04. And I’m back to: No X system.

I was not amused.

It was not a hardware problem: The old OS (Ubuntu 11.10) worked fine. It was not the fault of Nvidia. I am talking about a video card for 20-50 bucks! Not one of those high-end video cards.

Instead of switching to another deb or rpm based system I decided to switch to one of those “rolling” distributions like Gentoo or Arch. I picked the later and have so far not regrated the decision.

Arch Linux is my home production system of choice.

Categories: linux Tags: , , , ,

Impressions during developing my first application with Mono and Gtk# (GtkSharp)

2012/09/30 Comments off

Why Mono? Why Gtk?

Over the past couple of years I have been developing C# ASP.NET enterprise applications. So I am quite comfortable with the Microsoft stack.

That answers the first question: Mono gives me C# and the .NET stack.

On the other hand I have been using linux as a desktop environment on my home machine for over a decade. I am comfortable with using linux as my primary OS.

That answers the second question: Mono gives me access to Gtk, the graphics library of gnome, which is the default “desktop” in many linux distributions.

The App

I want to synchronize different Git repositories semi-automatically using a Gui.

  • Default behaviour of the automation can be loaded via a Json file.
  • Each entry describes a repository set to be synchronized.

The app is located at https://github.com/draptik/RepoSync

I also published a small demo application for gtk# and treeview: https://github.com/draptik/GtkSharpTreeViewDemo

Impressions

Monodevelop vs Visual Studio

I’ll keep it brief: If you’re used to Visual Studio and ReSharper, Monodevelop does not come close. On the other hand Monodevelop is a full C# IDE which works with linux. And Monodevelop can be used cross-plattform.

Gtk# API

The Gtk# API is not your typical .NET library. You will very soon notice that the origins are C/C++. This takes some getting used to if you have a .NET background.

Typically there are no return values. Instead Gtk# methods very often use the “out” keyword in .NET because that comes closer to the C++ implementation using pointers.

Here is an example:

## Mono Gtk# Code
bool someBool = false;
if (listStore.GetIterFirst (out iter)) {
do {
someBool = (bool) listStore.GetValue (iter, 0);
} while (someBool && listStore.IterNext (ref iter));
}
return someBool;

## Pseudo-C# Code
return listStore.ToList().Any(s => s.MyBoolProp);

From the .NET side, I don’t like the Gtk# API. I prefer methods having return values. I guess it is a matter of tast. If it would really bother me, I would write some wrappers around… ;-)

PS1 prompt

2012/08/20 Comments off

Here’s my current PS1 prompt for bash with optional git support: https://gist.github.com/3324534

Categories: IT, linux Tags: ,

Converting a Mercurial repository to Git

2012/02/07 Comments off

Note to self:

Converting Hg repos to git using hg-fast-export.

Installation:

$ sudo aptitude install hg-fast-export

Usage:

$ cd new_git_dir

$ git init

$ hg-fast-export -r <hg-repo>

Works with:

git version 1.7.5.4

hg version 2.1

Converting a Subversion repository to Git

2012/02/06 Comments off

Just discovered this:

John Albin wrote an excellent article on how to convert a subversion repository to git:

http://john.albin.net/git/convert-subversion-to-git

Workaround for VirtualBox 4.0.8 regression bug

2011/05/25 Comments off

The current version of Oracle’s VirtualBox (4.0.8) has Version 4.0.8 had a regression bug which seems to only manifest itself when using Debian based hosts with 64-bit and Windows 7 64-bit guest system.

Here is the summary of the workaround posted as VirtualBox Ticket 8948:

  1. Edit the settings file to allow the VM to start again (Replace control characters in line 315 with 4.0.8).
  2. Start the Windows guest
  3. Run regedit
  4. Go to HKLM\SOFTWARE\Oracle\VirtualBox Guest Additions
  5. Create a string key VersionEx (use exactly this spelling)
  6. Give it a reasonable value (ie 4.0.8)
  7. Shut down the VM.
  8. Repeat step 1
  9. Restart and shutdown windows guest again
That’s it.
Edit: This bug has been fixed in version 4.0.10 (released 2011-06-27).
Categories: linux, software, windows Tags:

Adding Truecrypt to Ubuntu’s Unity panel

2011/05/09 Comments off

To add applications like Truecrypt to Ubuntu’s Unity panel the application has to be “white listed”.

  1. Install dconf-editor (ie sudo aptitude install dconf-editor)
  2. Go to section desktop | unity | panel and add ‘Truecrypt’ to the systray-whitelist variable
  3. Restart Unity (or log out and back in again)
Categories: linux Tags: , , , ,
Follow

Get every new post delivered to your Inbox.