Ich werde den Rhythmus dieses Blog auf alle 14 Tage umstellen.
Kategorie-Archive: Deutsch
Einheiten mitführen
Typische Programme rechnen mit Größen, also mit Zahlwerten, die mit irgendeiner Einheit kombiniert sind. Das können Temperaturen, Längen, Zeitdauern, Geldbeträge und vieles mehr sein. Weil früher jedes Byte teuer war, hat sich etabliert, dass man nur mit den Zahlwerten arbeitet und die Einheiten implizit durch die Programmlogik ins Spiel kommen. Das funktioniert in einfache Fällen, …
Verbindung verschiedener Verabeitungsschritte
Häufig beinhaltet eine Software verschiedene Verarbeitungsschritte, die von den Daten nacheinander durchlaufen werden. Im einfachsten Fall kann man mit Verabeitungsschritten f, g und h man so etwas machen wie (Pseudocode): for x in input_data { y = h(g(f(x)); store_partial_result(y); } Das stimmt, wenn die Datenmengen jeweils übereinstimmen. Häufig ist aber in der Praxis der Fall, …
Non-Blocking I/O
In Posix-Systemen (Linux, Unix, MacOS X,…) basieren die I/O-Operationen hauptsächlich auf den Systemaufrufen read(..) und write(..). Die meisten anderen I/O-Operationen lassen sich darauf zurückführen und auch I/O von anderen Programmiersprachen als C dürfte letztlich indirekt zu read() und write() führen. read() ist eine Funktion, die einen (numerischen) Filedeskriptor, einen Pointer auf einen hinreichend großen Speicherbereich …
MoSQL
Bei einem Meetup-Treffen in Zürich wurde ein neues Backend für mysql-Datenbanken vorgestellt, das die Skalierung erleichtern soll: MoSQL Zur Zeit wird daran noch entwickelt, aber man kann Vorabversionen schon testen. Nun stellt sich die Frage, ob man so etwas braucht, weil die meisten mysql-Installationen ja klein sind und für größere Datenbanken PostgreSQL, Oracle, DB2 etc. …
Ist Ruby funktional
Wenn die Liste der funktionalen Sprachen erstellt wird, dann tauchen Haskell, Scala, Erlang, F#, Clojure und einige andere Lisp-Varianten auf. Wenn man sich anschaut, welche Merkmale funktionale Sprachen auszeichnen, dann stellt sich die Frage, ob das nicht alles mit Ruby auch machbar ist. Schauen wir einmal was man so typischerweise findet, meist auf Englisch: Functions …
Zufällige Zeichenkette erzeugen
Oft braucht man so eine zufällige Zeichenkette, die nur aus bestimmten Zeichen bestehen darf. Hier ist eine einfache Ruby-implementierung dafür: #!/usr/bin/ruby arr = (‚a’…’z‘).to_a + (‚A’…’Z‘).to_a + (‚0’…’9‘).to_a + [‚.‘, ‚/‘] val = (0..16).inject(„“) do |a, x| i = (arr.size() * rand()).to_i;a + arr[i] end puts val Es wird eine 16-Zeichen lange Zeichenkette generiert, die …
Jolla Mobiltelefon
Bekanntlich hat sich die Firma Nokia erst aus ihren eigenen Entwicklungen bezüglich Mobiltelefonsoftware und später auch aus dem zugehörigen Hardwaregeschäft zurückgezogen und erlaubt einer Nordamerikanischen Firma für eine gewisse Zeit, ihre Telefone mit „Nokia“ zu benennen, etwa so wie für die Autofans „Volvo“ auf Autos steht, die sicher nicht von der seit vielen Jahren auf …
Laptopnetzteile
Bei Mobiltelefonen hat es endlich geklappt, dass alle Telefone denselben Anschluss für USB-Kabel und Ladegerät unterstützen. Fast alle, nämlich genaugenommen alle außer Apple. Aber die überwältigende Mehrheit der Mobiltelefone hat denselben Anschluss und funktioniert mit denselben Ladegeräten. So etwas wäre bei Laptops auch schön. Tatsache ist aber, dass jeder Hersteller eine Vielfalt von Modellen hat, …
Scala Days in Berlin 2014
English Am 16., 17. und 18. Juni 2014 war ich bei der Konferenz „Scala Days“ in Berlin. Wie so oft bei diesen Veranstaltungen gibt es einen Haufen Vorträge, in diesem Fall bis auf die jeweilige „Keynote“ jeweils vier gleichzeitig. Das Veranstaltungslokal war wie bei der Devoxx in Antwerpen ein Kino, allerdings in diesem Fall schon …