google
yahoo
bing

99 Bottles of Beer on the Wall – on Rails

, , No Comments »

Auf der Site http://99-bottles-of-beer.net/ Kann man an Hand eines einfachen Beispiels viele Programmiersprachen vergleichen. Alle müssen den gleichen Liedertext ausgeben:

99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around, 98 bottles of beer on the wall.

98 bottles of beer on the wall, 98 bottles of beer.
Take one down and pass it around, 97 bottles of beer on the wall.

[...]

One bottle of beer on the wall, One bottle of beer.
Take one down and pass it around, No more bottles of beer on the wall.

No more bottles of beer on the wall, no more bottles of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.

Für meine Lieblings-Sprachen Perl und Ruby gibt es jeweils mehrere Implementierungen.

Da ich keine Ruby-on-Rails Implementierung finden konnte habe ich selbst eine gebaut. Der fertige Code ist auf github, die fertige Applikation auf heroku.

Die Applikation braucht nicht das ganze Model – View – Controller Pattern. Es gibt einfach kein Model. Der einzige Controller heißt wall. Er kann mit einem Argument aufgerufen werden um die Anzahl der Flaschen festzulegen: http://bottles.heroku.com/wall/99 oder http://bottles.heroku.com/wall/3

Die View enthält die Schleife zum ‘herunterzählen’ der Flaschen – es handelt sich ja um display-logik. Eine Helper-Funktion say_bottles(@i) erledigt die korrekte Anzeige der Flaschen (2 bottles, One bottle, no more bottles).

Mal sehen ob mein Beitrag bei 99-bottles-of-beer.net aufgenommen wird.

p.s. das Publizieren nur mit git ist sehr bequem.

p.p.s. (am 2.Okt 2009) das Programm wurde nun offiziell aufgenommen auf der 99 Bottles Website.

Endlich schräg

, , 2 Comments »

Mit Firefox 3.5 kann man endlich Text schräg darstellen! Zur Feier des Tages steht der Header dieses Blogs jetzt schräg:

#headerimg {
-moz-transform: rotate(-5deg);
-moz-transform-origin: top center;
}

Wie man sehen kann ist die Darstellung des Textes noch verbesserungswürdig, aber es ist wirklich echter Text: auswählbar, kopierbar, accessible.

Rails Underground

, , , , , No Comments »

I'm attending Rails Underground!

Web & Communities: das erste Jahr

, , , , , , 3 Comments »

mein Resumé als Fachbereichsleiterin Web & Communities

Seit vielen Jahren unterrichte ich Webprogrammierung und Webdesign an verschiedenen Ausbildungsinstituten, Fachhochschulen und Universitäten. Das Studienjahr 2008/09 war aber auch für mich eine Premiere: zum ersten Mal unterrichte ich mit der Perspektive echte SpezialistInnen für Webprogrammierung auszubilden. Zum ersten mal unterrichte ich mit der Perspektive von 6 Semestern. Zum ersten Mal werden Datenbanken und UNIX durch andere Lehrveranstaltungen rechtzeitig und solide abgedeckt.

Damit konnten wir von Anfang an wesentlich tiefer in die Webprogrammierung einsteigen. Die wichtigsten Verbesserungen und Vertiefungen gegenüber meinen früheren Lehrveranstaltungen:

  • Immer wieder Graceful Degradation/Progressive Enhancement: bei CSS, bei Javascript, bei Allem.
  • Vorstellung wichtiger Firefox-Plugins zu (fast) jedem Thema, besonders Firebug – bei CSS, bei Javascript, bei Allem.
  • Nach zwei Blöcken über Javascript und DOM zu jQuery gewechselt.
  • HTMLHttpRequest ignoriert, AJAX gleich mit jQuery gemacht.
  • Apache-Konfiguration in mehreren Schritten vorgestellt, bis zu mod_rewrite.
  • Sehr viel Wert auf Sicherheit beim Arbeiten mit der Datenbank gelegt, als Schnittstelle nur mysqli (improved) verwendet.
  • Transaktionen, Referentielle Integrität in der Datenbank gemacht.
  • Die REST Prinzipien nach und nach vorgestellt (nach Tilkov)

Ich habe zu den beiden Lehrveranstaltungen ausführlich Skripten herausgegeben, diese sind jetzt auf scribd öffentlich zugänglich:

Pdf_16x16 MMT Webprogrammierung 1 im Wintersemester 2008 (html, http, url, css, javascript, jquery)

Pdf_16x16 MMT Webprogrammierung 2 im Sommersemester 2009 (apache, php, mysql, mysqli-modul von php, security, rest, ajax)

Neben dieser theoretischen Vorstellung von HTML, CSS, Javascript, PHP, MySQL gab es ausführliche Übungsbeispiele um den Stoff auch anzuwenden, und ein großes Semesterprojekt am Ende des Studienjahres. Mit den Lernfortschritten der Studierenden bin ich sehr zufrieden – sowohl bei den Leute die mit viel Vorkenntnissen kamen, als auch bei den AnfängerInnen.

Die Inhalte der Lehrveranstaltung werde ich für nächstes Jahr im wesentlichen gleich lassen. Einzig HTML 5 will ich villeicht hinzufügen. Die Reihenfolge will ich noch etwas verändert: Mit PHP bis zum 2.Semester zu warten ist unnötig, da könnte man schon früher einsteigen und das würde die Semesterprojekte vereinfachen.

Dieser Artikel erschien ursprünglich im Blog von MMT

Lehrauftrag an der FH

, , , , , , , , , , , , , , , , No Comments »

Wie kommt man eigentlich dazu, dass man an einer Fachhochschule unterrichtet?

Erstens braucht man Berufserfahrung und muss auf seinem Gebiet wirklich auf aktuellem Stand sein. In manchen Bereichen muss man selbst einen Hochschulabschluss haben, in manchen Bereichen nicht.  Das kommt darauf an ob / seid wann es in dem Bereich Hochschul-Ausbildungen gibt.

Dann bewirbt man sich um einen Lehrauftrag, und steigt langsam in die Lehre ein: erst mal einen kurzer Gastvortrag, dann ein ganzes Semester Unterricht.

An der Hochschule lehren ist nochmal anders als z.B. Workshops oder Kurse geben. Da der Kurs sich mindestens über ein Semester erstreckt, kann man die StudentInnen viel besser kennen lernen als z.B. in einem 2-Tages-Workshop. Man sieht ihre Entwicklung über mehrere Monate. Man kann sehr viel selbständiges Üben und Arbeiten an Projekten von ihnen verlangen. Und am Schluss muss man ihre Arbeit benoten.  Das ist für AnfängerInnen in der Lehre oft der schwierigste Teil: bin ich böse wenn ich eine Note jenseits der 1 vergebe? Bin ich fair? Aber da gibt es Unterstützung vom Studiengang.

Ich kann den “Nebenjob” als externe LektorIn nur empfehlen: es ist eine gute Abwechslung zum Arbeitsalltag, die Arbeit mit den StudentInnen ist abwechslungsreich und anregend, hier kann man ambitionierte, kreative Projekte machen für die sich draussen vielleicht keine Kunden finden würden.

Warum schreibe ich diesen Artikel gerade jetzt? Weil mein Arbeitgeber, die FH Salzburg, gerade sehr viele Lehraufträge in den Studiengängen MultiMediaArt und MultiMediaTechnology ausgeschreiben hat und ich mir interessante neue KollegInnen wünsche ;-)

Es geht um zwei Fix-Anstellungen und Lehraufträge für die Studien-Jahre 2009/10 und 2010/11 aus Mediendesign, Webdesign, Audio, Computeranimation und Game Art, Video / Film / TV, Management & Kommunikation, Technik & Gesellschaft, Technische Redaktion, Technisches Englisch, Augmented Reality & Games, Web & Communities, Informatik.

Bewerbungsschluss ist der 15.Februar 2009, die offiziellen Infos und Details der Bewerbung sind in den PDFs zu finden [ergänzt am 27.1.]

  • Management von Medienprojekten PDFHochschulabschluss und mehrjährige Berufserfahrung in der Koordination, Organisation und Leitung von Projekten (z.B. als Producer, Creative Director, Set Superviser, GeschäftsführerIn, etc).  Diese Projekte sind in den Bereich Medien und/oder Kreativwirtschaft angesiedelt (z.B. Werbung und/oder Games, und/oder TV und/oder Film und/oder Digital Arts und/oder Audio und/oder Web etc)
  • Game-Development und Augmented Reality PDFHochschulabschluss (z.B. Informatik) 3-5 jährige Industrietätigkeit und/oder Nachweis von mindestens 2 Spieleprojekten

Die FH Salzburg sucht GestalterInnen im Bereich Mediendesign für Lehraufträge im Master-Studiengang MultiMediaArt:

  • Kommunikationsdesign: Recherche, Analyse, Positionierung
  • Gestaltung: Analoge Experimente
  • Gestaltung: Digitale Experimente
  • Interface-Gestaltung
  • Masterworkshop Motion-Graphics
  • Projektcoaching Mediendesign
  • Crossmedia-Design: Konzeption und Projektbegleitung
  • Gastvorträge zu den Themen Management, Finanzierung, Entrepreneurship etc. im Bereich Mediendesign

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht GestalterInnen im Bereich Web und Flash für Lehraufträge im Bachelor-Studiengang MultiMediaArt:

  • Webprogrammierung 2 (Flash, Actionscript 2)
  • Multimedia-Programmierung 1 (PHP, Bloggin- und CMS-Software, Flash)
  • Multimedia-Programmierung 2 (Web-Typografie, Auffindbarkeit, Barrierearmes Webdesign, Web Standards, …)

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht GestalterInnen im Bereich Audio für Lehraufträge im Master-Studiengang MultiMediaArt:

  • Postproduktion Audio
  • Klangästhetik & Gestaltung
  • Musikalische Gestaltung
  • Angewandtes Audiodesign
  • Mastering
  • Audiovisuelles Environment
  • Auditive Interfacemodelle
  • Akustik
  • Gastvorträge zu den Themen Projektplanung, Finanzierung, Entrepreneurship etc. im Bereich Audio

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht GestalterInnen im Bereich Computeranimation und Game Art für Lehraufträge im Master-Studiengang MultiMediaArt:

  • Characteranimation Masterworkshop
  • Realtime Animation & Modelling
  • Visual Effects Principles
  • Set Supervision
  • Visual Effects Production
  • Advanced Rendering
  • Advanced Postproduction Computeranimation
  • Gastvorträge über Computerspielproduktion, Management, Finanzierung etc.

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht GestalterInnen im Bereich Video / Film / Television für Lehraufträge im Master-Studiengang MultiMediaArt:

  • Kamera & Licht Masterworkshop
  • Contentadaption Multiplattform
  • Entwicklung Genre & Formate
  • High End Editing
  • Projektcoaching Film-TV
  • Schauspielführung
  • Art Direction Film-TV
  • Drehbuch Masterworkshop
  • Regie Masterworkshop
  • Montage Masterworkshop
  • AV-Workflow
  • Postproduction Film-TV Masterworkshop
  • FutureCinema Konzeption
  • Montage Masterworkshop
  • AV-Workflow
  • Gastvortragende zu den Themen Kalkulation, Finanzierung und Producing für Film & TV

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht PraktikerInnen im Bereich Management & Kommunikation für Lehraufträge im Master-Studiengang MultiMediaArt:

  • Medienmarketing
  • KundInnenkommunikation
  • Intercultural Communication
  • Kalkulation, Produktion & Business
  • Projektreflexion Multimedia
  • Multimedia Producing und Realisation
  • Entrepreneurship & Business Planung in der Kreativwirtschaft
  • Kalkulation & Kostenmanagement für Multimedia
  • Innovationsförderung & Projektevaluation für Multimedia
  • Finanzierung für Multimedia
  • Agenturleitung & Netzwerkmanagement

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht kompetente LektorInnen für Lehraufträge im Bachelor-Studiengang MultiMediaTechnology:

  • Medien, Technik & Gesellschaft
  • Social Networking & Communities
  • Technische Redaktion
  • Thinking, Reading, Writing

Details zu diesen Lehraufträgen im PDF und im anderen PDF


Die FH Salzburg sucht PraktikerInnen / ProgrammiererInnen im Bereich Augmented Reality & Games für Lehraufträge im Bachelor-Studiengang MultiMediaTechnology:

  • Game Development 1 und 2
  • Business of Game
  • Augmented Reality 1 und 2
  • Computergrafik 1 und 2
  • Echtzeitgrafik
  • Interface Technologies
  • Fachspezifisches Projektmanagement & Workflows für Game

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht PraktikerInnen / ProgrammiererInnen im Bereich im Bereich Web für Lehraufträge im Bachelor-Studiengang MultiMediaTechnology:

  • Web-Programmierung (HTML, CSS, Javascript, jQuery, PHP, MySQL, AJAX)
  • Multimedia Programmierung (Flash, Actionscript 3)
  • Interactive Multimedia-Programming (Flash, Air)
  • Fachspezifisches Projektmanagement & Workflows für Web
  • Web Technologies (Ruby on Rails. Typo3)
  • Social Networking & Communities
  • Web Operations
  • Business of Web

Details zu diesen Lehraufträgen im PDF


Die FH Salzburg sucht PraktikerInnen / InformatikerInnen für Lehraufträge im Bachelor-Studiengang MultiMediaTechnology:

  • Multimedia Informationssysteme
  • Software Engineering
  • Erweiterte Konzepte der Programmierung (Netzwerkprogrammierung, Multithreading, Skalierbarkeit,
    Portabilität von Software und Advanced GUI Programmierung)
  • Mobile Applications 1 und 2
  • Media Asset Management 2

Details zu diesen Lehraufträgen im PDF

In der Küche spielen

, , , No Comments »

Mit Ace of Mace haben die Herrn Brandl, Moster, Kerschbaumer und Brunner den Europrix gewonnen. Seid 1.1.2009 ist das Spiel online. Schnippt die kleine Muskatnuss quer durch die Küche zum Ziel:

Ace of Mace - Screenshot

Ace of Mace - Screenshot

Ausgleichssport, Programmieren und 100 Namen und Gesichter

, , , No Comments »

Als ich den Job als interimistische Studiengangsleiterin annahm, hagelte es sofort gute Ratschläge: jetzt musst Du aber Sport als Ausgleich betreiben, jetzt musst Du Dir aber öfter Wellness gönnen, jetzt musst Du dies, jetzt musst Du das.  Diese Tipps waren gut gemeint, gingen aber an meinen Grundbedürfnissen vorbei. Ja, ich brauche einen Ausgleich zu noch mehr Stress und noch mehr Arbeit.  Aber nein, mit Sport, Wellness, neuen Hobbies  will ich meine Zeit nicht verbringen.

Statt dessen habe ich mir selbst versprochen: ich darf weiterhin Programmieren.  Meine eigenen kleinen Projekte, ohne Vorgaben durch KundInnen. Aus Spass.

(Das ist die Stelle,  wo die meisten Leute voll Unverständnis den Kopf schütteln wenn ich das erzähle. Als ob Programmieren irgendwie absurder wäre als um 6 Uhr morgens im Kreis zu Laufen oder absurder als Modelleisenbahnen bauen oder absurder als sonst eine menschliche Betätigung die nicht bezahlt und doch getan wird)

Dieses Wochenende war es dann endlich so weit: im Zug aus Graz fand ich die Zeit ein kleines Projekt durchzuziehen.

  • Neue Programmiersprache: Ruby on Rails
  • Neues Versionskontrollsystem: Git
  • Aktuelle Problemstellung: Wie merk ich mir nur die hundert Namen und Gesichter der 1.semestrigen?

Die Lösung: “learnfaces”, meine erste Ruby on Rails Applikation.

Da ich nicht die Namen und Gesichter aller StudentInnen öffentlich zugänglich aufs Internet stellen will, ist zwar der Code veröffentlicht (auf github.com), nicht aber die personenbezogenen Daten. Und das fertige Programm ist nur mit FH-Passwort zugänglich auf http://learnfaces.mediacube.at.

Jetzt kann ich das Projekt auch gleich noch im Unterricht als Beispiel verwenden. Und meine KollegInnen und die StudentInnen selbst können das fertige Programm nutzen. Das ist ein Hobby!

Durchsichtigkeit im Web

, , , No Comments »

Ein kleiner Test, ob im Browser schon die beiden Arten von “Durchsichtigkeit” funktionieren (die Peter Gasston hier beschreibt)

Hintergrund ist grün

Rote box mit opacity: 0.5: auch die Schrift hat Opacity. Rote box mit opacity: 0.5: auch die Schrift hat Opacity. Rote box mit opacity: 0.5: auch die Schrift hat Opacity.
Blaue box mit rgba mit alpha 0.5: Schrift ganz normal. Blaue box mit rgba mit alpha 0.5: Schrift ganz normal. Blaue box mit rgba mit alpha 0.5: Schrift ganz normal.

Antwort: in meinem Firefox 3 funktioniert beides, in Opera nur opacity, in Internet Explorer 7 beides nicht

Screenshot Firefox 3 auf Windows XP:

Screenshot Opera 9 auf Windows XP:

Screenshot MSIE 7 auf Windows XP:

Webseiten nachbessern mit Greasemonkey

, No Comments »

Ich muss sie täglich benutzen, ich muss mich täglich über eine Kleinigkeit ärgern.  So geht es mir mit einigen Webseiten. Hier hilft Greasemonkey, ein Add-On für Firefox. In Greasemonkey kann ich kleine Javascript-Programme speichern, die eine Webseite ‘nachbessern’.

Ein einfaches Beispiel: das neue Verwaltungssystem meiner Fachhochschule ist genial, es bietet alle Funktionen um das Studium zu verwalten: Lehraufträge vergeben, Lehraufträge annehmen, Noten eingeben, … Aber es ist ganz neu, und teilweise noch etwas umständlich zu bedienen. Zum Beispiel fragt das System oft nach Semester und Jahr:

Meistens brauche ich das aktuelle Semester. Das macht jetzt Greasemonkey für mich: Heutiges Datum ansehen, zwischen Februar und Juni das Sommersemester auswählen, sonst das Wintersemester, und das aktuelle Jahr. Ein bisschen Javascript, ein bisschen Dive Into Greasemonkey von Mark Pilgrim, 10 Minuten basteln, fertig, installieren.
Für populäre Webseiten wie Amazon oder E-Bay gibts übrigens hunderte fertige Skripts bei userscripts.org.
// ==UserScript==
// @name           DiesesSemester
// @namespace      http://welten.horus.at/category/computer/programmieren/javascript/
// @include        https://fhsys.fh-salzburg.ac.at/
// ==/UserScript==

var selects = document.getElementsByTagName("select");
var d = new Date();
var this_year = d.getFullYear();
var this_month = d.getMonth() + 1;

function select_value( s, v )  {
   var foundIndex = -1;
   for( var i in s.options ) {
	if( s.options[i].value == v ) foundIndex = i;
   }
   if( foundIndex > 0 ) {
      s.selectedIndex = foundIndex;
   }
}

for( var i in selects) {
   var s = selects[i];
   switch( s.name ) {
	case "wsSS":
		if ( (this_month >= 2) && (this_month <= 7) ) {
			select_value(s, "SS");
		} else {
			select_value(s, "WS");
		}
		break;
	case "jahr":
		select_value(s, this_year);
		break;
   }
}

OSCON 2008

, , , No Comments »

An Illustrated History of FailureFünf Tage, duzende Vorträge, Hunderte Leute. Es wird eine Weile dauern, bis ich die Open Source Convention 2008 verdaut habe. Der unterhaltsamste Vortrag war wohl An Illustrated History of Failure von Paul Fenwick. Revealing Errors war auch nicht schlecht.

Andere Leute haben viel schönere Photos gemacht als ich, die hab ich einfach als Favoriten auf Flicker markiert.

Nachtrag: gregg von railsenvy hat 30-Sekunden Interviews mit vielen Vortragenden zusammen getragen. Und die Unterlagen zu den Vorträgen gibts bei O’Reilly.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Anmelden