public void photograph()
Anze Vodovnik Photography

Archive for the 'Programming' Category

Rock Partyzani - Portorož

Today, I just got home from a Microsoft event - the launch of the new product wave (Visual Studio 2008, Windows Server 2008 and SQL Server 2008) with events entitled “Heroes happen{here}”.

Anyway, after a full day of lectures, it was time for the closing party. Before and after of the finale of the game Guitar Hero for XBOX 360 (I was second :) ), the crowd was entertained by a band called Rock Partyzani. I already heard them once (Bruc 07) but this time, I had a very rare opportunity of being more or less THE ONLY crowd. There were about 80 people (at the start), and only about 20-30 after the finale. And none of them were close to the stage so it gave me the ideal chance to keep move and scour for opportunities.

Partyzani_foto_Anze_Vodovnik-45 Partyzani_foto_Anze_Vodovnik-126 Partyzani_foto_Anze_Vodovnik-74

Partyzani_foto_Anze_Vodovnik-193 Partyzani_foto_Anze_Vodovnik-85 Partyzani_foto_Anze_Vodovnik-47

Prljavo Kazalište

Although I’ve posted the Magnifico concert first, I’ve actually covered Prljavo Kazalište first, but I haven’t had the chance to post it on my blog. Those of you reading e-Delo could have already read my report.

I’ve recently discovered Prljavo Kazalište and their music, and I really like it. My personal analogy was that they are a balkan reincarnation of Dire Straits :-). The lights were terrible again, with very little frontal light. There was no room beneath the stage, so we had to photograph in the crowd, which, at the sold out venue that is Cvetličarna, was a bit hard.

PrljavoKazaliste_foto_Anze_Vodovnik-29 PrljavoKazaliste_foto_Anze_Vodovnik-29-2 PrljavoKazaliste_foto_Anze_Vodovnik-166 PrljavoKazaliste_foto_Anze_Vodovnik-133 PrljavoKazaliste_foto_Anze_Vodovnik-31 PrljavoKazaliste_foto_Anze_Vodovnik-50

a signature…

A signature can mean a lot to people… it can be something as simple as an autograph from a favorite band… it can be a signature from a client that a project is finished… it can be a signature on the marriage certificate list… But a lot of times, a signature brings happiness ;-).

As was the case with the signature that encouraged this post — a project was finished, or rather, the customer signed the acceptance list. So congrats to those from my team involved in the project (I can’t go into specifics but hey, it’s the thought that counts).

Brigita_Peter_foto_Anze_Vodovnik-144

The picture is from a colleague’s son’s wedding.

Visual Studio 2008 is here

Finally, the wait is over. The guys at Microsoft RTMed Visual Studio 2008. Thanks to my MSDN subscription and a heads-up notification from a friend, I downloaded the sucker. It’s installing as I write this. But keep in mind that the installation usually takes about half an hour — and also that I am running the setup as a virtual mounted CD, which means SATA II file transfer speeds :-). I remember times, when we installed Visual Basic 6 and it was an all-night event which included changing CDs in the CD-ROM. Ah, good ol’ days.

The change set is huge, including new tools for Office 2007, an improved HTML/CSS designer, JavaScript Intellisense and (improved) debugger support and more. I can hardly wait to start using it, but unfortunately… I have got to get to work :-). So, I’ll write about how it went when I get back.

Wordpress 2.3.1

I’ve upgraded my blog to the new Wordpress platform, version 2.3.1. The upgrade process was fairly seamless. The only thing I needed to change was my custom template, where I’ve used Jerome’s Tags — this plug-in is no longer supported since tag support is built in.

However, there might be some problems here and there, and I’d really appreciate it if you guys could comment here if you get an error. Thanks!

Polaris - Non-destructive image watermarking in .NET

I did it. I have version 0.1 of my watermarking tool which I have named Polaris. When I feel it’s ready for more people to test it, I’ll put it up on my blog in case anyone will want to download it and give me feedback.

After having tryed a solution MarkMyImage from CodeProject, and finding it visibily (at least to me) reduces the quality of my images, I felt there was a problem with the way the code handled applying the watermarking. I thought I could do better, and since there were a couple of other things that bothered me (or that I’d like to have) I decided to do it. What I’m starting with is:

  • Loadable Watermarking profiles with watermark drag&drop placement
  • Automatic invert of watermark image if image is too bright or too dark to allow it to be visible
  • Asynchronous processing (non-blocking UI)

However, the first issue I’ve encountered is that as much as I hoped it was the way the code handled the watermarking in MarkMyImage, it was actually .NET to blame. It appears that the call to Image’s Save() method assumes a higher compression that expected. In particular, I believe it chooses 75% quality preservation. After doing some research and reading up on articles, I found this one.

The solution is to include the ImageCodecInfo object and EncoderParameters where the quality setting is set to 100. The code to do it is simple:

ImageCodecInfo myImageCodecInfo;
System.Drawing.Imaging.Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;

myImageCodecInfo = GetEncoderInfo(”image/jpeg”);

// Create an Encoder object based on the GUID

// for the Quality parameter category.
myEncoder = System.Drawing.Imaging.Encoder.Quality;
myEncoderParameters = new EncoderParameters(1);

 // Save the bitmap as a JPEG file with quality level 100.
 myEncoderParameter = new EncoderParameter(myEncoder, 100L);
myEncoderParameters.Param[0] = myEncoderParameter;
 //save new image to file system.

After this, all I had to do was call Save(path, myImageCodecInfo, myEncoderParameters);.

After I generated the images, I did a comparison of the original, Polaris image and the previous solution. This is the result:

polaris.jpg

I may be a bit to precise on this quality thing, but I saw the difference. And it bothered me. Can you see it? Now, the quality diference is minute (there will always be a difference due to the very nature of JPG).

Anyway, now I’ll post some pictures =). Just as soon as I finish getting the solo guitar right from Jefferson’s Starship - Nothing’s gonna stop us now.

We can build this thing together. Stand in stone forever. Cause nothing’s gonna stop us now!

Terrestrial axial rotational angular position (relative to the sun)

Also known as the time.

Today, I was forwarded a copy of a specification that would allow to human race to break free so that, “no longer would such unscientific terms like the ’sun rise’ and ’sun set’ rule the human race! No, they could now use high class terms like ‘angles’ and ‘degrees’ and, dare they even suggest it, ‘radians’.”

Download the specifications here: TerrestrialAxialRotationalAngularPositionDevice.pdf