Feeling adventurous

Today I upgraded my blog to WordPress 2.5 RC1. Yes, I know it is supposed to be a testversion but hey, I simply cannot resist that many new cool features.

WordPress finally has support for galleries and YouTube goodness right from the bat. The new Dashboard looks awesome (yay, no more Tiger Administration!) and is a real step forward. The only thing I’m a little sad about is the fact that OpenID auth doesn’t work anymore (plugin simply didn’t make it through the conversion, Jim!).

Take a look at the great new features that are coming up and please look amazed. May be the right time for Adobe to finally get their team together for a version of Air Linux. That’d be awesome because the new WordPress just screams for a blogging client in Air, tailored especially for WP 🙂 .

Geez

With all these buyouts, account changings and whatnot I’m seriously starting to go nuts I guess.

Wanted to login into my flickr account today and had to probe for the correct combination of OpenID, Yahoo id, Live! pass and Ene Mene Miste usernames/passwords. Gosh, I wish more applications would be OpenID compatible.

That… or just stop buying/selling all your webservices 🙂 .

Wine to go 1.0 soon

Now that is news, my fellow subjects!

Wine, the not-so-much-an-emulator program that bridges the gap between Linux and Windows, is about to hit One-point-O in a not so distant future. It took 15 years to get to this point and Wine is an absolutely remarkable piece of software. There are some interesting ideas floating out there as well, so I’m absolutely never going to get tired of watching it evolve.

Anyway, Wine 1.0… what can I say? I’d love Wine to be less Johnny-on-the-spot and a little bit more reliable sometimes. But then again, I’m primarily using it to run games like Team Fortress 2, so I’m in no position to complain about freezes. Wine works for just about everything by now and I’m eagerly looking forward to your 1.0 tarball 🙂 .

Tsukasa reviews: Cherry eVolution STREAM vs. Cherry G80-3000

A while ago something terrible happened to me: My beloved old keyboard reached it’s critical mass and gave up. A catastrophe for me, I always considered that keyboard as "just right" for me. Sure, the insides were corroded after all these years, the keys had lost their printing and you wouldn’t want to look into the thing because it was yuck… but it was "just right".

So I had to get a new keyboard. And not just any keyboard would do. I don’t fancy things like displays or buttloads of extra keys on my keyboard, for a very simple reason: First of all, they probably don’t work out of the box in Linux and even more important — I simply don’t use shit like that.

I spent some time doing research and came up with my two choices:

  • Cherry eVolution STREAM
  • Cherry G80-3000

Let’s take a look at each of the keyboards. You can find photos of the devices on my flickr account.

The Cherry eVolution STREAM is a very flat, notebook-like keyboard. It features 6 extra hotkeys (of which none work in Linux out-of-the-box). It isn’t as flat as Apple’s grotesque creation but way smaller than the G80-3000. Included is a PS/2 adapter so you can use your brand new USB keyboard on the good ol’ PS/2 port as well. Price was about 20 Euro.

Typing on the eVolution STREAM is a breeze for people who’re used to notebook keyboards. Personally I find it quite irritating that the Windows key is so big and the spacebar so small, but I’m probably just nitpicking. Really nasty and a showstopper is the fact that some keys start acting funny when you pour dirt and other stuff (i.e. salt) onto them, the keys get stuck, it’s a pain.

The keys have a hard, greasy feedback just as I’d expect it from something that resembles a notebook keyboard.

The Cherry G80-3000 is a monster. I decided to get it because it is the base for Das Keyboard II, a gadget I admire a lot but I’m too much of cheapskate to get it. I said it is a monster. If you take a look at the photos I uploaded you may get an idea of what dimensions this keyboard has. It is less of the width but more the height that make it so nice; the keyboard resembles the old IBM ones I always enjoyed typing on.

The G80-3000 does not have any fancy extra keys. Just as the eVolution STREAM it is a USB device and comes with a PS/2 adapter. Price hits the 50 Euro mark, so it is definetively in another league than the eVolution STREAM.

The special thing about this keyboard is that it uses gold-plated mechanical switches instead of your run-of-the-mill rubber plate thingy. Because of that the device is loud. Yes, a keyboard that is loud. If you enjoy placing baseball cards onto your bike, you’ll just love how loud it is. The tactile feedback from this keyboard is just great. The keys are "just right". It is hard to explain but if you’ve ever had the chance of typing on a IBM keyboard you’ll know what I mean.

The design and key layout is old-goes-well, no fancy experiments here. It is definetively for the better, why change something that works fine. It is virtually impossible to make the keys not work.

So, what kind of review is this? No comparison? Only a brief overview? Good lord, yes.

What can I say? I like both keyboards but I like the G80-3000 better. Sure, it costs more than twice as much as the eVolution STREAM but it pays: The STREAM feels a little cheapo, the keys won’t last for more than 4 years if you work with it extensively. The G80 on the other hand will last for about 10 years (according to the maker).

Gamers should stay away from both of these keyboards I guess. None of them are really "optimized" for playing your 233th installment of Counter-Halo or whatever. Gamers will also miss all the flashing lights, displays and extra keys. But to get work done (i.e. programming) both keyboards are fabulous. The G80 is still better though, the special characters are easier to reach thanks to a little more standard key placement and the different "levels" of the keys (I can’t get used to that on notebook keyboards, sorry).

So, are 50 Euros well spent on a keyboard? I sure think they are. It is a companion through your daily amount of work and when you get to know it better you’ll probably increase your characters per minute.

Is the 20 Euro eVolution STREAM bad, then? By all means, no. It is a stylish keyboard for people how enjoy typing on a flat device. I’m probably just not cut our for that and always prefer a "real" keyboard. The money is well spent, though, it works perfect as a second keyboard (for your notebook, i.e.) and should not be disregarded.

What is the conclusion then? I guess, Cherry makes good keyboards. There are better and cheaper ways to find this out but it has been a fun week and I’m happy to have great input devices en masse now. Just in case the G80 should fail me within the next 10 years 😉 .

Rebuilding Vista’s Security Center cache

My notebook initially shipped with a load of crap like McAfee Internet Security (the trial of course), I had to uninstall all that stuff before it became usable. Now the problem is that obviously nobody at McAfee had the idea that some people would actually uninstall the software.

I did, though, and was left with some undeleted entries in the Security Center, q.e.d., which proves to be a royal p.i.t.a. if you get this analogy. So, to remove these buggers I did…

  1. Stop the Windows Management Interface service
  2. Delete C:\Windows\System32\Wbem\Recovery
  3. Start the service again
  4. Reboot

Now Windows only shows the software that is actually installed instead of bazillions of dead, non-existent ghosts. The Windows Management Interface service keeps a cache that gets rebuilt on every reboot (or so the wise interweb says).

Problem solved, Tsukasa happy.

Installing services from PowerShell (the elaborate way)

Since we’ve got access to all classes and namespaces in the .net Framework in PowerShell, let’s have some fun.

Normally you install Windows services through the sc command or the installutil tool from Microsoft. But what does the installutil, exactly?

Basically it parses the incoming input and — if not specified otherwise — passes it through into a function called InstallHelper() in the System.Configuration.Install namespace. We can do the same with PowerShell, leaving out all the pesky problems of finding a suitable instance of installutil:

[System.Configuration.Install.ManagedInstallerClass]::InstallHelper("MyService.exe")

If run with elevated rights you should see that the transaction is successful and your service should show up in Computer Management.

Scripting “sudo” with PowerShell

Now that I finally have some time on my hands to get a little into Microsoft PowerShell again I decided to work on small things to remember what I learned once (aeons ago 😉 ).

And guess what, there was a practical command I always lack on Windows, it’s the great sudo command from the Unix/Linux world. It basically starts a program with elevated rights (just the rough idea).

Because doing it yourself is fine but looking how other people do it is just as nice I decided to consult Google and found Peter Provost’s great post for a PowerShell script that does exactly what I wanted.

The script launches a new process with elevated rights, only one thing was bugging me a little (yeah, I’m nitpicking now!): I had to provide the full path to the executable. Gee-wiz, how dare you!

Easy to fix with the addition of a few lines of code:

if([System.IO.File]::Exists("$(get-location)\$file"))
{
$file = "$(Get-Location)\$file";
}

Now I can just type i.e. “sudo MyApp.exe” or “sudo MyDir\MyApp.exe” when the application is in that very directory and it launches.

I really enjoy myself working with PowerShell again. Personally I think it’s a shame this great piece of software isn’t a default part of Windows Server 2008 just because it’s .net based (yes, that’s the reason, you can’t install .net on Server Core setups without kinks)…

Sandboxie

Products that "bottle" applications inside the operating system are more popular than ever. Let it start with products like HDGuard or Dr. Kaiser DRIVE and let it end with something along the lines of Citrix.

For practical use these solutions are a little impractical though; I often need on-the-fly sandboxing for applications. That's where Sandboxie comes in pretty handy: The program is a simple to use but powerful Windows application that enables the user to bottle applications inside a sandbox, monitor the changes and delete these changes afterwards (or import them into the real filesystem, whatever you like best 🙂 ).

It really works great and adds a lot of practical use cases for testing or monitoring. The tool is shareware, most of the features work in the unregistered version.

If anyone has a similar free tool (open-source would be perfect, I'd like to peek into the code 🙂 ) feel free to comment (oh please do!).

Just a few lines on GTK

GTK deprecates things faster than building on-par alternatives. Got messaged a few days ago, it seems eggtray is really about to meet it’s (undeserved) end in favor for it’s bastard infant overlord GtkTrayIcon. Needless to say that GtkTrayIcon is not feature equivalent with it’s precessor (which is a shame).

GTK also has the habit of using ridiculously long names for it’s function names. I’m not writing a fscking novel here, but program code. Yeah right, don’t give me that look, I’m writing program code for it to work, not to win the Pulizer price.

void gtk_will_win_me_the_pulizer_price_oneday(GtkStupidObject *bullshit) or what?

Please organize your project a little more and stop punching useless, not-quite-so-ready controls down people’s throat GTK!

Script: Autosorting start menu entries in Windows XP

One of the most annoying things in Windows is that start menu entries don’t get sorted alphabetically by default. I mean, sure… there is a practical reason for this and I won’t deny that reordering the items can be useful at times.

For my primary usage though — it is not. So I spent some time into a simple script, made of two units: a batch file that acts as the "caller" and a VBscript that’ll do some nitty gritty plumbing (actually not too much, though 😉 ).

It is based on the works featured in Script Guy, so without further ado:

startmenuautosort.vbs

On Error Resume Next

Const HKEY_CURRENT_USER = &H80000001

strComputer = "."
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2"

Set objRegistry = GetObject("winmgmts:\\" & _
strComputer & "\root\default:StdRegProv")

DeleteSubkeys HKEY_CURRENT_USER, strKeypath
objRegistry.CreateKey HKEY_CURRENT_USER, strKeyPath
MsgBox "Done!"

Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath)
objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys

If IsArray(arrSubkeys) Then
For Each strSubkey In arrSubkeys
DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey
Next
End If

objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath
End Sub

DoMenuAutoSort.bat (or whatever you like to call it):

@echo off
set PATH=%PATH%;%CD%\$sys

wscript //B startmenuautosort.vbs
subinacl /subkeyreg "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2" /deny=Jeder=F > nul

exit 0

Please note for this script to work you’ll need the Subinacl utility from Microsoft, placed into a subfolder below the script called $sys. Don’t worry, even though the utility comes as an .MSI installer you can simply copy it from your Program Files and place it in the $sys subdirectory and it’ll work on other systems.

Basically this whole thing deletes all entries under Start Menu 2 in the registry and denies any privilegue to the key. Please also note that in the German version of Windows XP the world group is called Jeder, so change it according to your needs.

*buntu debutes

I'm pretty sure BeOS fans remember the name Bernd Korz. He's the head behind now defunct Zeta (a BeOS distribution without proper license). After having shutdown Zeta development due to shady and improper licensing (was there some kind of agreement at all?) it became quite silent around Korz.

He's back now, though. And he brings along a grotesque named Zebuntu, a Linux distro that apparently features BlueEyedOS in it's foundations; enabling it to run BeOS apps with very little work.

Now, just let me ask the silent reader: Why?

If I'd really want to do something like this I could just install the necessary tools for it. There is absolutely no need for another dedicated distro with this as it's focus.

But then again: It's free software and nobody forces me to use it, so… who cares.

Someone who will care is Mr. Cash Mark Shuttleworth who'll probably not be happy that someone is riding on his *buntu distro naming scheme again. But then again, I care about Mr. Shuttleworth about as much as he cares about me… so… 

One good thing about Vista…

There is one really good thing about Windows Vista: It poses the perfect excuse to deny installing 10-year old 16bit applications.

Frankly, I'm shocked about the high percentage of legacy applications still in use. About every week we're having trouble with these old programs at work, breaking down under all the permissions and group policies.

People should get one thing straight: Just because an application works on a old 90MHz machine doesn't mean it works on a dualcore 2GHz beast. And time probably didn't stop, there should be a sufficient replacement for a 10-years old application.

ProcMon is quite a useful tool for people plagued with these junk pieces. The compatibility mode also proves itself to be useful at times. But come on, why bother?

Either you don't upgrade your old systems and just keep the applications running on Windows 98 or you say bye-bye to the machine, the OS and the application and move on. Everything else is just blasphemy.