April 2005 - Posts - Rudolf Henning

April 2005 - Posts

Tom's hardware got an article on 'how to plan a LAN party' with lots of tips and more.

LAN Party How To: Part 1

It even mention possible pricing in US terms but it could be useful to know what to look out for.
with no comments
Filed under:
Sorry, just had to post this. I humbly apologise if it insults anyone (using UNIX) but...

hahaha
with 11 comment(s)
Filed under:
The last couple of days I have been busy 'playing' with MQ (for short) as part of an investigation on how to use it with BizTalk 2004 and as a general message based solution over our WAN (at Shoprite where I work). I must say I've never before really worked with any of the IBM product lines before (Except OS/2 Warp some years ago). As with any technology (that is new to anyone) I started with some concerns and perceptions that this might be something not as good as what I've been used to (in the lovely MS world I'm been so happy with). However, I was pleasantly surprised with how nice and simple MQ works - on its own and even with BizTalk. After having spent some time with it I can say I think it is even a better and more mature product than MSMQ although the integration into MS products are not that 'hot' for obvious reasons.

Finding sample source code (in C#) is a bit difficult for it. There are some samples here and there but no single resource like the magical (or confusing) MSDN ;). That is one thing I must say of MS, they really have good support in general for developers... WebSphere documentation is 'there' on the web but it seems more distributed and fragmented plus it must span multiple platforms, languages etc. A lot of it is in C or C++ or Java. Fortunately all those languages are similar to C# and thus converting stuff is not really the issue.

Like with MSMQ MQ also has it limitations - like the 4MB message limit. The big plus for MQ is however that it runs on different 'platforms' - like Unix, Linux, AS400 and Windows NT range. Performance wise I was really impressed with it. One API concern I have is that retrieving messages from a queue 'requires' an exception to detect the 'end' of the queue. Coming from a MS world it is usually a bad practice to 'use' exceptions as part of the program flow. But anyway, it works.

The one thing I haven’t mastered yet is spanning a 'message' or content over multiple MQ messages. It can be done natively by MQ but I haven’t figured out how the code 'works' to achieve it. Its one of those areas where the source code samples are inconveniently missing on the web...but I'm working on it.

Anyway, I'm still having fun with MQ. :)
with 7 comment(s)
Filed under:
Who said only big movie companies can make good movies? A group of Star Wars fans made a 40 min movie completely on their own. Compared to the 'real' movies the quality might not be 100% the same but its much better than what you might expect from someone spending only a meagerly couple of K (dollars). It took something like 3 years to complete.

Because its a fan film and the 'rights' to Star Wars belongs to Lucas Arts they cannot make any money of it and thus it is available as a free download from the net! I downloaded it and I'm impressed with the quality. There are places you can see they lack skills on 'FX' like when buildings explode but the space battle scenes are great!

To download and read more check out their site

One note: the movie file is at least 250MB big so do it afterhours...
For those still a bit confused by all the different 'versions' of VS 2005 that is coming...

A Hitchhiker’s Guide to Visual Studio 2005 Team System, Part I

Someone tried to be a bit original (or not) coming up with that title.
with 1 comment(s)
Filed under:
Ok, so the second and third movies weren't that great but now it seems it may actually become real life... and I'm not refering to Dinosaur like robots to scare the kiddies....

Some scientists discovered 'soft' tissue from inside a Tyrannosaurus Rex specimen which may contain DNA - the stuff that makes it possible to recreate a living creature. Ok, so the cloning part is still a bit hard but in theory it could be done.

Read more here
with no comments
Filed under:
Rocky has a good entry on his blog about Indigo and its role in the future. It’s a must read for anyone considering Architecture and things like SOA and message based applications. He raise some good points like we're stuck in this continues recreating new forms or remote procedure calls every few years and not gaining anything in the process.

Is Indigo compelling or boring?

For example, all this senseless debates wherever to use Remoting or Web services in the end might be useless because the real fundamentals don't get answered.
with no comments
Toms hardware has a web page that dynamically at run-time generates graphs comparing any two CPU's that is available in its list.

Tom's Hardware Guide CPU Charts
with no comments
Filed under:
Today I also learned something new. While troubleshooting someone else's problem with an assembly that gets called from a scheduler we stumble over this class that could be very useful for deployments.
Say you have some component or assembly that needs to be deployed to a server and will be running under some service account with limited rights. This component has been developed to write to the eventlog on errors. However, because it runs under a limited user account it normally won't have the rights to create a new eventlog source (or even an entire new eventlog).
To solve this there is an installer class specifically for eventlog entries. It works similar to the installer classes that is needed to install a windows service. Basically it gives you the ability to specify an installer derived class in your assembly that will create all the necessary evenlog 'stuff'. To invoke this installer class you simple use the InstallUtil.exe utility.

From MSDN:

using System;
using System.Configuration.Install;
using System.Diagnostics;
using System.ComponentModel;

[RunInstaller(true)]
public class MyEventLogInstaller: Installer
{
private EventLogInstaller myEventLogInstaller;
public MyEventLogInstaller()
{
// Create an instance of 'EventLogInstaller'.
myEventLogInstaller = new EventLogInstaller();
// Set the 'Source' of the event log, to be created.
myEventLogInstaller.Source = "MyNewLog";
// Set the 'Log' that the source is created in.
myEventLogInstaller.Log = "MyNewLog";
// Add myEventLogInstaller to 'InstallerCollection'.
Installers.Add(myEventLogInstaller);
}
public static void Main()
{
}
}

See, your never too old to learn.
with 3 comment(s)
Filed under:
I was browsing through some old code of mine and decided to bundle a few classes I found useful into one framework that I can re-use.
The one class (that I obviously now gona mention) is about formatting tsql code for passing to a server. Years ago (about 9 years) I worked for a company called Vircom where we used a custom (vb6) module for this purpose. These days if you mention embedded sql some people might get a heart attack or something worse. I guess its another of those 'IN' things these days with words like 'sql-injection' floating around. There are other reasons not to use embedded sql as well like maintainability and to avoid hardcoding.
Anyway, I wrote a quick article covering this 'class' and posted it on sadeveloper.net if there are other people that might still find it useful.
I'm not trying to say this is the best way to go in general. Actually I would recommend using stored procedures most of the time.
with 2 comment(s)
Filed under:
For those still unaware of it Firefox 1.0.3 has been released. Check it out at the Mozilla site.
with 1 comment(s)
Filed under:

For those that haven't seen it yet, SAdeveloper.net forums have been shuffled around a bit and it's now much sleeker and easier to find things!

Check it out! www.sadeveloper.net

Who said the sadev is dead! It's alive and kicking!

Next step.... change that green color scheme! :p

with 3 comment(s)
Filed under:

Thanks to Bruce, a colleague of mine we found a solution to a piece of code Angie did to replace a bunch of 'high' characters efficiently to normal ASCII characters. Instead of doing a string.Replace() for every occurrence simply use:

<output> = Encoding.ASCII.GetString( Encoding.GetEncoding(1251).GetBytes( <input> ) )

1251 = Cyrillic (koi8-r)

This will convert any of those nasty characters to plain ASCII ones. Very useful if you want to construct file names from real people names or so or for 'old' ASCII based systems that cannot support Unicode.

with no comments
Filed under:

I found an interesting link to some statistics about the RMS Titanic including some time table of its dreadful first cruise.

http://spaces.msn.com/members/ritabublevalerie/Blog/cns!1pPkgeWTHAJif7QmDBKGRnig!508.entry

What is interesting is the pictures of the 'apparently' iceberg they struck and the paint that was left on it indicating that a ship hit it recently. Also what I found interesting is that they send out 3 different types of distress signals and not just the then newly 'SOS' code.

If you take in mind it was 1912 they actually did faily well covering all the details of the event. The ship was found something like 13 nautical miles from where it supposedly hit the iceberg. That might not be so accurate as they actually didn't know exactly where they were at the time of the collision.

[update: some typo went undetected at first and was corrected]
[Another update: seems my grammar needs some checking as well...]

with 13 comment(s)
Filed under:

A very interesting article to read that goes into the details of the election of the new Pope can be found here:

http://www.schneier.com/blog/archives/2005/04/hacking_the_pap.html

(one word of warning - Some people using IE seem to have issues opening the page - so rather use a proper browser like Firefox :p )

He describes the process whereby a new Pope gets elected and possible ways at every step how it could be hacked or not. Eventually he make the conclusion that small open systems are much harder to hack or break than big 'closed' systems. Do I hear a hint of open source in there or am I just dreaming?

with no comments
Filed under:
More Posts Next page »