Dieser Beitrag ist auf Englisch verfasst, da es mir leichter fällt über das Thema zu schreiben.
Now it’s again already some time since the new C++ standard got officially released then again many new features are not new at all. A few things got already introduced with the Technical Report 1 (TR1) from back in 2007 but it wasn’t directly built into the standard. In some way you could call the TR1 the alpha version of C++11. Then there is boost, the most popular non-standard library of which many ideas got copied and standardized.
But let us first back up a bit and look at a short timeline:
1979 – Bjarne Stroustrup began working on C with Classes.
1983 – The name of C with Classes got changed to C++ where the ++ represents the increment operator on C.
1985 – The first commercial release happened and a few small iterations followed.
1998 – The C++ standard committee published the first official ISO standard for C++.
2003 – After five years of getting experienced with C++ the committee released a corrected version of the old standard.
2005 – Getting closer to a completely new standard the committee pushed out the Technical Report 1 which wasn’t directly part of the standard but showed already features which happen to be in the standard now.
2011 – Some might have already given up but the new standard then got finally release and that with a lot of new features.
2012 – People working on compilers now, are trying to catch up with the new standard.
This timeline shows that C++ advances very slowly. For developer wanting portability and lot of different features it’s annoying but the same developer will then be glad, C++ doesn’t change quickly and guarantees stability and speed. Who would want to rewrite thousand lines of code just because the standard did change? Also how would you be able to catch up with all the changes? The long time between the two C++ standards, which is 14 years for the ‹flawed› version and 7 years for the corrected one, let the committee and all the people around the world think about what C++ does and what’s missing and over the years, technology evolved too. Stuff like parallelization which wasn’t a big topic 14 years ago but look at it nowadays, it’s about the most important one, since we hit the wall where processors can’t get faster and we have to divide the work onto multiple processors and conquer our tasks.
So you get it – C++11 is great but what is so great about it? There is a good maintained list over at Wikipedia, so I won’t go much into anything here, but let me just highlight from my naive perspective the most important change. Whenever you talk about C++ with other developers who don’t use C++ they’ll often start joking about C++’s Access Violation and Memory Leaks and they are not that wrong. They are common errors with C++ but many of those could be prevented by disallowing certain things or by using garbage collectors. Then again when you look at the ‹philosophy› behind C or C++ you notice that they never were about restricting things. Specially not for a reason like: ‹The programmers nowadays are just so dumb and can only write messy code, so let’s restrict everything so one can only do what we think is best for them.› No C++ is about unlimited freedom and possibilities. But how can the obvious problems with false memory management and overused pointers be solved? The new standard introduces with its Standard Template Library (STL) smart pointers. Whenever you allocate some memory on your own, you have to delete it at some point again, if you forget to do so or if a function throws an exception or returns before it reaches the delete statement, the memory won’t get freed. shared_ptr and unique_ptr got solve these problems. They automatically delete the object once the smart pointer object reaches its destructor hence gets destroyed. Additionally with the use of smart pointers over normal pointers you won’t run into the problem of a wild pointer, they either holds a valid object or are set to nullptr which is the new way of setting a pointer to NULL. In future C++ code it will be very common to never see the keywords new and delete, instead there will be a lot of make_shared() or make_unique().
But this example is just one part and there is so much more. Coming from the knowledge of the old C++ basics to the new C++11 you can only agree to the words of Bjarne Stroustrup:
"C++ feels like a new language"
Everyone interested in C++ programming should start reading and learning more about C++11 just because it holds so much more than C++03. For that reason I can recommend you to browse through the videos of Channel 9. The two videos embedded below are a must for every C++ programmer, also who would want to miss a talk from Bjarne Stroustrup himself or even Herb Sutter? Although I have to warn you, those videos are not YouTube videos. They don’t go two minutes but mostly two hours. Enjoy and happy C++11 programming! 🙂
For the geeks: Unfortunately the ISO doesn’t let you download the standard for free but you’d have to pay a few hundred bucks. But there’s close to the official release draft which holds about everything. I can’t compare it but people on the internet say the differences as minor as only people who are trained to read such gazing stuff will understand them. Anyways here you go:
Wir leben in einer Wirtschaftsgesellschaft, welche zu 100% auf Konsum und Wachstum aufbaut und dieses Vertrauen begann in der industriellen Revolution, doch das “Geheimnis” dahinter ist den meisten nur knapp bekannt und ist am Auffäligstem für das Portemonnaie. Der Begriff Obsoleszenz wird von Wikipedia wie folgt definiert:
Der Begriff Obsoleszenz (vom Altlateinischen Verb obsolescere, dt. in Vergessenheit geraten, vergessen sein) bezeichnet das künstliche oder natürliche Veralten eines Produktes. Das zugehörige Adjektiv obsolet im Sinne von nicht mehr gebräuchlich bzw. hinfällig bezeichnet generell Veraltetes, meist Normen, Therapien oder Gerätschaften. — Wikipedia
Die Definition an sich ist ja harmlos, doch das hinzugeben des Wortes “geplant”, lässt einem alles aus einer ganz anderen Perspektive betrachten. Um den Konsum und das Wachstum konstant anzukurbeln werden die meisten Produkte extra mit einer sehr kurzen Lebensdauer versehen, ja zum Teil wurden/werden die “zu perfekten” Produkte extra wieder manipuliert, um eine geringere und kurzlebigere Qualität zu erreichen und man somit mehr Profit daraus schlagen kann. Doch nebst der Manipulation der Lebensdauer gibt es auch andere Möglichkeiten, wie z.B. das stetige Verändern des Designs, was den konsumsüchtigen Kunden zu einem Neukauf bewegt oder evtl. schon fast zwingt. Der ganze Zyklus müsste uns ja auch gar nicht stören, schliesslich bringt mehr Konsum mehr Wachstum und mehr Wachstum mehr Lohn, doch dann würden wir vergessen oder gar verdrängen, dass es auf unserem Planeten nur endlich viele Ressourcen gibt und wir diese irgendwann einmal soweit ausgeschöpft haben, dass die schreienden Konsumenten nicht mehr befriedigt werden können. Und obwohl die Firmen von all dem wissen und sich versuchen möglichst “grün” zugeben, bringen sie täglich neue Produkte mit einem baldigen Ablaufdatum auf den Markt.
Auf das Thema aufmerksam wurde ich durch eine Arte Reportage, welche etwa 1.25 Stunden dauert und auf Deutsch, Englisch und Französisch auf Youtube betrachtet werden kann. Ich habe hier die Deutsche Version eingebunden.
Nun möchte ich dem Thema noch ein aus meiner Sicht gutes (im negativen Sinne) Beispiel aufzeigen und da ich die Firma Apple nicht besonders mag, verwende sie als Beispiel. Apple stellt sich als innovativ und umweltfreundlich dar, doch ihre Strategie ist alles andere als innovativ und umweltfreundlich. In einem jährlichen Zyklus bringen sie “verbesserte” Produkte ihrer Vorgänger heraus, doch die sogenannten Verbesserungen sind dann aber meist nur sehr oberflächlich. Jede Version kommt mit einem, ihrer Meinung nach, etwas verbessertem Look daher. Weiter werden noch ein paar softwaretechnische Erneuerungen eingebaut, welche meist ebenso gut auf den alten Geräten hätten veröffentlicht werden können, dort jedoch extra nicht verfügbar gemacht werden. Die Seite der Hardware, also dem physikalischen Teil was eigentlich der Hauptgrund für eine neue Version sein müsste, wird dann nicht zu selten schwach erweitert. Die sogenannten “Erneuerungen” standen nicht zu selten bereits vor der Herausgabe der ersten Version zur Verfügung, wurden jedoch extra “aufgespart”, um dann später alles neu und “revolutionär” in der neuen Version anzupreisen. Vergleichsweise Produkte bringen solche Erweiterungen oft standardmässig mit. Das tragische an der ganzen Geschichte ist dann aber, dass die Konsumenten auf diesen Geldmachertrick reinfallen und sich jedes neue Produkt von Apple kaufen, egal ob das Neue gerade mal knapp ein Jahr alt ist und noch vollkommen funktionsfähig. Schlimm finde ich vor allem Leute, welche sich ein neues Produkt nur kaufen, wegen dem neuen Design, solche Leute sind einfach Konsum süchtig.
Genug der Theorie wollt ihr mal ein Beispiel? Dann nehmt doch einfach mal das iPhone 4 und das iPhone 4S. Was ist der Unterschied? Genau: Siri und iOS 5! Doch warte mal kurz, iOS 5 läuft ebenso auf dem iPhone 4 und der Code von Siri kommt jetzt nicht von Pluton, sondern könnte von iPhone 4 und sogar noch weiter abwärts ausgeführt werden. Nicht genug? Dann nehmt doch mal iPad vs iPad 2 oder allgemein iPhone X vs iPhone X++
Ich bin mir bewusst, dass die meisten Firmen diesen Weg gehen und Apple “nur” intelligent ist und somit Milliarden von Gewinnen erzielt, aber die Skrupellosigkeit, wie z. B. Produkte nicht gross Upgrade fähig zu machen, sondern den Kunden zu zwingen ein komplett neues Produkt zu kaufen, ist mitunter ein Grund, wieso ich keine Appleprodukte kaufen werde.
Ich nutze das Internet nun schon seit ein paar Jahren ohne Werbungsanzeigen und bin immer überrascht, wenn ich an einem öffentlichen PC oder bei einem Freund auf z.B. Youtube plötzlich mit Werbung überflutet werde. Dann stelle ich mir immer wieder die Frage, wieso lassen Leute sich überhaupt noch mit stupiden Texten, Bildern oder sogar Videoclips überfluten, wenn man doch auch alles ohne haben könnte. Vielleicht finden die einen Werbung ja gerade interessant und können von einigen positiven Situationen erzählen, wieder andere wollen den Service unterstützen und klicken mitunter vielleicht sogar extra auf Werbung und dann gibt es vielleicht noch solche Nutzer, welchen die Werbung längst nervt, sie aber nicht genügend Erfahrung mit “solchen” Dingen haben und vielleicht nicht einmal wissen, dass man Werbung blockieren kann. Für die Letzteren soll dieser Beitrag etwas Hilfe verschaffen.
Ihr wisst ja sicher, dass Google ein grosser Teil seiner Einnahmen durch Werbung erzeugt, doch wusstet ihr, dass es 28’236’000’000 Dollar im Jahr 2010 waren? (Google financial)
Um nun Werbung zu blocken wird ein einfaches AddOn für den Browser verwendet. Das Ganze ist ziemlich einfach und ich werden im folgenden einfach ein per Links posten:
Wobei ich ja eigentlich froh bin, dass es noch so viele Nutzer gibt, welche auf Werbung klicken, ansonsten müsste man wahrscheinlich zahlen für Google, Facebook, Youtube, … Wenn man nun doch gewisse Webseiten unterstützen möchte, lässt sich bei den meisten AddOns eine Whitelist erstellen, welche gewisse Seiten ignoriert und die Werbung trotzdem anzeigt.
Nebst dem blockieren von Werbung, verringert ein AdBlocker den Traffic (weniger Werbebilder –> weniger Traffic) und hilft einem sich auf den wirklichen Inhalt zu konzentrieren.
Gestern Abend gab es (wieder einmal) eine Diskussion über Klassendesign für Spiele im SFML IRC Channel. Der Auslöser war die Frage wieso globale Variablen und Singletones keine gute Idee sind. Nur kurz als Nebenbemerkung; für globale Variablen kann man schneller einmal einsehen, dass es nicht praktisch ist, denn man kann von überall darauf zugreifen, somit taucht in einer Klasse plötzlich aus dem ‘Nichts’ eine Variabel auf und es lässt sich nur mühsam herausfinden in welchem Zustand ein globales Objekt hat. Weiter könnte man auch mehrere Instanzen einer solchen Klasse erstellen und würde noch mehr Probleme erhalten. Eine Singletone löst das letztere Problem, kann jedoch auch immer noch überall eingebunden werden.
Die Diskussion dauerte dann noch eine Weile. Ich habe nun aber gelernt, dass eine Idee mit dem Gedanken “überall” bereits falsch ist. Es ist möglich des Design eines Programms oder Spiels so zu wählen, dass Grafik und Logik getrennt behandelt werden und nur einige wenige Klassen in der Hierarchie zuoberst stehen. Das Architekturmuster MVC (Model-View-Controller) erfüllt vor allem die erste Bedingung. Somit ist meine Idee, dass eine Programm-Klasse all etwas ‘grösseren’ Klassen als Membervariablen speichert und ein Zeiger auf das Objekt der Programm-Klasse an all Unterklassen weitergegeben wird, ebenfalls ziemlich falsch.
Nun zurück zum Titel. Während man früher auf Lochkarten seine Programme bzw. Rechenoperationen “schrieb”, sich später mit Assembler und kurz darauf Pascal oder Fortan beschäftigte, so ist man heute mit den verschiedensten Hochsprachen zu ziemlich verwöhnt. Wir müssen uns nicht mehr um grundlegende Dinge kümmern, z.B. wie man nun Text auf den Bildschirm kriegt, sondern können einfach Funktionen in den mitgelieferten oder ergänzten Sprachbibliotheken aufrufen. Ja es lässt sich sogar so weit treiben, dass der Programmierteil trivial wird. Die Syntax und Semantik einer Sprache sind so kompakt und (meist) gut definiert, dass dies ein Computer eigentlich viel besser könnte als wir, doch genau an diesem Punk kommt der Mensch dann wieder ins Spiel. Ein Programm besteht zwar auch Syntax und Semantik, doch was dem Programm Leben einhaucht ist die Architektur, das Design. Es ist nicht das Kennen jeder einzelnen Funktion in PHP, welches einer Website die benötigte Sicherheit gibt, nein es ist die Idee und das Design des Programmierers, welcher ein sicheres Login-Skript schreibt. Somit lässt sich eigentlich sagen, dass es keine Programmierer gibt, sondern nur Designer.
Diese Argumentation hält sich jedoch doch (leider) nur in der Theorie, denn in der Praxis werden viele Programme ohne wirkliches Design entwickelt oder es wird mit vielen “Hacks” das grundlegende, aber halt nicht komplette, Design zerstört. Natürlich oft zum mehr oder weniger Guten des Kunden, denn ein paar “Hacks” einzubauen spart sehr viel Zeit im Vergleich zu einem kompletten Redesign, auf der anderen Seite können sich so sehr schnell viele Fehler und Sicherheitslücken einschleichen.
Schlussendlich ist das Design ein Luxusproblem der Hochsprachen. 😉
Wie ich zu meinem neuen Notebook kam, gibt es hier zu lesen.
Als ich nun am Freitag (28.10.2011) nach meinen zwei Stunden Linear Algebra wieder nach Hause kam, stand da ein grosses, ja fast schon riesiges Paket vor meiner Tür. Mein Mitbewohner hat es wohl entgegen genommen. Für mich war es eine Überraschung, denn laut den Angaben von Neptun/Pathworks sollte das Ganze frühstes am Montag bei ihnen und am Dienstag bei mir eintreffen. Aber es hat ja niemand etwas gegen (positive) Überraschungen in der Art einer frühen Lieferung.
"Laut den mir jetzt vorliegenden Produktionsdaten wird Ihr Notebook am 31.10.2011 im Zentrallager Schweiz ankommen und taggleich mit A-Post an sie verschickt. Somit sollten Sie Ihre Lieferung am 01.11.2011 erhalten."
Nun ging es hinter das Öffnen Paket. Innen drin waren drei einzelne Schachteln, je eine für eines der bestellten Produkte:
HP EliteBook 8460p
HP Docking Station 120W
HP Battery Long Life VH09XL
Und dann natürlich noch viel Kabelsalat.
So nach der visuellen Ansicht will ich mal noch etwas technisch werden, denn nicht alles was schön aussieht ist auch schön! 😉
Prozessor
Intel Core i7-2620M
Batterie
6 Zellen Akku (55 Wh)
Cache
2 × 256 KB L2, 4 MB L3
Laufwerk
DVD+/-RW DL
Takt
2.7 GHz (Boost 3.4 GHz)
Gewicht
2.5 kg (inkl. Akku)
HDD
500 GB / 7200 RPM
Betriebssystem
FreeDOS
RAM
8 GB (2 x 4 GB, DDR3)
Tastatur
CH-DE
Display
14.0", HD+, 1600 x 900 (16:9), LED, matt
Garantie
3 Jahre Abhol-/Bringservice int’l, inkl. Akku
Graphik
AMD Radeon™ HD 6470M, 1GB GDDR3
Preis
CHF 1’140.- inkl. MwSt., zzgl. CHF 18.- Versand
i7-CPU, 8GB RAM und eine richtige Grafikkarte, da kann das Inspiron mit Dual Core, 2+GB RAM und einer OnBoard Grafikkarte doch gleich einpacken. Für den normalen Office-Betrieb merkt man die höhere Geschwindigkeit nicht direkt, aber wenn ich mir dann überlege, dass ich hier Windows 7 mit Aero-Design und viele verschiedene Programm im Hintergrund vor mir habe, muss ich anmerken, dass dies auf dem alten Notebook wohl nicht so einfach funktioniert hätte. Doch nebst den drei ‹Hauptpunkten› gibt es auch noch weitere Auffälligkeiten. Insbesondere ist da das Display zu erwähnen. Mit seinen 14» ist es optimal für Mobilität, während es doch immer noch genügend Pixel übrig lässt um damit auch wirklich arbeiten zu können. Durch die matte Eigenschaft, welche bei fast allen günstigen Notebooks fehlt, ist es nutzbar unter den meisten Lichtverhältnissen. Vielleicht sind stark reflektierende Bildschirme auch bald Vergangenheit, wer weiss? Einige mögen sich vielleicht gefragt haben, wieso dass es da nur FreeDOS als Betriebssystem gibt. Neptun bietet natürlich Windows auch an, wobei man dann noch zusätzliche CHF 110.- drauf legen muss, doch als Student geniesse ich so manche Vergünstigungen und so kann ich Windows 7 oder meinetwegen auch Windows XP gratis (und legal) von Microsoft beziehen. Die Kuriosität dass die ETH Zürich in ihrem ‹Softwareshop› keinen Link zu dieser Aktion anbietet wird dann wohl einmal ein Beitrag für sich.
Das Auspacken des Notebook verlief sehr schnell, doch damit war es nicht zu Ende. Von meinem provisorischen Arbeitstisch (dem zukünftigen Stubentisch) habe ich es bis zu diesem Zeitpunkt noch nicht auf mein richtiges Pult geschafft. Somit lag es nahe dies mit dem Einrichten der Dockingstation in Verbindung zu bringen. Doch wie war das noch einmal mit dem Kabelsalat? Ich hab momentan nur eine Steckdose im Zimmer, doch mit vier Steckerleisten kommt man dann auch an die 19-3 (um die Leisten untereinander zu verbinden) = 16 Steckplätze. Mit 14 verschiedenen Geräten ist es zwar möglich, jedoch keinen falls einfach. Zum Glück habe ich mittlerweile genügend USB Anschlüsse, so musste ich dies auch nicht noch einmal detailliert planen.
Die Installation von Windows 7 brachte dann aber auch so einige Probleme mit sich.
Zuerst musste die ISO Datei von Microsoft auf einen USB-Stick kommen. (Was ist noch einmal eine DVD?) Dies funktionierte ohne Probleme, wenn auch etwas langsam in Abhängigkeit meines USB-Sticks, mit der (fast) Hauseigenen USB/DVD-Downloadtool für Windows 7. Doch netterweise konnte das Tool aus meinen Stick ein bootfähiges Gerät erstellen und die einzige Hilfe, welche das Tool bot war dieser Link, unterwelchem man eine Beschreibung findet, wie ein zusätzliches Programm gedownloaded werden kann. Doch dafür müsste man sich im Microsoft Store anmelden und neben seiner Bestellung vom Windows würde man dann einen Link finden. Tollerweise habe ich ja mein ISO nicht direkt über den Microsoft Store erhalten. Wenigstens lässt einem Google bei solchen Dingen nicht im Stich. Nun kann ich endlich ab dem Stick booten. Die Windows 7 Installation wird initialisiert … bis sie einen Treiber für mein CD-/DVD-Laufwerk verlangt. Nicht einmal das herausnehmen des Laufwerks hilft. Wieder einmal leitete mich Google in irgend ein Forum, wo ich dann erfuhr, dass die Installation nicht über ein USB 3.0 Port funktionieren würde. Okay noch mal neustarten und den USB 2.0 Port verwenden und siehe da, das Setup hat den "Laufwerk" Treiber doch dabei! 😀 Dummer Weise habe ich beim Setup die falsche Partition erwischt und musste dann das System noch einmal neu installieren (oder mühsam alles um partitionieren…).
Nach einer Woche mit Windows 7 kann ich fast nur positives sagen. Als langjähriger XP Nutzer bereitete mir der Umstieg überhaupt keine Probleme, im Gegenteil viele vermisste Funktionen sind nun bereits in Windows 7 integriert. Die Befürchtung nicht richtig mit der neuen Taskleiste zurecht zu kommen, ist im nachhinein fast schon lächerlich. Besonders die Einstellungsmöglichkeiten sind meiner Meinung nach etwas offener geworden und durch die Suche auch viel einfacher zugänglich gemacht worden. Das Einzige was mich bis jetzt stört, ist dass es keinen Treiber mehr für die externe CREATIVE Extigy 5.1 Soundkarte gibt.
Es gäbe jetzt noch so einiges zum Berichten und schreiben, aber dies ist bereits einer meiner längsten Beiträge und ich möchte ihn nicht noch länger machen. Einzelne Details werde ich dann bestimmt in weiteren Beiträgen betrachten. Für einen genauen Test des Notebooks kann ich NotebookCheck sehr empfehlen, es hat mir auch stark bei der Entscheidung geholfen.
Zum Schluss: Ich bin total begeistert von meinem neuen Notebook. 🙂
Bis vor kurzem nutzte ich ein DELL Inspiron 640m um meinen täglichen elektronischen Arbeiten nachzugehen oder sonst irgendwie meine Zeit mehr und oft weniger sinnvoll zu nutzen. Auch am Anfang meines Studiums war ich mit dem Notebook recht zufrieden – es konnte alles ausführen, was ich für die Uni brauchte. Doch ein paar Wochen in das Studium hinein bemerkte ich eine stark Abnahme der Akkulaufzeit. Ob es nun wirklich physikalisch oder eher psychologisch Bedingt war, kann ich nicht belegen, es reichte einfach nicht (mehr) für zwei Doppelstunden, ja gerade mal knapp für eine Doppelstunde.
Dieser Fakt und der alte Wunsch nach besserer Grafikleistung für neuere Spiele trieben mich dann dazu, eine Entscheidung zu machen.
Soll ich nun…
…einen neuen Akku kaufen und das etwas älter Notebook weiter nutzen?
…ein neues Notebook kaufen?
…einen neuen Akku und einen neuen Desktop PC zu kaufen?
Vom Preis wär a. natürlich das Optimalste gewesen, doch mein ‹Traum› nach Leistung und der Möglichkeit mit einzelnen Elementen arbeiten zu können wäre dann gar nicht beachtet worden und wäre eigentlich nur durch c. erfüllt worden. Der Entschluss für b. folgt dann hauptsächlich aus den drei Gründen:
Leistung – Ein gutes Notebook kann ebenfalls eine gute Leistungsmarken erreichen.
Mobilität – Ein Desktop PC ist nicht mobil und da ich am Wochenende nicht in Uster verweile, könnte ich die neue Leistung nur unter der Woche nutzen.
Preis – Das Project Neptun der ETH Zürich/Pathworks bietet qualitativ hochwertige Note- und Netbooks zu einem Spotpreis im Vergleich zu (fast ?) allen Händlern an.
Somit erhielt ich nun letzten Freitag ein neues und leistungsstarkes HP EliteBook 8460p zugesandt. Bis jetzt bin ich total zufrieden und habe es nun auch endlich zum Windows 7 geschafft!
Weitere Details und Spezifikationen gibt es im nächsten Beitrag.
In der Spielküche von EA Küche brodelt es heftig, denn das neue Battlefield 3 ist ab sofort erhältlich. Lange ersehnt durch die und mit vielen Kommentaren von den Medien gelobt. Für alle die nichts mit dem Begriff ‘Battlefield’ anfangen können hier eine kurze Beschreibung:
Jeder bisherige Teil der Battlefield-Reihe ist ein Ego-Shooter aus dem Subgenre der Taktik-Shooter. Der Fokus liegt auf großen Karten sowie einer Kombination von Boden-, Luft- und Wassereinheiten, wobei letztere den geringsten Schwerpunkt in der Reihe haben.
Natürlich lässt sich jetzt diskutieren, ob Ego-Shooter das Böse repräsentiert, welches jeden Spieler dazu bringt gewalttätig zu werden oder ob das Allgemein für alle Videospiele gilt. Doch dieser Artikel ist nicht diesem Thema gewidmet, ja es ist nicht einmal direkt ein Beitrag über oder für Battlefield 3, es geht viel mehr um den genialen Spielsimulator!! Jeder Spieler hat doch schon von solch einem Spielerlebnis geträumt (ich zumindest habe es…) und nun haben es ein paar Leute mit offensichtlich viel Geld, gesponsert durch ihre Show, umgesetzt. Der Mix von verschiedenen Technologien ist ganz interessant und wäre ein paar Jahre zurück nicht so einfach und auf die Schnelle möglich gewesen. Nun wer hat es bis hier hin ausgehalten, ohne das Video vorab zu schauen?
Ich hatte über einen meiner abonnierten RSS-Feeds den Trailer gesehen, aber den 17min langen/kurzen ‘MakingOf’ kam erst vor ein paar Minuten rein über den Blog von hosae (thanks!). Ein paar Dinge im Video sind ein wenig fragwürdig (z.B. wieso musste der unbedingt sein iPhone auf die Knarre montieren?), doch man bekommt so ungefähr den Geschmack, was uns in der Zukunft so alles erwarten könnte.
Der Kommentar von ‘Andy’, bezogen auf den realen Krieg, kann einem dann doch etwas zum nachdenken anregen:
You got the same emotions than on the simulator. – Man erlebt die gleichen Emotionen wie im Simulator.
Wollen wir wirklich den (virtuellen) Krieg in unseren zukünftigen Wohnzimmern/Simulationszimmern bringen? Reicht es nicht, dass hunderte, ja tausende in echten Kriegen sterben? Dann wiederum kann man es von der anderen Seite betrachten: Ist es nicht genial, dass es möglich ist die traurige Realität in einer so echt erscheinenden ‘Dokumentation’ selbst zu erleben? Schlussendlich kommt es auf die persönliche Einstellung an. Doch vergisst nicht den Respekt vor all denen, welche in Kriegen Freunde, Verwandte, Familie oder gar das Leben verloren haben.
Heute Morgen hab ich per E-Mail vom Betreiber des r d u e . n e t Blogs den Link zu einem Video auf Spiegel TV erhalten.
Es zeigt die Problematik und die Folgen von einem Grossansturm an neuen Studenten in Deutschland. Dass zu wenig Vorlesungssäle vorhanden sind, ist nur das eine Problem, denn für den einzelnen Student ist es viel schlimmer, dass er keine Wohnung bzw. ein einfaches Bett hat zum Schlafen, an einen anständigen Arbeitsplatz ist erst gar nicht zu denken. Bin ich froh, einen HERRN zu haben, der mir den Weg weist und vorbereitet, so kann ich nun doch schon fast in einer Luxuswohnung leben. 🙂 Klar die Probleme sind bekannt und kommen auch an den meisten Unis vor, doch in Deutschland (nach dem Bericht besonders in Freiburg) ist es dieses Jahr besonders extrem.
Wobei natürlich ein Kinosessel auch ganz bequem wäre in unserem Vorlesungssaal… 🙂
Viele träumen immer noch von einem papierlosen Büro, doch ich denke, dass es nie kommen wird, denn Papier im klassischen Sinn ist die einfachste und schnellste Form etwas fest zu halten. Es werden zwar immer mehr Geräte entwickelt, als ‹elektronisches› Papier dienen sollen, doch die Bedienung und der Preis sprechen meist gegen sie.
Somit bleibt einem oft nur der Entscheid zwischen den drei folgenden Punkten:
Analog = Papier und Stift
Digital = Alles wird in einem Computer mit Computerformaten festgehalten (geschriebenes zu Textdaten)
Semi-Digital = Man digitalisiert seine analogen Daten (geschriebenes zu Bilddaten)
In der Realität wird man dann meist Kompromisse von Kombinationen der beiden eingehen. In der Utopie möchte man jedoch die Vorteile des Digitalen und die Simplizität des Analogen nutzen. Für mein Studium versuche ich so viel wie möglich digital zu halten und somit stellt sich die Frage nach guter Software, denn im ersten Semester des Informatikstudium habe ich drei mathematische Vorlesungen und eine zur Einführung in die Programmierung. Doch die Ansprüche dafür sind hoch. Während man bei der Programmier Vorlesung gut mit einem einfachen Texteditor umgehen kann (Programmiersprachen sind ja eine Abstraktion der Maschinensprache, lesbar gemacht für Menschen), so kommt man bei der simpelsten mathematischen Formel schon zu Problemen. Meine Suchkriterien bezogen sich somit praktisch nur auf Programme, welche Formeln darstellen können. Das Ergebnis war vorerst eine Vielzahl solcher Programme, doch keine bietet eine einfache Eingabemethode an.
Keine bis auf Math-o-mir. welche es dem Nutzer ermöglicht auf eine einfache Art Mathematik digital festzuhalten.
Das Programm wird von Danijel Gorupec entwickelt mit der folgenden Leitidee, welche genau meinen vorig erwähnten Problem entspricht:
Why can’t I use my PC as simple as I am using pencil when writing mathematical equations?
Wieso kann ich mein PC nicht gleich einfach verwenden um mathematische Formeln zu schreiben wie mit Papier und Stift?
In den meisten andere Programmen muss jedes mathematische Symbol oder Formelkonstrukt aus einer Liste mit der Maus ausgewählt werden, was sehr sehr mühsam ist und für ein flüssiges Schreiben viel zu langsam. In Math-o-mir gibt es zwar immer noch Listen, doch zum einen ist diese logisch angeordnet und kann mit Tastenkombinationen versehen werden und zum anderen gibt es viele intuitive und vordefinierte Kombinationen. Zum Beispiel wird aus => automatisch ein ≥ oder aus -> wird ein richtiges Pfeilsymbol →. Weiter lassen sich Matrizen schön darstellen, freihändige Zeichnungen tätigen, Formeln direkt berechnen, das Ganze oder einzelne Formeln als MathLM, LaTeX Code oder als Bild exportieren, und und und… Das Beste am Ganzen ist, dass ich im Moment mit dem Entwickler in Kontakt stehe und ihm helfe die Software (nach meinen Wünschen) zu verbessern. Natürlich gibt es auch ein paar negative Punkte, z.B lassen sich ’nur› 26 Zeichen lange Wörter/Variablen festhalten oder dass in den verwendeten standardschriftarten keine Zahlenmengensymbole vorkommen, doch im Vergleich zu den angebotenen Features kann man mal gut darüber hinweg schauen.
Die Geeks werden sich den ganzen Artikel durch gefragt haben, was für ein Problem ich denn hätte schliesslich gibt es ja LaTeX, da braucht man nichts anderes. Ja dies mag wohl wahr sein und stellt gleichzeitig ein grosses Problem dar. Die Nachfrage nach einem guten mathematischem Editor besteht gewiss, doch alle die wirklich die Möglichkeit hätten diese Nachfrage zu stillen, fühlen sich mit LaTeX vollumfänglich versorg und ‹zwingen› es somit praktisch jedem auf. LaTeX ist mächtig für alles was mit Text zutun hat, doch es ist überhaupt nicht benutzerfreundlich und leicht zu erlernen. Deshalb bin/war ich auf der Suche nach etwas benutzerfreundlichem und einfachem, was Math-o-mir durchaus bietet.
Das Utopia, im welchem es keine analogen Informationsspeichermedien mehr gibt, wird erst dann eintreffen, wenn es möglich wird jegliche Information, sei es Text, Audio oder Video, aus unserer Welt (praktisch) fehlerfrei als digitale Datenstruktur abzubilden. Persönlich würde ich mich jedoch auch schon mit einer starken Vereinfach zu frieden geben. 😉
Inspiriert durch die Präsentation von Ron Henderson, welcher bei Dreamworks arbeitet, über das Thema "Art-Directed Reality: Tools for Animation and Visual Effects", schaute ich mir gestern den Film "Megamind", von welchem viele Beispiele gezeigt wurden, an. Der Film ist, wie von einer Dreamwork Produktion zu erwarten, ein Cartoon-mässiger Animationsfilm.
¡Achtung Spoiler!
Der Film kopiert zu beginn so ziemlich alles von Superman. Zwei Kinder werden von einem bald zerstörten Planeten geschickt und werden Erzfeinde (Kal-El und Zod). Irgendwann gelingt es dem bösen Megamind den guten Metro Man zu zerstören, doch ohne Gegner wird ihm langweilig und so erschafft er sich seinen eigenen guten Gegner. Leider verhält sich der ‹Gute› nicht ganz so gut wie erwartet und Megamind muss nun gegen seine eigene Kreation ankämpfen und wird dabei zum Held der Stadt. Das Ganze ist natürlich eng mit einer Liebesgeschichte verbunden (eine weitere Parallele zu Superman).
Viele Filme und Geschichten versuchen einen Lehrsatz zu vermitteln, auch Moral genannt. Ich hab mich nun am Ende von Megamind gefragt, was nun nebst der Unterhaltung vermittelt wollte. Ich sehe da mehrere Punkte:
In jeder Person steckt Gutes. Dies ist wohl die Hauptaussage und der böse Megamind wandelt sich zum guten Helden der Stadt.
Aussenseiter werden oft nur falsch verstanden. Zu Beginn versucht Megamind die Fähigkeiten von Metro Man mit Technik zu kopieren, um genau so beliebt zu werden, doch es funktionierte nie so richtig und er gefährdet somit nur die anderen Personen. Dadurch wird er als böse betrachtet, obwohl er nur gerne etwas Aufmerksamkeit bekommen möchte.
Mobbing kann Persönlichkeiten lebenslänglich verändern. Durch seine misslungenen Experimenten wird er dann oft ausgelacht, besonders von Metro Man. So lange bis er entschied nur noch böses zu tun.
Eifersucht kann einem zu Bösem verleiten. Titan ist eifersüchtig auf Megamind, natürlich mal wieder wegen einer Frau… 😉 Diese Eifersucht führt jedoch dazu, dass Titan die ganze Stadt auseinander nimmt.
Ich bin mir sicher es gibt einige weitere Stichwörter. Es lässt sich also kaum eine bestimmte Moral aus dem Film herausnehmen, sondern man muss Ganze zusammen nehmen um den “tieferen Sinn” dahinter zu sehen.
Der Film besitzt gute Grafik, einiges an Humor und hat ein paar unerwartete Wendungen. Somit denke ich ist die 73% Bewertung von Rotten Tamatoes angemessen.