Jahresausklang 2015

Das Jahr 2015 war privat wie auch beruflich ziemlich ereignisreich, weshalb bei der Grund-Wissen-Seite weniger Inhalte dazukamen als in den vorherigen Jahren. Neu ist das C-Tutorial, an den anderen Projekten kamen lediglich einige neue Abschnitte hinzu. Dafür ist der Quellcode zu den einzelnen Dokumentationen nun jeweils gesammelt und stets aktuell unter folgendem Github-Repository abrufbar:

https://github.com/grund-wissen

Wird der Quellcode beispielsweise als .zip-Datei heruntergeladen und entpackt, so kann, wie im Sphinx-Tutorial beschrieben, einfach eine lokale Kopie der einzelnen Dokumentationen erstellt werden. Eigene Änderungen oder Ergänzungen können gegebenenfalls auch gerne in die Original-Webseite aufgenommen werden. Ausdrücklich möchte ich mich an dieser Stelle auch noch für eine Vielzahl an Emails mit Korrekturhinweisen und weiteren Verbesserungshinweisen bedanken. Oder, wie schon Ogden Nash so trefflich sagte: “Das Geheimnis zum Erfolg sind Fehler, Fehler und noch mehr Fehler – aber weniger, weniger und immer weniger.”

In diesem Sinne hoffe ich, dass auch im kommenden Jahr wieder ein paar hilfreiche Beiträge dazukommen werden... :-)

Wird mal wieder Zeit..

für einen weiteren Blog-Eintrag – schließlich hat wieder ein neues Schuljahr begonnen, war für mich immer bedeutet, die in den Sommerferien gemachten Änderungen auf die Homepage zu übernehmen, die Quelltext-Archive zu aktualisieren und schließlich eine Art Jahresbilanz zu ziehen: Das Physik-Skript ist inzwischen bei über 300 Seiten, das Mathe-Skript bei ziemlich genau 200 Seiten angekommen, ich bin also ganz zufrieden. [1]

Eine wichtige Änderung hat sich bei der Benennung von Ankerpunkten (Labels) ergeben: Um die Referenzen einfacher zu gestalten, werden von nun an alle Labels ohne die bestimmten Artikel geführt; auch bestehende Labels wurden überarbeitet, um die Syntax einheitlich zu halten. So erhält beispielsweise das Kapitel “Die Lichtbrechung” neuerdings nicht Die Lichtbrechung, sondern nur Lichtbrechung als Label und kann damit mittels :ref:`Lichtbrechung <Lichtbrechung>` referenziert werden. Bitte also bestehende Intersphinx-Verlinkungen überprüfen und gegebenenfalls aktualisieren!

Dafür sind nun auch in der Druckversionen des Physik-Skripts die Überschriften der Übungsaufgaben und Versuche mit den jeweils zugehörigen Kapiteln verlinkt, momentan noch mittels etwas unschönen .. raw:: latex-Code im Quelltext. Wenn jemand hierfür eine bessere Möglichkeit kennt... bitte melden!

Ansonsten hoffe ich, dass auch in diesem Schuljahr einige weitere Ideen, Übungsaufgaben und Linux-Tips ihren Weg auf diese Homepage finden.. :-)


Anmerkungen:

[1]Hinzu kommen derzeit rund 100 Seiten Linux- und Open-Source-Tips und etwa 90 Seiten mit veganen Rezepten. Leider unverändert geblieben ist das Elektronik-Skript, dafür sind die ersten 20 Seiten mit Tips und Tricks zum Lösen von einfachen mathematischen und naturwissenschaftlichen Beispiel-Aufgaben mit Python (Sympy) sind auf der Homepage verlinkt; hier werden in diesem Jahr hoffentlich noch ein paar Seiten dazukommen...

Wiederverwertbarkeit

Naturwissenschaftler und Informatiker haben eines gemeinsam: Sie versuchen bestimmte Sachverhalte möglichst präzise beschreiben zu können. Ohne dieses Verständnis wären technische Anwendungen – “sinnvolle” wie “nicht sinnvolle” – nicht möglich.

Mich wundert ja, wie wenig nach wie vor in der Gesellschaft über freie Wissensportale und Publikationsmöglichkeiten diskutiert wird. Zur ersten Rubrik zähle ich nicht nur Wikipedia, sondern beispielsweise auch Stackoverflow. Diese Seite stellt eine sehr nützliche Sammlung von Programmier-Problemen und ihren Lösungen dar (ebenso gibt es Stackexchange für andere Fachbereiche). Solche Fundgruben können – beispielsweise in Kombination mit Sphinx und der darauf aufbauenden Dokumentations-Sammlung Readthedocs – ganze Fachbücher ersetzen.

“Klassische” Fachbücher bilden ohnehin nur einen temporären, begrenzten sowie sich oftmals überschneidenden Kenntnisstand ab und können dabei nicht ohne erhebliche Einschränkungen von Außenstehenden erweitert oder abgeändert werden. Die beide aus der Open-Source-Bewegung stammenden Projekte hingegen punkten deutlich hinsichtlich ihrer Aktualität, ihrer Zugriffsgeschwindigkeit und vor allem hinsichtlich ihrer Wiederverwertbarkeit:

  • Ein Lehrbuch, das nicht unter einer Creative-Commons-Lizenz steht, kann aufgrund des geltenden Urheberrechts nur mit erheblichen Einschränkungen als Grundlage für ein anderes Projekt dienen. Das Rad muss dadurch immer wieder neu erfunden werden, zeitaufwendige Graphiken immer wieder erneut erstellt werden. Bessere Alternativen können in diesem Bereich freie Lehrbücher und leicht wieder verwertbare SVG-Graphiken sein.
  • Auch ein freies Lehrbuch, das unter einer Creative-Commons-Lizenz steht, ist nur bedingt wiederverwertbar, sofern nicht ebenfalls der Quellcode frei verfügbar ist. Dies ist beispielsweise der Fall, wenn mathematische Formeln aufwendig neu einzugeben sind oder Graphiken in anderer Auflösung oder Farbgebung benötigt werden. Abhilfe können hier wiederum SVG-Graphiken und Quelltexte mit einer einfach wiederverwertbaren Syntax, beispielsweise RestructuredText sein.

Auch wenn beide Punkte an sich trivial klingen, so schaffen sie im Alltag viel Arbeit. Um mir diese in wenigstens einem Punkt zu erleichtern, habe ich ein kleines Shell-Skript namens pdfrm geschrieben, mit dessen Hilfe sich nicht benötigte Seiten aus PDF-Dateien schnell und einfach entfernen lassen:

# Entferne aus der angegebenen Datei die Seiten 1-20 sowie 22 und 24:
pdfrm filename.pdf 1-20 22 24

Wichtig: Von der PDF-Datei sollte man vorab eine Kopie in einem Original-Ordner anlegen, da das Skript die angegebenen Seiten direkt aus der Eingabedatei löscht. Auf diese Weise erspart man sich beim Lesen dafür das Verwalten von Notizen darüber, in welchem Buch man schon bis zu welcher Stelle gekommen ist.. ;-)

Hier ein Link zum Skript: pdfrm

Hinweis: Das Skript basiert auf Python 3 und pdftk und sollte, sofern diese Pakete installiert sind, auf allen Linux-Systemen lauffähig sein. Persönlich habe ich die Skriptdatei mit chmod +x pdfrm ausführbar gemacht und im Ordner ~/bin abgelegt, da dieser bei mir im Linux-Systempfad enthalten ist und die darin enthaltenen Programme direkt aufgerufen werden können.

Arbeit? Ferien!

Ein chinesisches Sprichwort besagt, dass man kaum mehr arbeiten müsse, wenn man nur sein Hobby zum Beruf macht. [1] Dies ist zwar etwas überspitzt formuliert, denn selbstverständlich bleiben auch dabei genügend Dinge, die getan werden müssen und körperliche wie geistige Anstrengung erfordern. Dennoch ist es sicherlich von Vorteil, wenn eine Tätigkeit und das dazugehörige Umfeld persönliche Freude bereiten: Die Motivation, auf gemeinschaftliche Weise Aufgaben anzupacken und den ebenso zum Leben gehörigen Pflichten nachzukommen, ist deutlich höher.

Seit diesem Schuljahr steht an unserer Montessori-Schule in Augsburg erstmalig keine Planung einer neuen Jahrgangsstufe an, da sie nach den erfolgreichen Abschlüssen der 9. und 10. Klasse im letzten Schuljahr nun “erwachsen” geworden ist. Damit bietet sich für das pädagogische Team nun auch die Möglichkeit, in Ruhe die bestehenden Konzepte zu überarbeiten und weiter zu entwickeln. Als kleinen Beitrag möchte ich ebenfalls die Gelegenheit nutzen und zahlreiche Ideen für weitere Unterrichtsmaterialien im naturwissenschaftlichen Fachbereich praktisch verwirklichen (nützliche Tipps dazu mag ich selbstverständlich auch auf der Grund-Wissen-Seite öffentlich zugänglich machen).

In diesem Sinne hoffe ich, dass nun – nach einem größeren Um- und Ausbau des Mathematik-Teils in den Sommerferien – vor allem wieder zusätzliche Physik-Versuche und Übungsaufgaben hinzu kommen werden. [2]

Danke, Montessori!

:-)


Anmerkungen:

[1]Das Zitat lautet übersetzt wohl “Wähle einen Beruf den du liebst, und du brauchst keinen Tag in deinem Leben mehr zu arbeiten.” und soll von Konfuzius stammen.
[2]Die Druckversion des Physik-Teils umfasst derzeit 230 Seiten, die des Mathematik-Teils 135 Seiten. Passend zum heutigen Update habe ich auch die zugehörigen Quelldateien und Bilder aktualisiert (siehe https://github.com/grund-wissen). Jede(r) Interessierte kann die Homepage hiermit mit allen Inhalten auch auf dem eigenen Computer “nachbauen” und nach eigenen Wünschen gestalten bzw. weiter entwickeln. Anleitungen hierzu versuche ich unter der Rubrik Open Source Tools aufzubauen. Es wird also nicht langweilig.. ;-)

Umzugs-Update

Trotz guter Vorsätze blieben die meisten Aktualisierungen dieser Homepage aufgrund chronischen Zeitmangels in letzter Zeit unkommentiert. Durch den Umstieg auf die neue Sphinx-Version 1.2.1b waren allerdings wieder einige gestalterische Anpassungen nötig, die einen Anlass für eine grundlegende Überholung boten, und schließlich muss an dieser Stelle ja auch unser Umzug auf’s Land (in die Nähe von Schrobenhausen) vermerkt werden.

Mal sehen, welche bzw. wie viele Inhalte in der nun baldig anstehenden Vorbereitungszeit (“Sommerferien”) neu hinzukommen werden... ;-)

Neue Runde..

Mit dem neuen Schuljahr, das schon vor einiger Zeit wieder begonnen hat, ist auch diese Projektseite in eine neue Runde gegangen. Die Ausarbeitung weiterer Inhalte orientiert sich seither und in nächster Zeit an den in unserer Montessori-Schule aktuell behandelten Themenbereichen. Der aktuelle Schwerpunkt liegt im Bereich der Elektronik – der Übersichtlichkeit halber wird ihr künftig eigenes Kapitel gewidmet werden.

Ein neuer Schritt hat sich auch strukturell ergeben. Vor etwa zwei Wochen gab jemand in der Sphinx-Mailingliste einen heißen Tip, wie man elegant jede beliebige Stelle mit Labeln versehen kann, um darauf auch von externen Seiten aus anonym verlinken zu können. Die Syntax dazu besteht aus einer Zeile .. _Label-Name: als Label und :ref:`Link-Name <Label-Name>` als Referenz darauf:

# file-01:

.. _my-label-01:

Some text here.

----------------------------------------------------

# file-02:

Here's a reference on :ref:`my label <my-label-01>`.

Graphiken in einer Figure oder Image-Umgebung sowie Tabellen in einer List Table oder CSV Table-Umgebung erlauben darüber hinaus auch die Nutzung eines Name-Attributs als Label.

Die konsequente Umsetzung dieser Syntax wird noch einige Überarbeitungs-Zeit in Anspruch nehmen. Dafür ermöglicht sie es mir, die bislang zur Gestaltung der Übungsaufgaben zum Einsatz gekommene Citation-Labels für ihren eigentlichen Zweck zu nutzen: Der Quellenangabe von Textstellen und Graphiken. Auch hier wird es einige Zeit dauern, bis alle Stellen vollständig zitiert sind – für jedes möglichst transparente Open-Source-Projekt ist dies freilich ein absolutes Muss, das jede Sekunde wert sein sollte...

Also an die Arbeit und bis bald!

Bernhard

P.S.: Obwohl ich während der Sommerferien vor allem die bestehenden Seiten nur überarbeitet und leicht ergänzt habe, hat der Umfang der Physik-Dokumentation von etwa 130 Seiten auf gut 180 Seiten zugenommen. Mittlerweile ist auch die 200-Seiten-Marke überschritten.

Leider ist der neu gestaltete Tabellen-Anhang dabei immer noch alles andere als optimal.. Tips sind gerne willkommen!

Urlaubs-Update

Nach einigen wunderschönen und erholsamen Urlaubs-Tagen auf dem Lande – mit Netbook und ohne Internet – kann ich nun einige lange aufgeschobene Überarbeitungen präsentieren. Dies betrifft in erster Linie den Mechanik-Teil (Die Kapitel “Arbeit und Energie” sowie “Bewegung”), doch auch am Wärmelehre- und am Linux-Notizen-Bereich wurden Veraenderungen vorgenommen. Das Quellcode-Archiv ist aktualisiert, einige neue Bilder sind ebenfalls dazugekommen. [1]

Ich hoffe, dass ich bis zum Schulanfang noch einige (Bilder-)Lücken insbesondere im Optik- und Wärmelehre-Bereich stopfen kann. Ansonsten wird in nächster Zeit vor allem der Bereich Elektrizität und Magnetismus weiter ausgebaut.

\pi \cdot s und schöne Grüße,

Bernhard

Anmerkung:

[1]Leider wird bei der kompakten Mercurial-Archiv-Methode die Versionsgeschichte nicht mitarchiviert. Nach einer praktikablen Lösung, diese transparent zu machen, suche ich noch.

Jubiläum!

Vor ziemlich genau einem Jahr begann die Geschichte der Grund-Wissen-Seite damit, dass ich das feine kleine Sphinx-Tool zum Generieren von HTML- und LaTeX-Quellcode aus einer einfachen Wiki-Syntax heraus entdeckt habe. Nach so etwas hatte ich bereits während des Erstellens meiner Diplomarbeit im Jahr 2009 gesucht, es damals allerdings nicht gefunden. [1]

Die ursprüngliche Idee, ein frei zugängliches, einfach durchsuchbares Online-Lehrbuch zu erstellen, hat sich inzwischen Stück für Stück als realisierbar erwiesen – insbesondere dank der mit Inkscape erstellten, beliebig skalierbaren Vektorgraphiken. Da ich die Graphiken ohnehin für meine Lehrtätigkeit erstelle, war bzw. ist der Mehraufwand für die Einbettung in die bestehende Dokumentstruktur nicht allzu groß.

Die erste Version – noch ohne Bildchen – war strukturell an das altbewährte Büchlein “Physik in Übersichten” des nicht mehr existierenden VEB-Verlages angelehnt. Seither sind Ideen aus einer Vielzahl weiterer Quellen eingeflossen. Eine Auflistung dieser Bücher und Webseiten ist zur Zeit allerdings leider nicht möglich, da die in Sphinx vorhandene Zitier-Möglichkeit gerade provisorisch für die Verlinkung der Übungsaufgaben mit den entsprechenden Lösungen “missbraucht” wird. An dieser Stelle muss noch an einer auf längere Sicht gangbaren Lösung gebastelt werden.

Nach einem Jahr fehlen immer noch zahlreiche Themen, die offizielle Druckversion des Physik-Bereichs umfasst gerade mal 130 Seiten. Neu hinzu gekommen sind einige wenige Beiträge aus Chemie und Mathematik (30 Seiten) sowie zu Linux und Open-Source-Tools (ca. 50 Seiten). Weitere Beiträge warten noch im nicht-offiziellen Entwickler-Bereich auf Überarbeitung.

Komplett neu ist hingegen die konsequente Einführung einer Versionskontrolle, die sich in letzter Zeit mehr und mehr als unabdingbar erwies: Bereits die gleichzeitige Entwicklung eines Projekts an zwei getrennten Rechnern (mit Sicherheits-Kopien auf USB-Sticks) führt letztlich dazu, dass man schnell die Übersicht verliert, wo sich die aktuelle Version einer Datei gerade befindet. Da Mercurial hierfür eine einfache und elegante Lösung bietet, habe ich inzwischen die Start-Seite etwas überarbeitet und den Quellcode bzw. die Graphiken als Zip-Archiv-Dateien verlinkt.

In diesem Sinne freue ich mich, das zweite Jahr “Grund-Wissen” einläuten zu dürfen... auf dass die Entwicklung weitergehe! :-)


Anmerkung:

[1]Die (nicht mehr existente) Vorversion lief damals mit Deplate, das allerdings an die Funktionalität und den Komfort von Sphinx nicht ansatzweise heranreichen kann.

Umstrukturierungen

Seit dem letzten Update haben sich einige Umstrukturierungen und Neugestaltungen ergeben:

  • Inhaltlich sind neue Bereiche für Übungsaufgaben- und Versuchsbeschreibungen entstanden. Gestalterisch wurde das PDF-Layout und das CSS-Markup bzgl. der Darstellung von Tabellen leicht überarbeitet.
  • Eine unscheinbare, doch nicht unwichtige Veränderung betrifft die Meta-Daten der Vektorgraphiken: Diese sind nun explizit mit Titeln, Schlagworten und Creative-Common-Lizenzen versehen.
  • Neu hinzugekommen sind zusätzlich einige Beiträge zu mathematischen Formeln (Planimetrie bzw. Trigonometrie) und Hilfsmitteln (Analysis bzw. Kurvendiskussion).

Insgesamt rechtfertigen die jüngsten Veränderungen somit den Sprung auf Version 0.3.0, obwohl nach wie vor kaum Einträge zu mathematischen und chemischen Themen ausgearbeitet sind.

Aktualisierungen

Mit der heutigen Aktualisierung sind einige Erneuerungen hinzugekommen:

Momentan wird an der Strukturierung der zum jeweiligen Thema passenden Versuche/Aufgaben/Lösungen gearbeitet. Die hierfür neu geschaffenen, separaten Bereiche befinden sich noch im Aufbau.

Bereits am 21. April habe ich eine (weitestgehend) aktualisierte Online-Version meiner Diplomarbeit auf der Hauptseite verlinkt.