Remove Adobe Acrobat using Windows Installer Cleanup Utility

Tuesday, August 4, 2009 Posted by

I had Adobe Acrobat on my system and tried to upgrade. Adobe Installer complained some .msi file could not be found, so uninstalling or upgrading would not work. Nice work Adobe. For what do i need the installer when I got the new version at hand?

After some trying, swearing and googeling I came across the WINDOWS INSTALLER CLEANUP UTILITY. Yes, Microsoft has a tool for screwed up Installers. Better yet, it works fine. Nuked Acrobat from my system.

Will not touch it again, using Foxit Reader now. Displays PDFs, is fast, works.

swfupload: distributed enviroment, upoading to a other server

Wednesday, July 29, 2009 Posted by

swfupload is a great utility to do fancy uploads. Supports multiple uploads at once, nice progress bars, uses flash. So all things have good and bad sides.

If you work in a distributed enviroment and want to upload not to your metadata server but to one of you satelite-servers, flash says: no cross domain posting. But there is a workaround. Create a crossdomain.xml in the root folder of the server you’re uploading to. It should look a bit like this

<?xml version=”1.0″?>
<!DOCTYPE cross-domain-policy
SYSTEM “http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd”>
<cross-domain-policy>
<allow-access-from domain=”tintifax.yourdomain.com” />
<allow-access-from domain=”*.otherdomain.com” />
</cross-domain-policy>

High Crimes Using Low-Tech Attacks

Friday, July 10, 2009 Posted by

It’s not all about technology and hacking systems – plain old lying gets the bad guys the money. Again: be careful with your data.

Details can be found in the washingtonpost

The usages of an hijacked PC

Thursday, June 25, 2009 Posted by

This Whashinthon Post article explains how the bad guys can use hacked PCs

Oracle: Top 5 entries with LIMIT / ROWNUM

Thursday, May 14, 2009 Posted by

In short: the correct way is to nest a select with a ROWNUM < X around it.
Example:

select *
from
(
select *
from emp
order by sal desc
)
where ROWNUM <= 5;

In more detail: Ask Tom

Subnet mask cheatsheat – how to calculate a CIDR Suffix

Thursday, April 9, 2009 Posted by
Netmask Number IPs Number Hosts
127.0.0.1/32 1 1
127.0.0.1/30 4 2
127.0.0.1/29 8 6
127.0.0.1/28 16 4
127.0.0.1/27 32 30
127.0.0.1/26 64 62
127.0.0.1/25 128 126
127.0.0.1/24 256 254
127.0.0.1/23 512 510
127.0.0.1/16 65.536 65.534

In a nutshell: get the missing part of the /28 to 32 ( It’s 4, right?). 2 4 is the number of IPs (yes, thats 16) , subtract 2 (1 for network 1 for gateway) for the number of usabe hosts (14)

Unser kleiner Sonnenschein ist flügge geworden

Tuesday, April 7, 2009 Posted by

Unser kleiner Sonnenschein ist flügge geworden und hat sich auf eigene Beine gestellt.

Viel Glück auf deinem Weg

George Carlin – Language policy

Sunday, April 5, 2009 Posted by

You will not hear me say: bottom line, game plan, role model, scenario, or hopefully.

I will not kick back, mellow out, or be on a roll.

I will not go for it and I will not check it out; I don’t even know what it is.

And when I leave here I definitely will not boogie.

I promise not to refer to anyone as a class act, a beautiful person or a happy camper. I will also not be saying “what a guy.” And you will not hear me refer to anyone’s lifestyle. If you want to know what a moronic word “lifestyle” is, all you have to do is realize that in a technical sense, Atilla the Hun had an active outdoor lifestyle.

I will also not be saying any cute things like “moi.” And I will not use the French adverb “tre” to modify any English adjectives. Such as “tre awesome,” “tre gnarly,” “tre fabou,” “tre intense,” or “tre out-of-sight.”

I will not say concept when I mean idea. I will not say impacted when I mean affected. There will be no hands-on state-of-the-art networking. We will not maximize, prioritize, or finalize…and we definitely will not interface.

There will also…there will also be no new-age lingo spoken here tonight. No support-group jargon from the human potential movement.

For instance, I will not share anything with you. I will not relate to you and you will not identify with me. I will give you no input, and I will expect no feedback. This will not be a learning experience, nor will it be a growth period.

There’ll be no sharing, no caring, no birthing, no bonding, no parenting, no nurturing. We will not establish a relationship, we will not have any meaningful dialogue and we definitely will not spend any quality time.

We will not be supportive of one another, so that we can get in touch with our feelings in order to feel good about ourselves. And if you’re one of those people who needs a little space…please…go the fuck outside.

– George Carlin, Doin’ it again, 1990

mod_rewrite with RewriteMap: External Rewriting Program

Thursday, April 2, 2009 Posted by

Using an external Programm do do rewriting – in fact it can do anything depending on the request.

First a non-mentioned fact: if you use an external rewriting program  apache will spawn it as a child process. Yes, a deamon child spawned by mod_rewrite. Be shure to know what you do, otherwise you’ll do more harm than good.

First a simple rewrite Statement

RewriteEngine On
# define the rewrite map – videoMap will be spawned and used by rewrite rules. php-win does not open a window
RewriteMap videoMap “prg:c:/path/php-win.exe -c E:/path/to/php.ini/ E:/path/external_rewriteMap.php”

# match for /video/v= and throw anything after v= into the daemon child
RewriteRule ^/video/v=(.*) /vardump.php?param=${videoMap:$1} [NC]

# RewriteLock file is needed for process communication
RewriteLock rewriteLockFile.txt

The PHP file for it

<?php

// HERE BE DRAGONS
// as php runs as daemon, NEVER exit(), and note that input comes from STDIN as we are piping

while($input = trim(fgets(STDIN, 1024))) {
if ($input) {
fputs(STDOUT, decode($input) ); // IMPORTANT: write out result to STDOUT
}
fputs(STDOUT, “\n” ); // end processing for this line with linebreak
flush(); // flush sends the result to STDOUT, this is very important to, no buffering
}

function decode($encoded) {
// some code to decode encrypted request parameters
}

?>

Pitfalls for the php: if your php deamon exits, your rewritemap will return nothing. Make shure apache has a php child. Testing is a pain as you can use $argv[] while writing your php, but you need STDIN in the apache version. Make shure you pass the correct php ini when spawning the php process (-c path/to/php.ini/ )

svn add rückgänig machen

Wednesday, March 25, 2009 Posted by

Problem: svn add auf ein directory ausgeführt, in dem auch Dateien liegen die nicht ins svn sollen

Lösung: Erstaunlich einfach, svn revert macht svn add rückgängig. Manchmal ists schon zu einfach um gleich drauf zu kommen