BenBE's humble thoughts Thoughts the world doesn't need yet …

22.04.2012

Polen am Bau

Filed under: Fun — Schlagwörter: , , — BenBE @ 01:10:30

Wer kennt das nicht: Wieder einmal ist der Abfluss verstopft und die Küche könnte auch einmal einen neuen Anstrich vertragen. Nunja: Alles kein Problem!

http://www.youtube.com/watch?v=NxWNQ2paWO4&feature=related

Also viel Spaß beim nächsten Ruf der Handwerker!

Direkt zum Beitrag

Flattr this!

15.04.2012

DCPU-16 highlighting

Filed under: GeSHi — Schlagwörter: , , , — BenBE @ 00:55:54

Not quite 0x0001 0000 0000 0000 years since the last post in this category but still long enough to justify emitting a new sign that there’s still some developement going on with GeSHi. And it’s quite a coincidence that Markus „Notch“ Persson is taking over GitHub with its own new language now being highlighted. And since most assembly languages are quite easy to highlight it’s only natural to add support for highlighting of this new language for GeSHi.

So there it is: After only about 10 minutes looking at the language specs the basic structure looked simple enough and since GeSHi already supported a bunch of different assembly languages it’s only natural to use another one of them as the template. In this case I decided go for Z80 assembly as the ZiLOG Z80 instruction set is quite simple and still the language file was elaborate enough to support all the features required by Notch’s new assembly language. Actually: I even could remove some features not required to properly highlight DCPU-16.

After a short clean-up of the language file – removing all the old instructions, registers and directives – it took only few more steps to fill in the list of supported instructions: In the case of the DCPU-16 instruction set this is a quite small set of only 16 instructions, 11 registers and 3 „memory shortcuts“. Thus there was not that much to copy from the specs, althoug the example given there looks quite nice when rendered with this new language file:

; Try some basic stuff
              SET A, 0x30              ; 7c01 0030
              SET [0x1000], 0x20       ; 7de1 1000 0020
              SUB A, [0x1000]          ; 7803 1000
              IFN A, 0x10              ; c00d 
                 SET PC, crash         ; 7dc1 001a [*]
 
; Do a loopy thing
              SET I, 10                ; a861
              SET A, 0x2000            ; 7c01 2000
:loop         SET [0x2000+I], [A]      ; 2161 2000
              SUB I, 1                 ; 8463
              IFN I, 0                 ; 806d
                 SET PC, loop          ; 7dc1 000d [*]
 
; Call a subroutine
              SET X, 0x4               ; 9031
              JSR testsub              ; 7c10 0018 [*]
              SET PC, crash            ; 7dc1 001a [*]

Text für „DCPU-16 highlighting“ anzeigen
Direkt zum Beitrag

Flattr this!

29.03.2012

Nicht verfügbar

Filed under: Fun — Schlagwörter: , , — BenBE @ 19:00:19

Manchmal sieht man solch eine Meldung gerne:

Diese Partei ist in deinem Bundesland nicht verfügbar. Das tut uns leid.

Ach ja, wäre noch zu klären: „Ist die FDP noch im Landtag?“ Fragt sich nur wie lange noch.

(via)

Direkt zum Beitrag

Flattr this!

25.02.2012

Printer Music

Filed under: Fun — Schlagwörter: , , , — BenBE @ 21:12:36

Hier mal die Laufschrift auf dem kleinen Display am unteren Rand, da die doch an einigen Stellen recht schnell durchscrollt:

Loading …

Welcome to this oldskool demo presented at DreamHack Winter 2002 in Elmia. Jönkoping, Sweden.

The hardware you see is an old typewriter from the mid 80’s (probably 1985) called Brother BP-30.

Text für „Printer Music“ anzeigen
Direkt zum Beitrag

Flattr this!

29.01.2012

Cat Desk Bed

Filed under: Fun — Schlagwörter: , , — BenBE @ 16:28:18

Für manche Probleme, wie etwa die Beziehung von Katzen zur eigenen Tastatur:

Its very hard to code with one hand and pet a cat who is half on your keyboard w/ the other. I need Dan to come home, take care of the kids.

gibt es ganz einfache Lösungen:

You need the cat desk bed! (of course, cat won’t use it anyway)

(via hier und Twitter)

Direkt zum Beitrag

Flattr this!

28.09.2011

Überblick über Projektaktivität gewinnen

Filed under: Software — Schlagwörter: , , , , — BenBE @ 22:13:15

Manchmal hat man ein Projekt, von dem man gerne wissen möchte, ob noch aktiv an diesem entwickelt wird. Aber nicht immer sind entsprechende Grafiken mit aussagekräftigen Zahlen verfügbar. Eine recht einfache Möglichkeit, dennoch einen Überblick zu bekommen, ist ein Blick in die Commit Logs des Projektes. Wenn diese viel Aktivität zeigen, ist ein Projekt mit sehr hoher Wahrscheinlichkeit noch aktiv. Aber stupide Datumswerte sind oftmals recht schwer zu überblicken. Etwas mehr Grafik wäre hier wünschenswert. Und genau hier kann man mit etwas Bash Magic und ein wenig RRDTool nachhelfen.

Text für „Überblick über Projektaktivität gewinnen“ anzeigen
Direkt zum Beitrag

Flattr this!

04.09.2011

Neue Türen für alte Züge

Filed under: Fun — Schlagwörter: , — BenBE @ 21:50:10

Graffiti sind immer wieder ein Ärgernis für das Stadtbild. Während man häufig nur irgendwelche Schmierereien mit wenigsagendem Inhalt findet, gibt es doch auch hin und wieder einmal die Künstler unter den Leuten mit der Sprayflasche. So geschehen mit einem Zug der deutschen Bahn in München, bei dem der äußere Anstrich etwas korrigiert wurde:

Die Tür ist nicht, wo sie scheint

Na, wo würden Sie einsteigen? Na? Die richtige Antwortet lautet hier: Bei den schmalen Doppelfenstern. Wie? Schauen wir doch einmal aus einer etwas anderen Perspektive auf die Dinge:

Bei genauerem Hingucken ist die virtuelle Tür erkennbar

Sollte auch dieser Blick noch nicht beim Einsteigen helfen, sollte man sich die vermeintliche Tür einmal aus nächster Nähe betrachten, denn diese ist in sich ein wahres Meisterwerk!

Text für „Neue Türen für alte Züge“ anzeigen
Direkt zum Beitrag

Flattr this!

03.09.2011

Technische Notwendigkeit

Filed under: Server — Schlagwörter: , , , , , — BenBE @ 02:50:29

Ich habe mir da einen neuen Server geholt und eine der Sachen war nun, dass abzusehen war, dass mehrere der zu installierenden Dienste sich ins Gehege kommen würden. Also grob gesagt: Es gab 3 Dienste, die liebend gerne auf Port 53 laufen wollen. Nun sind IPv4-Adressen knapp und der neue Hoster achtet etwas strenger drauf, wofür man die haben möchte. Da ich aber wenig Lust auf irgendwelche Sonderkonfigurationen hatte, um jeden Service auf einem andere Port zu betreiben und am Ende alles irgendwie zu verdrahten, habe ich mir also überlegt:

  • Auf der Haupt-IP des Servers wird der gesamte Web-Krams, sowie Public-Services laufen. Hier läuft auch der erste der konfliktierenden Services: Ein offener DNS-Recursor, den jedermann als DNS-Server in seinem Router eintragen kann. Soweit unspannend also.
  • Die erste spannende Geschichte läuft nun auf der ersten Zusatz-IP. Diese beherbergt (zur Zeit) einen autoritiven DNS-Server, der auf eine Reihe von meinen eigenen Zonen autoritiv antwortet, was u.a. meine Blacklist für Client-IPs betrifft, die über meinen Mailserver relayn wollten.
  • Und bei der zweiten zusätzlichen IP schließlich laufen eine Reihe von VPN-Dienste, die in Kooperation mit dem Freifunk Chemnitz bereitgestellt werden.

Man geht also beim Provider in das Webinterface und bestellt über das verfügbare Interface die IPs. Als Teil dieser Prozedur wird dann auch bereits nach einer Begründung gefragt. Was aber noch nicht verraten wird, ist die Angabe, um welches der zahlreichen RIPE-Dokumente es sich bei den erwähnten Vergabe-Richtlinien handelt, anhand derer die Vergabe entschieden wird.

Text für „Technische Notwendigkeit“ anzeigen
Direkt zum Beitrag

Flattr this!

24.08.2011

Schleifchen erwartet

Filed under: Software — Schlagwörter: , , , — BenBE @ 12:30:50

Unter der Kategorie Kuriositäten kann man glaube folgenden GCC-Bug abhandeln, der bei mir mit folgendem Source auftrat:

        // Run the job we've taken
        if(cleanup_func) {
            pthread_cleanup_push(cleanup_func, cleanup_arg);
        }
 
        job_func(job_arg); 
        if(cleanup_func) {
            pthread_cleanup_pop(1);
        }

Wobei job_func ein normaler Callback-Typ der Form

typedef void (* dispatch_func_t)(void *);

ist, also einen Pointer entgegen nimmt und nix zurückliefert. Nunja. Versucht man obigen Source (im Zusammenhang mit etwas mehr Source eines Thread-Pools zu compilieren, erhält man recht überraschend eine Fehlermeldung vom GCC (4.6.1-4):

Text für „Schleifchen erwartet“ anzeigen
Direkt zum Beitrag

Flattr this!

02.08.2011

FizzBuzz BrainFuck

Filed under: Fun,GeSHi — Schlagwörter: , , — BenBE @ 01:17:35

Well yeah, after some nasty person dropped a link about why programmers are so bad at programming I somehow got to have a look at the Rosetta Code project’s site detailling this task and found (not to my surprise) that noone had solved that task — yet! So I sat down and implemented it. Usually this task should take you only about a few minutes but since I hardly ever programm anything in BrainFuck it took me roughly 45 minutes to complete. But well: Here’s the result (Beware: Ugly code)!

Text für „FizzBuzz BrainFuck“ anzeigen
Direkt zum Beitrag

Flattr this!

« Newer PostsOlder Posts »

Powered by WordPress