Mittwoch, August 20, 2008
Thermocline of Truth in IT-Projekten
In many large or even medium-sized IT projects, there exists a thermocline of truth, a line drawn across the organizational chart that represents a barrier to accurate information regarding the project’s progress. Those below this level tend to know how well the project is actually going; those above it tend to have a more optimistic (if unrealistic) view.
Quelle: The Wetware Crisis: the Thermocline of Truth : Bruce F. Webster
Doch diese Thermocline of Truth ist nicht statisch:
As the project delivery deadline draws near, the thermocline of truth starts moving up the levels of management because it is becoming harder and harder to deny or hide just where the project stands. Even with that, the thermocline may not reach the top level of management until weeks or even just days before the project is scheduled to ship or go into production. This leads to the classic pattern of having a major schedule slip — or even outright project failure — happen just before the ship/production date.
Erinnert mich spontan an Windows Vista.
Labels: IT, Programmierung
Mittwoch, Juli 30, 2008
Wann soll ich committen?
Rule of thumb: if you can’t summarise it in a sentence, you’ve gone too long without committing.
Quelle: [Quotable] NetNewsWire, JotSpot, Git, Google, old Texas sayings, etc. - (37signals)
Labels: Programmierung
Donnerstag, Juli 10, 2008
Online Color-Picker
Wer möchte schon Bloatware wie Photoshop starten, um nur rasch einige RGB-Farbwerte für seine CSS-Styles auszuwählen? Das Web hat natürlich auch für diesen Anwendungsfall etwas parat:
Labels: Design, Programmierung, Software, Web, Web-Entwicklung
Mittwoch, Juli 09, 2008
Der Programmier-Superstar und seine Mutter
Avie Tevanian had been working on Mach as a PhD student at Carnegie Mellon, and Steve Jobs recognized he was a star and hired him straight away. (Microsoft countered by hiring Avie's old advisor to work on NT, which is kind of like Microsoft hiring my mom because I'm a good programmer.)
Quelle: Call Me Fishmeal.: Pimp My Code, Part 15: The Greatest Bug of All
Labels: Apple, Betriebssysteme, Mac, Microsoft, Programmierung, Unix
Mittwoch, Juli 09, 2008
cURL versendet POST- als GET-Request
... und zwar genau dann, wenn man CURLOPT_NOBODY aktiviert.
Dieser Erkenntnis hatte ich nach ca. einer Stunde debuggen meines Twitter-Cron-Jobs. Eine Google-Suche führte dann auch schnurstracks zur Erläuterung des "Bugs", der eigentlich ein Feature ist/sein soll:
Setting CURLOPT_NOBODY to FALSE will now switch the HTTP request method to GET simply because previously when you set CURLOPT_NOBODY to TRUE first and then FALSE you'd end up in a broken state where a HTTP request would do a HEAD by still act a lot like for a GET and hang waiting for the content etc.
If you issue a POST request and then want to make a HEAD or GET using the same re-used handle, you must explicitly set the new request type using CURLOPT_NOBODY or CURLOPT_HTTPGET or similar.
Quelle: [ 2010735 ] setting a CURLOPT_NOBODY option forces GET request
Labels: IT, Linux, Programmierung, Web-Entwicklung
Dienstag, Juli 08, 2008
Reiser hat sie tatsächlich umgebracht
Bizarre Story um den Entwickler des Dateisystem ReiserFS:
Der des Mordes an seiner Frau schuldig gesprochene Open-Source-Programmierer und Entwickler eines Dateisystems Hans Reiser hat die Polizei zu der mutmaßlichen Leiche seines Opfers geführt. Zudem hat Reiser gestanden, dass er mit seiner Frau gekämpft und sie dann stranguliert hat, berichten unter anderem die US-Tageszeitung San Francisco Chronicle und ABC News aus eingeweihten Kreisen.
Quelle: heise online - Hans Reiser führt Polizei zur Leiche seiner Frau
Labels: Gesetz, Kriminalität, Linux, Programmierung, USA
Donnerstag, Juni 26, 2008
PHP wartet auf RoR-Entwickler
The maintainers published the code for the security patches on the 18th, thus giving crackers almost a week head start in finding an exploit in older versions. They then shipped broken releases on the 20th, making it impossible for anyone to upgrade to an official version. And we haven't heard anything since. What's going on?
Quelle: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) - Ruby Forum
Da ist die Eisenbahn wohl entgleist ... Macht nichts, alle Wege enden irgendwann bei PHP!
Labels: Programmierung, Web, Web-Entwicklung
Mittwoch, Juni 25, 2008
Tomcat - die perfekte Wahl für Web-Applikationen
Over the last few weeks my photo collection application has been struggling seriously with its performance. The Tomcat server would sometimes crash, which isn't so serious, as my monitoring script would restart it at most 30 minutes later.
Quelle: On robots, URL design, and bad optimization | Larsblog
Toll! Mein Apache-Server stürzt wegen PHP-Scripts auch hie und da ab, aber dank eines Scripts ist er nach spätestens 30 Minuten wieder im Netz. Hey, im Internet stört es niemanden, wenn Server für 30 Minuten offline gehen *höhö*
Nun mal im Ernst: Wieso Tomcat, wenn es AMP längst tun würde? Ich erschlage Fliegen hier im Haus ja auch nicht mit dem Sturmgewehr.
Labels: Programmierung, Web, Web-Entwicklung
Dienstag, Juni 10, 2008
Hex-Editor für Mac OS X
... war mir heute gerade wieder äusserst nützlich, um die Datenstruktur der von Nokias PC Suite erzeugten .nbu-Dateien zu analysieren (alle paar Jahre wieder ein neues Format - das letzte Mal spuckte die Applikation noch .nbfs aus ...)
Immerhin ist die Struktur nicht mehr so kryptisch und erinnert an das VCARD-Format.
Labels: IT, Mac, Programmierung
Mittwoch, Mai 28, 2008
Vom Hammer und den Nägeln
Some of the largest sites on the internet -- sites you probably interact with on a daily basis -- are written in PHP. If PHP sucks so profoundly, why is it powering so much of the internet?
The only conclusion I can draw is that building a compelling application is far more important than choice of language.
Quelle: Coding Horror: PHP Sucks, But It Doesn't Matter
Wie sagt ein Kollege immer so schön? Es kommt nicht auf die Grösse des Hammers drauf an, sondern wie man damit nagelt ... Übertragen wohl: Es kommt nicht auf die Grösse des Hammers drauf an, sondern auf das, Haus, das man zusammennagelt. Oder so ...
Labels: PHP, Programmierung, Web
Dienstag, Mai 27, 2008
Folgt auf ePUB das Chaos?
So mancher Studierender hat in den letzten Jahren wohl für eine Erlösung vom unausgereiften und übereilt eingeführten elektronischen Prüfungsadministrationsprogramm ePUB gebetet (das unikumberichtete). Und siehe da: Die Studierenden werden erhört. Das Zentrum Lehre hat bei den Informatikdiensten das Projekt «Kernsystem Lehre», kurz KSL, in Auftrag gegeben. Es soll die verschiedenen Informatiklösungen des Zentrums Lehre wie das ePUB und das veraltete elektronische Vorlesungsverzeichnis eVUB zu einem System zusammenfassen. Die Hörraumverwaltung soll ebenfalls über das neue Tool laufen. Zusätzlich soll das KSL über eine Schnittstelle zur Studierendenverwaltung und möglicherweise zur Lernplattform ILIAS verfügen. Kurz: Anstatt des bisheri-gen Programm-Wirrwarrs neu nur noch ein System für alle Abläufe, die irgendwie mit der Lehre an der Uni Bern zu tun haben. «Das KSL wird den Studierenden, aber auch dem Zentrum Lehre vieles erleich-tern», sagt Schwab-Bertelletto. Auch beim Personalaufwand sind laut Schwab Einspa-rungen möglich: «Der Support des KSL wird nicht so aufwändig sein wie derjenige des ePUB.» Die Studierenden und Dozierenden müssen sich aber noch etwas gedul-den: Die Inbetriebnahme wird frühestens 2010 abgeschlossen sein. Offensichtlich hat man aus den Fehlern bei der Einfüh-rung von ePUB gelernt: Das neue System soll nicht unter Zeitdruck entstehen.
Quelle: unikum, April 2008, "Keine Spur von gähnender Lehre", S. 7.
Na dann Feierabend. Aus der Sicht eines Software-Entwicklers im Web-Bereich tönt dies ganz klar nach eierlegender Wollmilchsau, unendlichen Verzögerungen und einem klassischen Death March.
Labels: Bern, Programmierung, Software, Universität
Dienstag, Mai 27, 2008
Das ultimative Mantra der Software-Entwicklung
"How will this software get my users laid" should be on the minds of anyone writing social software (and these days, almost all software is social software). [...]
Quelle: It's Clay Shirky's Internet, We Just Live In It
Labels: Funny, Programmierung, Software, Web, Web-Entwicklung, Zitat
Sonntag, Februar 10, 2008
Wie man wirklich gute Coder findet
[...] That company no longer focuses its recruitment on candidates that exactly match previous experience with the required technologies. Instead they focus on finding and employing the smartest and most passionate engineers.
Quelle: The Years of Experience Myth
Labels: IT, Job, Programmierung
Mittwoch, Januar 30, 2008
Produktiv Coden
[...] ever since my first job I've realized that as a developer, I usually average about two or three hours a day of productive coding. When I had a summer internship at Microsoft, a fellow intern told me he was actually only going into work from 12 to 5 every day. Five hours, minus lunch, and his team loved him because he still managed to get a lot more done than average.
Quelle: Fire And Motion
Mit einem solchen Arbeitstag könnte ich mich eigentlich noch arrangieren ...
[...] It took me another fifteen years to realize that the principle of Fire and Motion is how you get things done in life. You have to move forward a little bit, every day. It doesn't matter if your code is lame and buggy and nobody wants it. If you are moving forward, writing code and fixing bugs constantly, time is on your side. Watch out when your competition fires at you. Do they just want to force you to keep busy reacting to their volleys, so you can't move forward
Labels: IT, Programmierung, Software
Freitag, Dezember 21, 2007
Was macht ein Software-Tester?
The old testers at Microsoft checked lots of things: they checked if fonts were consistent and legible, they checked that the location of controls on dialog boxes was reasonable and neatly aligned, they checked whether the screen flickered when you did things, they looked at how the UI flowed, they considered how easy the software was to use, how consistent the wording was, they worried about performance, they checked the spelling and grammar of all the error messages, and they spent a lot of time making sure that the user interface was consistent from one part of the product to another, because a consistent user interface is easier to use than an inconsistent one.
Quelle: Why Does Vista Suck? Blame Automated Testing
Labels: Programmierung, Software
Montag, Dezember 03, 2007
Die geheimsten Wünsche eines Coders
I wouldn't be bothered all day by marketing folks asking could the forms be mauve, I wouldn't have to worry about the wording of some field label on some feature that no one even knew how to get to, I wouldn't have to deal with icons that were too Anglo-Saxon, too masculine or too feminine, I wouldn't have to worry that some important VP wanted a new button that would confuse 90% of users. I would just write code. [...]
Quelle: Formula Engine Rewrite
Das Ziel:
The engine needed to be rewritten from the ground up, it needed to be made maintainable, it needed to be faster, and it needed to be completely backwards compatible..
Alles tönte super - bis zum letzten Teilsatz. Genau diese Rückwärtskompatibilität hat den OpenXML-Standard krepieren lassen sowie zum Flop Windows Vista geführt. Rückwärtskompatibilität wird Microsoft diese und nächste Dekade das Leben verflucht schwer machen ... Und somit den Entwicklern, die bei Microsoft (und anderen riesigen Software-Unternehmen) arbeiten.
Iris was a lot like most engineering organizations, most of the good work was done by handful of talented people, the others often produced barely functional crap that would need to be cleaned up someday.
Ich habe Lotus Notes noch nie benutzt, doch die Beschreibung der "Notes templates" lässt mich aufhorchen:
Describing how Notes templates work is a difficult thing, there is really nothing else quite like it the software world, but I guess I'd describe Notes templates as sort of like web applications. As a template developer, you must deal with back-end storage issues, you are writing in scripting languages for both the back-end and front-end functionality and rendering stuff, it's sort of like working with ASP, HTML and JavaScript...sort of.
Ich bin mir fast sicher, dass SAP etwas Ähnliches mitbringt ... ABAP und so.
Labels: IT, Programmierung
Dienstag, Oktober 09, 2007
Ruby oder ... Erlang?
What would have made a better comparison is writing a multi-threaded web server in both Erlang and Ruby and see which server is able to deliver the best performance to 10,000 active clients with widely varying download speeds. I'd be willing to bet that Erlang does a better job. No, I wouldn't even suggest writing a 24x7x365 telecom switch in Ruby; as fine as Ruby is, Erlang would win that hands down.
Quelle: Stupid Programming Language Tricks
Labels: Programmierung
Dienstag, September 11, 2007
PHP5: 2006-13-01 wird nicht mehr akzeptiert
Als ich noch ein junger, unerfahrener PHP-"Programmierer" war (ich brauchte das Geld!), kamen ab und zu solche Konstrukte heraus:
$str_next_month = strtotime($arr_date["year"] . "-" . ($arr_date["mon"] + 1) . "-" . "01");
Das Script nimmt in Kauf, dass bei nicht sachgemässer Handhabung der Wert für den Monat auch einmal 13 betragen kann. In PHP4 meckerte strtotime() nicht gross um und rechnete das Datum kommentarlos auf den auf Dezember folgenden Januar um.
Nun, seit kurzem läuft PHP 5.2.2 auf meinem Entwicklungsserver (Liip und Hostpoint haben das ihre dazu beigetragen) - und bisher hielt sich mein Code tapfer. Bis heute abend.
Zu spüren bekam mein Server diese Fehlprogrammierung ausgerechnet in einer schicken while-Schleife (zu meiner Rehabilitierung die einzige in den knapp 1000 Zeilen PHP-Code). 120 Sekunden lang eine CPU-Auslastung von 100% - yippie! Multipliziert mit den Anzahl Versuchen, den Fehler einzugrenzen ... Heute wurden einige Elektronen zusätzlich verbraten und Schaltungen überbeansprucht.
Was lernen wir daraus?
- Programmiere keinen Scheiss zusammen! (Y2k reloaded?)
- Wenn du while-Schleifen schon nicht vermeiden kannst, baue wenigstens Sicherungen ein, z.B. ganz stümperhaft in Form eines Counters
Labels: PHP, Programmierung
Freitag, März 30, 2007
Wenn man besser als der Rest codet ...
[...] If Bob really did write almost half of the code, then being responsible for a third or a fourth of the bugs isn’t a sign that he was lazy. It’s a sign that he was at least as disciplined as everyone else.
All of this confirms a theory I have about some companies. If the culture is broken, the fastest way to make enemies is to do more than everyone around you.
Quelle: In software no good deed goes unpunished
Wahrlich eine eindrückliche Anekdote!
Labels: Programmierung
Abonnieren
