Archiv für den Monat August 2012

Linkliste 00000001

Guten Morgen!

Ich hab  mal nachgezählt: Seit dem 05. August habe ich

7 Exhibitionistische Tweets
7 Quatschtweets
3 Tweets mit Content Anderer und
27 #flp-relevante Tweets

abgesetzt.

Vor kurzem führte ich mit Marcel Weiß ein Gespräch darüber, wie blogfaul die Twitterer geworden sind, weil sie ihren Müll halt jetzt twittern statt ihn auszuformulieren und auf ihr Blog zu packen. Aber des einen Biomüll ist des Anderen Abendbrot! Insofern ist es sozialer, wenn ich meine Daten hier so offen und zugänglich und niedrigschwellig wie möglich verfügbar mache, als nur auf Twitter die geneigten Follower zu belästigen. Also diejenigen, die Bock auf Twitter haben, mir folgen, und in deren Timeline ich überhaupt erscheine und nicht verloren gehe. V E R L O R E N.

Und da mein Blog immer mal wieder totgesagt wird, weil ich eine Weile aus Zeitmangel nicht blogge, scheint es mir sinnvoll, nicht immer gleich einen langen, stundenlang ausgearbeiteten Artikel zu schreiben, sondern auch mal weniger aufwändige Posts hinzurotzen. Angefangen mit einer Linkschleuder. Das ist mir nämlich auch aufgefallen – dass ich häufig #flp-relevante Links bei Twitter poste aber hier nicht mehr aufgreife. Und das ist wirklich schade drum. Hier also Linkschleuder Nr. 1.

———————————————————————————————————————–

http://de.wikipedia.org/wiki/Yoda_Conditions

Erwähnte ich bereits im letzten Post. Einige finden’s sinnvoll, andere hässlich. Es handelt sich dabei um eine Konvention, die verhinder soll, das = mit dem == zu verwechseln, indem zuerst die Konstante, dann die Variabel angegeben wird. Schreibe ich nun aus Versehen
Konstante = zugewiesener Wert wird beim Kompilieren ein Fehler ausgegeben, weil einer Konstante kein Wert zugewiesen werden kann. D’uh!

http://www.spiegel.de/karriere/berufsleben/frauen-in-der-it-die-ersten-programmierer-waren-weiblich-a-847609.html

Dieser Artikel ist sicherlich interessant, aber auch nur eingeschränkt empfehlenswert. Im Grunde genommen geht es darum, die Auffassung, Programmieren wäre eine genuin männliche Tätigkeit aufzubrechen. In anderen Ländern gibt es im Feld der IT-Branche interessanterweise eine weitaus weniger dramatische Gender Gap zu beobachten: http://en.wikipedia.org/wiki/Women_in_computing#International_perspective
Und wenn man sich die geschichtliche Entwicklung der Computer vor Augen hält, treten einige weibliche Personen in den Fokus, so wie Ada Lovelace, die als „erste Programmiererin“ bezeichnet wird oder Grace Hopper, auf die auch im Artikel Bezug genommen wird. Aus anti-sexistischer Perspektive sind solche Maßnahmen wie die himmelschreiend bescheuerte Kampagne „It’s A Girl Thing“ allerdings höchst problematisch. Anstatt sexistische Klischees aufzubrechen, werden sie in einem unerträglichen Ausmaß reproduziert. Frauen? Das sind doch die mit den sexy Miniröcken und dem Lippenstift oder? Frikasch drückt ganz gut aus, was ich so früh am Morgen nicht auszuformulieren vermag. Und nunja, solche Artikel die eigentlich auch ohne Klischees auskommen könnten  verweisen auf die Fotostrecke „Hardware und Lippenstift“. Schade.

http://www.codecademy.com/tracks/python?utm_source=Sailthru&utm_medium=email&utm_term=Python%20-%20launch&utm_campaign=python-launch

Code Academy hat jetzt einen Python Kurs rausgebracht! Vielleicht bleiben ja mehr Leute dabei, anders als beim JavaScript-Kurs. Wäre interessant davon zu erfahren, falls jemand von euch sich diesen Kurs vornimmt. Überlege ebenfalls, den auszuprobieren, wenn es dieses Jahr weitergeht mit Python.

http://kennyletran.com/blog/2012/08/05/late-to-the-party-2/

KennyLerntProgrammieren! Und das „erst“ mit 18. Und er hat einen wunderschönen Artikel darüber geschrieben, weshalb das egal ist, dass er nicht „wie alle Anderen mit 12“ angefangen hat. Und ich mag den Titel „Late to the Party“.

http://wiki.debian.org/Mobile?action=show&redirect=Smartphone#Howto

Debian auf dem Smartphone. Pretty awesome. Noch nicht rangewagt, aber das fertige Produkt bei Erlehmann gesehen. Ermöglicht solche Dinge wie apt-get im Terminal, unterwegs programmieren und einen C-Compiler installieren. Und das anscheinend, ohne das Betriebssystem, auf dem die ganzen Apps usw. laufen anzutasten.

http://unicodesnowmanforyou.com/

————————————————————————————–

Viel Spaß mit dem Lesen, viel Spaß bei der Arbeit, beim Computern, beim Semesterferien haben, im Internet, in der Natur – ich verschwinde erstmal für eine Weile nach Italien, um auf einer weiteren Hochzeit zu tanzen. o/

if esel

Das Leben. Es ist ein ewiges Wechselspiel zwischen den Entscheidungen die wir treffen und den Folgen. Die auf unserem Lebensweg immer wieder erscheinende Weggabelung, die sich – vormals von Nebelschwaden verhüllt, vor uns auftut. Es ist vielleicht der Fluch des ungläubigen Menschen, sich von der süßen, trügerischen Idee des Schicksals lösen zu müssen, um bis an sein Lebensende Entscheidungen zu fällen. Ein Universum von Handlungsalternativen, zu groß für den menschlichen Verstand, erdrückt uns ob seiner schier untragbaren Last, die uns unsere Bedeutungslosigkeit vor Augen führt.

Ey wie geil, dass es für diesen Zweck Computer gibt!

Das 4. Kapitel heißt „Entscheidungen treffen“. Und wird vermutlich ein entscheidender (haha) Einschnitt in meine Programmierkenntnisse sein.
Entscheidungen in Programmen sind so etwas wie bedingte Anweisungen. Statt sequentiell und chronologisch wird jetzt logisch bedingt ein Programm geschrieben und durchgearbeitet.

Dafür gibt es z.B. den Ausdruck x>y ? x : y bzw. ?:
Diese Formel stellt die Bedingung „wenn x größer als y ist“. Ist sie wahr, folgt der Wert, der auf das Fragezeichen folgt. Ist sie falsch, folgt der Wert, der auf den Doppelpunkt folgt, also y. Für die Bedingung kann ich ein verschiedene Vergleichsoperatoren einsetzen. Entweder größer als (>), kleiner als (<), kleiner oder gleich (<=), größer oder gleich (>=), ungleich (!=), genau gleich (==). Wobei es wohl so ein kleiner ätzender immer wieder auftretender Fehler ist, das == mit dem = zu verwechseln, da sie semantisch zwar nah beieinander liegen, aber etwas anderes ausdrücken. Also in Zukunft nicht mehr nur das Programm nach fehlenden Semikolons untersuchen sondern auch nach diesem beliebten Mitesser. Der mir schon ein paar Mal untergekommen ist. Damit dürften die Fehlermeldungen beim ersten Kompilierversuch nur noch halb so umfangreich sein.

Allerdings eignet sich der ?:-Ausdruck nicht für komplizierte Anwendungen. Aber man kann sich ja mal merken, dass sich das ganze ternärer Operator nennt, weil er aus Bedingung, Ausdruck für den Wahrheitsfall und dem alternativen Ausruck besteht. Ist aber auch scheißegal jetzt, weiter mit if.

Dazu ein kleiner Währungsrechner. Vermutlich haben mehr Menschen auf dieser Welt irgendwann mal den Bedarf ihre aufgehobenen DMs zeitnah umzutauschen, weil nicht nur sie auf die geniale Idee sind, auf den fantastischen DM-Wert in der Zukunft zu spekulieren, als es Menschen mit Bitcoins gibt. Aber das is nur sone Theorie. Trotzdem habe ich mal DM durch BTC ersetzt. Ich hoffe ja immer noch, eines Tages mal ein Programm zu programmieren, das ihr verwenden könnt. Benzin.c scheiterte wohl daran, dass ihr alle kein Auto habt. Da bin ich mir sicher. Danke an @johl für die BTC-Idee. Auch wenn man natürlich bedenken sollte, dass der Kurs ständig schwankt.

Kleine Anmerkung: Wenn das Programm von mir nicht ausreichend erläutert wird, gibt es ausführlichere Erklärungen in den früheren Posts. Wenn euch bspw. schon die erste Zeile zu schaffen macht. Öhö.Öhöhöhö. Ihr N00bs! Hihihihihi!

Noch eine Anmerkung: Wenn ihr das Programm ausprobieren wollt, solltet ihr entweder die Nummerierung rausnehmen oder aus diesem Pastebin kopieren: http://pastebin.com/YhuPUatX

#include <stdio.h>
main ()
{
        int wahl;
        float betrag;
        printf("\n\tB I T C O I N I A T O R\n");
1)      printf("\n1 BTC --> Euro\n2 Euro --> BTC");
        printf("\n\nIhre Wahl: ");
        scanf("%i", &wahl);
2)      if (wahl == 1) 
        {
                printf("Bitte BTC-Betrag eingeben: ");    
                scanf("%f", &betrag);
3)              printf("\n%.2f BTC sind %.2f EURO\n", betrag, betrag*8.69);
        }
4)      else if (wahl == 2)
        {
                printf("Bitte EURO-Betrag eingeben: ");
                scanf("%f", &betrag);
                printf("\n%.2f EURO sind %.2f BTC\n", betrag, betrag*0.12);
        }
5)      else
                printf("\nUngueltige Option, man!\n");        
}

Das Programm funktioniert so, dass es als erstes abfragt, in welche „Richtung“ gerechnet werden soll. 1) Es stellt also die Frage:

1 BTC –> EURO
2 EURO –> BTC

Ihr Wahl:

Geb ich nun 1 ein, wird ein BTC-Wert in EURO umgerechnet. Diese Konsequenz entsteht durch die erste if-Bedingung bei 2) Wenn ich ein if anwende, folgt in runden Klammern die Bedingung für die Ausführung der folgenden Operation: Nämlich, dass der eingegebene Wert für „wahl“ == 1 ist. Also genau 1 enstpricht. Ist diese Aussage erfüllt, also wahr, wird die folgende Rechnung ausgeführt und ausgegeben. 3)
Wenn die Aussage nicht wahr ist, weil die 2 eingegeben wird, wird alles was nach if in den geschweiften Klammern steht übersprungen und das Programm geht zu „if else„. 4) Hier wird der Kurs natürlich andersherum gerechnet.

Wenn jetzt irgendein Scherzkeks eine 0 oder ein Versalien-ß oder ein ☃ eingegeben hat wird zu der letzten Anweisung „else“ gewechselt 5). Es darf in einem if-system mehrere if-else-Konstrukte geben, aber nur einen einzigen Esel. So wie im echten Leben. Nein, Moment, es gibt ’ne ganze Menge Esel in meinem Leben, allein auf diesem Blog wimmelt es davon.
Wie auch immer, wenn weder die Bedingung von if oder if-else erfüllt ist, werden die Anweisungen von „else“ ausgeführt.

So einfach ist das! Jetzt geht schon hin da, zu dieser Bar in diesem verrückten Berlin wo man angeblich mit Bitcoin zahlen kann. Holt eure alten Thinkpads raus, hackt das Programm ein und sagt: „Hey Moment, das Programm ist falsch, hier steht, ein Bier kostet 3 Euro!“ Und sie werden in die Verlegenheit kommen, zuzugeben, dass ihre Preispolitik falsch ist.  Viel Spaß!

Kleiner Exkurs: Weil es wirklich ein sehr häufiger Fehler von (nicht nur) AnfängerInnen ist, das = mit dem == zu verwechseln, haben sich ein paar sehr clevere Leute das Yoda Programming überlegt. Es werden die beiden Bedingungswerte vertauscht. Wenn man nun aus Versehen „52 = Wert“ geschrieben wird, streikt der Compiler, da einer Konstanten kein Wert zugewiesen werden kann. „52 == Wert“ funktioniert aber ganz wunderbar. Kann man sich mal anschauen.