Online Kurs zu Hardware Verifikation

Seit einiger Zeit sprießen ja an allen Ecken und Enden des Internets Anbieter von sogenannten Massive Open Online Courses (MOOC) aus dem Boden. Damit sind Online Kurse mit (theoretisch) unbegrenzter Teilnehmerzahl (siehe Wikipedia) gemeint. Viele davon widmen sich technischen Themen wie Softwareentwicklung und sind oft an Kursen real existierender Unis angelehnt. Ein Kurs wie “CS101 – Introduction to Computer Science” wird zB. von vielen dieser Anbieter angeboten.

Einer dieser Anbieter ist Udacity, ein Unternehmen, welches durch den deutschstämmigen Google-Vize und Ex-Stanford Professor Sebastian Thrun mitbegründet wurde. Vorletztes Jahr habe ich dort den oben genannten Kurs (Intro to Computer Science) angefangen – und bis jetzt noch nicht fertig gestellt ;) Damals war das Angebot noch komplett gratis, mittlerweile muss man für diverse Features Geld bezahlen.

Worauf ich aber in diesem Artikel hinaus will: Bei Udacity wird auch ein Kurs über die Verifikation von Hardware angeboten: Functional Hardware Verification. Falls ihr euch also ein wenig dafür interessiert, was ich auf Arbeit so treibe, da könnt ihr einen Einblick gewinnen. Auch wenn wir andere Umgebungen und Sprachen benutzen, die grundlegenden Prinzipien werden in dem Kurs ganz gut dargestellt und behandelt. Da ich mit dem Thema auch schon etwas vertraut bin, komme ich mit dem Kurs auch schneller voran. Ich habe mich mittlerweile bis in Lesson 7 von 9 durchgekämpft :D

Posted in: Technik

Manche Dinge ändern sich eben nie

Ein ereignisreiches Wochenende liegt hinter uns. Der ESC wurde von Herrn Wurst gewonnen … Dynamo ist abgestiegen … Bayern ist deutscher Meister im Männerfussball … am Sonntag wurde Millionen Müttern von ihren Kindern Danke gesagt. Das Alles ändert jedoch keineswegs etwas daran, dass die Feierabendsrunde mit dem Rad eine der Sachen ist, auf die man sich jeden (Arbeits)tag immer wieder freut. Und das völlig zurecht :D

2014_05_12_feierabendrunde

Posted in: Allgemein

Neues Spielzeug :D

Heute ist das Ergebnis meines ersten bei Kickstarter mitfinanzierten Projektes eingetroffen. Es handelt sich um den DSLogic von DreamSourceLab, eine Art Logikanalysator auf FPGA Basis. Das Gerät habe ich Anfang diesen Jahres “erworben”, nachdem die Kampagne bei Kickstarter bereits erfolgreich finanziert war. Darüber hinaus wurden drei Stretch Goals erreicht, das bedeutet ein neuerer größerer FPGA, mehr RAM und ein schönes Alugehäuse :-) Die OSX Version der Software kann leider noch nicht mit dem Gerät kommunizieren, deshalb stehen zunächst Tests mit meinem Linuxsystem an. Ich bin gespannt :)

DSLogic von DreamSourceLab

DSLogic von DreamSourceLab

Posted in: Technik

Maibegrüßung

Auch der Mai sollte mit einer Radtour begrüßt werden. Letztens hatte ich bereits Hrensko besucht, so weit sollte es heute aufgrund des recht ordentlichen Windes nicht gehen. Mit einem Freund führte die Tour bis Königstein, von da zurück nach Rathen, wo mit der Fähre auf die andere Elbseite übergesetzt wurde. In Wehlen speisten wir (nicht zum ersten Mal) bei Pasta Lucia, inkl. Hefeweizen und Espresso :D Danach ging es zurück nach Dresden, insgesamt waren es um die 90 Kilometer. Das muss für heute reichen ;)

Vor der Bastei in Rathen

Vor der Bastei in Rathen

Posted in: Allgemein

Ein schönes Maiwochenende …

… wünsche ich den treuen, aufmerksamen Lesern meines Blogs. Das Wetter stellt sich leicht durchwachsen dar, was natürlich trotzdem niemanden von Aktivitäten an der frischen Luft abhalten sollte. Grillen zum Beispiel … oder Radfahren.

Das Bild selber ist während des Osterspaziergangs letztens entstanden :D

2014_04_20_osterspaziergang

Posted in: Allgemein

neues Rad – neues Glück

Den Blick dürftet ihr als Leser meines Blogs bereits kennen, die Emmauskirche in Altkaditz, die direkt am Elberadweg liegt. Diesmal lehnt ein anderes Rad an der Friedhofsmauer: mein neu aufgebautes Eingangrad, welchem ich einen neuen Rahmen von Merileth spendiert habe :) Viele Teile konnte ich vom alten Rad übernehmen, einige wurden gegen neue oder bereits auf Lager liegende Teile ausgetauscht. In den knapp 3 Wochen seit Aufbau des Rades bin ich damit bereits mehr als 500km gefahren. Es fühlt sich gut an, wie wahrscheinlich jedes “neue” Rad :)

Mit dem SSP in Altkaditz

Posted in: Allgemein, Sport

Roggen-Weizen aus dem ‘Craft Beer Store’

Heute war ich seit geraumer Zeit mal wieder im ‘Craft Beer Store’ um ein wenig in dessen Bierspezialitäten zu schmökern. Mitgenommen habe ich Herrljunga Apfel-Cider, Pale Ale von Sierra Nevada und ein Roggen-Weizen von Störtebeker. Letzteres habe ich mir vorhin zu Gemüte geführt und für gut befunden. Prost!

stoertebeker_weizen.jpg

Posted in: Allgemein

lecker Weizen aus dem ‘Craft Beer Store’

Beim Besorgen von Weihnachtsgeschenken bin ich heute bei dem letztens neu eröffneten ‘Craft Beer Store’ auf der Görlitzer Straße vorbeigekommen. Das Geschäft ist wohl ein Franchise des Originals aus Hamburg.

Auf dem Rückweg musste ich dem Laden dann natürlich noch einen Besuch abstatten ;) Dort sind an die 180 ausgesuchte Biersorten erhältlich, dabei wird Wert darauf gelegt, dass es sich nicht um sogenanntes Industriebier, sondern um Erzeugnisse kleiner Brauereien handelt. Inwieweit das für alle der im Store erhältlichen Biere zutrifft kann ich nicht beurteilen, mir kam zumindestens kaum eine Biersorte bekannt vor. Ich habe mir zwei Weizenbiere eingepackt, ein Schneiders Weisse und und Hefeweizen der Gutmann Brauerei.

PC211059

Letzteres steht eben auf meinem Schreibtisch und schmeckt ziemlich lecker. Ich glaube, den Craft Beer Store werde ich noch öfters besuchen :)

Posted in: Allgemein

Strato Powerweb: Flask Webframework einrichten

Für ein kommendes Projekt möchte ich Flask, ein Python Webframework einsetzen. Während der (lokalen) Entwicklung kann man den eingebauten Webserver von Flask benutzen, später soll es dann aber auf dem Powerweb Account bei Strato laufen. Dort ist ja leider nix mit der Installation des Paketes über pip. Also muss man selber Hand anlegen: Man lädt sich alle benötigten Pakete herunter, die da wären:

Die Pakete auspacken und unter einem Ordner (zB. flask-test) ablegen, den man unter cgi-bin anlegt. Alle Pakete ausser itsdangerous enthalten jeweils einen Ordner, der wie das Paket selber heißt, nur dieser ist nötig. Aus dem Paket itsdangerous wird nur die Datei itsdangerous.py gebraucht, die man im Grundordner unseres Tests (flask-test) ablegt.

Dann nimmt man sich einfach das Hello World Beispiel der Flask Dokumentation heran und erstellt damit ein hello_world.py File im flask-test Ordner. Außerdem das *.cgi Script aus der Flask Dokumentation zu CGI. In diesem muss in unserem Fall yourapplication durch hello_world ersetzt werden. Zu guter Letzt legen wir noch eine .htaccess Datei in dem flask-test Ordner ab. Diese entspricht auch dem Beispiel in der CGI-Dokumentation, man sollte nur den Kommentar in der zweiten Zeile weglassen und den Namen des CGI Scripts anpassen:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ test.cgi/$1 [L]

 
Die Ordnerstruktur dürfte nun so aussehen:
flask_ordner

Wenn man das alles beherzigt, sollte nun beim Aufruf des flask-test Ordners folgende Ausgabe erscheinen:

Hello World!

 
Voilá :)

Posted in: Technik

Strato Powerweb: einfache Apache Optimierung

Um die Auslieferung einer Webseite zu optimieren, kann man dem Webserver, in unserem Fall Apache, einige nützliche Vorgaben machen. Dazu werden Einstellungen in der .htaccess Datei vorgenommen, die im Wurzelverzeichnis der Webseite liegen sollte. Wenn nicht, dann legt man sie einfach an. Das kann man auch über die Verwaltung des Webauftrittes im Kundenbereich bei Strato tun. Ich habe im Moment drei Vorgaben gemacht:

 

Komprimierung aktivieren:

mod_gzip_on Yes

Mit dem mod_gzip Modul werden die Dateien vor der Auslieferung komprimiert. Vorteil: Die Menge zu übertragender Daten sinkt teilweise beträchtlich. Sourcecode wie *.html oder *.js Dateien können sehr gut, Bilder so gut wie gar nicht komprimiert werden. Letztere sind ja oft bereits komprimiert als *.jpg oder *.png.

 

Client caching:

# turn on the module for this directory
ExpiresActive on
# set default
ExpiresDefault "access plus 24 hours"
# graphics
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
# css may change a bit sometimes
ExpiresByType text/css "access plus 1 week"
# cache other filetypes
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"

Mit ExpiresActive wird das mod_expires Modul aktiviert, danach wird mit ExpiresDefault ein Standardwert für alle Dateien festgelegt. Mit den ExpiresByType Zeilen wird dann für ausgewählte Dateitypen ein eigener Wert festgelegt. Dabei legt dieser immer fest, wie lange die Dateien nicht neu geladen werden müssen. Das heißt im Prinzip, wie lange sie nicht geändert werden. Mehr dazu in der Apache Dokumentation.

 

Character Set einstellen:

# set charset
AddDefaultCharset UTF-8

Das sagt dem Apache Server, dass er alle (Text-)Files in UTF-8 Codierung ausliefern soll. Dazu sollten diese dann aber auch UTF-8 codiert sein.

Zum Prüfen meiner Seite habe ich den Test von webpagetest.org benutzt. Der gibt auch noch viele weitere gute Hinweise zur Verbesserung eurer Webseite :)

Posted in: Technik