PID Banner

Posts mit dem Label softwareentwicklung werden angezeigt. Alle Posts anzeigen
Posts mit dem Label softwareentwicklung werden angezeigt. Alle Posts anzeigen

Mittwoch, 8. Januar 2020

Be prepared for the atomic fallout



We live since a long time in peace and harmony. But the global situation has changed dramatically. The big players stopped speaking about demilitarization. They starting to build new weapons!

So, in the worst case, we have to deal with a atomic fallout. But radiation has no smell. You can´t see it. And it makes no noise. But if the radiation is high enough it will kill you in short time!

Mittwoch, 14. März 2018

Howto update Ubuntu 16.10 yakkety to 17.10 artful

It´s a little bit tricky to update from Ubuntu Version 16.10 to 17.10 if you want to use the update-manager from Ubuntu. Because in the archives of 16.10 no update-manager-package is available.

I will explain the way I managed to get the problem solved

Freitag, 4. November 2016

RaspberryPi als Wetterstation mit Telegram Bot

Nach vielen Jahren treuen Dienstes ging vor Kurzem meine Wetterstation von TFA kaputt. Das Display blieb trotz neuen Batterien und Reset leer. Da die Außensensoren einwandfrei funktionieren und in regelmäßigen Abständen ihre gemessenen Daten senden, wollte ich sie nicht entsorgen. Aber was tun?

Da kam mir die Idee, mein Raspberry Pi dafür zu nutzen. Aber wie soll die Raspberry Pi die Daten über Funk empfangen? Nach einer kleinen Recherche im Netz gibt es dafür mehrere Möglichkeiten. Und ich war sehr erstaunt, dass es scheinbar möglich ist, mit einem einfachen DVB-T USB-Stick die Daten zu empfangen. Man muss nur aufpassen, dass in dem Stick ein spezieller Chip von Realtek verbaut ist.

Mittwoch, 19. Juni 2013

Wie ändert man in Eclipse den Wert der Variable 'user'

Eclipse bietet eine Möglichkeit, automatisch Kommentare anzulegen. Damit zum Beispiel bei dem Licence-Kommentar immer das akutelle Datum oder Jahr benutzt wird, gibt es dafür Variablen.

Im Kommentar-Template kann man auf den Wert der Variable mit der Schreibweise ${Variablenname} zugreifen. Mit '@author ${user}' bekommt man den Namen in den Authorentag geliefert. Standardmäßig ist diese Variable mit dem Usernamen des Computer belegt. Aber wie kann man diesen Namen ändern?

Ich habe dazu die Datei eclipse.ini (kann auch anders heißen; endet aber immer mit .ini) im Eclipse-Verzeichnis bearbeitet. Nach den -vmargs-Parametern habe ich die Zeile
-Duser.name=Christian Raßmann
eingetragen (Ende der Datei). Nun wird in der Variable 'user' der von mir festgelegte Name  ausgegeben.

Freitag, 15. Juni 2012

Updatefehler bei STS: "Unable to read repository"

Vor kurzem habe ich mir einen neuen Rechner gekauft. Damit ich mit der Java-Entwicklung weitermachen kann, habe ich meine gewohnte und geliebte IDE installiert. STS (SpringSource Tool Suite) nutze ich für die Java und Groovy-Entwicklung. Hat alles super geklappt. Zuerst das JDK installiert, dann STS. Alles gut. Bis ich die ersten Extensions (Grails, SVN, usw...) von STS installieren wollte. Der Progress-Balken hat sich keinen Zentimeter gerührt. Irgendwann kam eine Fehlermeldung: "Unable to read repository"

Mein Verdacht war am Anfang, dass etwas mit dem JDK 7 nicht stimmte. Deshalb zurück auf JDK 6. Leider erfolglos. Nach stundenlanger Problemsuche fand ich dann in einem Blog die richtige Lösung:

Auf meinem neuen Computer war eine 90-Tage-Testinstallation von Kaspersky mit dabei. Gewöhnlich benutze ich MS Security Essentials. Kaspersky lässt scheinbar keine Updates für STS durch. Leider konnte ich Kaspersky auch nicht überreden, STS nicht mehr zu blocken.

Ergebnis:
Wenn ich STS starte, mach ich Kaspersky aus. Und wenn die 90 Tage vorbei sind, installiere ich wieder MS Securtiy Essentials.

Mittwoch, 2. Mai 2012

mongoDB Workshop München

Am 22. März fand in München ein Workshop zum Thema mongoDB statt. Da wir planen in meinem Unternehmen in Zukunft mongoDB einzusetzen, nahm ich und ein Kollege daran teil. Dies war der erste Kontakt für mich zu einer NoSQL-Datenbank. Referent war Richard Kreuter von 10gen. 10gen liefert die Entwicklerpower hinter Mongo.

Freitag, 30. Dezember 2011

Absichern von ccNewsletter für Joomla mit reCaptcha

Wer kennt das nicht? Man will für seine Joomla-Seite einen Newsletter anbieten und dann registrieren sich massenweise Spambots über die Newsletter-Anmeldung.
Ich habe eine kleine Anleitung zusammengestellt mit der es möglich ist die Anmeldung für den ccNewsletter mit einem Captcha von reCaptcha abzusichern.
Ausgangssituation:

Montag, 5. September 2011

Logfile-Analyse mit der Kommandozeile und Linux-Tools

Wie oft steht man als Software-Entwickler vor dem Problem eine umfassende Logfile-Analyse zu machen? Und dann stellt man fest, dass das Logfile nicht richtig rotiert wurde, und alles in einer Datei steht? Was tun?

Klar kann man die ganze Datei lokal herunterladen und dann versuchen mit Windows-Editor oder ähnlichen Tools zu arbeiten. Allerdings wird in den meisten Fällen der Speicher sehr schnell knapp. Besser wäre es schon auf dem Produktiv-Server das Logfile zu analysieren und die interessanten Teile daraus zu extrahieren.

Mittwoch, 8. Juni 2011

Sortieren einer Map nach Value mit Groovy und Java

Mit diesem Snippet ist es möglich eine Map nach Values zu sortieren. Das ganze passiert in der 2. Zeile. Mit Java würden ca. 34 Zeilen Code benötigt werden.

Freitag, 13. Mai 2011

Berechnen der MD5-Prüfsumme von MySQL in Java

Die folgende Funktion ist besonders praktisch, wenn man auf ein sehr großes VARCHAR-Feld einen Index oder unique Index legen will. Man berechnet aus dem langen String die Prüfsumme und speichert das Ergebnis in einem CHAR(32)-Feld ab. Darauf kann man dann auch einen relativ performanten Index setzen.

Leider ist die MD5-Summe von Java standardmäßig nicht gleich der von der MySQL-Funktion. Das liegt daran, dass Java mit Base10 und MySQL mit Base16 arbeitet. Damit man auf die gleiche Summe kommen, benötigt man folgende Funktion:



Damit ist die Prüfsumme schon in Java-Code vorhanden und muss nicht erst von der Datenbank generiert werden. Damit diese Funktion läuft wird aber noch die Bibliothek Apache Commons Codec benötigt.