About Me · Send mail to the author(s) E-mail · Twitter

At GROSSWEBER we practice what we preach. We offer trainings for modern software technologies like Behavior Driven Development, Clean Code and Git. Our staff is fluent in a variety of languages, including English.

Feed Icon


Open Source Projects


Blogs of friends

Now playing [?]

Error retrieving information from external service.

Wortzerlegung der besonderen Art

Posted in Fun Stuff at Friday, 30 June 2006 14:00 W. Europe Daylight Time

Projekt WortschatzGestern sprachen Silke und ich mit Chris Biemann von der Abteilung Automatische Sprachverarbeitung an der Universität Leipzig. Die Kollegen beschäftigen sich mit verschiedenen Methoden, Texte mit Hilfe des Computers zu verarbeiten. Ihre Sprachklassifizierungssoftware durfte ich bereits in einem eigenen Projekt anwenden: Man übergebe dem Programm eine Menge Text und es sagt einem in welcher Sprache der Text wahrscheinlich verfasst ist. Damit kann man z.B. einen Dokumentenstamm sprachlich clustern.

Silke hat derzeit ein anderes Tool im Einsatz, nämlich eines das zusammengesetzte Substantive in seine Einzelteile zerlegt: Aus Vortragsgestaltung wird Vortrag und Gestaltung. Dabei kommen unter Umständen ganz lustige Ergebnisse zustande, wie bei dem von Chris angeführten Beispiel Schamanismus. Der Computer glaubt die Fragmente Scham, Anis und Mus zu erkennen, korrekterweise alles deutsche Worte. Durch eine weitere Funktion des Tools, der Grundformreduktion, entsteht in einem zweiten Schritt aber Scham, Anus und Mus. Der Schamanusmus.

Ein schönes Wochen, Ende.

How to Disallow Multiple Terminal Server Sessions Using a Logon Script

Posted in PowerShell at Thursday, 29 June 2006 20:02 W. Europe Daylight Time

Remote DesktopIf you're working with Microsoft's Terminal Services, you may know about the "Force single session" option. Essentially, turning this option on forces Terminal Services to allow just one session per user. If user Alice is logged on and another users authenticates as Alice, Alice's first session would be disconnected and taken over by "the other" Alice. Concurrent sessions of Alice and Bob are not affected, that's what Terminal Services are for.

The "Force single session" option is has it's right to exist, but what happens if it's turned off? Going back to the example above (Alice is already logged on while the second Alice is authenticating), this would result in two Alice sessions. Imagine a scenario where it's useful to allow certain users to have multiple concurrent sessions but disallow multiple sessions for others: Two administrators could to their job but ordinary users are forced to live in a single session.

It is not possible to achieve these semantics just by leveraging the built-in functionality of Terminal Services. However, you can use Group Policy logon scripts to check if a user is already logged on to another sessions. Here's an example of such a script I've written using Windows PowerShell.

# SingleSession.ps1
# Logon script for users with limited session count.
# Global settings.
# Array of users with limited session count.
$ScriptUsers = "user1", "user2", "user3"
# Maximum number of sessions for each user above.
$MaxSessions = 1
# Logoff executable.
$LogoffCommand = $env:systemroot + "\system32\logoff.exe"
# Trim the user name.
$CurrentUser = $env:username.Trim()
# Welcome message.
Write-Host "Welcome to this server," $CurrentUser
# Cancel if a user that's not contained in $ScriptUsers logs on.
if ($ScriptUsers -inotcontains $CurrentUser)
    Write-Host "You do not need to run this script."
# Get the number of sessions the current user owns.
$WmiUserNameExpression = "*,Name=`"" + $CurrentUser + "`""
$Sessions = get-wmiobject Win32_LoggedOnUser | `
    select Antecedent | `
    where { $_.Antecedent -ilike $WmiUserNameExpression } | `
# Log off the user if $MaxSessions is exceeded.
if ($Sessions.Count -gt $MaxSessions)
    Write-Host "You are already logged on in another session."
    # Show a message box informing the user that he will be logged off.
    $MessageBox = New-Object -ComObject WScript.Shell
    $MessageBox.Popup( `
        "There's another user connected using account " + $CurrentUser + ". Please try to reconnect later.`n`nYour session will be ended now. This window will be closed auomatically after 60 seconds.", `
        # Close message box after 60 seconds.
        60, `
        "Account is being used", `
        # Error Icon.
    # Force logoff.

You just need to set up the logon script using Group Policy.

  1. Enable multiple Terminal Services sessions using the Terminal Services Configuration snap-in (tscc.msc).
  2. Open the Group Policy Editor by running gpedit.msc.
  3. Assign the user logon script.
    Because the PowerShell file extension (ps1) is not linked to the PowerShell runtime, I wrote a little helper cmd file that simply starts the PowerShell script. Enter this cmd file in the Logon Scripts editor.
    rem SingleSession.cmd
    rem Starts SingleSession.ps1.
    @powershell.exe -noprofile -command SingleSession.ps1

Now, at each logon, the script checks if a user contained in $ScriptUsers logs on. If this is the case and the user already owns another session, a message box is displayed saying that he or she will be logged off. After a timeout of 60 seconds the message box closes and the session will be ended.

Basically, I rewrote the SingleSession script that existed as a cmd file for years in PowerShell because I think it's time to switch to the new well thought-out command line. PowerShellIDE, though beta-ish, has done a decent job supporting me during the short development process.

Vista Cursors

Posted in Design | Windows at Thursday, 29 June 2006 02:01 W. Europe Daylight Time

Another post from the Vista customization category. As I read here someone has extracted the Vista mouse cursors from Build 5465 in order to make them available on Windows XP today. The decision to switch to the new cursors after sticking to the 3D cursor set for the last six years (whew) was conceivably an easy one. The direct download is over here.

Aero Cursors

I've used these two animated "busy" cursors in my old cursor set. If you like them, here's the download.

Animated Box Cursor Animated Metallic Cursor

Update: Marci has created two orange-themed cursor sets based upon the Aero cursors above.

Aero Cursors (Orange) Aero Cursors (Orange Sparkle)

Now playing: Lynyrd Skynyrd - Sweet home Alabama

Happy Birthday

Posted in NonTech | Music at Monday, 26 June 2006 19:43 W. Europe Daylight Time

Happy birthday, Gunman G-Man Gee Gunnar!

Now playing: Chris Botti - A Thousand Kisses Deep - She comes from somewhere

Alive and Kicking (Again)

Posted in Geek Mode | Networking | Tools and Software at Friday, 23 June 2006 20:59 W. Europe Daylight Time

Last week, on June 15th at 3 A.M. our server decided that it is time to retire the hard drive carrying the operating system and let it issue nothing more than the well-known sound of crashed heads. Goodbye Gandalf, you modest fellow who served our purposes well since December 2003.

We're currently running on a hastily set up backup system. That is, our WLAN access point has become the primary DSL router and Marci reinstalled the server on a 40 GB hard disk uselessly mounted in an even older server machine. Of course, the interim solution is not as well configured as one might expect: applications and services are missing, shares are non-existent, IIS MIME types are not set, ... the list goes on.

The rest of the hardware we've been running on will be taken out of service as well because a Dual Celeron 466 is just not what we need (anymore). We've already ordered a new server, a Dell PowerEdge SC430. Apparently, it's the smallest server manufactured by Dell, but a Pentium D 820 (Dual Core 2,8 GHz) with 1,5 GB of ECC'd RAM and a 80 GB RAID 1 should be enough for our demands.

Dell PowerEdge SC430

nLite LogoI've already finished preparing and testing the Windows Server 2003 R2 installation CD that was customized using nLite. It's a graphical tool that creates an ISO image based on the original installation media. Speaking of customization, you can create a fully unattended setup including device drivers, service packs and hotfixes. There is a vast amount of other options to pre-configure the user experience, add hidden or remove unwanted functionality. For instance, Windows Media Player is not really needed on a server machine, whereas IIS should be installed by default. Pretty neat!

Let's see if the machine behaves well until the new PowerEdge (named Arwen) comes to life!

Now playing: Air - Moon Safari - Remember

Japanese Rocket Sciene

Posted in Fun Stuff at Tuesday, 13 June 2006 00:06 W. Europe Daylight Time

Speaking of Rocket Science, Marci found this crazy video of a man is actually flying over a bay using a couple of large water rockets.

Japanese Rocket Scientist
Click on the image to download the video.

We're planning to start the next rockets this weekend in the Clara-Zetkin-Park. Hopefully Robert and the other Robert will join us with another custom-made airship. I can't believe how obsessed we are.

Possible Solution to the CF Card Problems with Axim X51v

Posted in Tools and Software | Mobility at Saturday, 10 June 2006 20:11 W. Europe Daylight Time

I found a possible solution to the disappearing CF card problems with my Dell Axim X51v on Aximsite:

CF/SD disappearance intermittently **   (posted by Corny)
The solution is to change PNPUnloadDelay to 4096.
Soft Reset is required after the application of this registry hack.
I tried this but I am still experiencing problem..Soft reset is only way to get CF/SD back.

In case you don't have Visual Studio's Remote Registry Editor at hand, you can use one of these free utilities to edit the device's registry.

Rocket Science

Posted in NonTech | Fun Stuff at Friday, 09 June 2006 23:10 W. Europe Daylight Time

Every year at Whitsun me and a couple of friends leave Leipzig for a weekend out in the nature. Like last year, we've chosen my family's house in Obergeißendorf as this year's destination. Packed with a proper Hi-Fi setup consisting of Robert's turntables, a ton of vinyl, loudspeakers, my amp and heaps of cables accompanied by other DJing gadgets some of us arrived on Thursday. The rest of our 14 people strong party came the day after. It's been six days of relaxing, music, lot's of air-dried sausages, barbecue and draught – mostly outside in the chill winds of Thuringia.

The House The Pond
The People The Breakfast

More pictures can be found over at Gunnar's site.

The most fun part was the "rockets" we built based on a rocket game set for kids Christiane gave Marci and me last Christmas. It contained a book with instructions for making rockets in order to fulfill three missions. The First Mission was pretty lame (conceivably not for kids), i.e. you had to put two pieces of cardboard together and weight the rocket's nose with a bit of modelling clay. Then fire off the whole thing with a slingshot-like device.

Marci and Robert, both filled with the engineer's spirit, didn't stop there and tried to accomplish Mission Two. You need some more stuff, here's a quick list:

  • An empty PET bottle, size doesn't matter
  • The cork from a bottle of wine, it should fit tightly in the bottle's opening
  • Air pump with a ball valve
  • Water
  • Gaffer tape (Tappe™), depending on how sophisticated your rocket should look
  • Something to use as the launching pad (we used stones)

We took the following steps to build and start the rocket:

  1. Prepare the PET bottle rocket as you wish, for example you may add stands and an aerodynamic nose – see below for our construction.
  2. Pour water into the bottle until one quarter is filled. You can experiment with how much water you put into your rocket later.
  3. Stick a thin hole through the cork so that the ball valve gets through it.
  4. Put the cork into the bottle's opening.
  5. Put up the bottle upside down on your launch pad.
  6. Pump until the pressure inside the bottle forces the cork to shoot out of the bottle and the rocket starts.

I wish I had one of those alluring Tablet PCs to illustrate the building process better. You may have a look at various web sites that describe the issue and the physics behind it.

We had so much fun starting the rocket over and over again. Unbelievable! :-)

Robert and The Rocket Äffchen Pumping
Rocket Filled With Beer and Baking Powder Much Fun

I've uploaded two videos of our rocket Marci took with his mobile phone. Video 1, Video 2

Now playing: Peace Orchestra - Peace Orchestra - Who am I

Dell Axim X51v

Posted in Tools and Software | Mobility at Thursday, 08 June 2006 22:23 W. Europe Daylight Time

I recently got hold on a Dell Axim X51v PDA. I'm going to see how the device fits into my daily workflow managing tasks and appointments. The device runs on Windows Mobile 5 and has a really great looking 480x640 high-resolution display. Characters appear crisp and clear, a nice reading experience.

Dell Axim X51v

From the beginning I had problems using the device. The original firmware had a bug that turned off the device completely after a random amount of time. It is especially annoying if you're missing an appointment because the PDA decided to have a little nap. Strangely enough the updated firmware for my German device was only available on the Dell's English website. Dell's German web site has only the English version listed.

Now with firmware revision A01 the only thing that fails after some hours is the Compact Flash card. Unfortunately this is where I store my podcasts and the only thing that helps is to reboot the device. How could I recommend my roommate Silke buying this PDA?

I've found some tools that I consider indispensable to operate a WM5 device smoothly. Some of the built-in functionality isn't really usable, for example the task manager. As always Microsoft relies on third party vendors to enable better usability.

  • WisBar Advance
    A task manager that shows running processes as icons next to the start menu. No more guesswork which applications are currently running and easier task switching. WisBar has a vast set of options that allow you to tweak your Pocket PC experience.
  • PocketMusic
    A Winamp-like music player.
  • IM+
    Instant messaging for Jabber, ICQ, AIM, MSN and Yahoo protocols.
  • Mobipocket Reader with Wikipedia
    Mobipocket is an e-book reader application. A stripped-down version of Wikipedia without images eats about 550 MB of external memory (i.e. Compact Flash). Mobipocket and Wikipedia are available free of charge.
  • Total Commander
    The best file manager ever as a free version for Pocket PC.
  • Adobe Reader for Pocket PC
    Opens PDFs on the mobile device.

Now playing: The Cranberries - Animal instinct

Imagine Cup Beachcoding Party 2006

Posted in NonTech at Wednesday, 07 June 2006 19:35 W. Europe Daylight Time

Last week Marci, Bergo and me were invited to join the Beachcoding Party organized by Microsoft. Germany's finalists of this year's Imagine Cup were there to receive their awards.

The location itself was very impressing: The hall where Cargolifter AG planned to build a large airship for transportation of heavy loads has been redesigned into Tropical Islands Resort after Cargolifter announced insolvency in 2002. The hall is today a vacation resort in the middle of cold Germany: Full of tropical plants, sea sand, two swimming sites, heated to 25 degree and opened 24 hours, 365 days a year. The unpleasant weather outside didn't bother us in any way.

Tropical Islands The Tents
Tropical Islands Evening Show

After we received our conference badges and put our luggage into the tent, the shuttle service moved us into a smaller conference hangar (Tropical Islands is located on an abandoned airfield) where Academic Program Manager Entertainer Dr. Ingo Dahm introduced us to the whole event. After that, Frank Fischer, head of Microsoft's Evangelism team (wondering where Uwe Baumann moved to), showed us the parallel of Outlook's spam filter and Aids research. After a short coffee break Dirk Primbs hold a very good presentation on Five Mortal Sins of Security. Dirk's talk has been a nice recap of security awareness I've obtained reading Writing Secure Code and watching various webcasts on the topic.

The evening started with a conference dinner and show on the "South Seas". Afterwards the prices were given to the top three projects in every category. Unfortunately only Germany's winning team got the opportunity to talk a little about their project. Dr. Said Zahedani, flown in from Paris, answered a couple of questions from the attendees regarding Microsoft products and strategies. Later, the beachcoding begun: Dirk Primbs and Oliver Scheer implemented Hangman on a Vista Machine, of course dropping hints of new features here and there. The party went on with busloads (credits to Kris :)) of free beer until 2 in the morning.

The Day After

It's been a nice event!