Wednesday, February 8. 2012
A Scala example: Reverse Polish Notation Posted by Jochen Wierum
in English, Programmieren, Scala at
11:47
Comments (0) Trackbacks (2) A Scala example: Reverse Polish NotationAs you may already have heared, I am a big fan of Scala. I was asked to provide a few examples. I would not say that I am an expert, so I start with a really simple example. Let's write a really simple RPN calculator which reads a term from STDIN and prints out the result. The simple thing about RPN is that we only need a stack to calculate the result. So we start with this a class that includes the stack. Continue reading "A Scala example: Reverse Polish Notation"Sunday, November 27. 2011
Bücherempfehlungen: Grundlagen Posted by Jochen Wierum
in Buch, Clean Code, Java, Patterns, Programmieren, Refactorings, Studium at
19:17
Comments (0) Trackbacks (0) Bücherempfehlungen: GrundlagenProgrammieren macht Spaß. Doch was, wenn man den Spaß mit anderen Teilen will? Und wie sorgt man dafür, dass der Spaß auch dann anhält, wenn man länger an einem Projekt arbeitet? Ein paar Grundlagen und eine gemeinsame Sprache helfen dabei. Hier möchte ich ein paar Bücher vorstellen, die dies zu ihrem Thema machen. Continue reading "Bücherempfehlungen: Grundlagen"Sunday, November 20. 2011
Bücherempfehlungen: Funktionale ... Posted by Jochen Wierum
in Buch, Java, Perl, Programmieren, Scala at
11:49
Comments (0) Trackbacks (0) Bücherempfehlungen: Funktionale ProgrammierungEs gibt diverse Arten von Programmiersprachen. Heute wird viel von imperativen Programmiersprachen gebrauch gemacht. Sie sagen, welche Schritte etwas getan werden soll. Ein typischer Vertreter dieser Kategorie ist zum Beispiel Java (obwohl auch hier langsam Funktionale Elemente Einzug halten). Ein anderer, seit 1930 in der Mathematik bekannter Ansatz konzentriert sich nicht so sehr auf eine Schrittweise Anleitung, sondern darauf, wie die Funktionen kombiniert werden können, sodass neue Funktionalität entsteht. Ein häufig zitiertes, wenn auch längliches Paper mit dem Titel "Why Functional Programming Matters" von John Hughes stellt die Vorteile sehr schön zusammen. Ein paar typische funktionale Elemente wirken sehr praktisch. Hier ein Beispiel zur Quadrierung alle Elemente einer Liste in Java:
In Scala geht dies in einer Zeile:
Die Map-Funktion übernimmt als Parameter eine weitere Funktion. Diese nimmt einen Parameter x entgegen, und gibt x * x als Resultat zurück. "Map" ist hier eine Funktion höherer Ordnung. Dass sind solche Funktionen, die als Parameter weitere Funktionen entgegennehmen. Viele andere Probleme werden rekursiv ausformuliert. Ich möchte nicht behaupten, dass Funktionale Programmierung ein Allheilmittel ist. Insbesondere ist es eine nicht zu verachtende Umgewöhnung. Allerdings halten die Konzepte erneut Einzug in die Programmierung (sei es Javascript, Ruby, die .NET-Welt, oder eben Java), und es kann nicht schaden, zumindest ein paar Ideen zu kennen. Doch wie fängt man an? Ich möchte an dieser Stelle ein paar Bücher vorstellen, die vor allem die Vorzüge einer Mischung der Konzepte in den Vordergrund stellen, und so den Einstieg erleichtern. Sinnvoll sind diese Bücher in erster Linie für Leute, die schon Erfahrung im Programmieren haben. Continue reading "Bücherempfehlungen: Funktionale Programmierung"Saturday, November 12. 2011
Bücherempfehlungen: TDD Posted by Jochen Wierum
in Buch, Clean Code, Programmieren, Studium at
11:00
Comments (0) Trackbacks (0) Bücherempfehlungen: TDDIch lese relativ viel, und wollte die Gelegenheit einfach mal nutzen, um ein paar Bücher vorzustellen, die mir persönlich gut gefielen. Den Anfang machen heute drei Bücher zum Thema Tests. Tests sind bei der Entwicklung von Software unerlässlich. So selbstverständlich, wie dieser Satz klingen mag, ist dieser Grundsatz aber nicht immer eingehalten - und das nicht ohne Grund. Tests finden auf vielen verschiedenen Ebenen statt. Die unterste Ebene sind der Tests sind Unit-Tests. Diese Testen einzelne Funktionalitäten. Beim Testgetriebenen Ansatz werden die Tests geschrieben, bevor die Funktionalität entsteht. Das Resultat ist eine sehr hohe Testabdeckung und ein gutes Sicherheitsnetz für spätere Refactoring-Maßnahmen. TDD wirkt sich aber auch auf das Design der Anwendung aus: die Klassen sind loser gekoppelt, die Abhängigkeiten sind durchdachter. Continue reading "Bücherempfehlungen: TDD"Sunday, October 9. 2011Automatisierte Spam-MailsFolgende Spam-Mail erreichte mich diese Tage (sie ist natürlich nicht von wer-kennt-wen)... Die Quizfrage des Tages: wer schreibt hier wem? Ich tippe ja auf "Lieben Gruß <?php random_female_name() ?>"
Betreff: Eine Nachricht von Dagmar wartet auf Wer kennt wen *Eine Nachricht von Yvonne! * Hallo Peter, Mein Name ist Jessica ich bin 29 Jahre alt und suche Neue Freunde über das World Wide Web. Ich würde mich sehr freuen wenn du über meine Seite mit mir Kontakt aufnehmen würdest. [URL entfernt] Sie finden mich sofort hinter der Registrierung im Oberen Sektor. Lieben Gruß Anna! wer-kennt-wen führt Eure Freunde, Bekannte und Verwandten im richtigen Leben auch virtuell zusammen. wer-kennt-wen ist kostenlos. [...] Monday, October 3. 2011
Tiny solution for automated backups: ... Posted by Jochen Wierum
in Backups, English, Linux at
13:07
Comments (0) Trackbacks (0) Tiny solution for automated backups: duplyThere are many backup solutions out there. Many of them are free and each one is great in its own way. One very pouplar solution is BackupPC. But sometimes these solutions are to complex. Imagine the following scenario: you have exactly one tiny server and an FTP storage, and you want to do incremental backups every night via cron. It sounds like a problem for rsync. But since FTP and rsync don't work together that well, here is another solution: duply. Continue reading "Tiny solution for automated backups: duply"Sunday, August 14. 2011
FrOSCon 6 Posted by Jochen Wierum
in Linux, Programmieren, Smalltalk, Studium at
12:08
Comments (0) Trackbacks (0) FrOSCon 6Gefühlt vergeht die Zeit immer schneller (stellt sich die Frage, ob es konvergiert Die Keynotes werden von Simon Phipps (ForgeRock) und Michael "Monty" Widenius (Autor von MySQL) gehalten. Ich würde mich freuen, das eine oder andere Gesicht dort wieder zu sehen!
Die Konferenz kostet für Samstag und Sonntag 5 €. Interesse? Thursday, June 23. 2011
Template für Bachelor/Masther-Thesis Posted by Jochen Wierum
in LaTeX, Studium at
11:02
Comments (0) Trackbacks (0) Template für Bachelor/Masther-ThesisIch wurde in der letzten Zeit häufiger nach meiner Bachelor-Thesis gefragt.Ich kann (und werde :-) ) sie nicht herausgeben. Ich habe aber mal ein minimales Template extrahiert, sodass man zumindest ein LaTeX-Sklett hat, auf dem man eine eigene Arbeit aufbauen kann. Ich habe die Arbeit mit make gesetzt. Außerdem habe ich gnuplot und graphviz verwendet. Die entsprechende Funktionalität ist noch vorhanden. Es lassen sich sowohl dvi-Dateien, als auch pdf-Dateien generieren, wobei das Make-File nur letzteres tut. DVI-Dateien sind im Zusammenspiel mit TeXlipse sehr interessant: hier kann man per Doppelklick auf eine Zeile direkt in den Quellcode springen. Ein paar Zeilen Beispielcode sind enthalten. Viel Spaß! Der Code darf beliebig verwendet werden, der Autor erhebt keinerlei Ansprüche, kann aber auch nicht für eventuelle Schäden verantwortlich gemacht werden. Sunday, February 13. 2011
Creating runnable wars with Maven ... Posted by Jochen Wierum
in English, Java, Programmieren at
11:43
Comments (3) Trackbacks (0) Creating runnable wars with Maven (and Jetty)Hudson is a really great tool if you work with source code in a team with more than two persons. One thing in hudson always fascinated me: the fact, that Hudson is runnable just by typing java -jar hudson.war I do not know if it really has practical relevance, but I searched a way to create such a jar only with Maven and Jetty. Continue reading "Creating runnable wars with Maven (and Jetty)"Monday, January 10. 2011
Nachtrag zu WICD und OpenVPN Posted by Jochen Wierum
in Bash, Linux, Studium at
09:03
Comments (0) Trackbacks (0) Nachtrag zu WICD und OpenVPNIn diesem Artikel habe ich eine Möglichkeit vorgestellt, WICD mit OpenVPN zu verbinden. Unter Umständen scheint WICD allerdings die für eine Verbindung hinterlegten Scripte zu ignorieren. In diesem Fall hilft es, in /etc/wicd/scripts globale Scripts zu hinterlegen. Diese werden in jedem Fall ausgeführt. Allerdings muss das Script selbst prüfen, ob die Verbindung ($1) und die SSID ($2) passt, da sonst bei jeder Verbindung OpenVPN gestartet werden würde.
Die SSID muss hier entsprechend angepasst werden.
Viel Spaß! Thursday, December 30. 2010External authentication without double-login in tt-rssI already wrote about tiny tiny RSS (tt-rss) in this article. So far, the login-mechanism of tt-rss was used. However, tt-rss also allows to use authentication mechanisms of an webserver, which allowes the usage of htAccess and htUser-Files. Continue reading "External authentication without double-login in tt-rss"Sunday, December 5. 2010Sunday, November 28. 2010
Einen schönen ersten Advent! Posted by Jochen Wierum
in Smalltalk at
11:56
Comments (0) Trackbacks (0) Einen schönen ersten Advent!Eigentlich halte ich mich mit meiner Meinung im Internet über die Welt ja meistens zurück... Heute ist der erste Advent. Der Beginn einer Zeit, die eigentlich von Vorfreude auf Weihnachten geprägt sein sollte. Eine Zeit der Ruhe und Besinnlichkeit. Gerade geht der November zuende. Der November, der düsterste Monat des Jahres, mit Allerheiligen, dem Buß- und Bettag und dem Totensonntag. Schon seit Anfang November werde ich stattdessen mit "Frohes Fest!" begrüßt - ein riesiges Schild. Jeden Morgen. Und jeden morgen frage ich mich: muss das sein? Was bedeutet Weihnachten? Was bedeutet Advent? Was bedeutet es für uns, und für den Besitzer des Schildes? Ich habe kein Problem damit, wenn jemandem das ganze zu viel oder egal ist. Aber wer in der ganzen Veranstaltung nur noch eine Möglichkeit sieht, Geld zu verdienen, Hektik provoziert und damit auch diejenigen hineinzieht, die das ganze anders sehen... für den entgleitet mir langsam das Verständnis. Sind wir wirklich so geworden? Können wir nicht mehr Ruhen? Oder Trauern? Schade! Ich wünsche uns eine besinnliche Adventszeit! Sunday, October 24. 2010
OpenVPN Dienst bequem aus der ... Posted by Jochen Wierum
in Bash, Linux, Programmieren, Studium at
17:43
Comments (0) Trackbacks (0) OpenVPN Dienst bequem aus der Konsole steuernAn meiner Hochschule wird OpenVPN eingesetzt um die W-Lan Verbindungen effektiv zu verschlüsseln. Da ich relativ viel in Linux unterwegs bin, und OpenVPN in diversen Window-Managern (i3, XFCE, KDE) und auf der Konsole nutze, suchte ich eine Möglichkeit, um OpenVPN bequem und sicher starten und stoppen zu können. Continue reading "OpenVPN Dienst bequem aus der Konsole steuern"Sunday, October 17. 2010
Syncing Horde with cellphones - and ... Posted by Jochen Wierum
in English, Mails, Mobil at
17:35
Comments (0) Trackbacks (0) Syncing Horde with cellphones - and fixing a "connection error" ProblemThe Horde framework is a great tool if you need a collaboration suite which is accessible from all over the world. In newer versions, Horde provides an rpc service which can be used to sync calendar-entries, contacts and notes.
Well, I would not blog about it, if it worked in the first try. My Phone said "connection error" ("Verbindungsfehler" in German). I google'd a few hours and found out only one important note: If you create a directory /tmp/sync, then horde will log some debug-output there. Horde did, and as far as I understood the files, they looked okay. It was rather an accident that I found out what the problem was. It seems, by cellphone can't decompress HTML-Streams. In the horde administration, select "configuration" and open the "Horde (horde)" settings. Make sure that in the "general"-Tab in the "PHP Settings" section there is no tick at $conf[compress_page]. After I removed the settings, my cellphone was happy. And me too |
QuicksearchStatic Pages |