Beiträge von a9bejo

    Zum urspruenglichen Thema: Ich finde solche Jobpostings gehören in das Jobforum und nicht in die Programmierecke. Ich mag diese Postings genauso wenig wie z.B. jimbeam oder Planschkuh!. Aber ich sehe auch Probleme auftreten, wenn wir diese Postings jetzt z.b. löschen würden. Das Jobforum ist schon genau der richtige Ort dafür. Ich möchte aber jedem, der in Betracht zieht so ein Angebot wahrzunehmen, warnen: Diejenigen die solche Angebote schreiben haben meistens keine Ahnung wie viel Aufwand eine Aufgabe bedeutet und wie viel sie Wert ist.


    Zitat von kunibert


    wer noch nie irgendwas aus diesem forum, dem mtb-projekt, einem der wikis oder aus sonst einer ressource kopiert oder verwendet hat...

    Das hat mit dem Thema nur wenig zu tun. Die meisten dieser Informationen im Forum, im mtb-Projek oder im VO-Wiki sind beim Lernen unterstützend und haben nichts mit Schummeln zu tun. Dann gibt es noch einige (wenige) LVAs, wo Professoren immer genau die selben Fragen zu den Prüfungen stellen. Z.B. "Einführung in die AI" oder die Steinhart Fragen. Das ist dann aber auch meistens genau die Art zu lernen, die der Professor erwarten musste: Fragen und ihre Antworten auswendig lernen. Oft merkt man sich dabei sogar eine ganze Menge. Kooperatives Arbeiten und Lernen ist eines der wesentlichen Dinge, die man im Studium lernen kann. Nichts weiter wird hier im Forum gemacht, und ich vermute, dass die meisten Professoren die Existenz des Forums sehr begrüssen.

    Das Thema in diesem Thread dreht sich aber um einen völlig anderen Typ von Student: Den Studenten, der gar nicht lernen will und sich auch überhaupt für die Informatik interessiert.

    Uninteressierte Studenten sind völlig normal und ich glaube ich kann sie auch gut verstehen: Vielleicht wurde einem das Studium von den Eltern nahegelegt, oder man hat gehört dass da die Jobaussichten so toll sind. Oder man wollte halt irgend etwas studieren und Informatik hat von all dem langweiligen Zeug noch am besten geklungen. Diese Studenten betrachten halt das Studium als Fortsetzung der AHS: Augen zu und durch. Das ist schon OK so: Es muss ja nicht jeder muss sein Glück in seiner Profession finden.

    Die eigentliche Frage ist, ob und warum sich die interessierten Studenten für die uninteressierten Studenten einsetzen sollten, und ob es gut ist wenn beide das Studium erfolgreich abschließen können.

    Als interessierte Studenten bezeichne ich Personen, die sich für die Inhalte im und um das Studium herum begeistern. Das hat nichts mit Noten zu tun, auch nicht mit Fleiß: Es gibt z.B. Studenten die neben dem Studium arbeiten und jede Gelegenheit nutzen, um eine LVA hinter sich zu bringen. Es gibt Studenten die sich richtig reinhängen und dann trotzdem nur mit einem Vierer abschließen. Aber trotzdem haben viele von ihnen ein Interesse an den Inhalten und verbringen z.B. auch Zeit mit Stoff, den sie weder fuer eine Prüfung noch konkret für die Arbeit brauchen. Wenn sich mehrere solche interessierten Informatiker zu einem Haufen zusammenraufen, dann können sie großartige Dinge erschaffen.

    Es gibt recht viele interessierte Studenten. Ich persönlich finde es völlig einleuchtend und normal, dass man als interessierter Student der Informatik vor allem seinesgleichen helfen möchte.


    Mit den uninteressierten Informatikern zusammenzuarbeiten macht nämlich keinen Spass.

    Man muss die Arbeit für sie machen und man kann weder jetzt noch in Zukunft etwas von ihnen lernen. Was man mit ihrer Hilfe macht ist meistens von schlechter Qualität.

    Darum ist es auch genauso einleuchtend und normal, wenn ein interessierter Student nicht möchte, das ein uninteressierter Student sein Studium abschließt: Weil man nämlich dann erst recht wieder mit solchen Studenten zusammenarbeiten muss. Sprich, ihre Arbeit macht und nichts von ihnen lernt.

    Interessierte Studenten werden hier im Informatik Forum meistens sehr gut beraten. Manchmal ist der beste Rat halt nur ein Hinweis auf ein Buch oder einen Link, oder auf den Umstand das es dem Fragenden an Grundlagen fehlt.

    Was die uninteressierten Studenten betrifft - Da würde ich mir wünschen, das die hier im Forum höflicher und knapper abgewiesen werden als bisher. Also z.B. einfach mit einem Link zum entsprechenden FAQ Beitrag oder einem freundlichen Kommentar antworten, oder einfach ignorieren. Weil solche "Macht mal meine Arbeit" Postings werden immer wieder kommen. Wenn wir da jedesmal einen emotionsgeladenden Thread draus machen, dann werden sich im schlimmsten Fall die interessierten Anfänger nicht mehr trauen, hier Fragen zu stellen. Und das wäre sehr, sehr schade.


    Das uninteressierte Studenten das Studium erfolgreich abschließen ist, leider, völlig üblich. Zum Beispiel Professoren wie Puntigam, Knoop, Pichler machen auf mich den Eindruck als würden sie niemanden wirklich durchfallen lassen wollen. Sie sind ganz engagiert wenn jemand Interesse zeigt, aber jemand der das nicht tut wird halt "nur" mit einem Dreier nach Hause geschickt. Das Tutorensystem (Studenten benoten Studenten) ist da auch nicht besonders hilfreich.

    Alles in allem gibt es auch im Magisterstudium noch sehr viele Studenten, die zum Beispiel keine Ahnung von Programmiergrundlagen haben. Und ich meine wirklich gar keine Ahnung, also nicht einmal auf EPROG Niveau. Und das Magisterstudium ist viel einfacher als das Bakk.

    Wie lange ist beim N800 eigentlich ca. die Akku-laufzeit?

    Und gibts einen gescheiten standby-modus oder so, weil das erstmalige booten dauert (einem youtube video nach zu urteilen) doch recht lange, aber grad bei so einem geraet waere ein always-on bzw. instant-on schon sehr praktisch, statt mal >10 sek. warten zu muessen, bis man irgendwas tun kann.

    Die beiden Fragen hängen gewissermaßen zusammen: Ja, Du schaltest das Gerät praktisch niemals ab - es ist always on, genau wie bei einem Telefon. D.h aber natürlich auch, das, wenn Du im Hintergrund etwas rechenintensives machst (z.b. eine Webseite mit einer prozessorlastigen Flash Applikation offen zu lassen), die Laufzeit schon daruner leiden kann.

    Laut Nokias eigenen Angaben kommt das Gerät auf 12 Stunden Musik hören bzw. 4-5 Stunden, wenn Du richtig was damit machst (z.b. Webseiten browsen und daneben ueber Skype telefonieren). Das deckt sich auch ungefähr mit meiner Erfahrung. Genau weiss ich es aber nicht - ich hab das Geraet bis jetzt immer abends an den Strom gesteckt. Derzeit behaupted die Batterieanzeige 'When idle: 10 days. When in use: 7 hours.'

    Nokia verkauft aber nur noch die Restbestände (die wollen ja eigentlich das n810 verkaufen), und der Preis hat das Gerät über Weihnachten zeitweise an Platz 3 unter den Bestsellern bei Computern gebracht. Der Preis bei Amazon ist schon von EUR 228,0 auf 259,48 gestiegen ist und angeblich(*) sind derzeit nur noch 5 Stück lagernd (Update: oh, nur in .de. Bei amazon.com ist es noch immer fuer $230 zu haben).


    Zitat von wuz_thomas


    hab kurz gedacht endlich ein neues handy...

    Genau das war für mich ein wichtiger Grund es zu kaufen. Ich finde der Akku von einem Handy sollte nur für einen einzigen Zweck aufgespart werden - telefonieren. Das n800 ist kein Telefon. Und wenn es ein Telefon wäre, dann vermutlich ein schlechtes.

    BTW: Ich habe das iPhone in meinem Post vielleicht etwas zu negativ dargestellt. Es macht schon das beste aus seiner Hardware: Z.b. wird der kleine Screen durch das schnelle zoomen besser ausgeglichen als bei den meisten anderen Geräten. Der Prozessor ist auch schneller als zum Beispiel auf dem n800 (6xx Mhz gegenüber 400 Mhz). Ich finde halt, dass die Technik derzeit noch nicht reif genug ist fuer ein all-in-one Gerät (vielleicht nächstes Jahr?). Außerdem mag ich offene und langlebige Systeme.


    (*) Ich weiss nicht ob ich Amazon da traue...

    Ich find es ziemlich eigenartig, aufgrund von anekdotischer Erfahrung mit einem Gerät, das kaputt war und/oder wo die Reparatur lange gedauert hat, darauf zu schließen, daß alle Geräte einer betreffenden Firma Müll sind

    Stimmt. Aber ich hoffe wir sind uns einig, dass das Protokollieren solcher Erfahrungen im Netz, gute wie schlechte, grundsätzlich etwas sehr positives ist. Wenn sich jemand im Netz nach einem Produkt oder einer Firma erkundigt, dann findet er ja außer diesem Thread noch viele weitere Meinungen. Ausschlaggebend am Ende ist das Verhältnis zu dem Feedback, das die Konkurrenzprodukte bekommen.


    Ich würde mein Zeug nur wo kaufen, wo auch Service gemacht wird (am besten, wo man es selber hinbringen kann und nicht auf Post oder Botendienste angewiesen ist), wenn ich es selber nicht reparieren kann/will.

    Service gibt es ja praktisch ueberall. Wichtig ist, das der Service etwas taugt. Und die beste Art das herauszufinden ist immer noch die Online Recherche (wo man dann auf Beitraege wie diesen hier stoesst).

    Auf das selber hinbringen und abholen kann ich aber gerne verzichten. Zum Beispiel bei Amazon und bei Dell habe ich sehr gute Erfahrungen bei Lieferung und Support gemacht.

    Alternate!!!

    Hab am 16. Dezember 2 Secure Digital Karten bestellt, am 20ten die Auftragsbestaetigung bekommen und heute sind sie angekommen. Als ich mir das Packet bei der Post abgeholt habe wollten die mir das fast nicht geben, weil da irgendwas beim Lieferschein oder so nicht gestimmt hat.

    Es ist gerade die Zeit des heiligen Shoppings gewesen, darum muss das natuerlich nicht unbedingt immer so bei ablaufen bei Alternate. Aber wenn ich bei Amazon bestelle, dann halte ich mein Paeckchen immer 3-5 Tage spaeter in der Hand. Das ist schon fein.

    Bei der Post selbst habe ich mich aber kuerzlich auch einmal beschwert: 3 mal hintereinander den gelben Zettel im Kastel gefunden, und jedesmal war ich sicher zuhause. ( Naja das zweite mal war ich ganz kurz bei der post, um das erste Packet abzuholen :) ).

    Also du hast zwar schon einige gute Antworten bekommen, aber ich werde Deine Frage trotzdem mal auf meine Weise (langatmig und kompliziert) beantworten:

    Um eine Webapplikation zu erstellen brauchst Du einen Server, der auf einem TCP Port Anfragen entgegennimmt und beantwortet. Diese Kommunikation folgt einem Standard, der heißt HTTP. Die Nachrichten selbst sind meist in der Beschreibungssprache HTML verfasst und mit CSS formatiert. Wenn Du so einen Server hast, dann kannst Du z.B. sagen das wenn Du mit Deinem Browser eine bestimmte Adresse anwählst, ein HTML Dokument als Antwort zurückgeschickt wird. Damit alleine kannst Du schon eine Homepage machen.

    Wenn deine Applikation mehr macht als nur ein paar statische Webseiten anzuzeigen, dann hast Du noch eine ganze Menge zusätzlichen Code: Du musst steuern auf welche Anfragen welche Dokumente zurückgeliefert werden. Du wirst die Dokumente dynamisch erstellen wollen, d.h. Du hast eine ganze Menge Programmlogik. Und oft wirst Du die Daten, die Du zum Anzeigen brauchst, irgendwo ablegen und danach suchen wollen.
    All das musst Du irgendwie organisieren, und es gibt da bereits gut durchdachte Strategien, wie Du das machen kannst.

    Alles in allem gibt es da eine ganze Menge Komponenten. Und weil Du speziell nach Java gefragt hast: Für jede von diesen Komponenten kannst Du Java einsetzen: Du kannst mit Java deinen Webserver bauen, Du kannst mit Java die Dokumente erstellen, Du kannst die Daten haushalten und die Programmlogik erstellen. Und weil das in der Softwareentwicklung so üblich ist, gibt es für alle Komponenten, die man allgemein verwenden kann, bereits sehr viele fertige Lösungen. Es gibt auch verschiedene Ansichten wie so eine Lösung für einen bestimmten Zweck aussehen muss.

    Es gibt z.b. bereits sehr viele Webserver, Datenbanken und Frameworks, aus denen Du dich bedienen kannst.
    Viele davon kannst du auch mit Java verwenden, obwohl die Tools selbst nicht Java verwenden. Und dann gibt es ja auch zwei verschiedene Technologien, die Java heißen: Die Softwareplattform Java, und die Sprache Java. Letzteres ist eine von mehreren möglichen Sprachen, mit der du auf der Plattform Java programmieren kannst. Und es ist nicht unbedingt ratsam, alle Teile einer Webapplikation in der Sprache Java zu schreiben.

    Bei Java Frameworks kannst Du ja mal auf Wikipedia nachschauen . Es gibt noch sehr viele weitere Frameworks, und alle haben irgendwo Stärken und Schwächen. Ich empfehle Dir fuer eine schnelle Webseite, wenn es denn auf Java sein muss, http://helma.org oder http://wiki.jruby.org/wiki/JRuby_on_Rails (Achtung, ich bin da aber bei Helma nicht ganz unvoreingenommen!). Wenn auch die Programmiersprache Java verwenden willst, kannst Du dir ja mal Wicket anschauen.

    Als Grundlagen solltest du dich mit der Architektur des World Wide Web vertraut machen, sowie mit allgemeinem Design von Software. Also wie HTTP funktioniert, wie man mit HTML/CSS/XML Dokumente erstellt, die von einem Browser angezeigt werden können, was man unter einer Ressource versteht und wie man Daten, Logik und Präsentation einer Applikation logisch voneinander trennt.

    Hmm. Der ganze Absatz hat für mich geklungen nach "ach, Synchronisationsprobleme jeder Art sind einfach Instanzen des Dining-Philosopher-Patterns, und das ist ist trivial, und es gibt massig Lösungen". Wenns nicht so gemeint war, OK.

    Nein, so war es wirklich nicht gemeint (Aber beim nochmaligen Durchlesen versteh ich das Du es so interpretiert hast). Ich wollte eigentlich nur nicht den falschen Eindruck hinterlassen, dass wir im Detail durchgesprochen haetten, wie z.B. unter Unix Deadlocks verhindert werden. Wir haben uns zwar schon auch die konkreten Faelle (Unix und WinNT) angeschaut, aber vor allem haben wir dort eben Dining Philospher gemacht. Ich sehe Dining Philosopher für Deadlocks ca so wie das ISO/OSI Modell für Netzwerkverkehr: Ganz so spielt es sich in der Realität nicht ab, aber es ist sehr gut geeignet, um die Probleme und die Lösungsansätze zu erklären.


    Wenn ich in C mit pthreads eine pure Funktion in einem neuen Thread starte, ist das dann ein Prozess? Wenn ich in Erlang eine impure Funktion in einem neuen Prozess starte, ist das dann ein Thread?


    Also zumindest was mich betrifft: Ja.


    Ich glaube, wir meinen schon das selbe, aber C mit einer Thread-Library, die Erlang-ähnliche Message-Primitive bereitstellt, wäre nicht weniger sauber oder zuverlässig als Erlang. In beiden hat der Programmierer die Möglichkeit, sich in den Fuß zu schießen, und in beiden muß er mitdenken, um das zu vermeiden. (Erlang hat den gewissen Vorteil beim Komfort, daß Datenstrukturen automatisch quasi "const" sind, und daß umständliche Speicherallokationen hinter der Termsyntax versteckt sind.)

    Stimme dir wieder zu. Aber wie müsste denn dann so eine Biliothek aussehen?

    Man müsste sicherstellen, das Funktionen keine Seiteneffekte haben, und zwar so das ein für paralleles Computing optimierter Compiler sich darauf verlassen kann. Man müsste Abstraktionen schaffen, um Prozesse genauso natürlich zu erstellen wie if Anweisungen, und man müsste die Prozesse so leichtgewichtig machen, das man damit verschwenderisch umgehen kann.

    Ich stimme dir völlig zu, und solche in C geschriebenen Bibliotheken gibt es heute bereits: Nämlich Erlang und den Glasgow Haskell Compiler. Beides sind Implementierungen für die notwendigen Abstraktionslayer und die Termsyntax und die Message-Primitive, die wir beide angesprochen haben.

    PS: Ein frohes neues Jahr wuensche ich!

    Bei uns in der Firma wollte die Geschäftsleitung zu Weinachten großzügigerweise iPhones verschenken (im Jänner in den USA kaufen
    und dann unlocken nehme ich mal an).

    Ich habe mir das iPhone bei meinem Chef angeschaut, und so gerne ich auch ein einziges Gerät hätte mit dem ich browsen, Musik hören und telefonieren kann: Die Technik ist einfach noch nicht so weit. Also habe ich dankend abgelehnt und mir stattdessen von dem Geld ein Internet Tablet von Nokia (n800) gekauft.

    • Bei einer Auflösung von 480x320 im Web zu surfen macht einfach keinen Spass. Egal wie huebsch das zoomen mit zwei Fingern gemacht ist: Man muss das die ganze Zeit machen und dazu noch hin und her scrollen.

      Das Internet Tablet hat eine Auflösung 800x480 und ein gestochen scharfes Display, d.h. ich kann die meisten Webseiten betrachten, ohne zur Seite scrollen zu muessen. Das gleiche gilt für lokale Dokumente: Ich kann sogar gewöhnliche PDF Dateien anschauen, die gar nicht für mobile Geräte proportioniert wurden. Das ist dann nicht ganz so bequem wenn man ein eigens für mobile gefertigtes Ebook liesst, aber es geht doch gut genug um auch längere Texte auf dem Ding zu lesen.

    • Wenn sich ein Browser, ein Telefon und ein Mediaplayer einen Akku teilen, dann macht es der nicht sehr lange. Mein Ericsson K750i ist winzig klein und kommt tagelang ohne nachladen aus. Das macht es meiner Meinung nach zu dem weit besseren Telefon. Wenn ich auf dem n800 Videos schaue, dann beeinträchtigt das den Akku von meinem Handy überhaupt nicht.

    Dazu kommt noch die künstlichen Hürden, die Apple seinen Benutzern aufdrängt:

    • Kein wechselbarer Akku macht das iPhone zu einem "2 Jahre benutzen und dann wegschmeißen" Gerät. Einen Ersatzakku fuer mein Internet Tablet kann ich bei Amazon um 17 Euro kaufen. Ein Gadget das nur 2 Jahre lang funktioniert (und nur eines mit voller Leistung), ist meiner Meinung nach keine 100 Euro wert. Selbst wenn ich mir in 2 Jahren ein neues Gerät kaufe, dann will ich das alte verschenken oder verkaufen oder sonstwie einsetzen können. Wenn etwas zeitlich so stark eingeschränkt ist, dann soll man das im Preis zu spüren bekommen.
    • Kein erweiterbarer Speicher bedeutet, das Apple im kommenden Jahr ein iPhone mit 32GB Speicher ankündigen kann. Wenn das mal draußen ist, kann ich mir einfach eine 32 GB SD Karte für einen Spottpreis kaufen und in das n800 schieben. Die Dinger werden einem heute praktisch nachgeworfen.
    • Mit oder ohne iPhone SDK bin ich softwareseitig vermutlich künstlich von Apple eingeschränkt. Auf dem n800 laeuft ein Debian basiertes Linux (maemo.org) mit einer aktiven Community und haufenweise Software. Ich kann zum Beispiel alle moeglichen Audio und Vidoformate abspielen. Die Dateien schiebe ich einfach auf die SD Karte, oder ich spiele sie mit sftp rueber. Ich habe einen Firefox mit Flash 9 und Adblocker. VOIP und Videotelefonie geht mit GoogleTalk oder Skype oder Gizmo, ganz wie ich es will. Ich hab Gnumeric installiert, und wenn ich noch was spezielles brauche, dann kann ich das gleiche machen was ich auch an jedem anderen Rechner machen wuerde: Python oder Ruby installieren und mir schnell was zusammenhacken.
      Das ganze Geraet ist als mobiler PC alles andere als perfekt (ein 400Mhz CPU und 128MB RAM halt), aber man kann eine ganze Menge aus ihm rausholen und niemand stellt einem Steine in den Weg.

    Das UI vom iPhone ist natuerlich wieder sehr fein umgesetzt. Aber nach 2 iPods glaube ich nicht mehr an das "tolles UserInterface ist besser als alles andere" Argument. Zumindest was mich betrifft, stimmt das einfach nicht.

    klingt nicht so, als ob auch nur das Dining Philosopher Problem allgemein gelöst wäre, von anderen Synchronisationsproblemen ganz zu schweigen.

    Hab ich doch auch gar nicht behauptet. Ich hab nur gesagt das das deadlock problem im Prinzip die gleiche Problemstellung ist. Nagut - ich hab 'Loesungen' anstatt 'Loesungsansaetze' geschrieben. Aber sich daran aufzuhaengen ist etwas pedantisch.


    Es gilt mal wieder: Patterns sind nett, aber auch wenn du einen Hammer hast, ist nicht alles ein Nagel.


    Stimmt. Hab ich was anderes behauptet?


    Threads sind überhaupt kein Problem, shared state ist das Problem.


    Wie so oft unterscheiden sich unsere Meinungen praktisch nur durch die Terminologie: Der shared state ist fuer mich der wesentliche Unterschied zwischen Thread und Prozess ("different threads of the same process share some resources while different processes do not", WP). In Erlang/Haskell wird deshalb immer von Prozessen gesprochen.


    Ich hab nicht alle diese LVAs gemacht, aber in fortgeschrittener Funkprog (vor einigen Jahren) und Betriebssysteme ist es nicht darum gegangen, wie man parallele Algorithmen entwickelt, Deadlockfreiheit sicherstellt, angemessene Tools verwendet etc. War es bei dir schon so? Das wäre ein Zeichen, daß sich was bessert.

    Ich glaube viele von den Studenten, die sich auch in ihrer Freizeit (und oft auch im Beruf) mit Informatik beschäftigen (und ich glaube Kampi und die Planschkuh grasen auch auf dieser Weide), dann wirkt das, was man auf der Uni macht, oft oberflächlich. Aber ich finde diesen Vergleich unfair: Wenn ich mich leidenschaftlich 14 Tage lang in ein Thema vertiefe, das mich jetzt gerade interessiert, das ich in meinem eigenen Tempo lerne und wo ich mich an dem gesamten Expertenwissen aus dem Internet bedienen kann - Dann kann sowieso keine LVA da in einem Semester auch nur annähernd mithalten.

    Was ich mir von der Uni erwarte sind Denkanstösse und Wegweiser in alle Himmelsrichtungen. Und was das betrifft bin ich an der TU eigentlich gar nicht so unzufrieden. Ausnahmen sind wie schon gesagt die (pseudo-)praxis orientierten Veranstaltungen. Ich meine es gibt schon überall Dinge die ich ändern würde. Aber ich glaube auch es gibt keine perfekten Systeme, sondern nur solche, die weniger scheiße sind als ihre Vorgänger. Und um das zu erreichen, braucht man schon sehr viel Glück.

    Ich habe zum Beispiel in Betriebssysteme (wie schon gesagt auf der HU, bei Zima) Deadlocks durchgemacht und auch wie diese verhindert werden. Im Prinzip sind das einfach die Lösungen zum Dining Philosopher Problem.

    In fortgeschrittener Funkprog wurde "Parallelism in Functional Languages" durchgenommen, das ich ja weiter oben schon in einem Post angesprochen habe. Da ging es um impliziten/explizite Parallelisierung und den Kompromiss zwischen den beiden, die Knoop "Algorithmic skeletons" nennt. Das sind, wie der Name vermuten laesst, eigentlich Patterns fuer parallele Algorithmen, und die meisten davon kommen vielen auch gleich bekannt vor wie (Farm, Map, Reduce, Branch&Bound, Divide&Conquer).

    Das sind jetzt alles nicht die Super Vertiefungsveranstaltungen gewesen, in denen es nur um paralleles Programmieren geht. Aber wenn man alles zusammen nimmt, was im Studium so um das Thema herum erzaehlt wird, dann bekommt man, finde ich, einen ganz guten Überblick über die Problemstellungen in der parallelen Programmierung. Zum Beispiel die Kapitel über Synchronisation und Transaktionen im Datenbanksysteme Buch waren eine ganz hervorragende Vorbereitung für parallele Algorithmen. Wie z.B. das Modell des Software Transactional Memory (siehe das video-intro das ich oben gepostet hatte). Und auch die ganzen Webservice-LVAs tragen ihren Teil dazu bei.

    Wie man mit Threads arbeitet, lernt man in verschiedenen Uebungen, wie beispielsweise verteilte Systeme oder den ganzen "bau mir mal ne Java App" LVAs. Wie gut ist eine andere Frage, und in systemnaher hätte ich auch gern etwas mehr darueber gehört, aber wenn man die Problematik erkannt hat, dann kann man sich die Praxis ja auch im Beruf besorgen. Und ehrlich gesagt will ich auf der Uni nicht mehr über Threading lernen: Threads sind meiner bescheidenen Meinung nach der Flaschenhals bei der parallelen Programmierung, und wir sollten schauen, das wir uns von diesem Mist so schnell wie nur möglich trennen. Am besten noch vor dem nächsten Jahrzehnt.

    schaut es bei den SElern auf diesem gebiet auch so traurig aus?

    Naja ueber pthreads hab ich jetzt noch nichts vertiefendes gehoert, allerdings ist das ja "nur" ein standard interface zur Kommunikation mit Threads. Ich bin mir nicht sicher, ob das wirklich auf der Uni gelehrt werden muss. Wenn man die Probleme beim parallel computing gelernt hat, kann man sich das Wissen ueber pthreads leicht selbst aneignen. Das theoretische Wissen gibt es in SE meiner Meinung nach schon: In fortgeschrittener funktionale Programmierung, in Betriebsysteme (hab ich allerdings auf der HU gemacht), in verteilte Systeme oder in Datenbanksysteme wird man schon ganz gut mit der Domaine vertraut gemacht finde ich.

    Das einzige, was ich am Mag SE wirklich etwas traurig finde, ist der zu starke Fokus auf Serviceorientierte Architektur (SOA). Das ist schon gut zu wissen, wird aber in viel zu vielen LVAs durchgenommen. So nach dem Motto "Weil meine LVA noch nicht ENTERPRISE(tm) genug ist fuers Magisterstudium, pack ich einfach noch schnell ein paar Folien ueber SOA und WS-* Zeug wie SOAP/WSDL/BPEL mit dazu." Ich finde auch das Mag sollte nicht so (pseudo-)praxisorientiert sein: Das geht oft schief, weil die Profs halt in der Regel Theoretiker sind. Die sollen mich nicht krampfhaft auf die Arbeit im Grosskonzern vorbereiten, sondern mich lieber an dem Wissen teilhaben lassen, mit dem sie sich ausserhalb der Uni beschaeftigen. Knoop, Puntigam, Rauber machen das z.B. sehr gut vor.

    Zitat von a9bejo

    ...auf offenbar beantwortete Fragen, nicht auf komplexe.

    Dein letzter Satz ist für mich nicht verständlich. Worauf beziehst du das "nicht auf komplexe."?


    Auf das letzte Objektiv in dem Satz, also die Fragen.

    Die Fragen, die von Verschwoerungstheorien beantwortet werden sollen, sind in der Regel bereits beantwortet und nicht komplex, wie es der Soziologe behauptet.

    Was Verschwoerungstheorien gemeinsam haben ist meiner Meinung nach das komplette Gegenteil von dem, was Herr Krysmanski glaubt: Naemlich das man sich eine komplexere Antwort auf eine bereits einfacher beantwortetete Frage sucht.

    Sie erklären das Unerklärliche und geben auf komplexe Fragen einfache Antworten.



    Der Soziologe Hans-Jürgen Krysmanski scheint hier ganz falsch zu liegen: Schliesslich gibt es ja auch fuer die Theorie von der gefakten Mondlandung, oder die Kennedymorde bereits einfache Loesungen. Verschwoerungstheorien sind also eher komplexe und nicht einfache Antworten, auf offenbar beantwortete Fragen, nicht auf komplexe.

    Hmm ... schau dir am besten das Datum meines erstes Posts in diesem Thread und das Datum vor meinem Post an. Es sieht so aus, als eure Diskussion schon vor mehr als drei Monaten beendet wurde. Oder wart ihr in dieser Zeit noch in der Nachdenkphase ?

    Es ging mir nicht darum das Du uns "unterbrochen" hättest, sondern das dieser Thread ein Teil von der öffentlichen Kritik an dem Film Zeitgeist ist. D.h. Menschen, die sich nach solcher Kritik umschauen, können und werden auch hier mitlesen und eventuell auch mitdiskutieren.

    Wen ich tatsächlich kritisieren wollte sind eben diese Leser. Weil nämlich, so glaube ich, viele Menschen dann die extremsten Teile der Diskussion mit dem eigentlichen Thema assoziieren. Das kann man überall im Netz beobachten: Ich vermute das die Leser oft nur eine Bestätigung fuer die Meinung suchen, die sie bereits haben. Darum konzentrieren sie sich auf das am einfachsten zu wiederlegende Argument und betrachten das dann als Bestätigung ihrer Ansichten.

    Also in unserem Beispiel denken sie sich dann "Diejenigen, welche glauben, an dem Film ist was dran, glauben auch, das Yahoo die Statusnachrichten ihrer Instant-messaging Software zensiert, so das man da die URL zu dem Film nicht verbreiten kann. Letzteres finde ich aber unrealistisch, daher sind die Menschen, die glauben, an dem Film Zeitgeist sei was dran, auch unrealistisch."


    Sorry leute, aber ihr seid so gemein.


    Entschuldige, das war nicht meine Absicht.

    Ich finde es sehr schade wie solche Diskussionen meistens verlaufen:

    • Jemand started eine Diskussion zu einem umstrittenen Thema.
    • Jemand anderes nimmt eine Extremposition ein und zieht damit die ganze Diskussion ins laecherliche.
    • Weil sich gegen die Extrempositionen am einfachsten argumentieren laesst, dreht sich in Folge alles nur noch um Aussagen wie diese hier:


    Alles was in diesem Film dargestellt wird, basiert sich auf Fakten und Beweise...

    100% sicher

    Ich stell mir vor das es bei der Geschichte mit der Mondlandung auch so gelaufen ist: Jemand hat sich damals die absolut berechtigte und durchaus interessante Frage gestellt: "Wenn das Weltraumrennen fuer die USA so wichtig ist und wenn man das technisch faken kann, koennen wir dann wirklich sicher sein das wir wirklich auf dem Mond waren?". Und als naechstes schreit irgendwer "Ganz sicher ist das so! Da ist auch ein Schatten auf dem Photo, der kann da gar nicht sein!", und schon gibt es nur noch Clowns und Gelaechter.

    Der beste Weg um eine Theorie zu diskreditieren ist, sie lächerlich zu machen. Und, ich habe es oben schon mal geschrieben: Ich finde wir brauchen eigentlich diese Menschen, die sich ernsthaft mit solchen Theorien auseinandersetzen, um eine Demokratische Ordnung aufrechtzuerhalten. Ich finde RolandU hat recht:

    Es gab mal eine Zeit, da wussten 99% der Menschheit mit absoluter Sicherheit, dass die Erde flach ist. Das war völlig plausibel erklärbar und es gab keine klugen Gegenargumente.

    Daraus folgt: Sicher sein und etwas plausibel erklären können, muss nicht heißen, dass es richtig ist. Gilt für beide Seiten.

    Zeigeist ist ein guter und interessanter Film, ueber den man lange und ausgiebig diskutieren kann. Auch ohne ihn gleich als seine ganz persoenliche Bibel zu akzeptieren oder ihn ignorant abzulehnen.

    http://en.wikipedia.org/wiki/Skepticism

    Man bräuchte quasi ein Tutorial, das als erstes Beispiel sowas hat:
    ...

    Ich glaube nicht das es das tut. Ich vermute sehr stark, dass Du solche Details erstmal vor dem Benutzer verstecken musst.


    ... "belasted" tut einfach nur in den Augen weh

    Ich habe mich schon daran gewöhnt, meine Postings nachträglich editieren zu müssen. Ich weiß gar nicht ob es Beiträge von mir gibt, in denen das nicht der Fall ist.


    LaTeX ist für Nicht-Programmierer ABSOLUT UNBEDIENBAR und erfordert für nicht besonders versierte Benutzer eine lange Einarbeitungszeit. Office kann man jeder Sekretärin beibringen, an LaTeX werden die meisten scheitern.

    Das stimmt [strike]vermutlich[/strike] ziemlich sicher (*).

    Ich habe mich dieses Jahr mal aus Interesse ein wenig mit dem Thema "End User Programming" auseinandergesetzt und bin z.b. der Frage nachgegangen, warum so viele Büroarbeiter in Excel programmieren können. Teilweise lernen die ganz schoen komplexe Techniken, und das, ohne jemals eine Programmierausbildung genossen zu haben.

    Tatsächlich können viele Benutzer, die eigentlich alles andere als Techniker sind, das Programmieren ohne grössere Mühen lernen. Dazu sind aber, soweit ich das herausgelesen habe, zwei Dinge wichtig:

    • Ein read-eval-print loop. So das der Benutzer bei jeder Abänderung sofort sehen kann, welche Auswirkungen seine letzten Schritte hatten.
    • Inkrementelles Lernen. Also die meisten Spreadsheet User verwenden zum Beispiel zunaechst nur ganz einfache Formeln wie mathematische Grundoperationen und die Summenfunktion. Damit können sie dann sofort etwas nützliches anfangen. Irgendwann stoßen sie dann (oft aus eigenem Interesse) einen kleinen Schritt weiter nach vorne und lernen zum Beispiel wie man eine IF Abfrage macht. Und dann öffnen sich plötzlich ganz viele Tueren.

    Daran sieht man z.B. sehr gut warum viele Nicht-Techniker an Latex verzweifeln, aber Artikel auf Wikipedia ohne weiteres bearbeiten koennen: Auch in der Mediawiki Syntax gibt es haufenweise komplexe Regeln, aber man kann schon mal damit anfangen, das man einfach nur einen Absatz Text schreibt und auf den Preview Button drueckt.

    Um Latex zu verwenden, könnte man zum Beispiel eine Umgebung entwerfen, die den Benutzer zunaechst einmal nur mit "\section und \subsection" belastet, und vielleicht noch mit dem Einbinden von Bildern. Dazu müsste der Benutzer die Ergebnisse seiner Eingaben sofort zu sehen bekommen.

    Software Entwickeln ist schwierig und Computer sind komplexe Werkzeuge. Aber Programmieren ist eigentlich sehr natürlich und einfach.


    (*) Wobei ich vermute, dass eine Sekretärin heute einen wesentlich verantwortungsvolleren Job hat als frueher.

    ...es ist auch von Ottonormalverbrauchern editierbar, was grad für Gruppenarbeiten wichtig ist

    Den Usecase kenn ich natuerlich, aber ich finde das gerade hier Programme wie Word oder Writer voellig unzeitgemaess sind. Meine Schwester (Medizinerin) muss z.b. auch oft mit mehreren Personen an einem Dokument arbeiten: Da wird dann eine .doc datei per email hin und hergeschickt, und mit viel Pech verwendet einer das Versionierungssystem von Word. Damit kommt z.B. meine Schwester ueberhaupt nicht zurecht. Das Ergebnis ist oft ein totales Chaos: Eine Festplatte voller verschiedener Versionen und Fleissaufgaben der Form "Person A hat an Version 1 gearbeitet und Person B an Version 3. Finde die Aenderungen und fuege sie zu einem Dokument 4 zusammen.".

    Meiner Erfahrung nach geht das voellig an dem eigentlichen Problem vorbei: In den meisten Faellen moechte man sich doch das Erstellen des Inhalts aufteilen und nicht das Layout. Letzteres muss sowieso immer einer am Ende nachbearbeiten, damit der Text einheitlich ausschaut. Man koennte also statt einer Word datei auch einfach nur eine .txt Datei verschicken.

    Die einfache und pragmatische Loesung: Einfach ein Writeboard, ein Google Office Dokument oder ein Zoho Writer Dokument aufmachen. Eventuell geht es auch mit einem benutzerfreundlichen Wiki, in den dann einfach nur Text und Bilder reingepasted werden. Das versteht sofort jeder, und wer will kann da auch mit lokalen Wordprozessoren (MS oder OpenOffice) an dem Dokument arbeiten. Wer was wann wie geaendert hat ist leicht zu ueberschauen, und mit synchronem Arbeiten wird gerechnet. Was die letzte Version ist ist immer ersichtlich, und es kann auch niemand seine Arbeit 'verlieren', weil ja alles online ist.