ProxTube

Tja, wie hassen wir es. Wie möchten wir jedes Mal jemanden töten, wenn wir es sehen. Sicher, es kennt jeder von euch das leidliche Problem. Sicher, es findet jeder von euch das Ganze  genauso verdammt bescheuert wie ich.
Über was ich rede?
Haha, über das:

Es gibt ja viele Lösungen dafür, aber irgendwie ist mir bisher noch keine untergekommen, die zuverlässig funktioniert. Bis Jetzt. Denn nun habe ich… ProxTube!

Vor gut zwei Wochen habe ich das Plugin ProxTube in meinem Browser (aktuell Chrome, aber auch für Firefox verfügbar) installiert und bin begeisert. Jedes mal, wenn man ein gesperrtes Video anschauen will, sieht man kurz die Fehler-Meldung, dann springt ProxTube ein, und macht das Video verfügbar :) Noch dazu sieht man die Videos dann nicht in einer verabscheuungswürdigen Qualität wie mit hidemyass.com und Konsorten sondern schön schön scharf und klar. Was mir dazu einfällt?

IN YOUR FACE,

GEMA!!!

Also dann, runterladen, installieren und Videos anschauen. Alle, schnell, einfach, effektiv und die GEMA und sonst wer, hat eben mal Pech :)

 

Getaggt mit ,

State Machine Compiler

Heute wirds mal wieder technisch Und zwar mit dem ganz ganz feinen Etwas namens
“State Machine Compiler”.

Jeder hat sicherlich schonmal etwas mit endlichen Automaten zu gehabt oder zumindest davon gehört, und findet sie hoffentlich ähnlich schön einfach und logisch wie ich :) ^

Leider sind diese schönen Konzepte umständlich und fehleranfällig zu programmieren – hier kommt der SMC ins Spiel. Mit Hilfe dieses Compiler erstellt man ganz locker eine .sm-Datei, deren Konzept einfach zu verstehen ist. Dort gibt man seine States, verschiedene Transistions, Events, Actions, Guards und so weiter in “einfachem” Code an. Der Compiler generiert dann den ausführbaren Code. Und das gute ist: Die Ausgabe kann in sehr vielen Sprachen erfolgen. C, Python, Lua, Ruby, Java uvm.
Das Schema seiner FSM kann man sich dann auch noch graphisch ausgeben lassen. Auch sehr schön.

So würde die *.sm eines FSM mit zwei Transitions (einmal von Run zu Running und einmal von Run zu Run), Guards und Actions aussehen:

// State 
Idle 
{ 
    // Transition 
    Run(msg: const Message&) 
    // Guard condition 
    [msg.isValid()] 
    // Next State 
    Running 
    // Actions 
{ 
    StopTimer("Idle"); 
    DoWork(msg); 
} 
    Run(msg: const Message&) 
    // Next State Actions 
    Idle  { RejectRequest(msg); } 
}

Das Codegerüst der FSM wird dann vom Compiler generiert und die Methoden müssen mit Funktionen gefüllt werden. Einfach? Ja. Cool? Ja. Give it a try!

Mehr Infos gibts hier:
http://smc.sourceforge.net
http://de.wikipedia.org/wiki/Endlicher_Automat


				
Getaggt mit