Kategorie: Coden

Bitlove – The Return

Ich hab eigentlich nicht so viel mit der Demo Scene am Hut. So Anfang der 2000er habe ich zwar immer kleinere Berichte darüber gelesen und wollte da unbedingt mal hin, aber leider hab ich es dann nie geschafft. Jetzt im Rahmen der GPN Demo Nachlese bin ich wieder auf den Geschmack gekommen. Zwar werde ich trotzdem nie eine eine eigene Demo erstellen können, aber teilweise ist es einfach sehr schön anzusehen und vor allem mit sehr tollen Effekten.

Die Einladung zur Revision 2016 war ein kleiner Seitenhieb auf die ganzen Java Entwickler und allein deshalb ist es schon cool:

Neue Gruppe im JFZ Calw: „Smart Tree House Lock“ (STH)

Nachdem ich Anfang 2014 mal die Idee für einen eigenen Hackerspace hier veröffentlicht habe, hat sich doch etwas getan. Ich hatte dann relativ schnell die damals noch lose MvLG Robotik Gruppe im JFZ besucht. Sie haben gleich zu Anfang schon einen 3D Drucker gebaut und mit Processing programmiert. Heute ist daraus der C-Hack entstanden. Die erste HPN (in Anlehnung an die GPN = Gulasch Programmier Nacht, also Hackfleisch Programmier Nacht) steht noch aus. Aber vielleicht haben die Leute in naher Zukunft mal Bock darauf.
Nachdem mir dann immer ein konkretes Projekt gefehlt hat, bin ich Anfang 2015 in das Baumhausprojekt eingestiegen und habe dabei angefangen ein elektronisches Schloss zu entwickeln. Nachdem ich dabei mehr oder weniger fast ein ganzes Jahr lang größtenteils in Eigenregie (mit Hilfe in Form von Relais) immer auf den letzten Metern versagt habe, wurde es einmal Zeit Hilfe in Form von weiteren Mitstreitern zu holen. Coden kann ich ja relativ gut. Der C-Dialekt von Arduino ist zwar immer noch gewöhnungsbedürftig. Aber mit Erfahrung aus der Berufschule und etwas Objekt Orientierung in C# geht das schon. Sonst wäre die reine Referenz von Arduino doch etwas mager.
Mein Problem lag hauptsächlich in der Verdrahtung der Teile. Bisher hab ich immer ein Relais Modul verwendet, welches nach Eingabe des richtigen Code geöffnet hat. Das Problem war eben, dass es nach 2 bis 3 erfolgreichen Versuchen das LCD komische Zeichen angezeigt hat und damit unbrauchbar war.

Ohmsches GesetzSchaltungDoch nun haben wir in unserer Anfang Februar 2016 eine neue Gruppe gegründet. Die „Smart Tree House Lock“ Gruppe (kurz: STH). Unser Ziel ist erstmal das elektronische Schloss fürs Baumhaus fertig zu bekommen und später insgesamt kleinere bis große Smart Home Elemente am Baumhaus zu erforschen und vielleicht auch einzubauen. Das schöne an unserer Gruppe, dass wir neben Schülern auch einen ehemaligen Elektrotechnik Ausbilder gewonnen haben. Der hat dann schon beim ersten Treffen die Idee auf eine MOSFET Schaltung gebracht. Davon hatte ich zwar auch immer schon was gelesen und gehört, aber nie richtig verstanden. Zuviele Widerstände und Kondensatoren. Nach der Erklärung letzte Woche war es aber dann doch relativ logisch. Es ist eigentlich nur ein besserer Transistor, welcher den Strom steuert. Und plötzlich ging die Schaltung völlig problemlos. Jetzt werden wir uns diese Woche noch die Schaltung auf eine Lochraster Platinen löten um sie dann am Baumhaus passend einzubauen. Dann können wir in Zukunft recht einfach per Code Eingabe unser Schloss öffnen.
Natürlich ist das aus Sicherheitssicht nicht unbedingt sicher, vor allem wenn der Code vom Datum abgeleitet wird. Aber im Zweifel wird der Einbrecher das Schloss mit physischer Gewalt öffnen und eher weniger den Code manuell eingeben. Aber in Anlehnung an die PIN Eingabe bei Bankkarten gibt es auch immer eine gewisse Sperre, wie schnell man den Code wieder eingeben kann. Es ist auch erst unser erster funktionsfähiger Prototyp. Später kommen noch Reed Kontakte und das SMS Modul zur Benachrichtigung von Sabotage Versuchen hinzu.

Na Lust bekommen?
Wir treffen uns immer Donnerstags von 19Uhr bis 21Uhr im JFZ Calw. Komm doch einfach mal vorbei.

Eigene Homepage, Mailingliste oder vielleicht sogar IRC Channel folgen bei Gelegenheit!

Programming in a Nutshell

Programmierung ist tatsächlich immer so und nichts für zarte Gemüter:
comics-threepanelsoul-programmer-job-653145

Aber genau wegen dem Bild in der Mitte und mit der Gewissheit, dass man am Ende auch das Bild in der Mitte erreichen wird, macht es doch meistens Freude!

Via Daddy Warpig

The Perl Jam 1 und 2

Weil mir jemand eine Mail zu einem sehr alten Beitrag mit einem Link zu einer Perl Seite geschickt hat, eben noch dieser Beitrag zu den Perl Jam Videos.

Auf dem Congress wurden 2014 und 2015 zwei lustige Talks gehalten:

The Perl Jam

The Perl Jam 2 – The Camel Strikes Back

Ich bin ja nun kein Perl Entwickler. Mich hätte es damals nur gereizt um selbst mal solchen Code zu fabrizieren. Aber nachdem ich nun selbst lange Jahre als Admin arbeite, hätte ich dann doch auch meine Bedenken diesen Code dann auch mal auszuführen. Da kann man ja gar nicht mehr erkennen, was der Code eigentlich macht. Löscht er die Festplatte? Schickt er ein Selfie von der Webcam zu Facebook oder schreibt er einfach nur „Wer das ausführt ist doof!“ in die Shell.

Andererseits bin ich ja nicht nur leidgeprüfter Windows Admin, sondern auch ein mehr oder weniger erfahrener Programmierer. Angefangen hat alles mal mit einem Programm in VB.NET. Das sollte nur so einfache Dinge machen, wie den Lagerbestand prüfen, schauen ob andere Aufträge vorher den Bestand aufbrauchen und wenn es dann immer noch lieferbar ist, schick eine Mail raus. Ganz einfach nur nur 1300 Zeilen herrlichen VB.NET Code. Ganz ohne Objekt Orientierung.
Wir haben damals in der Berufschule eben noch C gelernt und als es dann um Objekt Orientierung ging, war die Ausbildung auch schon zu Ende. Dafür habe ich die Grundsätze wie Schleifen, If-Else, Switch und Variablen Zuweisen trotzdem gut in VB.NET übernehmen können. Wenn ich das Programm heute nochmal frisch schreiben würde, wäre der Code deutlich auf mehr Dateien verteilt und vor allem in Klassen aufgeteilt. Denn manche von diesen 1300 Zeilen sind auch doppelt, weil sie in manchen Funktionen eben doppelt vorkommen.
Tja viele Jahre später ist man eben schlauer.

Aber was bei bei Perl so abgeht, dass die Funktionen eben komplett andere Werte ausgeben als es üblich ist macht die Sache nicht besser. Genau deshalb rate ich eben jedem Programmieranfänger erstmal von Perl ab. Zumindest Perl 5 auf die sich die Talks beziehen.

Andererseits ist Perl auch toll, weil es sowas wie Regex hervorgebracht hat. Das hab ich damals anno 2010 auch mal probiert, aber leider (oder vielleicht auch glücklicherweise? ) zum Einsatz bringen können.

Wer Programmieren lernen will schnappt sich eben ein Buch und lernt Python. Das kann man später auch noch gut gebrauchen. Wer was blinken sehen will, schnappt sich eben einen Arduino und lernt ein bisschen C dabei.

Oder macht es wie ich: In der Schule C lernen, dann auf der Arbeit mit VB.NET weitermachen und später ein Buch über C# holen und endlich die Objekt Orientierung lernen. Klassen und Methoden sind toll und ich freue mich, dass ich es endlich mal kapiere!
Für Arduino muss man sich davon aber wieder verabschieden, da ein Mikrocontroller eben nur 32kb zur Verfügung hat. Was aber auch erstmal reicht für den Anfang.

Und zu Perl: Wenn ihr es nicht unbedingt braucht, lasst es! Fürs Web Backend nimmt man heute eher PHP (naja auch eine lausige Sprache und mit jedem Release sind alte Versionen inkompatibel) oder JavaScript (jo ist mir auch irgendwie zu komplex). Aber Perl hab ich bei mir noch nie gesehen!

Visual Studio Code – interessanter Editor

vscodeWer kennt das nicht. Man möchte etwas programmieren und benötigt dazu einen guten Editor für Syntax Highlighting und im Idealfall sogar Autocompletion. Leute die unter Windows auf .NET entwickeln greifen dazu oft zu Visual Studio (Express oder andere Editionen). Für normale Dinge reicht oft auch Notepad++, er leistet einen guten Beitrag zum Syntax Highlighting.

Visual Studio Code will aber noch viel einfacher sein. Mit einer Ordnerliste, Git Support, Syntax Highlighting und die gewohnte IntelliSense (Autocompletion) Technologie. Ich muss sagen: Es sieht schon sehr nett aus, aber die Version 0.9.2 ist noch nicht komplett bugfrei. Mir ist der Editor beim Öffnen eines ganzen Ordner (xtcommerce Installation) auch schon mal abgestürzt.
Ansonsten ist es aber schon ganz gut brauchbar und auf jeden Fall einen Versuch wert.

//Update: 20.11.2015 Um Visual Studio Code unter Linux zum Laufen zu bekommen, hilft es folgende Anleitung zu benutzen. Der Link zur ZIP Datei für Linux ändert sich scheinbar immer mal wieder. Daher am besten hier nachschauen.