Marketing – Erklärungsversuche

Ein interessantes Video, das mich stark an die BWL-Vorlesungen des Grundstudiums erinnert – aber der Kern ist gut:
kommuniziere „warum“ und weniger „was bzw. wie“.

http://www.stefan-rudnitzki.de/?p=212

Passt sehr gut auf diverse Neugründungen der letzten Zeit und bestimmt auch den wirtschaftlichen Ausgang einiger Experimente, designed in germany, weil wir alle zählen 🙂

Büropoesie – Tierwelt

Beim Aufräumen im Haufen alter Mails gefunden, nun für die Ewigkeit festgehalten:


das reh springt hoch,
das reh springt weit.
warum auch nicht,
es hat ja zeit!

das pferd springt höher
das pferd springt weiter
warum auch nicht
es hat keinen reiter

Der Elefant springt am höchsten,
der Elefant springt am weitesten,
warum auch nicht?
Er ist am breitesten...

Stand: 2007-11-09 14:25,
Autorenkürzel: AW, EÖ, PH

Die 7 häufigsten Projektprobleme

Neulich beim Aufräumen wieder einen lustigen Brief gefunden, der mir in die Firma zugeschickt wurde vom sogenannten Management Circle:

  1. Engpässe der Ressourcen – So gleichen Sie Kapazität und Produktivität mit der Praxis ab
  2. Unklare Ziele – So erhalten Sie einen eindeutigen und realistischen Projektauftrag
  3. Überlastung – So behalten Sie den Überblick und vermeiden Stress
  4. Unangenehme Wahrheiten vermitteln – Die richtige Kommunikation in kritischen Situationen
  5. Spannungen und Konflikte – So bleiben Sie sourverän und erhalten die Leistungsfähigkeit im Team
  6. Unklare Rollen und Verantwortungen – Die richtige formale Einbindung des Projektleiters
  7. Fehlende Entscheidungen – So bekommen Sie sach- und zeitgerechte Entscheidungen

Tja, mag ja sein. Aber mit dieser Aufmachung wirkt das ganze wirklich nur wie Spam in traditioneller Form.

Schade, um den toten Baum! Ach ja – das P.S. ist auch handfest:

Mit handfesten Checklisten und Leitfäden für die Praxis!

Na wenn es so einfach ist, dann sollte es ja keine Projekte mehr geben, die gegen Bäume rasen 🙂

Firewall ausgehebelt – another case of security by obscurity

Große Konzerne sind sich doch so ähnlich – heute wieder Kontakt mit einem Kunden gehabt.

Es ging darum einen statischen Prototyp zuzusenden. Da wir intern keine schnelle Möglichkeit hatten einen dedizierten FTP-Server zu haben, wurde die Arbeitskopie einfach als ZIP-Archiv an den Kunden übertragen.
Es ging um einen kleinen Prototyp mit AJAX-Aufklappgedöns.

Am folgenden Morgen tauchte eine Mail auf mit folgender Bemerkung:

Hallo Herr ICH,

das ZIP ging wegen des JS nicht durch. Bitte bitte doch mal das ZIP mit PW „firmenname“ verschlüsseln.

mit freundlichen Grüßen
Kundenvertreter

Das weckte alte Erinnerungen – die scheinbar dort vorhandene Unternehmensfirewall filterte Dateianhänge und hat eine Heuristik, dass in ZIP gepacktes Javascript (JS) gefährlich ist. Aha!

Jetzt sollte mit einem Passwort nur verhindert werden, dass die Firewall lesenden Zugriff auf die Dateianhänge hat und filternd zuschlägt – ein klarer Fall von security by obscurity. Again!

In einer vorigen Firma mit insgesamt fast 13000 Angestellten war der workaround, dass sämtliche Dateien (dort zählten auch Dateien des Office-Programmmonopolisten zur Liste der unerwünschten Inhalte) mit dem Packprogramm RAR verarbeitet wurden.

Das ist sicher eine gute Form der Verschlüsselung – oha. Sicherheit macht Spaß – besonders mit Usern, die nebenher auch noch arbeiten müssen. Da hat ein Sicherheitsexperte sicher viel Geld für eine ISO-Zertifizierung erhalten. Tolle neue Welt – und vor allem sicher!

Eclipse Assertions

Diese elendig langen Konfigurationseinstellungen machen einem das Leben teilweise echt schwer ….
aber da hat jemand Screenshots gemacht, wie man den Dialog findet, um assertions einzuschalten:

Installed JREs -> Edit -> VM-Parameter: -ea

Oder auch hier

Autowired by name mit JUnit4 und Spring

Dieses JUnit4 ist einfach Klasse – keine unnützen setter mehr, die den Code verunreinigen und Tests lassen sich einfach durch Entfernen der @Test-Annotation ausschalten.

Neben dem ganz normalen Verdrahten der Beans per Beantyp ist manchmal das Verdrahten per Beanname nötig, was wie folgt umzusetzen ist:

@Autowired
@Qualifier("applicationPrefixTestMagicMemberComponenten")
private MockMagicComponenten memberComponent;

Diese Annotationen machen einfach Spass 🙂

Am Kopf der Klasse dazu fix den ApplicationContext verdrahtet:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:myApplicationTestContext.xml"})
public class ExampleTest {

Setup-Methoden zur Erzeugung der Daten werden mit @Before markiert, während die Löschmethoden mittels @After markiert sind.

Hibernate SQL Logging einstellen

Schaltet man das generelle Abfrage-Loggen von Hibernate ein, wird man bei einer mittelgroßen Anwendung ja förmlich von Logs erschlagen.

Auf folgende Art und Weise schaltet man den Logger programmatisch ein und wieder aus. Die Ausgaben erscheinen auf der Konsole, was für Debugging und Testläufe in der IDE angenehm ist:

  • Im Test Hibernate SQl Logging anschalten:
    Logger.getLogger("org.hibernate.SQL").setLevel(Level.DEBUG);
  • normalen Testcode, dessen SQL man sehen möchte ausführen
  • Logging wieder ausschalten:
    Logger.getLogger("org.hibernate.SQL").setLevel(Level.WARN);