Freitag, Dezember 19, 2014

Zehn Punkte, die man als Entwickler können sollte, aber vermutlich nicht an der Uni gelernt hat


Ich bin über den folgenden Artikel gestolpert, finde ich eine ganz nette Zusammenfassung:
blog.newrelic.com/2014/06/03/10-secrets-learned-software-engineering-degree-probably-didnt/

  • Version control systems
  • How to write
  • Regular expressions
  • Using libraries
  • SQL
  • Tool usage: IDEs, editors, CLI tools
  • Debugging
  • Defensive programming
  • Teamwork
  • Working on existing code

Donnerstag, Dezember 18, 2014

Regressions-Tests auf CSS-Dateien

Ein hilfreicher Hinweis von unseren Frontend-Entwicklern: Immer wieder stosse ich in Projekten auf Probleme, weil Frontend-Entwickler Änderungen in CSS-Dateien vornehmen, die dann an anderen Stellen unerwartete Quereffekte haben.

In Java hat man solche Probleme seit langem viel besser im Griff (wenn denn die entsprechende Tool-Unterstützung auch im Projekt genutzt wird). Aber Methoden wie Compiler, Coding Standards, Tools zur statischen Code-Analyse, Unit Tests, usw. sind im CSS-Umfeld (übrigens genauso bei JavaScript) eher unbekanntes Neuland.

Grundsätzlich geht das aber auch besser. Auf den Seiten css-tricks.com/automatic-css-testing/ und css-tricks.com/automating-css-regression-testing/ ist zusammengestellt, was man denn so tun kann, um Tests für CSS-Dateien besser zu automatisieren.

Mittwoch, Dezember 17, 2014

Technische Schulden

Ich bin in der Wikipedia auf einen Artikel zum Konzept der "Technischen Schulden" gestossen. Damit werden (später entstehende) Kosten bezeichnet, die man aufgrund von schlechter technischer Umsetzung in Projekten aufnimmt.

Wie alle Schulden, zahlt man auch auch technische Schulden Zinsen. Und diese Zinsen werden höher, je länger man die Schulden nicht zurückzahlt

Einige der Beispiele aus der Wikipedia klingen erschreckend vertraut:

  • Hintanstellen technischer und fachlicher Softwaredokumentation
  • Fehlende technische Infrastruktur wie Versionsverwaltung, Datensicherung, Build-Tools, Kontinuierliche Integration
  • Hintanstellen, Verzicht oder ungenügende Umsetzung automatisierter Modultests und Regressionstests
  • Fehlende Coding Standards und Code Ownership
  • Missachtung von TODO oder FIXME oder XXX Hinweisen im Code
  • Missachtung von Codewiederholungen und anderen Code Smells
  • Verwendung von Programmierungs-Anti-Pattern
  • Missachtung von Compilerwarnings und Ergebnissen statischer Code-Analyse
  • Hintanstellen der Korrektur von zu großem oder zu komplexen Code und Design
  • Fehlerhafte Definition oder Umsetzung der Architektur durch enge Kopplung, zyklische Abhängigkeiten der Komponenten oder das Fehlen geeigneter Schnittstellen und Fassaden

Wieder da...

Nachdem ich diesen Blog lange habe schleifen lassen, habe ich mich dazu durchgerungen wieder mal etwas zu posten. Wasser Marsch!

Donnerstag, Dezember 01, 2011

Security-Awareness a la Google Mail

... ganz netter Ansatz von Google Mail, um Nutzer darauf hinzuweisen, dass es vielleicht KEINE gute Idee ist, überall dasselbe Passwort zu nutzen ...


Mittwoch, November 23, 2011

Google Doodle für Stanislaw Lem

Das Google Doodle des Tages ehrt Stanislaw Lem zum 60. Jubiläum seines ersten erschienenen Buches mit einem animierten und interaktiven Film mit Szenen aus der Kyberiade.

Besonders nett: die Schluß-Animation mit dem Roboter, der alles auf 'N' erschaffen kann und beim Erschaffen von 'Nichts' den ganzen Bilschirm leert, inklusive der Google-Steuerelemente, Eingabefelder und Links.http://www.blogger.com/img/blank.gif

Freitag, November 18, 2011

Sprechende Fehlermeldung? Wohl kaum ...

Was will mir diese Fehlermeldung bei der Installation wohl sagen???

GoogleMaps: auf der Suche nach ungewöhnlichen Orten

Bei der GoogleMaps-Suche kommen ganz interessante Ergebnisse heraus, wenn man bei seiner Suche nach eher ...beschreibenden Orts-Bezeichnungen sucht. So liefert eine Routenplanung von Essen zu Ziel "Ar*** der Welt" als Zielpunkt die Südtribüne im Dortmunder Stadion.

Das Ergebnis hängt übrigens vom Startort ab, von München aus ist der Ar*** der Welt das Oktoberfest, in Hamburg ist es das Millerntor-Stadion. Das Ziel liegt so oft beim nächstgelegenen Stadion, dass man wohl eher von Absicht ausgehen muss.

Auch andere Ziele liefern interessante Ergebnisse, von Bremen aus ist "wo sich Fuchs und Hase Gute Nacht sagen" bei Walsrode, während man von Köln aus nach Attendorn geleitet wird, wenn man sucht "wo der Hund begraben ist"

iPod-Player für's Bad

Einige Apple-User nehmen ihren iPod ja überall mit hin, um auch wirklich an jedem Ort Musik hören zu können ... braucht man dazu DIESEN iPod-Player im Bad ???

Mittwoch, Juli 14, 2010

WinAMP angreifbar über manipulierte Flash-Videos

Über mehrere Lücken im WinAMP-Player können manipulierte Flash-Videos einen Integer oder Buffer Overflow im Player auslösen. Immer wieder interessant, wie Lücken in bestimmten Dateiformaten gerade immer dann auftauchen, wenn man's in einem Projekt am wenigstens gebrauchen kann...

Freitag, Mai 21, 2010

30 Jahre Pacman

Ist das wirklich schon dreissig Jahre her? Muss wohl, am 22. Mai 1980 wurde Pacman das erste mal veröffentlicht. Und pünktlich zum Geburtstags setzt Google ein eigenes Google-Doodle für Pacman, das sogar über die Cursortasten spielbar ist.





UPDATE: Anscheinend kollidiert das Google-Doodle mit dem CoolPreview-Plugin. Das lädt wohl im Hintergrund Google zusammen mit dem (sound-unterstützen) Pacman-Doodle. Hat zu einer entsprechenden Fehlermeldung "When I open firefox I get pacman sounds in the background" im Support-Forum mit in der Zwischenzeit sechs Seiten von Folge-Posts geführt (siehe hier).

Ausserdem hat sich der Support wohl genötigt gefühlt, direkt auf der Startseite eine entsprechenden Hinweis zu setzen:

Freitag, April 09, 2010

Mein Vorname ist Bobby'); DROP TABLE Students; --

Gefunden im Internet ...

... kein Kommentar

Donnerstag, April 08, 2010

XSS-Angriffe über META-Felder

Aus dem heise-Newsticker: nettes Beispiel für Cross-Site-Scripting-Angriffe über Datenfelder, von denen man das eigentlich nicht javascript:void(0)erwarten würde. Im konkreten Fall wurde von nCircle in den Meta-Daten von SSL-Zertifikaten und den WHOIS-Domian-Informationen JavaScript-Code eingetragen.
Konkrete Angriffsmöglichkeiten bei bestimmten Web-Applikationen hat's darüber auch schon gegeben.

nCircle hat diese "Meta Information Cross Site Scripting"-Schwachstelle (MIXSS) unter dieser Seite beschrieben.

Richtig neu ist das aber nicht. Der Grundsatz 'never trust external data' gilt natürlich auch für solche Informationen. Als weitere potenzielle Quellen werden z.B. die Banner von SMTP-Servern und die Header-Informationen von HTTP-Servern genannt.

Mittwoch, März 31, 2010

PDF-Exploit on the way...

Gelesen bei heise.de: es gibt in PDF-Dokumenten eine erhebliche konzeptionelle Sicherheitslücke, über die Angreifer mit entsprechend vorbereiteten PDF-Dokumenten potenziell jedes Programm starten können, und damit natürlich auf dem Rechner des ahnungslosen Nutzers beliebiges Unheil anrichten können.

Dabei werden keine fehlerhaften Implementierungen ausgenutzt, sondern die Option "Launch Actions/Launch File" genutzt, die Teil der PDF-Spezifikation ist. Betroffen sind daher (da eine Standard-PDF-Spezifikation) nicht nur die Original-Reader von Adobe, sondern auch andere Programme wie z.B. Foxit.

Besonderer persönlicher Nebeneffekt: mein aktuelles Projekt nutzt eine Funktionalität die auf PDF aufsetzt als Highlight und Kern-Feature des ganzen Projekts.

Dienstag, März 23, 2010

Fehlt da das Attachement?

Gerade bei Googlemail gesehen:


Bei bestimmten Schlüsselwörtern geht GoogleMail wohl davon aus, dass man ein Attachement mitschicken wollte. Wenn das fehlt, kommt eine Warnmeldung.

Praktisch, bei Outlook passiert mir das immer wieder, dass ich eine Mail versende und den Anhang vergesse ... und nicht nur mir.