Archive

Archive for the ‘software’ Category

IT book recommendations

2012/12/15 Comments off

I now have a list of IT book recommendations at GitHub.

Advertisements
Categories: development, IT, software 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… 😉

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

NHibernate 3.2 Upgrades

2011/11/09 Comments off
Categories: development, software, windows Tags:

uNhAddIns patch for NHibernate 3.1

2011/10/05 Comments off

since most NuGet packages related to NHibernate come with NHibernate version 3.1.0.4000 (at the time of writing), I tried rebuilding uNhAddIns (commit #773) with the newer version of NHibernate.

My changes:

  • upgraded NHibernate to version 3.1.0.4000 (Iesi.Collections, NHibernate, NHibernate.ByteCode.Castle)
  • implemented new Interface method ‘IsProxy’ for IProxyFactoryFactory (CSLProxyFactoryFactory, ProxyFactoryFactory)

BTW: .NET is becoming more and more like Java… Who doesn’t love names like ‘IProxyFactoryFactory’? 😉

I did not update any tests.

Feel free to use this code (no licence).

My patch can be found at:

Patch at Google Code

Rails and Emacs: Rsense and Auto-Complete

2011/07/17 Comments off

If you’re developing Rails with Emacs and using Rinari here are two more extensions you might like:

http://cx4a.org/software/auto-complete/

and

http://cx4a.org/software/rsense/

Installation. Just  as described. Code completion for ruby-on-rails with emacs!

And the package is written in Java(!), Very cool!

I am impressed!

Antivir regression bug makes Visual Studio 2010 unusable

2011/07/09 Comments off

The current version of Antivir Personal slows down Visual Studio 2010 making it unbearable to develop ASP.NET applications.

Debugging with active Antivir: appr. 5min for an empty Default.aspx page to display.

Debugging with deactivated Antivir: a few seconds for an empty Default.aspx page to display.

Until Antivir fixes this bug I will give Microsoft Security Essentials a try.

Regression because this has been addressed and fixed in December 2010:

Antivir FAQ (English)

Antivir FAQ (Deutsch)

This applies to the following version of Antivir:

Produktversion 10.2.0.696 29.06.2011
Suchengine 8.02.06.04 06.07.2011
Virendefinitionsdatei 7.11.11.27 07.07.2011
Control Center 10.00.12.31 28.06.2011
Config Center 10.00.13.20 28.06.2011
Luke Filewalker 10.03.00.07 28.06.2011
AntiVir Guard 10.00.01.59 28.06.2011
Filter 10.00.26.09 28.06.2011
AntiVir WebGuard 10.01.09.00 28.06.2011
Planer 10.00.00.21 02.05.2011
Updater 10.00.00.39 21.06.2011