Soviel Phun!!!

PhunDas macht mal wieder echt Spass! Phun ist eine Art Spiel, aber vielmehr eine interaktive Physikengine. In einer virtuellen 2D Welt können einfache Dinge wie Rechtecke, Kreise, Ketten, Freie Formen, Wasser, Motoren, … plaziert und miteinander verbunden werden. Beim Starten interagieren diese Elemente miteinander, physikalisch fast korrekt.

Dinge wie Dichte, Reibungskoeffizient, etc können ebenfalls für die einzelnen Elemente angepasst werden.

Es macht einen Riesenspass Katapulte zusammenzustellen und virtuelle Mauern einzuhauen. Wie ein kleines Kind Türme zu bauen, nur um sie dann wieder einzureissen ist einfach nur eine Freude zum Quitschen.

Für anspruchsvollere Naturen gibt es natürlich auch anspruchsvollere Aufgaben: Zeppeline, Fallschirme, Schiffe die Schwimmen, Panzer die fahren und schiessen. All das kann man runterladen und als blöder Bully wie ich einer bin mit grossen Steinen zusammenhauen. Immer und immer wieder *lach*. Naja, ich hab mal eine Mitsteinzusammenhaumaschine gemacht, aber die braucht noch ein Bisschen…

Das Programm funktioniert unter Linux und Windows, sofern eine 3D-Beschleunigung vorhanden ist.

Für Videos gibt es einen YouTube Channel:

Office 2007 Wordateien (docx) unter (Debian) Linux mit OpenOffice öffnen

Voraussetzungen

Word 2007Office 2007 greift um sich! Immer öfters begegnet man den docx Dateien im OpenXML Format. Die vorgestellte Lösung erlaubt das Öffnen und Ansehen dieser Dateien in OpenOffice. Ob sie allerdings echt Layouttreu sind, habe ich nicht gecheckt. Damit es läuft sollte ein OpenOffice > 2.0 installiert sein → bei mir hats mit 2.2.1 gefunzt.

Vorgehen

Zum Glück wird dee Translator weiterentwickelt. Die entsprechenden Dateinamen müssen einfach angepasst werden. Der Downloadlink sollte generisch sein.

  1. Download des OpenOffice OpenXML Translator – RPM’s von Novell.
  2. Im Verzeichnis drin das RPM entpacken (Dateinamen bitte anpassen):
    rpm2cpio odf-converter-1.0.0-5.i586.rpm | cpio -iv --make-directories
  3. OpenOffice schliessen und die entsprechenden Erweiterungen ins richtige Verzeichnis kopieren:
    cp -r usr/lib/ooo-2.0/* /usr/lib/openoffice/
  4. Die Doku kopieren:
    cp -r usr/share/doc/packages/odf-converter /usr/share/doc/
  5. Mime-XML kopieren:
    cp usr/share/mime/packages/odf-converter.xml  /usr/share/mime/packages/
  6. Mime-Datenbank updaten:
    update-mime-database /usr/share/mime
  7. KDE3 Mime:
    cp opt/kde3/share/mimelnk/application/* /usr/share/mimelnk/application/
  8. Gnome Mime:
    cp opt/kde3/share/mimelnk/application/* /usr/share/mimelnk/application/
  9. Dann noch die Icons:
    cp -r opt/gnome/share/icons/* /usr/share/icons/
  10. Sich freuen!!!

Addition Mai 2008:

Zamzar macht das nun auch online! Ganz stark, und vorallem mit allen Formaten, also auch xlsx (Excel 2007)!

eLearning etwas anders…

Unter Elearning wird oftmals noch das dröge Lernen von verbugten, sturen CD’s seiner selbst willen verstanden. Einen Schritt weiter geht das Blended Learning und die Learning Management Systems (lms) wie zum Beispiel Moodle.

Es geht aber auch ganz einfach und ganz spassig: AK Kappenberg hat mit WinChemie eine Programmsammlung mit einigen Perlen gratis zum Download ins Web gestellt, und das nicht nur für Chemie!

Der grosse Preis

Bei Der grosse Preis wird die Klasse in mehrere Gruppen eingeteilt, die live und abwechslungsweise gegeneinander Fragen beantworten, die mit dem Beamer projiziert werden. Dabei können die Gruppen Punkte einsetzen, sich beraten, ärgern oder freuen. Der Lerneffekt ist riesig, weil es einfach Spass macht. Die Fragen können mit einem Editor geändert und für jedes Fachgebiet angepasst werden.

Achtung: Damit das Teil läuft müssen die EconNSoft Core Components von AK Kappenberg vorgängig installiert werden, ansonsten gibt es eine nichtssagende Fehlermeldung!

Als nächstes werde ich AK Riddle austesten. Das scheint über das Netzwerk zu funktionieren. Ein Erfahrungsbericht dürfte folgen…

Structorizer: Struktogramme unter Windows und Linux (Nachschlag)

Die Freuden des Bloggens

Blogging ist genial. Im Beitrag Struktogramme (Nassi Shneiderman) mit dem Computer zeichnen habe ich leider Structorizer nicht zum Laufen gebracht. Dem Autor zu schreiben traute ich mich nicht ganz, da ich sicher war, dass es nur an meiner eigenen, angebohrenen Blödheit gelegen hat. Vielleicht stimmt das auch, aber Bob Fisch hat höchtpersönlich einen Kommentar unter das Posting gesetzt, mit der Bitte ihm zu mailen. Das habe ich gemacht und innerhalb weniger Stunden hat er eine neue Version auf der Website publiziert. Genial, unglaublich, sowas erlebt man nicht mal bei hochbezahlten Serviceverträgen.

Structorizer

Structorizer beim Diagramme erstellen
Structorizer läuft nun wunderbar und hat seinen positiven Eindruck den ich von den Screenshots hatte bestätigt:

Structorizer unterstützt alle Sinnbilder nach DIN 66261:
Inklusive Mehrfachauswahl, Unterroutinen (Call) mit „Sub“-Darstellung, Aussprung (jump), …
Structorizer ist mehrsprachig:
Er unterstützt Englisch, Deutsch, Französisch, …
Exports:
Export als BMP-Bilder und direktes Ausdrucken.
Einfärben:
Verschiedene Farben können die Übersichtlichkeit erhöhen.

Die Bedienung ist mittels Drag-und-Drop sowie sprechenden Tooltips nach ein paar wenigen Minuten intuitiv. Es läuft stabil und das Kreieren von Struktogrammen macht einfach Spass.

Bob Fisch gebührt grössten Respekt. Ein solches Projekt in Angriff zu nehmen und auch bis zu einer verwendungsfähigen Version voranzutreiben, es der Allgemeinheit gratis zur Verfügung zu stellen (inklusive Quellcode) und dann erst noch Support für DAUs wie mich zu übernehmen ist eine Leistung die Anerkennung verdient!

Struktogramme (Nassi Shneiderman) mit dem Computer zeichnen

Struktogramme

Struktogramme sind einiges platzsparender als Flussdiagramme. Gerade für Programmierneulinge ist es eine gute Möglichkeit Abläufe zu visualisieren.

NSDs können natürlich von Hand mit Stift auf Papier gezeichnet werden. Allerdings nur, wenn man ein Mensch mit exakter Schreibweise und ruhigem Strich ist. Bei Sauklauen wie mir erinnern die Struktogramme eher an moderne Kunstwerke als an Algorithmen. Computerapplikationen helfen gut in diesen Fällen und so habe ich ein Programm dafür gesucht, welches Struktogramme sauber darstellen kann und unter Linux lauffähig ist.

Structorizer

Structorizer sieht schön aus, läuft unter Linux und Windows und ist open Source.
Er hat wegen speziellen Umständen sein eigenes Posting bekommen.

Nessi

Nessi ist in zwar Java geschrieben, läuft aber trotzdem recht flott. Es besteht aus einem einzigen JAR das mit java -jar Nessi.jar gestartet werden kann und somit eigentlich keine Installation und/oder Gemurkse benötigt. Mit ein Bisschen Zielen kann man die Blöcke gut platzieren und verschieben. Der einzig richtige Nachteil ist die fehlende Mehrfachauswahl.

Nessi auf Windows XP

Neben der Darstellung bietet Nessi auch noch ein „Processing“ der Diagramme. Hier eine Implementierung des Hasenbein-Algorithmus, der für einen Hühner-Hasen-Bauer aus der Anzahl der Tiere und Beine die Anzahl der Hühner und Hasen errechnet. Dieser Ablauf kann „ausgeführt“ werden und liefert elegant das Resultat.

Nessi und der Hasenbein-Algorithmus

Für Fortgeschrittene

Ein Projekt für irgendwanneinmal ist DEViL. DEViL ist ein Editor für visuelle Sprachen und die NSDs sind nur eine Implementierung davon. Damit zu arbeiten wäre echt spannend, leider fehlt mir grad die Zeit dazu 🙁 .

Histogramme in Excel

Aufgabenstellung

In einer Umfrage wurde gefragt, wie viele Minuten für den Arbeitsweg gebraucht und mit welchem Verkehrsmittel sie zurückgelegt werden:

Wieviel Zeit in Minuten benötigen Sie für den Schulweg? Welches Verkehrsmittel benützen Sie?
15 Individualverkehr
25 Öffentlicher Verkehr
5 zu Fuss
40 Individualverkehr
30 Sonstiges
55 Kombiniert
80 Sonstiges
45 Öffentlicher Verkehr

Wie stellt man das als Diagramm dar? Jede einzelne Minute kann es nicht sein, das würde wohl etwas unübersichtlich… Man müsste Bereiche bilden können (bis zu einer Viertelstunde, zwischen einer Viertelstunde und einer halben Stunde, …). Genau hier kommen die Histogramme ins Spiel…

Vorgehen

Für die Diagrammdaten muss eine Tabelle nach folgendem Schema erstellt werden:

A B C D E F G
1 Zeit [Min] Individualverkehr Kombiniert Öffentlicher Verkehr Sonstiges Obergrenze Insgesamt
2 0-15 15
3 16-30 30
4 31-45 45
5 46-60 60
6 61-75 75
7 76-90 90
8 91-120 120
9 >121 9999

Da wir nach Art und Weise wie der Schulweg zurückgelegt wird gruppieren möchten, muss die Tabelle mit den Rohdaten zuerst danach sortiert werden: Daten > Sortieren….

Nun wirds tricky. Folgendes wiederholen für alle leeren Spalten (Individualverkehr, Kombiniert, Öffentlicher Verkehr, …):

  1. Den leeren Zellen eines Bereichs markieren (Beispielsweise B2-B9 für Individualverkehr)
  2. Einfügen > Funktion… > Statistik > HÄUFIGKEIT (FREQUENCY in Englisch). Daten sind die Quelldaten (die Minuten für den Individualverkehr) und die Klassen sind die Obergrenzen (bei diesem Beispiel G2:G9). Und nun (!) die drei Tasten ctrl+shift+Enter (Deutsch: strg+umschalt+Eingabe) gleichzeitigdrücken.

    Haeufigkeitsfunktion im Funktionsassistent

Nachdem alle Arten von Verkehrsmitteln so eingereiht sind, kann ein Diagramm erstellt werden mit den Daten ohne die Obergrenze (A2:F9).

Histogramm

Weiteres

Es gibt auch ein Add-In (Analyse-Funktionen), aber als Kontrollfreak mach ichs gerne von Hand…

Arbeitszimmer hat eine sehr gute, bebilderte einführung.

4 plattformübergreifende Alternativen zu Powerpoint

Powerpoint ist nett für Präsentationen, unbestritten. Leider ist es nicht plattformübergreifend. Auch Webtechnisch macht es sich nicht so gut. Nundenn, was gibt es für Alternativen?

1. Openoffice Impress

Unbestritten, OpenOffice Impress ist ein beeindruckendes Produkt. Intressant ist, dass die Präsentation als PDF und als Flash Animation exportiert werden kann. Die Bedienung ähnelt der von PowerPoint und die Präsentationen können auch in diesem Format geladen und gespeichert werden.

Mit ein paar Templates von Zwahlen Design, OO-Extras, OO-Support, OpenOffice oder Chih-Hao Tsa ist der Einstieg auch leichter.

Dies ist ein Screenshot von OO-Impress:
Screenshot OO-Impress

Als kleiner Test:

2. KeyJnote

KeyJnote (original Download von Sourceforge scheint ausser Betrieb zu sein) ist für interaktive Präsentationen gedacht. Es parst PDF-Dateien und erlaubt das Vorführen wie eine Präsentation. Es kann Zoomen, Herausheben, Seitenübergänge gestalten, etcetc. Die Einstellungen können in einer Extradatei abgespeichert werden. Eine besonders attraktive Methode wenn Unterrichtsskripts als PDF vorhanden sind und man nicht nur die nackten Blätter beamen will… Was tut man nicht alles um die Lernenden am Einschlafen zu hindern 🙂 …

Das Spotlight-Feature

3. S5

S5 ist eine einfach geniale Entwicklung. Die Präsentation wird in einer HTML-Datei erstellt und mittels Stylesheets und Javascript formatiert. Das geht, und mit interessanten Features wie Inkrementeller Anzeige von Text und Grafiken, direktes Anspringen von Folien, viele Tastaturkommandos, etc. Am Besten schaut man sich die Intro-Präsi von S5 selbst an.

Ein Stylesheet ist schnell erstellt und mit ein bisschen Gewöhnung können auch einfache Präsentationen in annehmbarer Zeit gemacht werden. Der einzige Nachteil ist, das sich die Präsentation nicht in einer einzigen Datei speichern lässt.

4. LaTeX

Für LaTeX gibt es verschiedene Stylefiles, so zum Beispiel Prosper, oder mein Favorit: Beamer. Die Präsentationen die damit erstellt werden sind fantastisch und bieten viel Komfort wie das Anspringen von Folien, ein Themenüberblick, etc… Sie werden in ein PDF kompiliert und wenn man auf Fullscreen stellt, dann sieht es aus wie aus dem Ei gepellt: Ein geniales Tool!
Eine Beamer Präsi

Redcode und CoreWars: Wilkies Benchmark für Linux

Kennt noch jemand Corewars? Geiles Teil!!! Mein Problem war, dass der Wilkies Benchmark (JKW’s Beginner’s Benchmark), der eine Punktzahl für einen zu testenden Krieger ausspuckt, ein .bat File war mit QBasic-Erweiterung. Glücklicherweise hat Philipp Kendall ein C-Replacement geschrieben. Leider darf ich die aufbereitete Version hier nicht hochladen, aber das Vorgehen war das Folgende:

  1. Wilkies Benchmark herunterladen und alle .bat und .bas löschen.
  2. Das C-Replacement herunterladen, kompilieren und das Resultat in das Wilkiesverzeichnis tun.
  3. Eine Datei .kothrc erstellen. Auf der ersten Zeile den Pfad zum pmars (am Besten mit -p und -v 0 Option) eintragen, auf der zweiten Zeile die Linie aus dem Readme.txt des C-Replacements übernehmen.
  4. Alle Krieger umbenennen, so dass sie in Kleinbuchstaben geschrieben sind.

Makefile für Latex

Hier ein Teil das mir viel hilft. Ein Makefile für LaTeX. was kann es denn?

  • make all: Kreiert alle Ausgaben
  • make filename.pdf: Kreiert das pdf mit Thumbnails
  • make build: Kreiert das pdf und kopiert es ins Verzeichnis build/
  • make pdfview: Kreiert das pdf und zeigt es an
  • make fast: Schnelldurchlauf pdf und Anzeigen
  • make filename.rtf: Richtextversion
  • make filename.ps: Post Script
  • make clean: Aufräumen

Durch Switches zu Beginn können Glossar- und Indexerzeugung gesteuert werden… Für Verbesserungen bin ich sehr dankbar.

# Makefile to create different LaTeX Outputs
#
# 2001-2006 by Stefan Birrer and Michael Schneider
#
# Supports the following Targets:
#
# all     Creates html and pdf
# html   Creates html in the specified directory
#         Creates pdf and copies it into the html-directory
# pdfview      Creates pdf and views it
# FILENAME.pdf Creates a pdf with thumbnails
# FILENAME.ps  Creates Postscript and DVI
# FILENAME.dvi Creates DVI
# FILENAME.rtf TRIES to create a RTF
# clean :) Cleans up your room !

target = documentname
WITH_INDEX = Yes
WITH_GLOSSARY = No
latex_SOURCES = $(target).tex sec/*.tex
html = html

all: html

html: $(target).pdf $(latex_SOURCES)
#   -rm $(target).aux
    echo "Running latex2html..."
    latex2html -dir $(html) -local_icons -show_section_numbers -white -antialias -no_math -html_version 4.0,math,frame -split +1 $(target)
    cp $(html)/$(target).html $(html)/index.html
#   latex2html -dir $(html) -white -antialias -no_math -html_version 4.0,math -split +1 $(target)
#   echo "Copying PDF"
#   cp $(target).pdf $(html)

build: $(target).pdf
    cp $(target).pdf ./build/

pdfview: $(target).pdf
    acroread $(target).pdf

fast: $(latex_SOURCES)
    pdflatex -shell-escape $(target)
    acroread $(target).pdf

%.pdf: $(target).ps $(latex_SOURCES)
    @echo "*"
    @echo "* Running pdflatex..."
    @echo "*"
    pdflatex -shell-escape $(target)
    @echo "*"
    @echo "* Rerunning pdflatex..."
    @echo "*"
    pdflatex -shell-escape $(target)
    @echo "*"
    @echo "* Thumbnails..."
    @echo "*"
    thumbpdf $(target).pdf
ifeq ($(WITH_INDEX),Yes)
        @echo "*"
        @echo "* Running makeindex for index..."
        @echo "*"
        makeindex -g -s include/bbbind.idx $(target)
endif
ifeq ($(WITH_GLOSSARY),Yes)
        @echo "*"
        @echo "* Running makeindex for glossary..."
        @echo "*"
        makeindex -s nomencl.ist -o $(target).gls $(target).glo
endif
    @echo "*"
    @echo "* Rerunning pdflatex..."
    @echo "*"
    pdflatex -shell-escape $(target)

%.rtf:  %.dvi $(latex_SOURCES)
    @echo "*"
    @echo "* Running latex2rtf..."
    @echo "*"
    latex2rtf -l -o $(target).rtf $(latex_SOURCES)
    makeindex $(target).idx
    @echo "*"
    @echo "* Rerunning latex2rtf..."
    @echo "*"
    latex2rtf -l -o $(target).rtf $(latex_SOURCES)
    @echo "*"
    @echo "*"
    @echo "* WARNING:"
    @echo "* THIS IS KIND OF EXPERIMENTAL"
    @echo "* Haven't found something better yet :("
    @echo "*"
    @echo "*"

%.ps: %.dvi
    dvips -o $(*F).ps $(*F).dvi

%.dvi: $(latex_SOURCES)
    @echo "*"
    @echo "* Running latex..."
    @echo "*"
    latex -shell-escape $(target)
    @echo "*"
    @echo "* Rerunning latex..."
    @echo "*"
    latex -shell-escape $(target)
ifeq ($(WITH_INDEX),Yes)
        @echo "*"
        @echo "* Running makeindex for index..."
        @echo "*"
        makeindex -g -s include/bbbind.idx $(target)
endif
ifeq ($(WITH_GLOSSARY),Yes)
        @echo "*"
        @echo "* Running makeindex for glossary..."
        @echo "*"
        makeindex -s nomencl.ist -o $(target).gls $(target).glo
endif
    @echo "*"
    @echo "* Rerunning latex...."
    @echo "*"
    latex -shell-escape $(target)

clean:
    -rm -rf tmp.tmp *.tpt $(html)/*
          $(target).ps $(target).dvi $(target).pdf
          *.gls *.glo *.lot *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.cb *~
          thumb* *.rtf *.backup include/*.backup sec/*.backup sec/*.log images/*.log