RSS-Feed

Stellungnahme der Macher

von Kai um 13:04 am Sonntag, 14. März 2010 in design, ubuntu | 4 Kommentare

windowdecorationsNachdem in der Blogosphäre nun ausgiebig über das neue Design von Ubuntu 10.04 diskutiert wurde, äußert sich das Ubuntu Design Team nun selbst zur Kritik und beschreibt den Entwicklungsprozess, der hinter der Entscheidung, die Buttons der Fensterleiste neu anzuordnen, steht.

Ich denke, mit Veränderungen ist es immer so eine Sache, aber die Gedanken, die man sich über die neue Ausrichtung der Buttons gemacht hat, kann ich nachvollziehen. Richtig gut hingegen finde ich den generellen Ansatz Bestehendes einmal aufzubrechen und den Sinn zu hinterfragen. Vielleicht irre ich mich, aber mir fällt neben Ubuntu keine weitere Distribution ein, die sich ernsthaft mit der Usability auseinandersetzt.

Für mich ist nur wichtig, dass das ausgelieferte Theme funktioniert. Das heißt, ich möchte mich nicht damit auseinandersetzen, wenn ich es nicht will. So gesehen finde ich es auch in Ordnung, wenn mir ein kluger Kopf die Entscheidung darüber abgenommen hat, wo die Buttons wohl am besten platziert sind, solange es eben Sinn ergibt, auch wenn es unter Umständen etwas Eingewöhnungszeit bedeutet.

Interessant wäre hierbei aber auch mal zu wissen, wie viele Ubuntubenutzer überhaupt auf das Standardtheme setzen und ein mitgeliefertes Wallpaper benutzen. Ich habe hierzu leider keine Statistik gefunden. Ich habe nämlich den Verdacht, dass das nicht gerade viele sind, die ihr System auf dem Auslieferungszustand lassen, zumal es wirklich einfach ist dieses zu ändern. Insofern ist die verlinkte Aufregung für mich auch nicht wirklich nachvollziehbar.
Ich persönlich benutze bis auf ein anderes Wallpaper mittlerweile nur noch das Standardtheme, weil mir die Zeit, Motivation und ausgesprägtes Geschmacksempfinden fehlt, eine bessere Alternative zu suchen. Ich war mit Human zufrieden und bin gespannt, ob das neue (lila) Theme ebenfalls für mich in Ordnung sein wird, sobald es richtig fertig ist.

Bildquelle: http://www.ivankamajic.com/?p=281

KDE im Produktiveinsatz

von Kai um 22:45 am Freitag, 5. März 2010 in Allgemeines, Linux | 0 Kommentare

kde-ScreenshotDa letzte Woche mein neuer PC hier ankam, wollte ich die Gelegenheit nutzen und Kubuntu (mit KDE in der aktuellen Version 4.4) auf meinem Thinkpad ausprobieren.
Laut den Release Notes sollte sich die Stabilität deutlich gegenüber den vorherigen Versionen verbessert haben und einige interessante Features dazugekommen sein.

Da mir die durchdachte Fensterverwaltung besser als in Gnome gefällt und KDE sich groß “Social Desktop” auf die Fahne schreibt (also das Einbinden von Twitter, Facebook und Co auf den Desktop) wagte ich einen Versuch.

Die Installation ging noch reibungslos vonstatten, aber bereits nach dem ersten Start hatte ich immer wieder mit Abstürzen von Nepomuk zu kämpfen. Kopete, der mitgelieferte Instant Messenger, konnte ich nicht dazu überreden, MSN zu sprechen. Außerdem fand ich die UI zu groß dimensioniert. Damit komme ich auch direkt zum nächsten Punkt. Viel von der Software, die ich so täglich verwende, benutzt GTK. KDE setzt dagegen auf QT auf. Ich weiß nicht, wie hier die prozentuale Verteilung von Software ist, die mit GTK geschrieben wurde, gegenüber derjenigen, die QT benutzt, aber meine Wahrnehmung ist, dass “populärere” Opensource Programme oft ersteres verwenden.

Dann merkt man recht schnell, dass Ubuntu wesentlich besser unterstützt wird als Kubuntu. Gefühlt gibt es viel mehr Hilfestellung für Ubuntu im Netz zu finden. Zwar sind einige Probleme unabhängig von der verwendeten Grafikbibliothek, aber gerade zum Beispiel die größte und erste Anlaufstelle (wiki.ubuntuusers.de) hält, wie der Name schon sagt, wesentlich mehr ubunturelevante Artikel.

Wie auch immer, der eigentliche Grund für mich, nach einer Woche wieder zu Ubuntu zu wechseln war, dass ich vieles an Funktionalität bei Kubuntu (KDE) vermisst habe, welche mir Ubuntu bietet.
Zum einen konnte der Network-Manager von KDE nicht mit VPN umgehen (ich habe es mit OpenVPN probiert. Eine Verbindung kam nie zustande), so dass ich auf den von Gnome zurückgreifen musste. Dropbox wird leider ebenfalls nicht gut in Kubuntu unterstützt. Man kann den Daemon über die Konsole starten und bekommt auch eine Anzeige im Panel, aber die visuelle Rückmeldung im Dolphin Dateibrowser fehlt. Generell hat mir Dolphin nicht so gut gefallen, da meiner Meinung nach viel Platz für nichts verschwendet wird (also Freiraum). Außerdem war ich nicht in der Lage Bookmarks zu FTP oder SSH-Verbindungen anzulegen. Vielleicht geht das irgendwie, ich habe es aber nicht geschafft. Die eingebaute Hilfe von KDE war mir hier auch keine große Hilfe, da ich die relevanten Informationen dazu nicht gefunden habe.

Gut fand ich die Fensterverwaltung. Gerade auf kleineren Bildschirmen (wie hier am Thinkpad z.b.) hatte ich nie das Gefühl den Überblick über meine vier Desktops zu verlieren. Fenster konnte man leicht verschieben und praktisch (Hint: Aero Snap) anordnen. Außerdem sind einige Details ganz gut gelöst. So lassen sich z.b. Hintergrundbilder einfach installieren, indem man das entsprechende Bild auf den Desktop zieht und “als Hintergrundbild” auswählt.

Dennoch: Mein Fazit ist daher, dass ich Kubuntu (bzw. KDE) immer noch nicht empfehlen kann, da ich von der verbesserten Stabilität nicht allzuviel gemerkt habe, außerdem mangelt es meiner Meinung nach an Programmen, die auch Qt benutzen, weil GTK Programme stellenweise ziemlich hässlich in KDE aussehen.

Mathe 3

von Kai um 15:54 am Donnerstag, 11. Februar 2010 in Klausuren, Studium | 0 Kommentare

Heute war der Klausurtermin für “Mathematik für Informatiker”. So aus dem Gedächtnis wurden folgende Aufgaben gestellt. Die Liste ist bestimmt nicht vollständig und kann noch Fehler enthalten, kann aber mit Hilfe der anderen Opfer, die mitgeschrieben haben, komplettiert werden.

Aufgabe 1

a.) Beweisen Sie mit Hilfe der vollständigen Induktion:


b.) Beweisen Sie folgende Aussage mit Hilfe von Kontraposition:

Wenn teilerfremd sind, so sind auch teilerfremd.

c.) Beweisen Sie, dass der Satz: Wenn 3a+2b und 3a-2b sind nicht teilerfremd, dann sind a und b auch nicht teilerfremd, nicht gilt.

Lösung (anzeigen)













Aufgabe 2

a.) Die Wettervorhersage gibt an, dass es mit 40% Wahrscheinlichkeit morgen regnet und mit 60% Wahrscheinlichkeit, dass es nicht regnet. Leider trifft die Vorhersage aber nur mit 80% Wahrscheinlichkeit zu, dass es morgen tatsächlich regnet und mit 90% Wahrscheinlichkeit, dass es nicht regnet

Berechnen Sie die Wahrscheinlichkeit dafür, dass morgen ein Regentag ist.

b.) Adam und Eva waren zum Inlineskaten verabredet, doch leider kam Eva nicht zum vereinbartem Zeitpunkt, weil Sie gehört hat, dass es regnen wird. Als Entschuldigung gibt sie an, dass Sie gehört hat, dass es regnen sollte. Adam ist sich sicher, dass Eva die Wettervorhersage nicht gesehen haben kann.

Wie hoch ist die Wahrscheinlichkeit, dass es geregnet hat?

Aufgabe 3

Ein Prof vergisst jedes zehnte Mal (unabhängig vom vorherigen Mal) seine Unterlagen für die Vorlesung und muss zurücklaufen und sie holen. Bei 15 Vorlesungen:
a.) Wie groß ist die Wahrscheinlichkeit, dass er sie nie vergisst?
b.) Wie groß ist die Wahrscheinlichkeit, dass er sie mindestens zweimal nicht vergisst?

Lösung (anzeigen)


Aufgabe 4

In einer Sportgruppe liegt der Erwartungswert bzgl. der Körpergröße bei 1.8m und die Standardabweichung beträgt 0,1m. Für den Kurs „Turnen“ braucht man eine Größe zwischen 1,5m und 1,7m.

Wieviel Prozent der Studenten nehmen teil?

Lösung (anzeigen)





Es nehmen also 15,74% aller Studenten teil.

Aufgabe 5

Es sind folgende zwei Schätzer T1,T2 gegeben:

a.) Überprüfen Sie die Schätzer auf ihre Erwartungstreue
b.) Überprüfen Sie die Schätzer auf ihre Konsistenz

Aufgabe 6

Die Studenten geben an, dass Sie für das Fach Mathe folgenden Lernaufwand haben:

Studenten 80 100 60 40
Zeitaufwand in Std. [0,5) [5,10) [10,20) [20,40)

a.) Bitte erklären Sie, ob die Zufallsvariable X="Zeitaufwand der Studenten" diskret oder stetig ist. Bitte begründen Sie ihre Antwort. Ohne Begründung gibt es keine Punkte.
b.) Bitte geben Sie die Dichtefunktion an, und gehen Sie davon aus, dass die Studenten nicht länger als 40 Stunden für das Fach aufwenden?
c.) Zeichnen Sie die Verteilungsfunktion
d.) Berechnen Sie den Erwartungswert E(X)
e.) Berechnen Sie die Wahrscheinlichkeit für P(X<18)

Aufgabe 7

a.) Anhand folgender Tabelle soll eine Regressionsgerade mit Hilfe des Satzes der kleinen Quadrate berechnet werden.

Jahr nach 2000 2 4 6 8
Durchschnittsverbrauch an Kraftstoff in Liter/100km 8,5 8,2 7,9 8,0

b.) Berechnen Sie, ausgehend von einer linearen Abhängigkeit,nach wie viel Jahren nach dem Jahr 2000 der Durchschnittsverbrauch bei 5 Litern/100km liegen wird

Lösung (anzeigen)

















Die Sache mit dem Lotto

von Kai um 22:19 am Montag, 8. Februar 2010 in Allgemeines, Studium | 1 Kommentar

Millionen von Menschen versuchen jede Woche aufs neue mit einem Lottoschein den großen Gewinn zu holen. Die Tatsache, dass ein Sechser im Lotto so wahrscheinlich ist, wie in einem Treppenhaus von einem Blitz getroffen zu werden, wissen wohl die meisten.

Dennoch lässt sich diese Gruppe Menschen aber nicht davon beirren, es trotzdem zu probieren. Schließlich gewinnt ja fast jede Woche jemand beim Lotto.

Da bald eine Klausur in Stochastik und Statistik ansteht, habe ich mich zu folgender Überlegung hinreißen lassen:

Da es beim Lottospielen nicht auf die Reihenfolge der gezogenen Zahlen ankommt, ist die Anzahl aller Möglichkeiten 6 Zahlen aus 49 zu ziehen:

Eine von diesen knapp 14 Millionen wäre dann der Treffer für einen Lottogewinn. (Die Zusatzzahl habe ich hier mal nicht berücksichtigt).
Nun müssen es ja nicht immer 6 richtige sein. Vielleicht würde man sich ja mit 5 richtig gezogenen Zahlen auch zufrieden geben.

Die Anzahl der Möglichkeiten fünf richtige zu ziehen sind dann immer noch 43 x 6 = 258. Analog zu obiger Rechnung kann man es auch folgendermaßen schreiben:

Führt man diese Rechnung jetzt für alle Treffer durch, zum Spaß auch für die bei denen kein Gewinn ausgezahlt wird, kommt man zu folgendem Ergebnis (P steht hier für die Wahrscheinlichkeit):






Mit anderen Worten ausgedrückt, bedeutet das also, dass man mit einer Wahrscheinlichkeit von ca. 41,3% eine Zahl richtig getippt hat. Für zwei richtige Treffer sinkt die Wahrscheinlichkeit schon auf etwas über 13%. Für einen “Dreier” liegt die Wahrscheinlichkeit dann nur noch bei ca. 1,76%.

Ich weiß nicht, wieviel Euro es für einen Dreier gibt, aber nehmen wir mal an, man würde für drei richtig getippte Zahlen 50,- € bekommen. Leider muss man dafür aber auch im Schnitt ca. 57 Lottospiele mitspielen, um statistisch betrachtet einmal drei Richtige zu haben. Wenn man für einen Lottoschein also 7,- € bezahlt, dann wären das knapp 400,- €, die man für einen 50,- € Gewinn erhalten hätte.

Das dürfte aber die meisten Lottospieler nicht interessieren, schließlich gewinnt fast jede Woche jemand die Millionen. ;-)

Medienkompetenz

von Kai um 14:19 am Donnerstag, 4. Februar 2010 in Allgemeines | 1 Kommentar

Klar, Facebook, StudiVZ, SchülerVZ, XING, ICQ, MSN, Twitter, Delicious, alle diese Dienste sind für einige von uns zum integralen Bestandteil des täglichen Lebens geworden. Mal eben die Fotos von der letzten Party online anschauen, oder einen netten Gruß auf der Pinnwand der neuen Liebschaft hinterlassen gehören genauso zum digitalen Alltag, wie sich auf Twitter über den neuesten Klatsch zu informieren, oder selbst welchen zu publizieren.

Doch anstatt sich kritisch mit diesen (neuen) Medien auseinander zusetzen, oder kurz darüber nachzudenken, welche Folgen das in Zukunft haben könnte, peinliche Fotos von sich ins Netz zu stellen, wird ungeniert über sexuelle Vorlieben diskutiert (mit vollständiger Adresse, Foto, IM und besuchte Schule/Uni/FH im Profil) oder über Mitschüler und Kommilitonen hergezogen. Medienkompetenz? Fehlanzeige.

Es geht noch weiter, selbst die Dienste, die wir täglich benutzen, sind zum Teil so restriktiv, dass wir mit jedem Post und jeder IM-Nachricht sämtliche Rechte an diesem, unserem geistigem Eigentum vollständig an den Anbieter abtreten.
Ausschnitt aus der ICQ EULA:

You agree that by posting any material or information anywhere on the ICQ Services and Information you surrender your copyright and any other proprietary right in the posted material or information. You further agree that ICQ LLC. is entitled to use at its own discretion any of the posted material or information in any manner it deems fit, including, but not limited to, publishing the material or distributing it.

Zu versuchen (s)einen Account in einem der o.g. social networks zu löschen grenzt an einer Suche nach der berühmten Nadel im Heuhaufen. Manchmal ist es auch gar nicht möglich den eigenen Account komplett zu löschen, sondern lediglich zu deaktivieren.

Dennoch: Ich vertrete nicht die Meinung, dass alle diese Dienste grundsätzlich böse sind und man sie deswegen nicht nutzen sollte. Wenn die ganzen Freunde und Bekannte bei Facebook angemeldet sind, möchte man wahrscheinlich gar nicht mehr diese leichte Möglichkeit der Kommunikation missen. Muss man auch gar nicht, denke ich. Es lohnt sich aber, öfter mal darüber nachzudenken, was genau man da eigentlich gerade der ganzen Welt verkündet, oder dass man wichtige Sachen vielleicht besser persönlich bespricht, anstatt sich über IM auszutauschen.

Ich befürchte nur fast, dass die Schulen und die Bildungspolitik diese neuen Gegebenheiten wieder mal verschlafen und die Lehrpläne nicht entsprechend umgestellt werden, so dass man möglichst früh schon etwas über den Umgang mit den Medien und Medienkompetenz im Allgemeinen beigebracht bekommt.
Fortschritt und Technologie haben sich noch nie aufhalten lassen. Genau deswegen müssen wir uns auch Gedanken machen, wie wir mit diesen Dingen umzugehen haben.

Onlinetest Python

von Kai um 20:37 am Montag, 11. Januar 2010 in Klausuren, Programmiersprachen, Studium | 0 Kommentare

Heute war es wieder mal soweit: Onlinetest. Dieses mal in Python. Nachdem ich erfolgreich meine Maschine (iMac mit Debian, Windowmanager war glaub ich FVWM) zweimal abgeschossen hatte, bin ich in der vorgegebenen Zeit von 90 Minuten knapp fertig geworden. Eigentlich sind die gestellten Aufgaben in den bisherigen Onlinetests, die ich so mitgeschrieben habe, nicht extrem schwer, trotzdem finde ich es aber schwierig auf Kommando kreativen (und möglichst cleveren) Code zu schreiben.

Es sind eben diese typischen Prüfungssituationen bei denen man unter erschwerten Bedingungen klaren Kopf behalten muss ;-)
Das waren die Aufgaben:

Aufgabe 1:

Man soll von der Standardeingabe eine Zeile einlesen und unnötige Leerzeichen entfernen. Außerdem soll jedes Wort mit einem großen Anfangsbuchstaben in Großbuchstaben umgewandelt wieder ausgegeben werden.

# a1.py
while True:
    line = raw_input()
    line = line.split()
    for word in line:
        if(str.isupper(word[0])):
            print str.upper(word),
        else:
            print word,
    print # Zeilenumbruch für schönere Ausgabe

Aufgabe 2:

Die zweite Aufgabe bestand darin, eine Datei belegung.dat einzulesen, die folgendes Format hatte: <VL-Nr>; <matrikelNr>; <VL-Name>; <VL-Typ>.
Danach sollte die so eingelesene Datei in folgendem Format in eine Datei ausgabe.dat geschrieben werden:
<VL-Nr>,<AnzahlBelegungen>, <VL-Name> <VL-Typ>
Momentan sind in der Ausgabe noch doppelte Einträge drin, das müsste noch geändert werden.

# a2.py
dict = {}
belegung = []

input = open('belegung.dat','r')
for line in input:
    line = line.split(';')
    belegung.append(line)

input.close()

for line in belegung:
    if dict.has_key(line[0]):
        dict[line[0]] += 1
    else:
        dict[line[0]] = 1

ausgabe = file('ausgabe.dat','w')

for nummer, anzahl in dict.iteritems():
    for line in belegung:
        tmp = ""
        if nummer==line[0]:
            try:
                tmp = str(nummer) + ',' + str(anzahl) + ',' + line[2] + '\n'
                ausgabe.write(tmp)
            except:
                pass

ausgabe.close()

Aufgabe 3:

Die dritte Aufgabe bestand darin, einen “sprach-begabten” Taschenrechner zu programmieren, der beim Aufruf des Programms Argumente wie “17 plus 4 minus 3 gleich” übernimmt und korrekt auswertet. Es soll bewusst auf Punkt-vor-Strich Rechnung verzichtet werden (also fällt eval() flach). Außerdem kann man der Einfachheit davon ausgehen, dass nur korrekte Argumente übergeben werden.
Ich hab ungefähr so etwas hingeschrieben:

# a3.py
import sys

i = 0
result = 0
input = sys.argv[1:]
while i < len(input):
    if input[1]=="gleich":
        result = int(input[0])
        break
    elif input[i]=="plus":
        result = int(input[i-1]) + int(input[i+1])
        input[i+1] = result
    elif input[i]=="minus":
        result = int(input[i-1]) - int(input[i+1])
        input[i+1] = result
    elif input[i]=="mal":
        result = int(input[i-1]) * int(input[i+1])
        input[i+1] = result
    elif input[i]=="durch":
        result = int(input[i-1]) / int(input[i+1])
        input[i+1] = result
    i += 1

print "Ergebnis:",str(result)

Eigenen Homeserver betreiben

von Kai um 21:21 am Dienstag, 29. Dezember 2009 in How-To, ubuntu | 2 Kommentare

Seit knapp zwei Jahren betreibe ich zu Hause nun meinen eigenen kleinen Server für verschiedene Dinge. Zeit, mal ein kleines Resümee zu ziehen und zu beschreiben, wie ich vorgegangen bin.
Vorneweg kann ich jedem den Einsatz eines kleinen Servers für die eigenen Wände nur empfehlen. Nach einiger Zeit habe ich mich so daran gewöhnt, dass ich das Teil nicht mehr missen möchte.

Hardware

Ich habe mich für ein mittelkleines Mini-ITX Motherboard von VIA entschieden, einfach weil meine Wohnung nicht sooo klein ist und mir die Pico-ITX (Maße: 100 mm × 72 mm) Modelle zu schwach auf der Brust waren. Als Gehäuse habe ich mir ein Gehäuse von Morex bestellt. Bei dem Motherboard war mir wichtig, dass es passiv gekühlt ist, weil das leiser und stromsparender ist. Ich habe leider erst später bemerkt, dass ich gerade mal 1 GB RAM verbauen kann und dass auf dem Mainboard lediglich ein Ethernet-Anschluß von 100 Mbit/s steckt. Wegen letzterem habe ich mir also noch eine schnellere Netzwerkkarte besorgt. Außerdem habe ich noch ein CD-Rom Laufwerk verbaut. Wie sich jetzt allerdings nach zweijähriger Laufzeit herausstellt, habe ich es vielleicht ein halbes Dutzend Mal benötigt und verbraucht ansonsten nur Strom.
Trotzdem würde ich den Stromverbrauch generell als sehr gering bezeichnen. Im Idle-Zustand verbraucht der Server so ca. 7-8 Watt.

Die Lautstärke ist wirklich annehmbar. Selbst unter Last ist der Server praktisch lautlos (so ohne Lüfter :-) ). Dafür würde ich auch nicht versuchen darauf einen Film zu dekodieren. Das soll aber auch gar nicht der Anwendungszweck des kleinen Helferleins sein, was mich direkt zu meinem nächsten Punkt bringt:

Anwendungszweck

Hauptsächlich nutze ich den Homeserver für Backup, zum Laden größerer Dateien (Torrents und One-Click Hoster via JDownloader) und als kleinen Webserver auf dem ein Wiki läuft und auf dem ich lokal immer wieder mal Sachen ausprobieren kann. Wie eben schon angedeutet habe ich, um JDownloader benutzen zu können auch ein X-Server und Windowmanager installiert. Auf dem Server selbst läuft Ubuntu (wobei ich seit einiger Zeit mit dem Gedanken spiele, FreeBSD darauf zu installieren) und als Windowmanager Fluxbox.

Beim Starten von GUI-Anwendungen auf fremden Hosts hat man normalerweise das Problem, dass man beim Beenden der Sitzung auch die GUI-Anwendung sich beendet bzw. die aktuelle grafische Sitzung, in der die Anwendung gestartet wurde. Das ist natürlich unschön, weil man bei größeren Downloads (wie z.B. Linuxdistributionen ;-) ) nicht die ganze Zeit die aktuelle Sitzung aufrecht erhalten möchte. Leider gibt es auch für JDownloader derzeit noch keine “GUI-lose” Version, mit der dieses Problem ebenfalls umschifft werden könnte. Abhilfe gibt es aber dennoch:
Und zwar gibt es von der Firma NoMachine NX einen kostenlosen Client, mit dem man sich auf einen Server grafisch einloggen und Anwendungen ausführen kann. Die Sitzung lässt sich jederzeit unterbrechen und zu einem späteren Zeitpunkt wieder aufnehmen. Im Hintergrund laufen alle gestarteten Anwendungen normal weiter.

Alleskönner FFmpeg

von Kai um 00:04 am Sonntag, 20. Dezember 2009 in How-To, News, ubuntu | 0 Kommentare

FilmrolleFür sämtliche Audio- und Videobearbeitungen oder Konvertierungen ist FFmpeg das Tool der Wahl. Es gibt praktisch kaum bekannte Codecs und Formate, die nicht von FFmpeg unterstützt werden. Außerdem benutzen auch bekannte Mediaplayer wie VLC oder MPlayer ebenfalls FFmpeg unter der Haube.

Wie es sich unter Ubuntu installieren lässt, ist bereits hier sehr gut beschrieben. In der Regel reicht aber ein einfaches sudo apt-get install ffmpeg auf der Kommandozeile.

Um nun zum Beispiel bei Youtube heruntergeladene Videos in das MP3-Format umzuwandeln, reicht es oft schon aus, einfach die Quelle anzugeben, da FFmpeg standardmäßig schon eine Vorauswahl über die verwendeten Codecs und Einstellungen trifft.

$ ffmpeg -i foo.mp4 foo.mp3
$ ffmpeg -i bar.flv bar.mp3

Sicherlich gibt es unzählige Anwendungsfälle für den Einsatz von FFmpeg. Leider ist die Auswahl an brauchbaren Videobearbeitungsprogrammen unter Ubuntu immer noch Mangelware. Zum Konvertieren von Videodateien ist aber Handbrake meiner Meinung nach grundsätzlich schon zu empfehlen. Da sich niemand die ganzen Flags für FFmpeg merken kann lohnt sich evtl. ein Blick auf Handbrake, da unter anderem schon vorangelegte Einstellungen und Profile für Ipod, IPhone und Spielekonsolen existieren.

So, wie ich Mark Shuttleworth auf der letzten Linuxcon verstanden habe, wird Ubuntu aber in Zukunft hier verstärkt einen Fokus drauflegen. Witzigerweise gab es bei dem Vortrag von ihm dort auch eine Wortmeldung von jemanden, der sich darüber beschwerte, dass er mit Ubuntu versuchte ein kleines Geburtstagsvideo zusammen zu schneiden. Das endete leider in einem Desaster, so dass er letztlich das Video auf einem Mac zusammengeschnitten hatte.

Der Papa Gründer von Ubuntu beschreibt oft in Interviews, dass er möchte, dass sein Betriebssystem möglichst so leicht zu bedienen und schick sein soll wie es Mac OSX tut. Meiner Meinung nach ist dieses Ziel aber schon erreicht, ich sehe eher ein Defizit an “schicker” Hardware, die möglichst perfekt auf Ubuntu abgestimmt ist.

Sollte das in Zukunft (vielleicht ja sogar mit DELL) passieren, würde das dem Betriebssystemmarkt sicherlich einen neuen Push geben. Und wer weiß, jüngste Nachrichten gehen ja genau in diese Richtung :-)

Neues Design und Beiträge in der Queue

von Kai um 01:29 am Samstag, 19. Dezember 2009 in News | 2 Kommentare

nerostrasseWinterIch hab es endlich geschafft, einen Punkt auf meiner To-Do Liste abzuarbeiten, der schon sehr lange da stand:
Ein neues Blogdesign.

Das alte hat mir schon lange nicht mehr gefallen, außerdem wollte ich die Chance nutzen, mich besser in Wordpress einzuarbeiten. Es ist sicherlich noch nicht ganz fertig, und ich bin mir nicht sicher, ob bisher alles so funktioniert, wie ich mir das vorgestellt habe. Die Seite konnte ich mir bisher z.B. nicht im Internet Explorer anschauen (d.h. nicht selbst anschauen, ich hab aber schon einen Blick auf einen Screenshot geworfen, bei dem es mir kalt den Rücken runterlief).
Es ist manchmal zum verzweifeln, ging ich doch davon aus, dass zumindest der aktuelle Internet Explorer weitestgehend Standards unterstützt.

Um mir für Ubuntu zum Anzeigen der Webseite den IE zu besorgen, habe ich mir nochmal das Projekt IEs4Linux angeschaut, aber scheinbar werden nur die Internet Explorer bis Version 6 unterstützt.
Da ich für andere Projekte aber sowieso plane eine neue virtuelle Maschine für WinXP aufzusetzen, werde ich mir nicht die Mühe machen zu versuchen, die mit Wine zum Laufen zu bringen.

Zum Anzeigen einer Webseite kann ich die Seite browsershots.org empfehlen. Zumindest, um einen ersten Überblick zu bekommen, ob die Seite auf verschiedenen Systemen so aussieht, wie man sich das vorgestellt hat. Für Debuggingzwecke ist die Seite aber sicherlich keine gute Wahl, weil das Rendern der einzelnen Screenshots durchaus seine Zeit dauert, und man mit einem Bild auch weniger experimentieren kann, als mit einem vollerwertigem Browser. :-)
Nicht so schön finde ich die nervigen Ads, die man sicherlich auch dezenter hätte platzieren können, aber heute ist ja noch kein Weihnachten.

In diesem Sinne…

Update:
Durch die freundliche Hilfe von Seba, Zaubertrank und beruhigendes Zureden, sollte das Layout jetzt auf den meisten Browsern und Systemen halbwegs korrekt aussehen. (Einzelne Opfer bei der Sidebar haben es leider nicht mehr geschafft, die Angehörigen werden benachrichtigt.)
Fazit: Viel gelernt und Webdevelopment tut gar nicht so weh, wenn man sich an ein paar Regeln hält.

Onlinetest in C

von Kai um 19:19 am Montag, 23. November 2009 in Programmiersprachen, Studium | 0 Kommentare

Heute fand nach sechswöchiger Einführung in C in dem Modul “Programmieren 3″ der Onlinetest in C statt. Nächste Woche gehts dann mit einer Einführung in Python weiter.

Da ich mir mittlerweile meiner akuten Prüfungsangst und der damit einhergehenden Blackouteritis bewusst bin, gehe ich davon aus, dass ich nur knapp bestanden hab, obwohl (zumindest die ersten beiden Aufgaben) nicht so schwer waren.

Nachfolgend nun die ersten beiden Aufgaben des Onlinetests. Die dritte Aufgabe reiche ich wie schonmal nach, sobald mein Kopf nicht mehr ganz so matschig ist.

Aufgabe 1

/****************************************************
 * Aufgabe: Es werden Noten (Note '1' bis Note '6') *
 * auf der Kommandozeile eingegeben. Als Ausgabe    *
 * erscheint dann die Summe der einzeln eingegeben- *
 * en Noten                                         *
 ****************************************************/


#include <stdio.h>

int main(void) {

  int n1=0,n2=0,n3=0,n4=0,n5=0,n6=0;
  int note;
  while(scanf("%d", &note) != EOF) {
    switch (note) {
    case 1:
      n1++;
      break;
    case 2:
      n2++;
      break;
    case 3:
      n3++;
      break;
    case 4:
      n4++;
      break;
    case 5:
      n5++;
      break;
    case 6:
      n6++;
      break;
    }
  }

  printf("Note 1: %d mal\n", n1);
  printf("Note 2: %d mal\n", n2);
  printf("Note 3: %d mal\n", n3);
  printf("Note 4: %d mal\n", n4);
  printf("Note 5: %d mal\n", n5);
  printf("Note 6: %d mal\n", n6);
}

Aufgabe 2

/****************************************************
 * Aufgabe: Versehentlich wurden einige Lottozahlen *
 * doppelt gezogen. Es soll eine beliebige Reihe    *
 * von Zahlen auf der Kommandozeile eingegeben und  *
 * die doppelt vorkommenden Zahlen geklammert       *
 * werden                                           *
 ****************************************************/


#include <stdio.h>
#include <assert.h>

typedef struct zahlen {
  int zahl;
  struct zahlen *next;
} Zahl;

Zahl *neueZahl(void) {
  Zahl *z;

  z = malloc(sizeof(Zahl));
  assert(z);
  z->zahl = 0;
  z->next = NULL;

  return z;
}

Zahl *start;
Zahl *tmp;

int main(void) {

  int eingabe;
  int erstesMal = 0;
  while(scanf("%d", &eingabe) != EOF) {
    if(erstesMal == 0) {
      Zahl *neu = neueZahl();
      neu->zahl = eingabe;
      neu->next = NULL;
      start = neu;
      tmp = neu;
      erstesMal = 1;
    } else {
      Zahl *neu = neueZahl();
      neu->zahl = eingabe;
      tmp->next = neu;
      tmp = neu;
    }

  }

  printf("%d ",start->zahl);
  tmp = start->next;
  while(tmp != NULL) {
    if(start->zahl == tmp->zahl) {
      printf("[%d] ",tmp->zahl);
    } else {
      printf("%d ",tmp->zahl);
    }
    start = tmp;
    tmp = start->next;
  }
}