Monday, October 20, 2008

gHotkey


This is a little Python program I wrote. It lets you set the 12 Metacity (the gnome window manager) hotkeys for the applications you like.
Set any command you like in the left entry field of a row and the corresponding hotkey in the right entryfield.
The format for the hotkeys looks like "<Control>a" or "<Shift><Alt>F1".
The parser is fairly liberal and allows lower or upper case, and also abbreviations such as "<Ctl>" and "<Ctrl>". If you set the option to the special string "disabled", then there will be no keybinding for this action.
Download

Wednesday, October 15, 2008

How To Learn Programming And Which Programming Language To Choose?

In this Article I want to comment on how I tried to learn programming and which mistakes I made.

To clarify things, I am not a top notch programmer that could roll out a new operating system in a few days or nights. I can do some Web programming and have the knowledge to write plug ins, text processing programs and little GUIs.
I did some mistakes in my path to learn programming and think I got some insights about it on the way. On the other hand I think it could be interesting for an aspiring programmer to listen to some experiences from an average guy and not only to tips from top Open Source contributors.

Mistakes I made


  1. C as first language

    Of course like every kid, I wanted to learn some game programming. At that time everybody was saying: For game programming you need C. I tried C and failed.
  2. Use Wing Commander as my first project :)

    As I said before, I wanted to do game programming and i was inspired by the games I played at the time. Of course I never produced something usable.
  3. Not focused enough

    I was never committed to one project. I was changing my ideas of what to learn all the time.

What I learned on the way


  1. Use a scripting language to learn programming

    I strongly recommend to use a scripting language to learn programming, this means Python, Ruby, PHP, Perl and JavaScript. The big advantage of scripting languages is that you get instant results. Type in:

    print "Hello World"

    and you have your important Hello World program. If you compare that to a Hello World in Java:

    class HalloWorld {

    public static void main(String[] args) {

    String message="Hallo World!";

    System.out.println(message);
    }
    }


    and you know what I mean. Java frustrated even a lot of my fellow students in an MBA program.
    I personally would recommend you Python as your first language, it has a very clear syntax and I lets you do a lot of things from GUI to Web programming.
    If you just want to do some web programming maybe PHP or JavaScript are best for you (remember the instant results).
    Later you could learn Scheme/Lisp, it teaches you a different kind of thinking and should make you a better programmer. Therefore it is often used by college level "Introduction To Programming" books. After that, if you grasped the basic concepts of programming, you should learn C, because it is the mother of your operating system that every good programmer should know. From that time on you learned enough to decide what language/technology is next.

  2. Learn with a small project


    This should be obvious, but I did wrong. That's why I mention it. If you want to see instant results I think simple web programming is easy and rewarding.

  3. Concentrate on one project at a time


    Don't start several projects simultaneously. The result will be that you don't finish any.


I hope my advice will help somebody on her path to learn programming and helps you to stay motivated. If anybody has comments on this, I would love to hear them.

Saturday, September 6, 2008

Lastdocs Plugin For gEdit

This is a new version of my Lastdocs plugin for gEdit. I improved the performance a bit.The Lastdocs plugin exposes a simple dialog that shows you the last opened files which can be edited with gEdit. It is inspired by Scribes a very promising editor that is in an early development stage.


What is the advantage over the recent files menu entry?


The the Lastdocs plugin is better suited to my workflow. I just press <Ctrl><Shift><o>,

the Lastdocs dialog pops up and I can use the arrow keys to choose a file. There doesn't need any mouse action to be involved.


How can I download the plugin?


Download the following file:



Unpack it and put the files in

~/.gnome2/gedit/plugins/

and activate the plugin.
If you have any ideas for improvement, don't hesitate to post them.


Regards,
Marco

Friday, September 5, 2008

Why Microsoft is a dying giant

I said in my thoughts about Google's Chrome that I think Microsoft is a dying giant. I feel that I should justify such a bold statement.

First I want to mention that I see the above statement in long-terms. Of course Microsoft won't vanish tomorrow.

Here are my main reasons for my claim:

  • Microsoft is relying an cash-cows and so can't change

  • Microsoft is not able to be successful in new fields

  • Microsoft's competitors have adopted a robuster business model

The problem for Microsoft with their cash-cows is that they can't pursue new application and business models that endanger their existing software like Office or Windows. The Web versions of their office suite for example is very restricted that it does not cannibalize the original. Their competitors, like Google, don't have this handicap.

On the other hand Microsoft is not able to launch new products that earn money. Their internet-activities are very expensive, the X-Box doesn't get revenues and the Zune-Player is a flop. That will be a big issue in the future.

Last their competitors of their cash-cows are open source software. It's hard to beat free in the long run, if you need to sell your product. Linux and Open Office don't need a price tag, their makers earn money with service agreements and share the development costs. This is a completely new situation for Microsoft, normally they pushed their competitors away. Look Netscape, IBM with OS/2 or Star Office, but against OSS this is just not possible. You might say Microsoft is still making a lot of money with its OS and its office suite. That is right, but things are going to change, look for example at the EeePC. This thing is selling very well and it runs on Linux and uses Open Office. My opinion is that this trend will intensify.

I think the only chance for Microsoft to survive in the long run is that it reinvents itself. It may be unlikely that they will earn so much money again like they do today, but we will see. The first war about browsers has already started...


Wednesday, September 3, 2008

Thoughts about Chrome

There is a lot buzz about Chrome - Googles new Web browser. What I don't understand is why is there so much buzz about a piece of software. When a new version of Opera is released, in my opinion the most innovative browser of the last years, almost nobody cares. Now Google releases a browser and everybody is going nuts. I want to comment on some statements about Chrome (This will not be technical):

  • Chrome is a Windows killer: Despite the fact that I don't think the people at Google hate Microsoft, I think Chrome is just a new browser that gives users more opportunities. Firefox did not kill Microsoft either. Just to have a really powerful JavaScript engine doesn't make the choice of the OS redundant. By the way Microsoft is a dying giant anyway.

  • Google wants a big chunk of the mobile browser market: I think Google's growth strategy heavily relies on the mobile browser market. As a result for them it is very important that people have easy access to the mobile web and a good experience using it. Therefore a nice integration between Chrome on the desktop and Android/mobile Chrome would be helpful.

  • Google never hit a second home run: Which application from Google you use all the time? It is not Orkut, is it? Google is mostly late when they releasing a new application and normally not the first to develop something really new. Although things like Android look very promising they have yet to prove that they can be successful. The same applies to Chrome.

Personally I think on the desktop PC Chrome will have a hard time competing with the Internet Explorer. Just because a lot of people are to lazy to change their habits. Actually I would say it is more likely that Firefox users will try out Chrome than IE users. But the release of the new browser means that Google is putting pressure on the market leader what should be a good thing for us customers.

UPDATE: More about Google's mobile Strategy