2012 in review

Die WordPress.com Statistikelfen fertigten einen Jahresbericht dieses Blogs für das Jahr 2012 an.

Hier ist eine Zusammenfassung:

4,329 films were submitted to the 2012 Cannes Film Festival. This blog had 35.000 views in 2012. If each view were a film, this blog would power 8 Film Festivals

Klicke hier um den vollständigen Bericht zu sehen.

Ö1 Beitrag: Radiokolleg – Software in Frauenhand

Pionierinnen der Informatik (1-4). Gestaltung: Anna Masoner

Anna hat für Ö1 eine vierteilige Beitragsreihe zum Thema Frauen in der Informatik erstellt und unter anderem mich dafür interviewt.

Hier der gesamte Beitrag:

(ich komme etwa ab Minute 46)

Der Teasertext:

Alan Turing, John von Neumann und Konrad Zuse: die Erfindung des Computers, wird meist als eine Geschichte großer Männer dargestellt. Dass auch Frauen an der Entwicklung der ersten speicherprogrammierbaren Rechenmaschinen beteiligt waren, wird gern übersehen. Eine Ausnahme bildet die Englische Adelige Ada Lovelace. Im 19. Jahrhundert arbeitet sie gemeinsam mit dem Mathematiker Charles Babbage an einer mechanischen Rechenmaschine.

Sie wird deshalb gerne als erste Programmiererin bezeichnet, bevor es überhaupt den Computer gab. In den 1940er Jahren befand sich die Entwicklung der ersten Programmiersprachen und der Software für die riesigen Rechenmaschinen häufig in Frauenhand. Das Programmieren galt damals als Nebensache, eine Tätigkeit in der mathematisch interessierte Frauen brillieren konnten. Mit zunehmender auch wirtschaftlicher Bedeutung der Computerprogrammierung, entwickelte sich das Coden jedoch zur gut bezahlten Männerarbeit.

Die Tradition setzt sich bis heute fort. An Österreichs technischen Universitäten und Fachhochschulen studieren kaum 20 Prozent Frauen Informatik. Der von Zahlen besessene Hacker und technikaffine Nerd ist in unserer Gesellschaft beinahe per Definition ein Mann. Wieso entscheiden sich so wenig Frauen für einen technischen Beruf? Welche Konsequenzen hat der Gender Gap in der Informatik? Und wie lässt sich der Frauenanteil erhöhen?

APN bob

Internetzugang:
Name: bob.data
APN: bob.at
Proxy:
Port:
Nutzername: data@bob.at
Passwort: ppp
Server: start.bob.at
MMSC:
MMS-Proxy:
MMS-Port:
MCC: 232
MNC: 11
APN-Typ: default
Authentifizierungstyp: normal od. pap

.

MMS Empfang:
Name: data.bob MMS
APN: mms.bob.at
Proxy:
Port:
Nutzername: data@bob.at
Passwort: ppp
Server:
MMSC: http://mmsc.bob.at
MMS-Proxy: 194.48.124.7
MMS-Port: 8001
MMS-Protokoll: WAP 2.0
MCC: 232
MNC: 11
Authentifizierungstyp: pap
APN-Typ: mms

siehe auch http://konfigurator.bob.at/otauserbob/web/user/index oder  http://konfigurator.bob.at/otauserbob/templates/user/bob/manuals/Installationsanleitung.pdf

Anmerkdung: Stellt man beim Internetempfang den APN-Typ nicht auf “default”, funktioniert der MMS Dienst nicht korrekt

Top 20 lines of a Klingon software developer

Top 20 lines of a Klingon software developer

  1. A TRUE Klingon warrior does not comment his code!
  2. This machine is a piece of GAGH! I need some quad core processors if I am to do battle with this code!
  3. I have challenged the entire ISO-9000 review team to a round of Bat-Leth practice on the holodeck. They will not concern us again.
  4. Behold the keyboard of Kalis! The greatest Klingon code warrior that ever lived!
  5. Defensive programming? Never! Klingon programs are always offensive. Yes, offensive programming is what we do best.
  6. Klingon programs don’t do accountancy. For that, you need a Ferengi programmer.
  7. Klingon function calls do not have ‘parameters’ – they have ‘arguments’ – and they ALWAYS WIN THEM.
  8. This code is a piece of crap! You have no honour!
  9. By filing this bug you have questioned my family honour. Prepare to die!
  10. I am without honour…my children are without honour… My father coded at the Battle of Kittimer…and…and…he… HE ALLOWED HIMSELF TO BE MICROMANAGED. <Shudder>
  11. You question the worthiness of my code?! I should kill you where you stand!
  12. Microsoft Cooperation is actually a secret Ferengi-Klingon alliance designed to cripple the Federation. The Ferengi are doing the marketing and the Klingons are writing the code.
  13. Specs are for the weak and timid!
  14. Klingons do not believe in indentation – except perhaps in the skulls of their project managers.
  15. Klingon search engines don’t just search the internet – they hunt!
  16. Klingons do not “release” software. Klingon software escapes, leaving a bloody trail of design engineers and quality assurance testers in its wake.
  17. Debugging? Klingons do not debug. Bugs are good for building up character in the user!
  18. As for project orders (requirements, goals): Klingons do not deliver; we EXECUTE. For the glory of the empire!
  19. Perhaps it IS a good day to die! I say we ship it!
  20. Qapla [also Kapla from the Klingon language: menaing “success” (or sometimes “absence of failure”)]

Old german version

Neuen Rechner aufsetzen

Meine Checkliste:

  • OS + Updates + fehlende Treiber
  • Daten-Partition erstellen
  • Festplattenverschlüsselung TrueCrypt
  • Virenschutz/Firewall
  • Internetprogramme
    • Firefox/Chrome + firebug +laafi amazon extension
    • Skype
    • Thunderbird + Lightning, Google Contacts, Google Kalender, Smiley Fixer, English Dictionary, Deutsches Wörterbuch, Provider for Google Calendar
    • Vuze
    • Cisco VPN client / OpenVPN client
  • Entwicklungsprogramme:
    • Java SDK, maven, Tomcat
    • IntelliJ
    • Sublime
    • putty
    • WinSCP
    • cygwin / PowerShell
  • anderes
    • Adobe PDF Reader
    • Photoshop
    • Open Office
    • VLC
    • WinAmp
    • WinRAR

Thread dumps, memory dump, and stack traces

1. Getting a Stack Trace

jstack -l [pid]

jstack is for java processes

2. Getting a Thread Dump

kill -3 [pid]

on unix

3. Surviving a OutOfMemoryException in Production

Sometimes you see an “OutOfMemoryException” in production and you need a memory dump of this process now to analyze the memory usage

jmap -J-d64 -dump:live,format=b,file=solr-memory-dump.bin [pid]
jmap generates a memory dump file solr-memory-dump.bin that can be used for further analysis

jhat -J-d64 -J-Xmx4096m solr-memory-dump.bin
jhat opens HTTP server on port ‘7000’

Sonar: PicoLifecycleException and NonUniqueResultException during build

Still with sonar 2.14 the old problem occurs, that with parallel runs/analysis on the same project (with different build versions?) a wrong state is created in the DB.

For postgres the statement for analysis of the problem is:

select project_id, count(project_id) from snapshots
where islast is true
group by project_id
having count(islast) > 1

This statement fixes the problem:

update snapshots old_snap
set islast=false
where islast=true and exists(select * from snapshots new_snap where new_snap.created_at > old_snap.created_at and new_snap.project_id = old_snap.project_id and new_snap.islast=true)

 

see also SONAR-2329 NonUniqueResultException occurs when analyzing both a maven module and its parent

and Sonar 2.11 Embedded error: PicoLifecycleException

 

Stacktrace for this error is (Jenkins Sonar Plugin)

[INFO] [14:02:05.667] Initializing Hibernate
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Can not execute Sonar

Embedded error: PicoLifecycleException: method 'public void org.sonar.batch.ProjectTree.start() throws java.io.IOException', instance 'org.sonar.batch.ProjectTree@74f9a042, javax.persistence.NonUniqueResultException: Expected single result, but got : [Snapshot[resourceId=3818,buildDate=2012-09-13 13:43:58.638,createdAt=2012-09-13 13:43:58.545,version=WH-3.09-SNAPSHOT,last=true,status=P,purgeStatus=1,scope=PRJ,path=477617.,depth=1,qualifier=BRC,rootId=477617,parentId=477617,rootProjectId=1,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2012-09-13,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2012-09-13 13:43:55.266,period2Date=2012-09-08 13:43:58.545,period3Date=2012-08-14 13:43:58.545,period4Date=<null>,period5Date=<null>,id=477626], Snapshot[resourceId=3818,buildDate=2012-09-13 13:49:13.894,createdAt=2012-09-13 13:49:13.737,version=WH-3.09-SNAPSHOT,last=true,status=P,purgeStatus=<null>,scope=PRJ,path=,depth=0,qualifier=TRK,rootId=<null>,parentId=<null>,rootProjectId=3818,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2012-09-13,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2012-09-13 13:43:55.266,period2Date=2012-09-08 13:49:13.737,period3Date=2012-08-14 13:49:13.737,period4Date=<null>,period5Date=<null>,id=480765]]
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
	at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar
	at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:103)
	at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:79)
	at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:88)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
	... 17 more
Caused by: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.batch.ProjectTree.start() throws java.io.IOException', instance 'org.sonar.batch.ProjectTree@74f9a042, javax.persistence.NonUniqueResultException: Expected single result, but got : [Snapshot[resourceId=3818,buildDate=2012-09-13 13:43:58.638,createdAt=2012-09-13 13:43:58.545,version=WH-3.09-SNAPSHOT,last=true,status=P,purgeStatus=1,scope=PRJ,path=477617.,depth=1,qualifier=BRC,rootId=477617,parentId=477617,rootProjectId=1,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2012-09-13,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2012-09-13 13:43:55.266,period2Date=2012-09-08 13:43:58.545,period3Date=2012-08-14 13:43:58.545,period4Date=<null>,period5Date=<null>,id=477626], Snapshot[resourceId=3818,buildDate=2012-09-13 13:49:13.894,createdAt=2012-09-13 13:49:13.737,version=WH-3.09-SNAPSHOT,last=true,status=P,purgeStatus=<null>,scope=PRJ,path=,depth=0,qualifier=TRK,rootId=<null>,parentId=<null>,rootProjectId=3818,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2012-09-13,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2012-09-13 13:43:55.266,period2Date=2012-09-08 13:49:13.737,period3Date=2012-08-14 13:49:13.737,period4Date=<null>,period5Date=<null>,id=480765]]
	at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77)
	at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:132)
	at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115)
	at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)
	at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)
	at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)
	at org.picocontainer.behaviors.Stored.start(Stored.java:110)
	at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1009)
	at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002)
	at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:760)
	at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:70)
	at org.sonar.batch.bootstrap.Module.start(Module.java:82)
	at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:102)
	at org.sonar.batch.bootstrap.Module.start(Module.java:83)
	at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:71)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:58)
	at org.sonar.maven.SonarMojo.execute(SonarMojo.java:151)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
	at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:98)
	... 21 more
Caused by: javax.persistence.NonUniqueResultException: Expected single result, but got : [Snapshot[resourceId=3818,buildDate=2012-09-13 13:43:58.638,createdAt=2012-09-13 13:43:58.545,version=WH-3.09-SNAPSHOT,last=true,status=P,purgeStatus=1,scope=PRJ,path=477617.,depth=1,qualifier=BRC,rootId=477617,parentId=477617,rootProjectId=1,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2012-09-13,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2012-09-13 13:43:55.266,period2Date=2012-09-08 13:43:58.545,period3Date=2012-08-14 13:43:58.545,period4Date=<null>,period5Date=<null>,id=477626], Snapshot[resourceId=3818,buildDate=2012-09-13 13:49:13.894,createdAt=2012-09-13 13:49:13.737,version=WH-3.09-SNAPSHOT,last=true,status=P,purgeStatus=<null>,scope=PRJ,path=,depth=0,qualifier=TRK,rootId=<null>,parentId=<null>,rootProjectId=3818,period1Mode=previous_analysis,period2Mode=days,period3Mode=days,period4Mode=<null>,period5Mode=<null>,period1Param=2012-09-13,period2Param=5,period3Param=30,period4Param=<null>,period5Param=<null>,period1Date=2012-09-13 13:43:55.266,period2Date=2012-09-08 13:49:13.737,period3Date=2012-08-14 13:49:13.737,period4Date=<null>,period5Date=<null>,id=480765]]
	at org.sonar.jpa.session.JpaDatabaseSession.getSingleResult(JpaDatabaseSession.java:195)
	at org.sonar.jpa.session.JpaDatabaseSession.getSingleResult(JpaDatabaseSession.java:213)
	at org.sonar.batch.ProjectConfigurator.isLatestAnalysis(ProjectConfigurator.java:84)
	at org.sonar.batch.ProjectConfigurator.configure(ProjectConfigurator.java:71)
	at org.sonar.batch.ProjectTree.doStart(ProjectTree.java:89)
	at org.sonar.batch.ProjectTree.start(ProjectTree.java:66)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)
	... 38 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5 seconds
[INFO] Finished at: Thu Sep 13 14:02:07 CEST 2012
[INFO] Final Memory: 44M/141M
[INFO] ------------------------------------------------------------------------
Sonar analysis completed: FAILURE
Build step 'Sonar' changed build result to FAILURE
Build step 'Sonar' marked build as failure
Finished: FAILURE

Buchbesprechung: Agile Projekte mit Scrum, XP, Kanban im Unternehmen durchführen – Erfahrungsberichte aus der Praxis

Meine letzte Buchbesprechung für die Wirtschaftsinformatik (hier alle meine Rezensionen):

Agile Projekte mit Scrum, XP, Kanban im Unternehmen durchführen – Erfahrungsberichte aus der Praxis

Agile Projekte mit Scrum, XP, Kanban im Unternehmen durchführen – Erfahrungsberichte aus der Praxis
von Wolf, H. (Hrsg.)

dpunkt.verlag
ISBN 978-3898647526

34.90 €

Rezensent: Barbara Ondrisek, (Wien)

Das Buch sammelt einige Praxisberichte aus verschiedenen agilen Projekten. Dabei werden zwölf Beiträge verschiedener Autoren präsentiert, bei denen es um praktische Probleme und Lösungsideen in agilen Projekten geht. Es wird hierbei etwa auch beschrieben, welche Adaptionen der agilen Kernprozesse notwendig waren, um erfolgreich zu sein.

Vorrangig geht es bei den Beiträgen um die Einführung den Prozessmodells Scrum in diversen Organisationen. Es wird ebenfalls die Vorstellung verschiedener konkreter Entwicklungspraktiken beschrieben, wie etwa die Einführung von eXtreme Programming (XP). Der für mich interessanteste Beitrag war der über die Einführung von Scrum in einem traditionellen Fixpreisprojekt. Ebenfalls lesenswert ist die Vorstellung von Kanban im Operationsumfeld, wie auch die Beschreibung der Probleme von agilen Methoden bei Startups.

Die einzelnen Beiträge sind unabhängig voneinander und können beliebig ohne vorgegebene Reihenfolge gelesen werden. Man kann etwa einzelne Beiträge als Inspiration lesen, wenn man vor ähnlichen Schwierigkeiten im eigenen Projekt steht. Anders als ein Methodenbuch werden keine theoretischen Grundlagen erklärt, sondern eine Reihe von Erfahrungsberichten mit Vor- und Nachteilen der Prozesse beschrieben.

.
Der Artikel direkt bei wirtschaftsinformatik.de

Free WiFi airports

Free WiFi airports / gratis WLAN auf flughäfen:

  • Amsterdam AMS –
  • Bali (denpasar) DPS –
  • Bangkok BKK – (but at McDonald’s)
  • Barcelona BCN –
  • Basel BSL –
  • Belgrad BEL –
  • Berlin Tegel TXL –
  • Corfu CFU +
  • Dubai DXB +
  • Dublin DUB +
  • Frankfurth FRA –
  • Graz GRZ +
  • Hong Kong HKG +
  • Hurghada Egypt HRG –
  • Istanbul IST – (free in lounge, nero café)
  • Klagenfurt KLU +
  • Kos KSG +
  • Kuala Lumpur KLIA +
  • Lisboa LIS –
  • Linz LNZ +
  • London Heathrow LHR –
  • Malta MLA +
  • Mumbai BOM +
  • München MUC +
  • New York JFK +
  • Nürnberg NUE –
  • Paris CDG –
  • Salzburg SZG +
  • Sharm el Sheikh SSH
  • Singapur SIN –
  • Taipei TPE +
  • Tbilisi TBS +
  • Wien VIE +
  • Zürich ZRH –

+ yes/ja

– no/nein

A list of US American airports