Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

24. April 2007 um 17:56

Softwarepatente durch die Hintertür

Es geht um Geld, viel Geld: große Firmen können mit Patentstreitigkeiten wunderbar kleine Mitbewerber platt machen. Un dzwar unabhängig davon, ob sie im Recht sind oder nicht. Es kommt einfach darauf an, wer den längeren Atem hat. Der wundert es wenig, wenn die Patent-Lobby keinen Schachzug unversucht lässt doch noch Software-Patente durchzusetzen. Der neueste Trick besteht in der Einrichtung eines "Europäischen Patentgerichts (EPGt)". Was zunächst mal sinnvoll klingt, kann aber für kleine Firmen ganz zum Problem werden, nicht nur, weil dann die Gerichtsverfahren im Ausland stattfinden und damit noch teuerer werden.

Im Gulp.de-Artikel "Softwarepatente in Europa – Aktuelle Situation" wird ganz gut dargelegt, warum auf diese Weise still und heimlich doch noch Software-Patente eingeführt werden können.

24. April 2007 um 17:56

SQL-Server: Wer sind heute meine 5 Langläufer?

Im Artikel Dynamic Management Views and Functions" auf databasejournal.com fand ich folgende sehr nützlich Abfrage zur Ermittlung der durchschnittlichen CPU-Zeit der 5 längsten Abfragen:

SELECT TOP 5 total_worker_time/execution_count 'Avg CPU Time',
SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END – qs.statement_start_offset)/2) + 1)statement_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
ORDER BY total_worker_time/execution_count DESC;

Risiken und Nebenwirkungen: In den "Dynamic-Management-Views" sind nur die Infos seit dem letzten Start des Dienstes enthalten…

PS: Wer wissen will, was aktuell gerade läuft, findet die Antwort mit folgender Abfrage von Urs Gehrig:

SELECT sp.spid [SPID], sp.last_batch [Executed at], st.text [SQL]
FROM sys.sysprocesses sp
OUTER APPLY fn_get_sql(sp.sql_handle) st
WHERE st.text IS NOT NULL

24. April 2007 um 17:47

MS-Office: Linie über den Fußnoten

Heute passierte es mir schon wieder: Ich musste in einer Formatvorlage die Linie über den Fußnoten in MS-Office ändern. Damit ich das nächste Mal nicht wieder ewig rumsuche, hier die Anleitung:

  • zunächst mal muss man wenigstens eine Fußnote anlegen, damit man in den Fußnotenbereich kommt.
  • auf "Normalansicht" umschalten
  • dann auf "Fußnotenansicht" umschalten
  • dort in der Drop-Downbox "Fußnotentrennlinie" auswählen
  • jetzt die Linie ersetzen
  • und speichern

Bei mir hatte das aber seine Grenzen, so konnte ich bspw. nicht die lange Linie ganz wegmachen, aber immerhin dafür sorgen, dass keine doppelte Linie angezeigt wird.

23. April 2007 um 23:24

Welcher Index fehlt mir?

In dem sehr nützlichen Abschnitt "Finding Missing Indexes" in den Books-Online wird beschrieben, wie man auf einfache Weise herausbekommt, welche Indexe dem SQL-Server geholfen hätten, die letzten Abfragen noch performanter auszuführen.

Der SQL-Server-2005 notiert sich die Informationen über Indexe, die er nicht fand, natürlich inklusive der Anzahl der Benutzungen. Damit kann man auf einfache Art erste Würfe für neue Indexe bekommen.

Natürlich sind mehr Indexe nicht nur gut, beim Einfügen, Löschen und Ändern kosten sie schließlich wieder Zeit. Mit diesem Feature geht die Suche nach "guten" Indexen nur einfach leichter.

Hinweis: Die Informationen werden nur bis zum nächsten Stop des Dienstes gespeichert. Nach einem Neustart ist alles vergessen…

18. April 2007 um 20:53

Abhilfe bei langsamem Abmelden

Die letzten Tage war etwas Funkstille. Das lag unter anderen daran, dass ich Montag bis Dienstag auf einem Workshop für die Administratoren unserer Kunden war. Eigentlich war ich als Referent dort, aber trotzdem habe ich eine Menge gelernt. Ein Highlight ist für mich der Tipp meines Kollegen Wolfgang:

Wenn das Abmelden sehr lange dauert, dann kann das daran liegen, dass einige Programme noch nicht alle Registry-Zugriffe freigegeben haben und nun erst mal diverse Time-Outs abgewartet werden muss, bevor das Abmelden passiert. Neben Performancenachteilen, z.B. unter WindowsXP, können auch die Benutzerprofile kaputt gehen. Das ist besonders beim Einsatz von "Windows Terminal Services" (WTS) ärgerlich.

Um dem abzuhelfen und auf die Schliche zu kommen, bietet Microsoft das Tool UPHClean an, genauer den User Profile Hive Cleanup Service. Er installiert sich als Dienst und kontrolliert bei Abmelden die noch offenen Handles. Sie werden dann umgehend geschlossen und das Ganze protokolliert. Später kann man in der Ereignisanzeige (Anwendung) sehen, wer hier Murks macht und möglicherweise unnötige Dinge runterschmeißen.

Links:

Microsoft bietet keine deutsche Version an, was für mich aber kein Verlust ist.

13. April 2007 um 21:09

Microsoft Viewer

Weil ich heute schon wieder die Links zu den einzelnen Microsoft Viewern per Google suchen musste, stelle ich die Links mal als Hilfe für mich hier hin. Falls sie auch noch jemand anderem nutzen, dann freut mich das…

Update: Seit September 2007 gibt es auch einen Viewer für Word 2007 (er ersetzt den alten Viewer).

11. April 2007 um 23:59

SQL: Conditional Joins

Für alle, die schon mal gerne eine Abfrage schreiben wollten in der je nach Status in einem Datensatz mal mit der einen und mal mit der anderen Tabelle gejoint wurde, bietet der Artikel "Conditional Joins in SQL Server" von Jeff Smith einen sehr guten Ansatz.

Das Problem ist sehr gut herausgearbeitet und die Lösung einfach und effektiv.
Er empfiehlt die Tabellen mittels Outer-Join zu verknüpfen und die Bedingungen in die jeweiligen ON-Klauseln aufzunehmen.

Lesenswert für alle angehenden SQL-Freaks!

11. April 2007 um 23:26

Zielgruppe – drinnen oder draußen?

Bei dem Kommentar von Jan über die Warteschlangen an Rentenauszahltagen dachte ich darüber nach, wann ich zuletzt eine Bank von innen sah. Es war am Tag nach dem Weltspartag, den wir wie üblich verpassten. Wir hatten unseren Mäusen versprochen, dass wir nach dem Umzug für sie ein Konto bei einer zu Fuß erreichbaren Bank eröffnen.

Also dackelte ich mit den Beiden zur nahe gelegenen Sparkasse. Was dann passierte, ist sehr lehrreich. Wenigstens, wenn man etwas von den Bankern haben will.
Als wir gegen 10 Uhr ankamen sah man dort noch überall die Deko vom Spartag rumliegen und daher freuten sich die Kinder sogleich. Weil echt wenig los war, kamen wir bereits nach recht kurzer Wartezeit (3-4 Minuten) dran. Die freundliche, aber distanzierte Schalterfrau wollte die Geburtsurkunden der Kinder haben. Die hatte ich nicht dabei, wer rechnet mit sowas?

Weil die Frau versprach auf die Kinder aufzupassen, lief ich alleine zurück und holte die Papiere. Kaum 15 Minuten später war ich wieder da und fand meine Kinder im Eingangsbereich auf dem Boden sitzend vor. Sie schauten in der Flimmerkiste einen Zeichentrickfilm an. Und weit und breit keine Sitzgelegenheit in Sicht.
Diesmal mussten wir jedenfalls nicht anstehen, sondern wurden freundlich, aber distanziert gebeten im hinteren Teil auf einem Sofa zu warten. Nach weiteren 10 Minuten kam ein freundlicher Mann, ich glaube der Filialleiter Himself, der sich entschuldigte und sagte, er würde sich nun selber drum kümmern. Weil so viel zu tun sei, sei es gerade schwierig. So gingen wir in sein Büro.

Gleich zu Beginn fragte er nach, ob ich etwas Schriftliches von meiner Frau habe. Denn ein Konto kann man für Kinder nur eröffnen, wenn beide Elternteile einverstanden sind. Das hatte ich natürlich nicht. Naja, er könne aber ja schon mal unsere Daten aufnehmen, schlug er freundlich vor. Erst musste er für mich einen Eintrag anlegen (mit allem Pi Pa Po, wie Unterschrift usw.), dann für meine Frau, dann für jedes der Kinder.
So kam es auch und für jeden dieser Einträge benötigte er mindestens 15 Minuten. Das lag aber nicht daran, dass er langsam gewesen wäre, sondern an dem ganzen Schriftkram, der zu erledigen war. Hammerhart.

OK, aber darum geht es mir eigentlich gar nicht. Ich fand den Stimmungsumschwung in dem ganzen Vorgang sehr interessant als er unsere Adresse erfuhr. Dazu muss man erstens wissen, dass wir in einem gemischten Wohnviertel leben: es gibt hier alle sozialen Schichten. Zweitens laufe ich sowohl privat als auch dienstlich in der Regel eher leger rum. An freien Tagen wie diesem sogar sehr, sehr leger.
Jedenfalls hatte ich plötzlich den Eindruck, dass ich zuvor in eine bestimmte Schublade gerutscht war und jetzt schlagartig der Irrtum erkannt wurde. Ich hatte fast den Eindruck als ob es in dem Mann einen Ruck gegeben hätte.
"Ach da wohnen Sie? Ja wohnen Sie denn schon lange dort? Wie gefällt es Ihnen denn in unserem Stadtteil? Das wird wohl noch etwas dauern, darf ich Ihnen einen Kaffee oder ein Wasser anbieten?" Binnen weniger Minuten war die Stimmung von freundlich nach herzlich gestiegen. Ich habe mich schon lange nicht mehr so wichtig gefühlt.
Die beiden Sparbücher wurden eröffnet und ich bekam ein Formular mit, dass meine Frau bei Gelegenheit unterschreiben und einwerfen solle. Das sei alles kein Problem.

Weil es den Kinder währenddessen zu langweilig wurde, schlug der Bank-Mitarbeiter vor, die Kinder sollen doch noch etwas fernsehen. Damit war ich einverstanden und die Mäuse sowieso. Er ging kurz mit Ihnen raus. Als ich dann später zu ihnen kam, saßen die Kinder auf zwei gepolsterten Stühlen vor dem Fernseher (keine Ahnung wo die herkamen). Sie zahlten ihre Ersparnisse ein und bekamen mehrere kleine Geschenke. Und zum Abschied winkte der Mitarbeiter uns nach…

Alles klar?

11. April 2007 um 21:22

Werkzeugkiste: AutoRuns

Ein weiteres, nützliches Werkzeug ist AutoRuns von Sysinternals. Damit bekommt man eine vollständige und übersichtliche Liste der Anwendungen, die beim Start des Rechners bzw. beim Anmelden ausgeführt werden. Es ist unglaublich was sich da so alles ansammelt. Außerdem kann man die Einträge auch gleich "ausschalten". Für etliche Einträge benötigt man natürlich Admin-Rechte.

Wenn man den ProcessExplorer gestartet hat, dann kann man auf die einzelnen Einträge klicken und sich im Process-Explorer die Details des laufenden Prozesses anzeigen lassen. Das ist sehr aufschlussreich.

10. April 2007 um 20:09

Warteschlangentheorie

Am Samstag und heute konnte ich im Baumarkt wieder die angewandte Warteschlangentheorie beobachten:

  • Die mittlere Wartedauer ist in jeder Schlange gleich, das Wechseln lohnt sich daher nicht. Wenn es vorher schnell ging, dann kommt genau nach dem Wechseln in der neuen Schlange ein Opa dran, der ein Produkt ohne Preisschild oder EAN-Nummer hat. Erst nachdem der zuständige Verkäufer zweimal ausgerufen wurde, sagt er der Kassiererin den Preis durch.
  • Wenn es viele Warteschlangen gibt, dann steigt die Hektik und der Konkurrenzkampf der wagenschiebenden Kunden exponentiell mit der Zahl der Schlangenköpfe.
  • Dauert es zu lange (z.B. weil ein Opa mit einer nicht ausgezeichneten Ware vor einem ist, bekommt man von hinten öfter einen Wagen in die Hacken geschoben, obwohl (oder weil?) es gar nicht weitergeht.

Ich bitte um Ergänzungen…

10. April 2007 um 19:51

Notepad – Warum nicht 2?

Hier noch ein Nachschlag zu den Windows-Tools, die ich ganz gerne benutze:
Wenn es mal schnell gehen muss und ich nur mal eben eine Datei ansehen oder ändern will, dann verwendet ich auf fremden Rechnern immer den Notepad. Der ist besser als sein Ruf: klein, schnell gestartet und stürzt nicht so schnell ab.

In diese Fußstapfen tritt der Editor "Notepad2". Er bietet viele nützliche Funktionen, ist schnell und kostenlos erhältlich. Er startet ohne Installation direkt aus dem Verzeichnis, bietet Syntax-Hervorhebung und kann erstaunlich viel für so ein kleines EXE. Außerdem ist die Software Open-Source und lässt sich daher in die Karten sehen. Das mache ich zwar selten, gibt mir misstrauischem Menschen aber ein gutes Gefühl.

Natürlich kann er nicht mit den ganz großen wie TextPad mithalten, aber das ist auch nicht das Ziel. Das Ziel ist: "keep it simple". Sehr sympatisch…

5. April 2007 um 19:34

Erfahrungsbericht: Query-Tuning

Heute fand ich per Zufall einen amüsanten Blog-Beitrag, der die Lernkurve eines Self-Made-Datenbänkers ganz gut beschreibt.

Gugst Du hier.