Datenterrorist
"People said I should accept the world. Bullshit! I don't accept the world." - Richard Stallman _

.:: Harlan ::.

"Harlan is a declarative, domain specific language for programming GPUs. "
Written in Scheme and runable on Linux and Mac OS X.
Click
10.07.13 15:52:31 - balle - 125 comments - Programming


.:: Back to the future ::.

Ich beschäftige mich seit einiger Zeit mit funktionaler Programmierung unter anderem mit Lisp. Meist bekommt man dafür Reaktionen wie "Warum tust Du Dir sowas an?" oder "Lisp? Das benutzt doch seit 30 Jahren niemand mehr". Die Realität sieht anders aus. Die heutigen Prozessoren werden mit immer mehr und mehr Cores ausgestattet, die von objekt-orientierten oder imperativen Programmen nicht genutzt werden und seien wir mal ehrlich wie viele Deiner Programme verwenden Kindprozesse oder Threads? Wahrscheinlich weit weniger als 1%.

Funktional programmierte Programme können hingegen perfekt parallel auf allen Cores laufen und so ist es nicht weiter verwunderlich, dass neue Programmiersprachen wie Clojure funktional sind und alte Programmiersprachen funktionale Features einbauen ja selbst Java hat seit Version 7 Closures, map usw. und die viel gehypten NoSQL Dbs wie Couchdb oder Riak sind nicht selten in funktionalen Sprachen wie Erlang implementiert. Schaut man sich den aktuellen Tiobe Index an, so sieht man, dass Lisp sich mittlerweile wieder knapp vor der Top Ten auf Platz 13 hält.

Grund genug funktionale Programmierung zu lernen, doch für einen Programmierer, der bisher nur imperative, objekt oder aspekt orientierte Programme geschrieben hat, ist es schwer umzudenken und Code zu entwickeln, der keine Variablen verwendet. Einen ersten guten Versuch brachte die Artikelreihe Charming Python - Functional programming in Python, das Buch Successful Lisp und Higher Order Perl. Dennoch wollte es nicht so recht *klick* machen bis ich den Artikel FP Basics von Uncle Bob gelesen hab.

Now let's hack Common Lisp with SBCL, Emacs SLIME and Quicklisp. Alles weitere liefert das Common Lisp Wiki :)
12.02.13 13:02:28 - balle - 36 comments - Programming


.:: Test, Test... ::.

Unit Tests mit JUnit, phpunit oder für Perl Test::More ist ja schön und gut wenn man Klassen baut und super zum Bugs finden und als Sicherheitsnetz beim Refactoring, aber was gibts denn sonst noch?

Schon mal ein riesen Bash Projekt gehabt und Dir gewünscht es gäbe auch hierfür ein Test Framework?
ShUnit2 ist Dein Freund :)

Und ansonsten gibts unter Testdriven.com und Opensourcetesting.org viele Testing Frameworks zu entdecken z.B. zum Testen von GUIs, Datenbanken, Webapps, für Functional Tests usw.

Oder wie wäre es z.B. mit Test::AutoBuild?

"Test-AutoBuild is a continuous integration harness for automatically running build and test processes without the need for user interaction."
Läßt sich in ExtUtils::MakeMaker, Automake und Ant integrieren und beherrst als SCM Systeme CVS, Perforce, GNU Arch, Mercurial, GIT, Monotone, Darcs, SVK und Subversion.
05.03.08 12:29:47 - balle - 14 comments - Programming


.:: Extreme Programming ::.

" Extreme Programming (XP) ist eine seit einigen Jahren immer populärer werdende Methode zur Entwicklung von Software in kleineren Teams. Die teilweise radikalen Änderungen im Vergleich zur "traditionellen" Vorgehensweisen erfordern umfangreiches Umdenken in technischen und sozialen Prozessen, bieten aber die Möglichkeit der Beherrschung zuvor schwer zu bändigender Dynamiken.

Ängste, mangelnde Offenheit und Kommunikation sowohl auf Seiten des Auftraggebers als auch der Entwickler sind häufig bereits der Anfang vom Ende jeder erfolgreichen Softwareentwicklung. Extreme Programming begegnet diesen Problemen durch kooperative Entwicklungsmodelle (Pair Programming), iterative Verfeinerungen der Aufgabenstellung undJ Konzentration auf schnelle Releasezyklen und Testbarkeit von Systemen."

Chaosradio Express Folge

Super spannend. Jeder, der irgendwie in einen Softwareentwicklungsprozess involviert ist, sollte sich das mal anhören!
10.05.06 07:22:58 - balle - 18 comments - Programming


.:: SQL in 21 Tagen ::.

Ein Buch über die Datenbank Abfragesprache SQL
click
01.01.04 00:53:00 - balle - 10 comments - Programming


.:: Libnet tutorial ::.

Wie erstellt man Netzwerkpakete mit der Libnet Bibliothek?
click
01.01.04 00:52:00 - balle - 11 comments - Programming


.:: Socketprogrammierung in C ::.

Wie schreibt man Netzwerkprogramme in C?
click
01.01.04 00:48:00 - balle - 17 comments - Programming


.:: LKM Hacking ::.

Wie programmiert man trojanische Kernel Module für Linux?
click
01.01.04 00:38:00 - balle - 15 comments - Programming


.:: Programming Linux Kernel Modules ::.

Wie schreibt man Kernel Module für Linux?
click
01.01.04 00:36:00 - balle - 40 comments - Programming


.:: C von A bis Z ::.

Online Version des Buches
click
01.01.04 00:34:00 - balle - 5 comments - Programming


.:: Programming in C ::.

A Tutorial by Brian W. Kernighan
click
01.01.04 00:33:00 - balle - 19 comments - Programming


.:: Programming in C ::.

UNIX System Calls and Subroutines using C
click
01.01.04 00:32:00 - balle - 31 comments - Programming


.:: C FAQ ::.

Die FAQ von comp.lang.c
click
01.01.04 00:32:00 - balle - 18 comments - Programming


.:: Softwareentwicklung in C ::.

Guter Einstieg in die Programmiersprache C
click
01.01.04 00:24:00 - balle - 5 comments - Programming


.:: Programming from the ground up ::.

Wie lernt man programmieren in Assembler?
click
01.01.04 00:17:00 - balle - 4 comments - Programming