100000+ Downloads

SkypeGadgetDwlI am proud to announce that SkypeGadget was downloaded more than 100.000 from gallery.live.com.

There is a problem with the posted date but I remember that I uploaded it on gallery.live.com at the beginning of 2008 (or late 2007). So, I think that it was downloaded 100K times in ~19 months.

SkypeGadget is a Windows Vista Sidebar gadget that allows you to control Skype. If you want to download SkypeGadget and/or get more info about it, visit the project page at: http://victorhurdugaci.com/projects/skypegadget/.

Software Craftsmanship

Writing code and creating working software is not hard but writing quality code and creating valuable software is.

The software craftsmanship manifesto values:

Not only working software, but also well-crafted software.
Not only responding to change, but also steadily adding value.
Not only individuals and interactions, but also a community of professionals.
Not only customer collaboration, but also productive partnerships.

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

One can hardly doubt that the principles from then manifesto can be satisfied in other way than through passion. Of course, not all individuals involved in the process of software creation do their job with passion and dedication. Some do their job just because they need money or because they have some other interest and they really don’t care about the final product. They create software because they have to and usually is bad software.

Bad software is not software that does not work! Bad software, from my developer point of view, is software that was created chaotic. The project, from the beginning or from another point in the project’s timeline, was not governed by some rules and tenets. The individual involved in the project did not adhere to some standards and everyone was doing anything just to make a piece of working software.

This kind of projects are like pipes with rubber tape. You add more and more rubber tape (bad code/ideas, hacks) where you find a crack and in the end you will be over whelmed by the mess you created. Also, the fixing cost (refactoring) will be enormous.

Read the rest of this entry »

Just ONE project

For the first time in many years I have just one project that I must work on.

My only assignement, excepting the bird detection software from work (just ignore it :D ), is the bachelor thesis. I have two more weeks to finish the project and the documentation.

Until now I always had two, three or even four projects to finish (ex: Imagine Cup + 2-3 school project, blog article(s) + ASP.NET project + project management assignment, etc.). Now there is just *ONE* (ONE!!) and I really enjoy writing about expert systems (Rete Algorithm) and applications running on Windows Azure. Oh, by the way my thesis is called “Expert Systems – Rete Algorithm” and is about the Rete forward chaining algorithm and it’s implementation as a scalable service on Microsoft’s cloud computing platform.

I think will publish the final documentation (written in Romanian) here in order to help others understand Rete Algorithm and Software as a Service. By the way, do you know what an expert system is? :)

Let’s assume that we have three rules:

  1. IF is cloudy THEN it will rain
  2. IF is sunny THEN it will not rain
  3. IF it will rain THEN I need an umbrella

These three rules are called the Knowledge Base (KB) and are stored in the system. If I say “I cloudy today” the system will use the rules and infere that I need an umbrella. So an expert system is capable of taking decision based on some rules and some facts. However, based on the implementation, it can be a naive form of artificial intelligence because it cannot distinct between correct and incorrect rules, is highly dependent on the correctness of the knowledge base and is acting on the principle of “garbage in, garbage out”.

So an expert system has a knowledge base and given a set of facts can infere other facts (can take decisions). Will write more about this in the documentation.

Do you think expert system will be used in the future or the future belong to something else?

PS: Oh f***, I have to write part three from “Software + Services: A Modern Approach” article.