Archive for the 'Software' Category

“Shoot the messenger”?

In einem Blogbeitrag (Englisch) habe ich meine Meinung sowie die Fakten zum Thema “Unicode und Delphi” dargelegt und beschrieben, warum ich die Umstellung der Bedeutung von PChar auf PWideChar ablehne. Da sich eine rege Diskussion angebahnt hat und es so scheint, daß nicht jeder meine Kritikpunkte nachvollziehen kann, möchte ich meine deutschsprachigen Leser doch einmal auf die exzellenten Tutorials zu den Themen Pointer und String aufmerksam machen. Es lohnt sich in jedem Fall, auch wenn man an der eigentlichen Diskussion nicht interessiert ist.

Mal sehen wie sich die Diskussion entwickelt.

// Oliver

Verdammt …

… nichtmal die alten Vorurteile stimmen mehr. Da guckt man nur mal kurz im Ubuntu Update-Manager nach und bekommt direkt das Upgrade auf “Hardy Heron” angeboten. Nix mit Kommandozeile und …

apt-get update & apt-get dist-upgrade

Irgendwie bin ich darüber schon froh, immerhin komme ich auf meinem Dedi-Server allemal noch in den Genuß von Kommandozeilentools. Allerdings muß das nun schon eine ziemlich böse Nachricht für einige Fundamentalisten unter den Windows-Benutzern sein, die einerseits immer auf Microsoft herumhacken, andererseits aber auch die verschiedenen Linuxdistros runtermachen. Immerhin habe ich noch nirgends gehört, daß das Upgrade von XP auf Vista so schmerzfrei abgeht ;) … und schon garnicht so kostengünstig.

// Oliver

Morgen ist Bescherung

Laut Planung wird morgen (Donnerstag) Ubuntu 8.04 veröffentlicht. Ich freu mich drauf.

Also, auf ein fröhliches:
apt-get update & apt-get dist-upgrade :mrgreen:

// Oliver

Little adventure with SourceForge’s CVS

In the scope of WinDirStat I had to take the little hurdle of branching in the past. Now, supposedly I could have simply opened a support request to the staff, but then I thought of it again, since I had done it locally on a Linux machine before. There was a problem, though: I wasn’t able to establish a shell connection to the CVS server. So the only thing left was to go the “classic” way. As mentioned before, I had done similar things before on a Linux machine, but that was at the same time the CVS server. So no fiddling around with protocols, establishing connections and so on.

This time it was a bit trickier, although not too tricky. But in order to save me (and perhaps others) from searching the command line options again and again, here it is for archival and for those who may face the same problem in future. This assumes that you have CVS access with your SF.net-username:

set CVS_RSH=plink.exe
cvs -z6 -d:ext:username@project.cvs.sourceforge.net:/cvsroot/project ↵
 tag -b -f -R -D yyyy-mm-dd BranchName ModuleName

The green parts are the variable parts. “ModuleName” can also be a “.” (dot), which means all modules.

// Oliver

Is ignorance bliss?

Wow, look at that Quality Central article. Now look at the reply. Now look closer at the affected version and the date when it was reported.

It’s unbelievable, but now - after working a while with Borland C++ Builder 6 (BCB6) - I found out by accident, that a huge portion of the final size of the executables created by BCB6 is made up of exports. And I am not talking about DLLs here, for which it is normal to export functions - I am talking about ordinary programs which under normal circumstances don’t even have an export table. What the heck were the Borland engineers thinking and why the heck wasn’t this fixed with one of the updates? This ignorance is amazing. Apart from the threat of crackers or other reverse engineers who just get half the job done by Borland kindly exporting my symbols and with name for them, there are other concerns. How about the garbage in my executable? Shouldn’t this alone be convincing enough to rid us users off this “feature”? Also I have serious doubt that the so-called “smart-linking” is totally unaffected by this, since exported symbols cannot be subject to optimization. They’re needed, because they are exported. This may not reflect the actual necessity of the symbol to remain in the binary, but now that it is exported, it has to be left in the binary.

From experience I can only tell that Delphi doesn’t build so huge binaries for similarly sized projects. But then, Delphi also doesn’t export hundreds and hundreds of garbage symbols.

At least there are people in the Delphi community who have solved some of the common usability and speed issues you have had for about a decade now with Borlands Win32 products. Andreas Hausladen is one of them and he offers such nice tools as DDevExtensions and DelphiSpeedup. Both also work, despite the name, on Borland’s C++ products. And even better, Andreas has provided a tool which offers a partial solution to the above discussed problem: LibExportRemover. This tool literally comments out those export declarations in the LIB (OMF) files of the package LIBs. In the case I am facing, about 1000 exports - and even many Windows system DLLs have less exports than the resulting EXE in my case - can be attributed to the excellent Virtual Treeview component. Don’t mistake it: I am not blaming the component, but the compiler and the linker and the rest of those tools behaving so silly.

// Oliver

DDKWizard manual revised

Although the manual is still perfectly valid for version 1.2.0a of DDKWizard and covers also older versions, I took the time to completely revise it. This means that it contains some updated information, some additional information and some corrections.

If you are using DDKWizard or DDKBUILD.CMD you may want to have another look into it. As usual, the latest version can be found here.

// Oliver

Sounds like a fairly interesting idea …

Have a look at RunEl and don’t miss out when Chris presents the implementation of his newest idea. An UAC implementation which works on XP and Vista but is more user-friendly.

// Oliver

PS: I understand it’s still April, but as far as I can tell this is not a joke ;)

Windows Vista SP1 (x64)

… so this weekend I took the time to reinstall my Vista (wanted to do that anyway after I hadn’t maintained my series of backups to revert to for that machine and I am switching from 32bit to 64bit ;)). Okay, so I am sitting here … waiting for it to finish. Meanwhile I thought to myself: alright, since you know it can’t be slipstreamed, let’s search for a tool that would be able to slim down Vista. So I used a search with varying terms and - no matter what I entered - always ended up with vLite. No worries, I like the tool. I find it somewhat ingenious, although those guys, as well as the guys from nLite seemingly didn’t ever try the same with an NT4 or Windows 2000 (such as I did years ago in order to automate it in part - and txtsetup was partially broken in Windows 2000). But sorry, what’s the point? Has anyone ever considered slimming down a Vista after it was installed? Since SP1 only allows what was labelled as “reverse integration” by those who documented the method, and there is no way to actually install SP1 on a Vista whose install DVD has been slimmed down by vLite previously, we’re in a catch 22 situation. Right? So this won’t work with SP1 at least unless you want to go through the tedious process of “reverse integration”.

Meanwhile it’s installed, but apart from a few tips like deactivating certain services (which I would have done anyway), nothing substantial has transpired so far. :???: :roll:

// Oliver

Argh …

… didn’t feel much of a seamless upgrade this time with the blog software. Well, it needs some fixing here and there, I guess. Especially the CSS is freaking me out.

// Oliver

Interesting MSDN Magazine article

Folow link!

Problems to install Visual Assist X?

I never had any problem with Visual Assist X (VA) until recently. Oh, you don’t know what VA is? Check it out! This is probably the biggest improvement for any programmer using Visual Studio. I use it in Visual Studio 2003 through 2008 and I have also told some friends and colleagues about it. Most of them have been convinced and have this feeling of “this is like stoneage” or “this system feels naked” whenever they encounter a system without VA. And if you’re unsure, fetch the trial from their page and install it …

Oh yeah, back at the topic. Never had a problem until this week. My company had purchased yet another license for VA and suddenly it hung when I tried to install (doesn’t matter whether it had been registered before). The affected system is a Windows 2003 Server R2 (Standard) with all latest patches and service packs. Apart from that it has AQTime 5.4 and Visual Studio 2003 and 2005 installed. Now, I looked a bit what could be the reason for the hanging installation, but couldn’t come up with a solution. However, when contacting the VA support, I was pointed to this FAQ entry.
Continue reading ‘Problems to install Visual Assist X?’

AQTime 5.4 introduces support for VS2008

On 2008-01-11 AutomatedQA sent out the notification about AQTime 5.4 being available. Today I had the chance to test my private license on my own machine and it appears that it integrates just as nicely into Visual Studio 2008 as it did into 2003 and 2005. Sidenote: I am using it only with Visual Studio and BDS, so please check their website in order to find out more.

// Oliver

WD MyBook World Edition

I had just bought the WD MyBook World Edition a while ago, since I needed some kind of storage solution that wouldn’t occupy yet another USB/firewire port and could be accessed from different machines at the same time. As such, the MyBook World Edition appeared to be an inexpensive NAS solution for my case and since I already owned a MyBook, the decision wasn’t too hard either.

Of course I wouldn’t want to use those strange MioNet components, be it on the NAS itself or  on the client side and since I knew it was based on Linux, I used Google to get informed. Now, I made a mistake there. I followed the (slightly incomplete) recipe on this page just to find out that it was inconvenient to start SSH “manually” over and over again after a reboot of the MyBook. Now, there is another page which offers about the same as the first one, but in a variation. Slight problem, the first script (which I ran) contains the somewhat inconvenient line:
/usr/bin/passwd -d root
which sets the root password to be empty.
Continue reading ‘WD MyBook World Edition’

Yummy

I’ve upgraded to IDA Pro Advanced 5.2 recently and I really really like it. Good job as always, Ilfak!

// Oliver

IDA 4.9 Freeware

… and no more excuses from those pirating IDA. Datarescue made a freeware version 4.9 of IDA available for download. In the scope of IDA Palace, I have mirrored the files on two more servers. One of the servers is likely going to disappear in the long run, but I’ll make sure the links will work regardless.

Feel free to link.

// Oliver

A useful note to self (and perhaps others)

If one gets the message that the number of connections to a W2K3 server has been exceeded when trying to connect via RDP, there are several options. The most elegant is IMO this one:

%windir%\\system32\\mstsc.exe /v:machinename /f /console

… which will connect to the console ;)

// Oliver

My custom keyboard layouts

Please check out the link named MSKLC in the navigation in the header, if you’re interested in some customized keyboard layouts to use out of the box.

// Oliver

DFHL 1.2a

I just built and released DFHL 1.2a. This version has some minor improvements over the 1.2 version. One is, that the version number shown by the program got finally fixed. Another one is, that it links to the version 6 of msvcrt.dll which has become a well-known DLL in recent systems (i.e. Windows 2000 and later).

Three other functional changes are: 1.) if the program encounters a problem hardlinking two files it won’t stop at all, instead it will show the error and which files were affected. 2.) if you specify /m for small files, zero-size files won’t get hardlinked!!! and 3.) MoveFileEx is now being used instead of CreateHardLink.

Furthermore the project is now of Visual Studio 2005 format, wrapping a DDKBUILD project.

Please also note, that Jens has released version 2.0 of DFHL some time ago. I haven’t had the time to test it thoroughly.

Download with source: here.

// Oliver

MD5 is dead

Scientists have shown that the attack method devised against MD5 in 2004 is usable and can even trick code-signing tools into “believing” that the binary is the same.

We announce two different Win32 executable files with different functionality but identical MD5 hash values. This shows that trust in MD5 as a tool for verifying software integrity, and as a hash function used in code signing, has become questionable.
(Quote from the linked page)

What are the implications? Well, the worst and foremost is, that an attacker can put malicious code under the disguise of a valid and trusted signature. As an example: an elaborate attack could use a driver signed by Microsoft, and his own rootkit to create a content that is indistinguishable by MD5 hash. Thus allowing the attacker to trick the victim into believing that the code was signed by Microsoft - which is ultimately trusted on most Windows systems by default.

// Oliver

DDKWizard 1.2.0 released (new license)

I am pleased to announce that version 1.2.0 of DDKWizard has just been released. You can download it as usual from here:

- Direct download
- Project website

So, what’s new in this version? Not much and more than ever, would be an appropriate answer. This version technically doesn’t have many new features, in fact the most prominent is the only one worth mentioning: support for Visual Studio 2008.

However, there is one huge change. As you may recall, the previous versions of DDKWizard, except for the project templates, have been released under the GPL version 2. From now on, the new version is being released under the zlib/libpng license, which is a lot more liberal. The GPL states, that I have to keep the sources available for five years after publishing. If someone really needs the old stuff, I can still offer it - however, it is perfectly okay for any GPL-project to incorporate a zlib/libpng-licensed product, this just doesn’t work the other way around. So I suggest that anyone, including those who want to use it under GPL, use the newer version.

// Oliver

PS: This should also put an end to worries that the GPL’d version of DDKWizard could pose a legal threat to companies using the wizard! Spread the word …! :wink: