Interesting problem when building GMP during GCC build …

… I needed to unset CDPATH in order to get it to build, because otherwise it tries to cd into tests inside one of the folders from CDPATH (in my case the setting was /mnt) instead into ./tests from inside the GMP distribution folder (unpacked .tar.bz2).

I ended up putting it into a subshell to avoid exporting that change to the environment of the caller.

// Oliver

Posted in /dev/null, EN, Programming | Leave a comment

Reminder to self

… if someone approaches you and asks to advertise on any of your websites, they have more to gain than you. Ergo: any such arrangement is pointless.

Posted in /dev/null, EN, Thoughts | 3 Comments

Hoppala …

Auweia …, es scheint sich doch um eine internationale Kampagne zu handeln, wie TELEPOLIS berichtet. Jetzt bin ich mal gespannt wie die folgende Aussage:

Allerdings gab es auch Kritiker, die die Kampagne als blasphemisch verdammten und Einspruch vor der Advertising Standards Authority erhoben. Über 300 Beschwerden gingen dort ein. Die Behörde wies aber die Klage ab, da mit dem Wort “wahrscheinlich” die Regeln nicht verletzt werden und keine unhaltbare Aussage gemacht wird.

… mit dieser:

In Großbritannien haben nun die Christian Party, die Trinitarian Bible Society und die Russian Orthodox Church wiederum eine Gegenkampagne gestartet, die ab Montag auf 175 Bussen ihre Slogans der Öffentlichkeit präsentieren. Die Christian Party verkündet: “There definitely is a God. So join the Christian Party and enjoy your life.”

“Es gibt definitiv einen Gott. Also tritt in die Christliche Partei ein und genieße dein Leben.”

… zusammenpaßt. Konsequenterweise müßte die Aufsichtsbehörde den Slogan der “Christan Party” verbieten, denn er ist unhaltbar – enthält ja auch kein “wahrscheinlich”. Am besten könnte das vermutlich geschehen indem die Behörde einfach mal Gott vorladen läßt … :mrgreen:

Aber seien wir realistisch: das wird natürlich nicht geschehen.

// Oliver

Posted in DE, Gedanken | Leave a comment

Warum ist es eigentlich so wichtig …

… wenn sich Männer Wahnvorstellungen, die mit imaginären Freunden (Jesus, Maria, heiliger Geist …) reden, sich gegenseitig in ihren Verein der Anbetung des imaginären Freundes aufnehmen oder daraus ausstoßen?

Ich spiele auf die Rücknahme der Exkommunikation eines Holocaustleugners durch den Papst an. Wieso ist das wichtig?

Die sollten doch vielleicht überhaupt mal an den Wahnvorstellungen arbeiten. Dann kann der Psychiater bei dem Holocaustleugner eben gleich das Problem mit dem Leugnen mitbehandeln. Wieso geht sowas durch die Presse? Wieso ist das der Aufmacher im Heute-Journal und an anderen Stellen?

// Oliver

Posted in DE, Gedanken | Leave a comment

Tolle Tips vom Fernsehkoch

Seit einiger Zeit hört man von den Fernsehköchen immer, daß man (Gemüse-)Paprika doch bitte schälen soll. Schälen? Jupp, die Haut sei unverdaulich und müsse daher weg. Da fragt man sich wieso das bei den Fernsehköchen immer “Haute Cuisine” heißt (Scherz!) 😉

Die Frage die sich mir bei diesem tollen Tip immer stellt ist, ab wann sie empfehlen werden Maiskörner auch zu schälen. Deren Haut ist nämlich auch unverdaulich. Früher nannte man das Ballaststoffe – heute ist es eben Abfall :mrgreen:

// Oliver

Posted in /dev/null, DE, Ich, der Zyniker | Leave a comment

Curiosity and the need … (updated)

… for more information about reparse points, junction points, volume mount points, symbolic links on NTFS drive (“reparse points” is the generic term for all of them) led me to write a tool called looklink. I put it into the PUBLIC DOMAIN in order to allow others to make use of the CReparsePoint class. The CSimpleBuf class was merely used for convenience, but could be easily replaced by new/delete[] or any other approach. (obsolete as of 2010-01-27)

The tool itself may only be of limited use to the average user, but it allows to get some insight into the innards of reparse points, although the exposed feature set is relatively limited. The class itself, however, allows for a little more …

// Oliver

Download: looklink.zip (approx. 90 KiB)

REDISTRIBUTION TERMS: The source is of course included. The whole package is released into the PUBLIC DOMAIN. Disclaimer: This software is provided ‘as-is’, without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.
NOTE: The SimpleBuffer.h has its own license and is not released into the public domain, since I do not own the copyright for it! It is available under the BSD license. (obsolete as of 2010-01-27)

Update #1: see the comment section for details.


CC0


To the extent possible under law,
Oliver Schneider
has waived all copyright and related or neighboring rights to
looklink tool and CReparsePoint class.

Posted in EN, Programming, Software | 3 Comments

“Stolz und Vorurteil”

… war der Titel der Sendung vom 2009-01-29 (Maybrit Illner). Normalerweise gucke ich sowas nicht, aber der Titel hat mich verleitet.

Es ging unter anderem um Patriotismus/Nationalstolz und Reue bzgl. der Verbrechen des Dritten Reiches. (Professor) Guido Knopp hat mal wieder nur herumgeschwurbelt und sich Begriffe (wie bspw. “Patriotismus”) zurechtgebogen. Ich persönlich halte es da nach wie vor mit Arthur Schopenhauer (nicht Professor):

Jeder erbärmliche Tropf, der nichts in der Welt hat, darauf er stolz seyn könnte, ergreift das letzte Mittel, auf die Nation, der er gerade angehört, stolz zu seyn.

Und zum Thema Reue kann ich als Atheist nur sagen, daß ich mit Erbsünde nichts anfangen kann. Was anderes soll es denn sein, wenn ich als lange nach dem 2ten Weltkrieg geborener Deutscher – zumal ich mir meine Nationalität wohl kaum aussuchen konnte – Reue für etwas zeigen soll woran Vorfahren möglicherweise beteiligt waren? Das ist genauso unsinnig wie der Stolz auf etwas was Vorfahren erreicht haben. Während man sich beim einen auf den Lorbeeren der Vorfahren ausruht, legt man den Nachfahren beim anderen das (Zwangs-)Bußgewand an. Die Bußgewänder hätten den Beteiligten besser gestanden, aber denen war es oft wichtiger zu vergessen und Dinge unter den Teppich zu kehren. Anders ist auch nicht zu erklären, wie so viele Beteiligte in der Nachkriegs-BRD hohe Ämter bekleiden konnten.

Wenn man etwas verurteilen will, dann vielleicht die Untätigkeit – oder mangelnde Tätigkeit – unserer Vorfahren gegen das Unrecht. Reue kann man aber nur für etwas empfinden das man anders hätte tun können … und vererbte Schuld ist nur etwas was sich die Kirchenobrigkeit einst ausdachte um die Menschen besser zu kontrollieren. Zum Teil funktioniert es ja auch noch heute.

// Oliver

Posted in DE, Gedanken | Leave a comment

Harmful “badware” …

Google had an issue today. I noticed it by chance when looking for the name of an author. Later, coming to the office, Friðrik told me we had a major problem in that Google flags out company website with “This site may harm your computer”. And indeed it did. This was when I told him I had gotten the same result for the Amazon website a little earlier and we checked and no website seemed to be unaffected. Whatever you entered, the sites would be marked as harmful.

Google has posted a comment on their blog about the issue. So go and read for yourself 😉

// Oliver

Posted in /dev/null, EN, IT Security, Software | Leave a comment

Unpleasant surprise

OpenOffice.org 3.0.1 was released recently. Now I do not normally rush to upgrades but instead have my own system of keeping a clean copy for the worst case scenario. It was time again to update my “clean” image of the system, so I decided why not also give OOo 3.0.1 a try. Sadly, the installation fails, complaining about an older installed version.

Only after trying further, I noticed that the problem was not that I had a too old version of OOo or so. The problem was that I had installed the version with the JRE, while I was trying to upgrade with the version without JRE. A little hint from the program would have been nice, though …

// Oliver

Posted in EN, Software | Leave a comment

Yippie! IDA 5.4 Pro released …

My personal highlight is still the Bochs debugger, but I am sure I’ll take the chance and also look into the newly acquired kernel debugging features.

Check out the highlights over here.

// Oliver

Posted in EN, Reversing, Software | Tagged | Leave a comment

“Terrorists” sending aid to UK

Following an article in the Daily Express that as much as one out of twelve pensioners may die as a result of the cold winter, Icelanders have sent woolen garments to the UK. An incredible gesture after last year’s use of anti-terrorist legislation against an Icelandic bank by the UK government from which several banks toppled. But after all people figure out the difference between the elites in power and those in the same or worse situation as themselves. This may become a big movement, given the dynamics of globalization (which do not only apply yo economic affairs as one wants to make us believe).

// Oliver

Posted in EN, Island/Iceland/Ísland, Thoughts | Leave a comment

Gimme dope Obama …

Check it out here.

Posted in /dev/null, EN | 1 Comment

Auweia …

Gotteslästerliche Atheisten haben in Spanien, wo anders als in Deutschland die Trennung von Staat und Kirche in der Verfassung steht, Werbung geschaltet die behauptet, daß Gott vermutlich garnicht existiere. Das hat die katholische Kirche natürlich leicht aufgebracht :mrgreen:

Mehr davon! Überall.

// Oliver

Posted in DE, Gedanken | Leave a comment

IDA 5.4 Pro Beta released

Hex-Rays has released a beta of the upcoming version 5.4 of IDA. I was lucky enough to be allowed for the beta-test and the first new thing I noticed was that the command line field now had a button in front of it that says IDC. This button will allow you to switch between the different command interpreters. Python is now available out of the box along with IDC – almost out of the box.

I have a Vista x64 Ultimate with SP1 installed and Python 2.5 from ActiveState (called “ActivePython”) was installed on my system. However, it was the x64 version that was installed. Also once I had figured this out, it turned out that the installers (x86 vs. x64 are mutually exclusive). The x64 of ActivePython does not come with the 32bit python25.dll, for obvious reasons, but this is what IDA was looking for. The fix is easy enough: install the x86 instead and WOW64 will care for the rest.

Update #1: the Bochs debugger will also take commands through the command line field mentioned above. Cool!

Update #2: Ilfak asked me to try it with only python25.dll available and indeed more than just this DLL is required for the Python command line functionality. Too bad, but it was expected on the other hand.

// Oliver

Posted in EN, Reversing, Software | Tagged | Leave a comment

We have done it all …

“Secure” deletion of some piece of data. Programs, whether commercial or free – such as Eraser – offer to overwrite the data several times according to “DoD standards” (referring to the US department of defense) and so on. A study conducted last year has found that this is an unnecessary waste of time. Even though a single bit has a 56% chance of being correctly recovered, chances go down to below 1% if all eight bits of a byte have to be recovered. Now imagine the chances for a whole file with a few kibibyte! Read on at heise.co.uk

// Oliver

Posted in /dev/null, EN, IT Security, Software | 1 Comment

Useful script for MSVC users …

I wrote a little .cmd script (for the NT script interpreter, cmd.exe) that can be used to get the environment for the newest, or a specified installed version of Visual C++, similar to what the link from the start menu does. Only this one does not hardcode anything but instead uses the registry to find out the paths.

setvcvars.cmd is released into the PUBLIC DOMAIN and the disclaimer is included in the file itself.

Prerequisite:
reg.exe, which is included in Windows XP and available for NT4 and 2000 through the respective Resource Kits.

Syntax:
setvcvars.cmd [msvc-version]

As you can see the version argument is optional. It carries the “true” version number of the Visual C++ you want to get the environment for. This would be “7.0” for Microsoft Visual C++ .NET, “7.1” for Microsoft Visual C++ .NET 2003, “8.0” for Microsoft Visual C++ 2005 and “9.0” for Microsoft Visual C++ 2008.

// Oliver

PS: Some of the techniques were already demonstrated in ddkbuild.cmd before.

Posted in /dev/null, EN, Programming | Leave a comment

Zlob author leaves new year’s wishes in variant

As you can read here, the author of Zlob has once again hidden a message inside a variant. This time it’s about best wishes for the new year to the MS virus response team and future plans, so to speak. If he truly was offered a job by MS, those details may be too much and help reveal his (or her?) identity. We shall see …

Here’s the message (source is the above link):

For Windows Defender’s Team:
I saw your post in the blog (10-Oct-2008) about my previous message.
Just want to say ‘Hello’ from Russia.
You are really good guys. It was a surprise for me that Microsoft can respond on threats so fast.
I can’t sign here now (he-he, sorry), how it was some years ago for more seriously vulnerability for all Windows 😉
Happy New Year, guys, and good luck!
P.S. BTW, we are closing soon. Not because of your work. :-))
So, you will not see some of my great 😉 ideas in that family of software.
Try to search in exploits/shellcodes and rootkits.
Also, it is funny (probably for you), but Microsoft offered me a job to help improve some of Vista’s protection. It’s not interesting for me, just a life’s irony.

// Oliver

PS: The smileys were part of the message in textual form!

Posted in /dev/null, EN, IT Security, Software | Leave a comment

Arrived 1.1

I updated the program Arrived to version 1.1. There is one important change in this version that breaks compatibility, but I am convinced there are rather few users anyway 😉

The change is to use CreateProcess() instead of ShellExecute(). That’s perhaps geek gibberish to many of you, so I’ll explain. Both are Win32 functions that can be used to execute a command. However, ShellExecute() has a slight advantage under some circumstances: it uses the information from the registry to determine which program to execute. Thus you were able to execute even documents if some program was associated with it. In turn CreateProcess() allows much more fine-grained information in case of errors, thus the change.

If you execute scripts, you’ll have to change that now from:

arrived myscript.cmd

into:

arrived "cmd.exe /c myscript.cmd"

or alternately:

arrived "%COMSPEC% /c myscript.cmd"

(Note the double-quotes around the command!)

Okay, but there is another change. I introduced a command line switch to restrict the execution of the command to particular drive types only (removable, fixed, etc). Execute the application without any parameters to see a brief help.

// Oliver

Download: here

PS: The source code can also be retrieved from Bitbucket.

Posted in /dev/null, EN, Programming, Software | Leave a comment

Neues aus Stenkelfeld!

Gerade bemerkt, die sind wieder da und NDR2 hat ein paar alte Folgen als Podcasts verfügbar gemacht.

// Oliver

Posted in /dev/null, DE | Leave a comment

The woes of debug builds

I like C++, and I use Visual Studio to make use of it most of the time, even though plenty of that code is later also used on other platforms. However, when you build in debug mode, sometimes the results are not what you expect 😉

The compiler does some nice things like deliberately uninitializing variables in order to make programmers who do not use initialization at declaration really unhappy. In case of a bool this makes the bool appear as true, even though you’d expect false. Too bad. Now what was I doing? Well, I am always making use of initializer lists in class ctors, the way it was thought. And yes I usually get their order right. In the class I wrote one member function was called in the initializer list and checked against another member variable of type bool const that contained the status of the object for its lifetime. Since it was declared it had to be initialized in the initializer list not in the body of the ctor. All worked fine in the debug build, but when I switched to release mode nothing worked anymore. The initialization seemed to fail. What was wrong?

Well, in the debug build my bool const was true by default and thus the check inside the body of the aforementioned member function said it was fine to run the rest of the code. Not so in release mode. Suddenly the member variable was initially (i.e. before the ctor’s initializer list) false and the member function would skip the necessary code and thus initialization would fail …

So much for the advantages of debug builds. Sometimes they hide issues as well … :mrgreen:

// Oliver

Posted in /dev/null, EN, Programming | Leave a comment