27.12.2006Information about Oracle Directories

I know what I write is quite newbieish, but I needed information about a directory I’ve created, means which path it’s pointing to:

select * from all_directories dir;

There simply is no userdirectories, and with allobjects I didn’t get what I wanted.

12.12.2006SQL Start-Script generator

Sometimes it’s so simple:

import glob
files = glob.glob('*.*');
f=open('start_script.sql', 'w')
f.write('PROMPT This is an automatic generated start script\n');
f.write('PROMPT\n');
f.write('SPOOL start_script.LOG\n\n');
for filename in files:
    if filename == 'start_script.sql':
        continue
    f.write('PROMPT Starting script ' + filename + '\n');
    f.write('@@' + filename + '\n');
f.write('\nPROMPT\n');
f.write('PROMPT Finished.\n');
f.write('SPOOL OFF\n');
f.close();
exit();

Explanation:

First get a file list of the current directory (glob.glob(‘.’), this won’t return you directories since they don’t have an extension, if your files doesn’t have an extension, either: your fault). Then open a file called start_script.sql which will held our start-script (pretty self-explanatory). Then we generate a “@@” line for each file (this means if you have non-SQL-files in that directory you have to clean-up your script or edit it that it only takes .sql files (tip: glob.glob(‘*.sql’)). The start-script itself is excluded but the python script will be included (can easily be made excluded as well). After the loop the file gets closed and that’s it.

07.11.2006Delete duplicate records with Orcle

Don’t ask me why I needed to do that, but I had a lot (about 14 Mio.) duplicate records in a table.

DELETE FROM our_table
WHERE rowid not in
(SELECT MIN(rowid)
FROM our_table
GROUP BY column1, column2, column3... ;

helped me out. (thanks to www.devx.com)

Next time I write my queries to filter those out before inserting them…

02.11.2006PISA-Test

Danke Baba fürs schicken des Artikels ;)

War so im Tagi (weiss leider nicht genau von welchem Tag):

18.10.2006Need to generate a GUID with Oracle?

I just searched the web for this simple task, and it was difficult to find.

Maybe anyone working a bit with Oracle knows this, but it helped me, maybe I can help someone out there too, so here it is:

select sys_guid() from dual

This generates a 32 character GUID (fits best in a RAW(16) field).

24.01.2006Psychologie vs. Psychiatrie

Wie das so ist, wenn man gemütlich zusammen sitzt, vorzugsweise mit gutem Essen, spricht man über Gott und die Welt und plötzlich:

Was ist eigentlich der Unterschied zwischen einem Psychologen und einem Psychiater?

Solche Dinge brennen auf der Zunge, man gibt sich der Unwissenheit zu erkennen, hat aber gute Aussichten nach dem Gespräch mehr Wissen zu haben, denn schon das Fernsehen hat uns gelehrt: “Wer, wie was; wieso, weshalb, warum? Wer nicht fragr bleibt dumm!”

Nun frei nach Kopf, die Definition die ich aus dem Abend mitgenommen habe:

Psychologe

befasst sich mit dem menschlichen Verhalten, wie wir reagieren, wie wir ticken.

Wann gehe ich dahin?

Einen Psychologen besuche ich, wenn ich mich beispielsweise in einer Lebenskrise befinde und dafür Hilfe will.

Psychiater

befasst sich mit psychischen Krankheiten wie Psychosen, Sucht usw.

Wann gehe ich dahin?

Meist werde ich von einem Psychologen oder dem Hausarzt an einen Psychiater verwiesen. Es handelt sich dabei ebenfalls um einen Dr.med., der sich spezialisiert hat.

25.10.2005CSV seperator character

In my particular case I got an excel sheet from the customer to import in a DB. The idea is to use a CSV as the base for an Oracle external table and then import the data in the real table with a “insert into select”.

When I loaded the excel sheet and saved it as a CSV, the semicolon (“;”) was used as a seperator. I therefore created my external table and worked with the data. Then i realized that the order of the fields get messed up, because there were free text fields that contained “;” as data.

I didn’t find an option in excel to change the seperator character, but as usually Google is your friend.

This character is saved directly in your system in the “Region and Language Options” in the “Control Panel” (yes, I’m talking about MS Windows). You can selected there the “Customize” button and change the “List separator” to the value you want.

First I tried to set this to “###”, but this didn’t work, excel then used a single space as separator. It seems it’s not allowed to use multiple characters. Now, I use “#” and everything works fine.

19.04.2005Schengen Propaganda

Tatsächlich, wir sind an einem Punkt angekommen, der beweist, dass Menschen schnell vergessen, der beweist, das alte Methoden trotz Intelligenz Wirkung zeigen.

Ich spreche hier von Propaganda. Als Einstieg lohnt es sich folgendes zu lesen:

Auf dieser Seite wird das Prinzip der Propaganda erläutert. Wie sie funktioniert, warum sie funktioniert, was genau dahinter steckt.

Ich habe ein wenig recherchiert (Google weiss fast alles, wenn man nett fragt) und will hier Parallelen ziehen. Eines vorweg: ich will weder das tun der Nazis verharmlosen noch die Propaganda der Schengen-Gegner mit den Nazis gleichsetzten. Ich will nur zeigen, dass mit den gleichen Mitteln gearbeitet wird. Man setzt auf Angst, verunsichert den Betrachter und versucht ihn schliesslich zu überrennen.

Als ich zum ersten mal die Schengen-Nein Plakate gesehen habe, haben sie mich unweigerlich an die Nazi-Propaganda Plakate aus dem Geschichtsunterricht erinnert.

Schengen Plakate

Schengen Nein PlakatSchengen
Nein Plakat

Nazi Propaganda Plakate

Nazi-Plakat "Mütter kämpft für eure Kinder" Nazi-Plakat: "Unsere letzte Hoffnung Hitler"

Bitte denkt erst nach bevor ihr mich verurteilt. Kommentare wie immer erwünscht.

Links zum Thema: German Propaganda Archive @calvin.edu Schengen-Nein Komitee

11.04.2005Release Hostages

Problem

There are 7 (this could be optional maybe) hostages. They will be jailed into 7 rooms and they cannot communicate during this time. They can discuss 1 hour before they get jailed. They know that the will be choosen randomly every day to go into an 8th room, where the can turn on and off a light.

When someone can say surly that every hostage was a least once in this room, they are all released.

At the beginning the light is turned off.

Idea

Every hostage has a week, so there are anz_host weeks as a minimum to free the hostages. If a hostages get’s into the anz_host++ room, he/she turn’s on the light.

Everybody who comes in this week after the turn up of the light happens in the room, knows that the hostage week_num has been in the room. Maybe it get’s more evective if I use a larger window than a week, because then, the chance that more other hostages sees who’s got in the room is larger, but the time will grew up a lot.

Well let’s give it a try.

btw: You have to watch carfully which hostage knows what…

Code

See pastie for the complete code

Result

I tried my program on Windows and Linux (just to get better results, because of the random number implemention and the time function, be careful if you want to port the code, the obove should work well with windows)

My solution seems to be ok, an average of 90 days with the basic set. But as you can see there are a lot of option to change the basic set and then my solution still works well.

Use the option -H or /? to get help with the options.

PS: I’m not yet good at the effective programming and I’m sure there is an easier way to do things I did in my code. Feel free to tell me what you think (via mail until my comment system works)

PPS: Special thanks to my brother Dani (www.swissbytes.de), who gave me the idea to this problem and wrote a perl script to simulate his solution (well he wasn’t that successful, because his average is about 500 days I think and surly his script ran much slower than my fast C application ;) )

Creative
Commons

This work is licensed under a Creative Commons License.

26.03.2005Nie mehr St. Moritz

Ich gebe zu, ich schreibe das hier aus einer gewissen Laune heraus, einige würden das als “Wut”, “Zorn” oder “Ärger” umschreiben, ich selbst sehe das nicht so eng, find ich doch bloss das St. Moritz von Ärschen besetzt ist.

Ihr habt ganz richtig gelesen - ÄRSCHE - damit meine ich nicht bestaunenswerte weibliche Rundungen sondern abscheulich-eklige hässlich ignorante unzufriedene unbefriedigte Menschen aus aller Herren Länder. Ich war heute - wie anzunehmen ist - da. Eines vorweg: Leute die im “Coop” einkaufen gehen und/oder mit der Bahn reisen sind von folgendem ausgenommen, der ganze Rest ist hiermit angesprochen!

Ich habe mit meiner Freundin Steffi zwei schöne Tage im Engadin verbracht, genauer gesagt in Pontresina. Dort wimmelt es von freundlichen Leuten, wie man das klischeehaft von den Bündnern erwartet, kurzum es war super (bei dieser Gelegenheit möchte ich die Jugi in Pontresina speziell grüssen, da man uns als nicht ganz einfache Gäste ausgehalten hat und uns immer freundlich bedient hat!!).

Wir haben uns überlegt auf der Nach-Hause-Fahrt noch schnell nach St. Moritz zu fahren, etwas zu bummeln, und dort Mittag zu essen. Mit dem Zug sind wir um ca. Viertel nach Zehn angekommen und wurden direkt mit überdimensionierten Luxus-Taxen begrüsst (Mercedes Limousine [ca. 6m lang] oder Rolls Royce). Wir wollten ins Dorf also hiess es erstmal etwas hochlaufen. Dabei mussten wir uns schon arg über die Strasse retten, da der Gehweg zu Ende war.

Im Dorfkern war noch alles in Ordnung, klar waren da die versnobten Leute die wir erwartet hatten, die von “Dolce & Gabana” zu “Prada” eilten, wieder heraus zu “Cartier” und schnell wieder zurück in die Hotel-Lobby. Wir haben uns riesig gefreut als wir am Dorfrand einen Laden für Normalsterbliche sahen: einen normalen Batta (Schuhgeschäft). Gleich daneben hatte es eine Statue eines Rodlers (oder meinetwegen eines Sceletonfahrers), die ich mir anschauen wollte. Just dann kam von hinten ein Wagen der wild auf der Strasse wendete und ca. 5cm neben mir fuhr und mich fast umwarf, zum Glück hat Steffi mir noch gerufen, denn ich habe ihn gar nicht kommen gesehen. Anstatt einer Entschuldigung oder dergleichen bekam ich böse Blicke zugeworfen. Ich blickte mindestens doppelt so böse zurück und schimpfte vor mich hin.

Kurz darauf kam uns eine Familie entgegen, wobei die beiden Mädchen neue Jacken zu haben schienen. Diese hatten natürlich eine wunderschöne (kotz) Pelz-Bordüre, und ich war drauf und dran zu ihnen zu gehen und sie zu fragen ob sie wüssten, dass dafür ein Fuchs sterben musste. Ich liess es dann doch bleiben des Friedens willen. Wir gingen wieder zurück etwas mehr ins Zentrum und sahen prompt den Wagen, der mich vorhin noch umfahren wollte, parkiert in einer Parklücke etwa 40m weg vom vorherigen Standort. Ich warf nochmals brav allen einen bösen Blick zu und liess es dann dabei belassen.

Langsam aber sicher, gingen mir die Leute da auf den Wecker, und zwar tierisch. Was hetzten die denn so? Meinen sie ein Bonzen-Schnäppchen zu verpassen? Alle mit ihren Luxus-Schlitten vor Ort und müssen sich gegenseitig etwas beweisen, diese Einfallspinsel. Der nächste Zwischenfall liess nicht lange auf sich warten. Wir wollten gerade eine Nebenstrasse überqueren, da war auch schon eine Mercedes-Fahrerin die Rückwärts aus dieser Nebenstrasse auf die “Hauptstrasse” wollte, und das in einem nicht unbeachtlichen Tempo, zumal auf der Strasse nicht gerade wenig Verkehr herrschte. Für mehr als ein Kopfschütteln meinerseits reichte es nicht. Ich war so angespannt und wütend auf all das.

Wir beschlossen ganz schnell wieder zu gehen, da wir weder Lust hatten zu shoppen, noch die Nerven uns mit solchen Rüpeln auseinander zu setzen. Als wir schon wieder auf der anderen Dorfseite angekommen waren (von dort waren es vielleicht noch 200m bis zum Bahnhof) liefen wir gerade an einem Hotel vorbei (ich weiss leider nicht mehr welches), von wo auch schon ein Gruppen-Transporter rückwärts aus der Ausfahrt fuhr, wir zwei direkt dahinter. Der hat nicht geschaut, definitiv nicht. Wir hatten echt schon Panik und sind dann einfach gerannt. Der hat nicht mal kurz angehalten, einfach los raus auf die Strasse fertig.

Auf dem kurzen Stück zwischen Dorfkern und Bahnhof (alles innerorts), meinen viele sie könnten Gas geben, und das tun sie auch. Auf der Strasse waren wir (bedingt durch ihre Kürze) 1min und siehe da: schon ca. 5 Autos mit mindestens 80km/h runterbrettern, so dass sie vor der nächsten (scharfen) Kurve wieder voll bremsen durften. Gut gemacht!

Ich muss sagen ich habe noch nie einen solch unsympathischen Ort gesehen wie dieses St. Moritz. Ich hoffe Normalsterbliche bleiben dem Ort fern, so dass sich die oberen 10’000 selber abmurksen können.

Um 11.02 fuhren wir richtig um Chur. Dort gingen wir ins Coop-Restaurant assen beide Schnitzel-Pommes-Frites und die Welt war wieder in Ordnung.

In dem Sinne und schöne Ostern -Odi