#ubuntu-nl-mwanzo-klas 2011-01-05
* ChanServ changed the topic of #Ubuntu-nl-mwanzo-klas to: Onderwerp voor #Ubuntu-nl-mwanzo-klas is:  zat 15 jan om 19.30  workshop python voor beginners  #Ubuntu-nl-mwanzo-klas. Leiding: commandoline. logs op http://irclogs.ubuntu.com.
<leoquant> Workshops: http://wiki.ubuntu-nl.org/community/mwanzo/Workshop
<leoquant> Workshops: http://wiki.ubuntu-nl.org/community/mwanzo/Workshop
<leoquant> Workshops: http://wiki.ubuntu-nl.org/community/mwanzo/Workshop
<leoquant> Workshops: http://wiki.ubuntu-nl.org/community/mwanzo/Workshops
* ChanServ changed the topic of #Ubuntu-nl-mwanzo-klas to: zat 15 jan om 19.30  workshop python voor beginners  #Ubuntu-nl-mwanzo-klas. Leiding: commandoline. logs op http://irclogs.ubuntu.com.
<leoquant> Workshops: http://wiki.ubuntu-nl.org/community/mwanzo/Workshop
#ubuntu-nl-mwanzo-klas 2011-01-11
<Noa> o.O
#ubuntu-nl-mwanzo-klas 2011-01-13
<leoquant> RawChid, ?
<RawChid> yoo
<leoquant> testje ivm workshop
<leoquant> ik moet zeker zijn van iets
<RawChid> Sure
<leoquant> wil je na 5 seconden nog twee drie zinnen doen?
<leoquant> ok
<leoquant> niets?
<RawChid> Hallo
<RawChid> en dit is 5 seconde later?
<leoquant> en nu? na 5 seconden?
<RawChid> en nu?
<RawChid> En nog een keer 5 secs gewacht
<leoquant> ja
<RawChid> nee
<leoquant> gaat goed
<RawChid> ja
<RawChid> :P
<RawChid> Oke, mooi
<RawChid> Wat test je dan ? (A)
<leoquant> en nu?
<leoquant> boe!
<leoquant> test +m en +m en V mode
<RawChid> schrik
<RawChid> ik kan gwewoon praten
<leoquant> werkt!
<RawChid> zonder de +v kan ik praten?
<RawChid> Dat is toch niet goed?
<leoquant> nee
<leoquant> +m gedaan
<leoquant> jij kan niet praten
<RawChid> Ja, dat betekent toch dat ik niet mag praten
<RawChid> Waarom praat ik nu dan?
<leoquant> toen +m en +v jij praat
<leoquant> nu -m jij praat
<RawChid> Doe es +m dan
<leoquant> dat heb ik getest
<RawChid> asd
<leoquant> nu kun je niets
<leoquant> je bent niet +v
<leoquant> nu ga je +v ok
<RawChid> ad
<RawChid> Whoei
<leoquant> en toen?
<RawChid> 15:47:23 [freenode] -!- #Ubuntu-nl-mwanzo-klas Cannot send to channel
<leoquant> nu ga je -v
<RawChid> Nu zie je mijn gelul weer :P
<leoquant> je kan niets
<leoquant> nu -m
<RawChid> Het is een wonder
<leoquant> je kan weer
<leoquant> het moet goed gaan zaterdag
<leoquant> bedankt!
<RawChid> np
<kaydsoft_> hi
#ubuntu-nl-mwanzo-klas 2011-01-15
<FOAD> Mogge.
<jeroenl81> hehe
<jeroenl81> commandoline, moeten we idle al geinstalleerd hebben vooraf ? Ik zit even in een ander linux omgeving.
<commandoline> jeroenl81: vandaag nog niet veel:
<commandoline> - een teksteditor (gedit bijv.)
<jeroenl81> mja ok. Die heb ik er zat staan
<commandoline> - python, waarschijnlijk is die al geÃ¯nstalleerd. Als je het wilt testen dan start je een terminal en tik je 'python' in.
<jeroenl81> op voorhand bedankt trouwens dat je de moeite neemt voor dit initiatief. Python heb ik idd. Merkte alleen dat ik idle niet had
<leoquant> Python 2.6.5 (r265:79063, Apr 16 2010,
<commandoline> idle is niet per se nodig, ik gebruik het zelf amper.
<commandoline> en alles > python 2.2 is vandaag goed, en met 2.6 zul je de hele cursus kunnen doen :)
<jeroenl81> dam moet wel ff update zie ik :') 2.5.2
<commandoline> oh, 2.5 kan ook wel.
<leoquant> we zitten alm op 2.8 he?
<commandoline> leoquant: 2.7, of ik heb de laatste paar dagen een release gemist.
<commandoline> en 2.7 kan ook
<leoquant> (of was dat natty?)
<commandoline> alles tussen 2.4 - <3.0 is goed.
<leoquant> ok
<commandoline> en andere versies zullen de eerste paar lessen ook nog wel kunnen.
<commandoline> het wordt pas verderop belangrijk.
<leoquant> alle pythonners join ook #ubuntu-nl-mwanzo
<leoquant> uitlegje volgt nog
<Tico> even voor deze nOOb..... gedit en python 2.6.x is voldoende voor deze cursus?
<leoquant> cs t zat 15 jan om 19.30 tot 20.30  workshop python voor beginners  #Ubuntu-nl-mwanzo-klas. Leiding: commandoline. logs op http://irclogs.ubuntu.com. Alle cursisten join ook: #ubuntu-nl-mwanzo
<Cugel> 2.6.5
* ChanServ changed the topic of #Ubuntu-nl-mwanzo-klas to: zat 15 jan om 19.30 tot 20.30  workshop python voor beginners  #Ubuntu-nl-mwanzo-klas. Leiding: commandoline. logs op http://irclogs.ubuntu.com. Alle cursisten join ook: #ubuntu-nl-mwanzo
<commandoline> Tico: prima.
<commandoline> Cugel: ook
<dimi77> goede avond
<jeroenl81> avond
<Ronnie> leoquant: welk kanaal wordt +m?
<leoquant> klas
<hansw> navond
<leoquant> goedeavond
<leoquant>  #ubuntu-nl-mwanzo het kanaal om vragen te stellen
<leoquant> commandoline, legt dat hier uit
 * leoquant in mwanzo
<commandoline> leoquant: ok, prima.
<commandoline> (hier in -klas wist ik al)
<leoquant> en we houden ons strikt aan de tijd
<leoquant> nou ja behoorlijk strikt
<commandoline> ja, ik heb hier helaas geen atoomklok :P
<dimi77> oke
<leoquant> dimi77, er is helaas vanavond geen uitloopmogelijkheid....
<leoquant> wegens verplichtingen elders van commandoline en anderen
<dimi77> ik begrijp het.
<leoquant> het vergt wel wat de workshop leider
<leoquant> 30 cursisten
<Tjibba_> we kunnen hier niet praten?
<FOAD> Toch wel.
<Tjibba_> :P
<sultan> nee, alleen luisteren duh!
<leoquant> over 5 minuten niet meer nee
<Tjibba> oke
<niekie> Sshhh.
 * FOAD geeft een appel aan commandoline.
<leoquant> zie topic nieuwkomers
<niekie> Niet zo rumoerig jongens.
<jeroenl81> lol
<UndiFineD> o/
<leoquant> lo UndiFineD
<commandoline> bedankt FOAD :P
<exalt> commandoline, het was de appel van goed en kwaad FOAD speel de even voor python
<Tjibba_> heb zin in een mora frikandel
<hajour> o/
<exalt> Tjibba, hahahah neee de meccafood
<jeroenl81> Tjibba, zit ook kassa te kijken :P
<Tjibba_> keek er net even naar:P
<leoquant> mensen we gaan richting andere kanaal ook he? zie topic
<leoquant> commandoline, ik ga het hier zo "op slot doen" voor je
<commandoline> leoquant: prima :)
<exalt> moet je je terminal al klaar zetten ?
<commandoline> exalt: kan straks ook wel
<leoquant> af en toe spammen we nog wat ins blaue hinein....
<leoquant> commandoline, Ronnie kiwinote UndiFineD  klaar?
<Ronnie> JA
<kiwinote> ja
<commandoline> ja
<UndiFineD> +1
<leoquant> top
<commandoline> OK, het is tijd, dus laten we beginnen.
<commandoline> Eerst even wat over de manier van les geven:
<commandoline> - In dit kanaal (#ubuntu-nl-mwanzo-klas) wordt uitleg gegeven, vragen stellen kan in #ubuntu-nl-mwanzo
<commandoline> Verder is het mogelijk dat ik bepaalde vragen even vooruitschuif, of eerst niet beantwoord.
<commandoline> als we anders niet verder komen.
<commandoline> Jullie willen allemaal Python leren, dus het leek me een goed idee om eerst eens te laten zien wat je nou eigenlijk met python kan maken.
<commandoline> zo draaien bijv. verschillende websites op de achtergrond op python:
<commandoline> http://youtube.com/ bijvoorbeeld
<commandoline> en http://loco.ubuntu.com/ is ook een webapplicatie gebaseerd op python.
<commandoline> de eigenaar van de eerste is Google, een bedrijf dat erg veel doet met Python.
<commandoline> Daarnaast is het mogelijk om applicaties te maken die draaien in een terminal
<commandoline> een mooi voorbeeld is yum, de tegenhanger van apt-get dat jullie misschien wel kennen van ubuntu bij fedora.
<commandoline> http://eglug.org/files/image_store/snapshot1-157.png
<commandoline> voor een screenshot.
<commandoline> Ook desktop applicaties zijn in python te schrijven.
<commandoline> een voorbeeld uit Ubuntu is het Softwarecentrum
<commandoline> http://wiki.ubuntu-nl.org/MultimediaOndersteuningMaverick?action=AttachFile&do=get&target=softwarecentrum_restricted.png
<commandoline> voor degenen die het nog niet eerder gezien hebben.
<commandoline> Ten slotte wilde ik nog de mogelijkheid noemen om games te maken in Python, bekend is Frets on Fire:
<commandoline> http://upload.wikimedia.org/wikipedia/commons/9/9e/Fretsonfire4.png
<commandoline> ik hoop dat julllie nu een indruk hebben, hoewel dit slechts het topje van de ijsberg is.
<commandoline> Python wordt, zeker in de Open-Source-wereld, erg veel gebruikt.
<commandoline> Nu jullie dus een idee hebben wat je kan met python, wil ik het graag even hebben over wat een computerprogramma eigenlijk is.
<commandoline> een computerprogramma is een lijst met instructies die aangeven wat de computer moet doen.
<commandoline> de taal waarin die lijst is beschreven, heet de programmeertaal.
<leoquant> vraag:<FUJISAN> wat is python nou eigenlijk een scripttaal of iets anders?
<commandoline> Technisch gezien valt python onder de scripting talen.
<commandoline> maar dat zegt in de praktijk niets over de mogelijkheden van een taal.
<commandoline> In een computerprogramma zit vaak een structuur die je altijd terug kan herkennen:
<commandoline> - Invoer (van de gebruiker, uit een bestand, of uit een andere bron)
<commandoline> - Verwerken (de invoer wordt omgezet naar iets anders, iets nuttigs.)
<commandoline> - Uitvoer (het resultaat van het verwerken wordt weergeven, bijv. op een monitor, maar bijv. een server zou het naar de webbrowser van de gebruiker sturen)
<commandoline> Ten slotte moeten jullie nog Ã©Ã©n ding weten over programmeertalen op dit moment:
<commandoline> je mag geen enkele fout maken als je erin schrijft, want als dat gebeurt, zal je programma crashen of iets anders doen dan verwacht.
<commandoline> Computers zijn nl. dom, ze begrijpen niet wat ze doen.
<commandoline> OK, hoog tijd om jullie eerste programma te schrijven, tenzij er nog vragen tot nu toe zijn?
<commandoline> zo te zien niet, ik wil jullie vragen om een terminalvenster op te starten.
<commandoline> In ubuntu gaat dat via:
<commandoline> Toepassingen > Hulpmiddelen > Terminalvenster.
<commandoline> OK, als dat gelukt is, typ je 'python' in, zonder aanhalingstekens, en druk je op enter.
<commandoline> als het goed is zie je wat als:
<commandoline> Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)
<commandoline> [GCC 4.4.5] on linux2
<commandoline> Type "help", "copyright", "credits" or "license" for more information.
<commandoline> lukt het tot zover?
<commandoline> ik zie dat behalve FUJISAN niemand problemen heeft, tot nu toe, dus dan gaan we door.
<commandoline> je ziet >>> staan, met daarachter de cursor.
<commandoline> typ nu de volgende tekst in, en druk daarna op enter:
<commandoline> print "Hallo Ubuntero's!"
<commandoline> nogmaals, maak geen typfouten, want dan krijg je mogelijk een foutmelding, of doet het programma niet wat je verwacht.
<commandoline> Heeft iemand vragen tot nu toe, of problemen?
<commandoline> vragen niet, problemen wel zie ik.
<commandoline> maar ik ga nu wel verder, degenen in de chat zullen even verder moeten helpen.
<commandoline> we gaan nu een wat ingewikkelder programma maken namelijk.
<commandoline> typ de volgende zinnen over (of kopieren/plakken):
<commandoline> naam = raw_input("Wat is je naam? ")
<commandoline> print naam, "is goed op weg met het leren van python!"
<commandoline> ik zal nu eens uitleggen wat hier eigenlijk gebeurd.
<commandoline> het stukje tekst raw_input("Wat is je naam? ")
<commandoline> doet twee dingen.
<commandoline> 1) het laat de tekst 'Wat is je naam?' zien.
<commandoline> 2) het vraagt de gebruiker om invoer, en nadat je die invoer hebt gegeven en op enter hebt gedrukt, gaat het programma verder.
<commandoline> dan wordt nl. het stukje 'naam =' uitgevoerd.
<commandoline> dat stukje betekend iets als 'sla het resultaat van wat achter '=' staat op onder de naam 'naam'.'
<commandoline> daarna is de regel daar volledig uitgevoerd, en gaat python verder naar de volgende regel.
<commandoline> daar staat:
<commandoline> print naam, "is goed op weg met het leren van python!"
<commandoline> daar staat dan het commando 'print'
<commandoline> print doet niets anders dan stukjes informatie op het scherm laten zien.
<Ronnie> commandoline: nog even wachten met het volgende deel
<commandoline> het eerste wat 'print' laat zien is wat is opgeslagen met naam.
<commandoline> Ronnie: dat was ik al van plan
<commandoline> * onder de naam 'naam'.
<commandoline> even een onderbreking dan nu totdat iedereen weer bij is.
<leoquant> we kunnen door
<commandoline> ok, prima.
<commandoline> we waren dus halverwege de zin:
<commandoline> print naam, "is goed op weg met het leren van python!"
<commandoline> eerst wordt op het scherm de tekst bewaart in 'naam' gezet
<commandoline> de komma verteld python dat het verder moet kijken naar het tweede stuk tekst.
<commandoline> * vertelt
<commandoline> dat stuk tekst wordt vervolgens Ã³Ã³k op het scherm weergeven
<commandoline> het resultaat is Ã©Ã©n zin op je beeldscherm:
<commandoline> *jouw naam* is goed op weg met het leren van python!
<commandoline> begrijpt iedereen nou ongeveer wat de regels die jullie hebben ingevoerd doen?
<commandoline> OK, dan wordt het tijd om te zien dat python een beetje kan rekenen.
<JanC> die komma zorgt ook dat de 2 stukken gescheiden worden door een spatie
<Ronnie> print naam + " is goed op weg met het leren van python!" (zou ook kunnen, met een + ipv een ,  - het verschil is dat bij een komma er een extra spatie tussen komt)
<Ronnie> Ga je gang commandoline
<commandoline> ok
<leoquant> ok
<commandoline> type eens in:
<commandoline> 6+5
<commandoline> je ziet dan dat python meteen met het antwoord komt, 11.
<commandoline> python kan nog meer, bijv. vermenigvuldigen.
<commandoline> 5 * 80
<commandoline> geeft 400 terug.
<commandoline> ook aftrekken gaat zonder problemen: 6-3 = 3
<commandoline> machtsverheffen is ook een mogelijkheid, 2** 3 (2Â³) geeft natuurlijk 8
<leoquant> cool
<commandoline> (de eerste vorm is wat python begrijpt, de tweede is de mathematische notatie)
<commandoline> goed, we hebben alleen nog niet gedeeld.
<commandoline> ook dat kan python:
<commandoline> 20 /10
<commandoline> geeft netjes 2
<commandoline> het gaat fout bij 601/10, je zult zien dat python 60 geeft.
<commandoline> python heeft een reden om hier een geheel getal te geven, we komen er later op terug.
<commandoline> Je kan ook cijfers in een variabele zetten overigens.
<commandoline> (zo'n ding als we eerder zagen bij naam= ...)
<commandoline> in dit geval doen we:
<commandoline> getal = 6
<commandoline> we kunnen vervolgens allerlei dingen doen met 'getal'
<commandoline> bijv:
<commandoline> print getal + 5
<commandoline> print is momenteel niet vereist, maar later wel als we straks uit de 'console' gaan. Dat is zeg maar wat je krijgt als je 'python' intikt in een terminalvenster zoals jullie allemaal hebben gedaan.
<commandoline> Goed, als jullie dit begrijpen, kunnen we weer een stapje verder gaan.
<Ronnie> Op naar het volgende deel dan maar :D
<commandoline> probeer deze code eens, de hele tijd Ã©Ã©n keer op enter drukken nadat je iets hebt ingevoerd.
<commandoline> Ook tabs zijn belangrijk bij het overtypen/kopieren:
<commandoline> answer = input("Wat is 2+2?")
<commandoline> if answer == 4:
<commandoline> 	print "Je had het goed."
<commandoline> else:
<commandoline> 	print "Je had het fout."
<commandoline> ho, hier gaat wat fout.
<commandoline> neem dit niet over, momentje.
<commandoline> http://paste.ubuntu.com/554471/
<commandoline> je ziet hier dat twee lijnen zijn ingesprongen met behulp van de tab-toets.
<commandoline> het is belangrijk in python om dat goed over te nemen.
<commandoline> ho, ik maak weer een fout :P
<commandoline> http://paste.ubuntu.com/554472/
<commandoline> nu klopt het.
<leoquant> yep
<commandoline> probeer dit eens uit in de terminal, lukt dat?
<UndiFineD> IndentationError: unexpected indent
<commandoline> UndiFineD: je hebt hier een fout gemaakt met het overnemen van de tabs.
<UndiFineD> indent is tab gebruik
<commandoline> ok, alleen uitleg dus :)
<commandoline> Wat hier gebeurt:
<commandoline> er wordt aan de gebruiker gevraagt om een *cijfer* op te geven. Het resultaat wordt opgeslagen in de variabele 'answer'
<Ronnie> Uiteindelijk komt er dus dit op je scherm: http://paste.ubuntu.com/554473/
<commandoline> vervolgens kijkt python met behulp van 'if' of het antwoord gelijk is aan 4.
<commandoline> als dat zo is, wordt de code die ingesprongen is uitgevoerd.
<leoquant> commandoline, ff wachten
<commandoline> dat is in dit geval dat de tekst 'je had het goed' op het scherm wordt weergeven.
<commandoline> als je iets anders hebt ingevuld bij de input(), dan wordt alles uitgevoerd wat ingesprongen onder 'else:' staat.
<commandoline> dat is in dit geval de tekst:
<commandoline> 'je had het fout' weergeven met behulp van 'print'
<commandoline> Goed, heeft iemand nog vragen over het laatste stukje code?
<commandoline> goed, het is bijna tijd, dus voordat we stoppen:
<UndiFineD> huiswerk ?
<Ronnie> ja, en veel :P
<commandoline> - Volgende week is geen pythonles, want dan gaat leoquant een cursus IRC geven op hetzelfde tijdstip hier.
<leoquant> (sorry) ã
<commandoline> Ik zou jullie aanraden om gewoon wat dingen uit te proberen in python.
<leoquant> maar de week erna gaan we weer verder met python commandoline ?
<commandoline> als jullie willen oefenen, probeer dan deze oefening te maken:
<commandoline> - Oefening:
<commandoline> Maak een script die de gebruiker om een nummer als invoer vraagt,
<commandoline> en als antwoord het dubbele van de waarde van het getal geeft
<commandoline> dat is het, bedankt voor jullie komst allemaal!
<commandoline> en hopelijk tot over 2 weken!
<leoquant> zeer bedankt!!!!!!!!!!!!!!!!!
<Ronnie> Erg goed commandoline. bedankt!
<Tico> DUidelijke uitleg, bedankt
<exalt> thanx
<exalt> this is my result: http://paste.ubuntu.com/554476/
<hajour> dank je voor de les commandoline
<leoquant> \o/
<commandoline> graag gedaan allemaal, ik ga nu.
<commandoline> tot over twee weken
<UndiFineD> dank je wel com...
* ChanServ changed the topic of #Ubuntu-nl-mwanzo-klas to: Zaterdag 22 januari 2011 19.30-20.30   workshop IRC  voor "beginners"   #Ubuntu-nl-mwanzo-klas. Leiding: leoquant. logs op http://irclogs.ubuntu.com. Alle cursisten join ook: #ubuntu-nl-mwanzo
<FOAD> Te laat, CasW.
<Viper> :)
<leoquant> Ronnie, JanC kiwinote  en UndiFineD ook bedankt guys!
<UndiFineD> :)
<studyurnme> no, she has a wider, more generous mouth ;)
#ubuntu-nl-mwanzo-klas 2011-01-16
 * hajour goodnight all
<commandoline> testje om te zien of lernid werkt.
<commandoline> linktestje: http://forum.ubuntu-nl.org/
<commandoline> ook dat gaat goed..
<ppaass> ik kan op zaterdag nooit op de cursesen komen  :(  :(    Wat hebben ze gister gedaan?
<JanC> ppaass: http://irclogs.ubuntu.com/2011/01/15/%23ubuntu-nl-mwanzo-klas.html
<JanC> vanaf http://irclogs.ubuntu.com/2011/01/15/%23ubuntu-nl-mwanzo-klas.html#t18:30 dus
<ppaass> o, dankej
<hansw> dag mensen, wilde nog even bedanken voor gisteren
<hansw> maar heb me wel uitgeschreven
<hansw> ik kan dit beter zelf leren
<leoquant> ok hansw
<leoquant> jammer, en bedankt voor het bedanken
<hansw> het is prima voor mensen die nog niet kunnen programmeren
<leoquant> boe!
<hajour> hai
<JanC> hansw: als je al kan programmeren kan je best de officiÃ«le tutorial en/of dive into python lezen, denk ik
<lonki> JanC, idd, was ik ook al mee begonnen
#ubuntu-nl-mwanzo-klas 2011-01-17
<leoquant> zo dan
<leoquant> we beginnen
<leoquant> nou we waren bij python
#ubuntu-nl-mwanzo-klas 2011-01-22
<FOAD> Hoi.
<dimi77> goede avond
<leoquant> hoi
<leoquant> FOAD JanC  RawChid  en UndiFineD zullen zijn paraat?
<FOAD> jA.
<FOAD> Ja, ook.
<leoquant> das mooi
<JanC> ik ben in de buurt  âº
<leoquant> ã
<leoquant> hoi
<leoquant> allen
<leoquant> open de terminal: sudo apt-get install lernid
<leoquant> enkel installeren
<leoquant> later niet openen
<leoquant> gedaan?
<leoquant> Open daarna lernid niet! na de toetscombinatie ALT F2 gaarne
<leoquant> deze zin invoeren: lernid --config http://wiki.ubuntu-nl.org/community/mwanzo/Workshop?action=AttachFile&do=get&target=ubuntu-nl-mwanzo-workshops.lernid
<leoquant> na alt f2
<leoquant> sluit alle irc clients
<leoquant> graag via copy paste
<leoquant> er zie hier geen hajour of hannie....
<leoquant> via lernid
<leoquant> is dit via lernid?
<leoquant>  /set real_name <Je Naam>
<leoquant> heen haakjes
<leoquant>  /connect irc.freenode.net 8001
<leoquant>  /join #ubuntu-nl-mwanzo-team
<leoquant> nu zou je via irssi moeten kunnen irc en
<leoquant> Registreren bij Freenode.
<leoquant>  /msg nickserv REGISTER <password> <email>
<leoquant>  /msg NickServ SET HIDEMAIL ON is handig...
<leoquant>  /nick <alternate_nick>   soort tweede nicknaam
<leoquant> FOAD pik jij het hier op?
<leoquant> met mij?
<leoquant> Voor een beveiligde (versleutelde) verbinding met Freenode kan gebruik worden gemaakt van het SSL protocol. In de terminal: .
<leoquant> =pauze=
<leoquant> kunnen we door?
<leoquant> Voor een beveiligde (versleutelde) verbinding met Freenode kan gebruik worden gemaakt van het SSL protocol. In de terminal:
<leoquant> een tweede terminal dus
<leoquant> sudo apt-get install ca-certificates libcrypt-blowfish-perl libcrypt-dh-perl libcrypt-openssl-bignum-perl libmath-bigint-gmp-perl
<leoquant> Download het sasl perl script van het internet:
<leoquant> nog steeds in de tweede terminal he!!!
<leoquant>  mkdir -pv $HOME/.irssi/scripts/autorun
<leoquant>  cd $HOME/.irssi/scripts
<leoquant>  wget http://freenode.net/sasl/cap_sasl.pl
<leoquant>  cd autorun
<leoquant>  ln -s ../cap_sasl.pl
<leoquant> =pauze=
<leoquant> Het opslaan en bewaren van de instellingen: terug naar irssi!!!!
<leoquant> de opdrachregel in irssi:
<leoquant>  /script load cap_sasl.pl
<leoquant>  /sasl set Freenode <primary-nick> <password> DH-BLOWFISH  denk erom jouw nick en jouw pass! geen haakjes!
<leoquant>  /sasl save
<leoquant>  /save
<leoquant> Automatisch verbinden met Freenode via SSL
<leoquant> =pauze==
<leoquant>  /network add Freenode
<leoquant>   /server add -auto -ssl -ssl_verify -ssl_capath /etc/ssl/certs -network Freenode irc.freenode.net 7000
<leoquant>  /channel add -auto #ubuntu-nl Freenode
<leoquant>  /save
<leoquant> klaar!!!!!!!!!!!!!!!!!
<leoquant> doormiddel van channel add kun meerdere kanalen invoeren soort autojoin
<FOAD> Correct.
<leoquant> zijn er meedoeners met een werkend ssl irssi nu?
<leoquant> ik doe dit nooit meer met griep in mijn lijf..:P
<FOAD> Goed idee.
* ChanServ changed the topic of #Ubuntu-nl-mwanzo-klas to: Zaterdag 29 januari 2011 19.30-20.30   workshop Python  voor "beginners"   #Ubuntu-nl-mwanzo-klas. Leiding: commandoline. logs op http://irclogs.ubuntu.com. Alle cursisten join ook: #ubuntu-nl-mwanzo
#ubuntu-nl-mwanzo-klas 2011-01-24
<exalt> oke ik hou hier een leuke workshop over arduino
<exalt> arduino is het leukste speelgoed voor de nerd aller tijden
<exalt> het is een minicomputer met inplaats van een beeldscherm muis en toetsenbord uit en ingangen waar je zelf "rand apperatuur" voor moet bedenken om het in gebruik te nemen
<exalt> deze arduino is programmeer baar doormiddel van een eigen programmeer omgeving
<exalt> snapt iedereen het nog ?
<exalt> zeg ff wat als je het niet begrijpt... ?
<exalt> stelletje nerdjes jullie kennen t zeker allemaal al ?!
<leoquant> exalt!
#ubuntu-nl-mwanzo-klas 2011-01-29
<FOAD> Zo.
<FOAD> ik zit al klaar.
<SanderM> Avoin
<SanderM> Avond
<hajour> hai all
<StefandeVries> hallo
<exalt> stttt... heb begrepen dat we hier niet mogen praten
<SanderM> De les  moet  nog beginnen? Was even in de warrie vanwege CET  tijd?
<leoquant> hoi exalt
<exalt> haha hoi leoquant
<dimi77> goede avond
<leoquant> 19.30
<leoquant> hoi dimi77
<SanderM> Ik ben  op tijd dus :) gelukkig was vorige keer vet te laat
<exalt> ik ga misschien wat eerder weg vandaag , dat licht aan wat variabelen
<FOAD> Dat mag niet, exalt.
<FOAD> Tenzij je een briefje van je moeder hebt.
<exalt> jammer.
<dimi77> :-D
<FOAD> Gelukkig gaat het vanavond over variabelen, dus dat komt goed uit.
<FOAD> Denk ik.
<Ronnie> heeft iedereen flink gestudeerd op het materiaal van vorige les?
<Oer> avondjes allen
<FOAD> Absoluut, Ronnie.
<FOAD> Het was taaie materie, maar ik denk dat ik het begrijp.
<FOAD> Dag Oer.
<dimi77> zeker Ronnie
<Ronnie> heel goed, beide
<dimi77> goede avond Oer
<leoquant> ubuntu-nl-mwanzo is open
<leoquant> hier volgt zo de les
<leoquant> commandoline, klaar?
<commandoline> leoquant: ja
<leoquant> RawChid, kiwinote Ronnie StefandeVries ok?
<kiwinote> ja
<StefandeVries> Zeker
<commandoline> ok, kunnen we beginnen, leoquant?
<leoquant> yep!
<commandoline> ok, welkom dan allemaal bij de tweede les Python!
<commandoline> ik heb vorige keer een opdrachtje gegeven aan het eind van de les.
<commandoline> http://paste.ubuntu.com/559992/
<Ronnie> ben er net weer
<commandoline> is een mogelijke uitwerking
<commandoline> ik zal even uitleggen wat er gebeurd
<commandoline> op de 1e regel wordt m.b.v. de input()-functie aan de gebruiker gevraagd om een nummer in te voeren
<commandoline> dat nummer wordt opgeslagen in de variabele nummer
<commandoline> op de volgende regel wordt dat nummer met 2 vermenigvuldigt, en de uitkomst wordt opgeslagen in de variabele uitkomst
<commandoline> ten slotte wordt het resultaat netjes weergegeven op het scherm m.b.v. 'print'
<commandoline> is er iemand die nu nog vragen heeft over de opdracht?
<commandoline> ok, ik zie zo niks, dus dan wordt het tijd om verder te gaan.
<commandoline> de vorige keer hebben we alle commando's in de zogenaamde interactieve python shell ingevoerd
<commandoline> dat betekent dat ieder commando dat je invoert, direct wordt uitgevoerd.
<commandoline> bij een normaal programma is dat niet handig
<commandoline> om dat probleem op te lossen, kun je je programma opslaan in een bestand.
<commandoline> Ik ga hier uit van ubuntu i.c.m. de standaard meegeleverde tekst-editor, maar het is mogelijk om iets soortgelijks te doen met vrijwel iedere teksteditor en ieder besturingssysteem
<commandoline> kies Toepassingen > Hulpmiddelen > Teksteditor
<commandoline> je typt in het bestand een programma dat we al eerder hebben gezien:
<commandoline> print "Hallo Ubuntero's!"
<commandoline> daarna kies je: Bestand > Opslaan
<commandoline> je kiest een locatie om het bestand op op te slaan, bijv. het Bureaublad
<commandoline> (daar ga ik vanuit bij dit voorbeeld)
<commandoline> achter 'Naam: ' typ je in:
<commandoline> hallo.py
<commandoline> het stukje 'hallo' is zelfgekozen, de extensie .py is verplicht.
<commandoline> als je het bestand hebt opgeslagen, wordt het tijd om de terminal weer te starten
<commandoline> (Toepassingen > Hulpmiddelen > Terminalvenster)
<commandoline> in de terminal ga je vervolgens naar de locatie waar je het bestand hebt opgeslagen, in ons voorbeeld gaat dat via het commando
<commandoline> cd ~/Bureaublad
<commandoline> lukt het tot zover?
<leoquant> ja
<commandoline> goed, dan gaan we verder
<commandoline> typ nu in:
<commandoline> python hallo.py
<commandoline> je zult zien dat het programma dat je eerder hebt ingevoerd, uitgevoerd wordt :)
<commandoline> Je kan nu ook zonder problemen het programma nog een keer draaien:
<commandoline> gewoon een kwestie van het commando 'python bestandsnaam.py' herhalen
<leoquant> ok
<commandoline> Dit maakt het mogelijk om geavanceerdere programma's te schrijven tot nu toe
<commandoline> deze les wil ik met jullie een programma maken dat ook in de praktijk nuttig is
<commandoline> een rekenmachine
<commandoline> het maken van dit script gaat waarschijnlijk langere tijd duren.
<commandoline> en ik wil dat jullie mee kunnen kijken
<commandoline> daarom heb ik een bestand online gezet.
<commandoline> http://piratepad.net/ep/pad/view/ro.0i32sfJWAlx/latest
<commandoline> jullie kunnen door op die link te klikken, live meekijken met wat ik typ.
<leoquant> ik zie de tekst idd
<leoquant> yep
<commandoline> Goed, de eerste vraag is nu, welke commando's we allemaal achter elkaar moeten zetten om zo'n rekenmachine te bouwen.
<commandoline> ik heb ondertussen een lijstje toegevoegd in het document, lijkt iedereen dit logisch?
<commandoline> Om te antwoorden op de opmerking van FOAD in de chat:
<commandoline> het lijkt ingewikkeld, maar (vrijwel) alle dingen die ik hier heb opgenoemd kunnen jullie al schrijven.
<leoquant> lets go
<commandoline> ik heb nu voor de beschrijving haakjes gezet.
<commandoline> eh, hekjes :P
<commandoline> hekjes betekenen voor python dat de rest van de regel genegeerd kan worden
<commandoline> Goed, tijd om de eerste regel code te schrijven.
<commandoline> we moeten een welkomsboodschap tonen, iemand enig idee hoe we dat kunnen doen?
<commandoline> Tjibba, ja, klopt
<leoquant> Tjibba> print hallo?
<commandoline> (als je de haakjes toevoegd)
<commandoline> StefandeVries: die vindt ik nog mooier
<commandoline> goed, volgende stap
<commandoline> een menu weergeven
<commandoline> eerst maar eens de opties tonen die de gebruiker heeft
<commandoline> hmm, nu moeten we nog wat toevoegen zodat de gebruiker daadwerkelijk zijn/haar keuze kan maken
<commandoline> m.a.w., we moeten de gebruiker om invoer vragen
<commandoline> -> input()
<commandoline> Het is altijd mooi om je programma tussendoor eens te testen, om te kijken of het tot zover werkt.
<commandoline> dus, sla dit eens op, en voer het uit in python, op dezelfde manier als we gedaan hebben met hallo.py
<commandoline> FOAD: exporteren is mogelijk
<commandoline> Import/Export > Plain text file
<commandoline> een goede naam is bijv. calculator.py
<commandoline> ik heb 'm ook even geexporteerd, en zie dat ik tot zover geen typfouten heb gemaakt :)
<commandoline> Python voert het programma namelijk naar behoren uit.
<commandoline> is er iemand die het uitvoeren van het programma nog niet zo snel lukt?
<commandoline> goed, ik zie niemand direct problemen hebben.
<commandoline> laten we dan verder gaan met het programma
<commandoline> wat vinden jullie, zullen we de gebruiker gewoon vragen om twee cijfers, of
<commandoline> zullen we vragen naar een 'eerste getal om bewerking x mee te doen' en 'een tweede getal om bewerking x mee te doen'
<commandoline> FOAD: Twee cijfers is wel erg beperkt.
<commandoline> voorlopig wel idd, maar je kan het zelf naderhand nog uitbreiden. Dit is al meer dan genoeg als basis zul je merken
<leoquant> even twee eerst?
<commandoline> leoquant: zeker
<commandoline> goed, tijd om die twee gevallen te vragen dan.
<commandoline> opnieuw is input() prima geschikt
<commandoline> nu wordt het tijd om de gevraagde bewerking uit te voeren op de getallen.
<commandoline> Heeft iemand enig idee hoe we kunnen bepalen welke bewerking de gebruiker heeft gekozen?
<commandoline> StefandeVries: klopt
<leoquant> StefandeVries> if / else-if
<commandoline> nu komt er iets wat ik nog niet eerder heb laten zien
<commandoline> elif
<commandoline> het staat voor else if
<commandoline> vertaald in het Nederlands wordt het dan:
<leoquant> <overloper> waarom vraag je het soort bewerking niet als input3?
<commandoline> eigenlijk is dat zo, ik heb alleen de naam 'keuze' gekozen i.p.v. 'input3'
<leoquant> ok
<commandoline> goed, ik was bij elif
<commandoline> ik zal eerst even een voorbeeld ervan geven, later geef ik uitleg als het niet vanzelf duidelijk wordt.
<commandoline> begrijp iedereen wat elif doet?
<commandoline> het geeft een tweede mogelijkheid aan als de eerste niet voldoet.
<commandoline> mooi
<commandoline> tijd om nog even een stukje foutafhandeling toe te voegen
<commandoline> de gebruiker kan bijv. 5 hebben ingevoerd
<commandoline> Tjibba > maar is if dan niet voldoende?
<commandoline> als je nog een keer if zou gebruiken, zouden alle if's apart langsgelopen worden door python
<commandoline> nu stopt python met de elif's afgaan als Ã©Ã©n van de voorwaardes waar is.
<commandoline> FOAD > Nou en?
<commandoline> het scheelt iets qua snelheid. Hier valt het verschil wel mee, maar het is een goede gewoonte.
<commandoline> maar ik was bij foutafhandeling aangekomen.
<commandoline> als de gebruiker 5 invoert, gebeurt er momenteel helemaal niks.
<commandoline> geen van de voorwaardes is waar, en dus gaat python verder.
<commandoline> dat staat natuurlijk niet zo mooi, dus ik breid het programma nog een beetje uit.
<commandoline> goed, we hebben nu dus, ongeacht de bewerking, 'uitkomst' bepaalt.
<commandoline> hoog tijd om de gebruiker op de hoogte te brengen.
<commandoline> dat kan gewoon via print.
<commandoline> goed, dit programma zou al moeten draaien.
<commandoline> ik zie alleen nog Ã©Ã©n fout.
<commandoline> ziet iemand anders die ook?
<leoquant> is"?
<commandoline> leoquant: ?
<leoquant> laat maar..
<commandoline> StefandeVries: noemt een goed punt, hoewel het niet is wat ik bedoelde
<commandoline> overloper: klopt
<leoquant> <overloper> er moet nog een terugkoppeling voor als de keuze geen 1-4 was
<commandoline> we laten een boodschap zien
<commandoline> maar vervolgens gaat python gewoon verder
<commandoline> wat python dan probeert is het volgende:
<commandoline> print "Uw keuze is wat onduidelijk. Was het een nummer tussen de 1 en de 4? Probeer het opnieuw."
<commandoline> eh, nee, wat er gebeurt is dit:
<commandoline> print "Het antwoord is", uitkomst, "."
<commandoline> het probleem is dat 'uitkomst' helemaal geen waarde heeft.
<commandoline> daarom zal python een foutmelding geven. (als gekozen wordt voor optie 5)
<commandoline> de oplossing: het programma voortijdig afbreken.
<commandoline> dat kan met exit()
<commandoline> ik heb het toegevoegd aan het document. Als er een ander nummer dan 1-4 wordt ingevoerd, gebeurd er nu dit:
<commandoline> - de gebruiker wordt op de hoogte gebracht. (dat hadden we eerder al gedaan)
<commandoline> - het programma wordt afgesloten.
<commandoline> goed, nu hebben we een werkend programma.
<commandoline> (als ik geen typfouten heb gemaakt, dan.)
<commandoline> exporteer het maar eens en probeer het uit te voeren.
<commandoline> Tjibba> maar wat gebeurd er als de gebruiker ipv een getal een letter invoert?	
<commandoline> dan geeft python een foutmelding
<commandoline> hoe we die afvangen komt later een keer.
<commandoline> goed opgemerkt, dat wel.
<leoquant> <dimi77> hij geeft bij mij nog steeds een foutmelding
<leoquant> dimi77> laat maar doet het al
<commandoline> goed, ik zie hier een paar goede opmerkingen:
<commandoline> FOAD> 5/6 is helemaal niet 0.
<commandoline> dat klopt natuurlijk, dit is een foutje in python. Later zal ik uitleggen hoe we dit recht kunnen zetten.
<commandoline> (daar komen we vandaag niet meer aan toe denk ik)
<commandoline> Tjibba> pas na het opgeven van de 2 getallen zegt hij dat ik een onduidelijke keuze heb gemaakt	
<commandoline> dat is eigenlijk wel een fout natuurlijk, maar de oplossing laat ik nog even wachten.
<commandoline> dat wordt huiswerk denk ik :)
<commandoline> nee, wat ik nu wil doen is nog Ã©Ã©n ding doen:
<commandoline> het programma moet blijven draaien, totdat de gebruiker aangeeft dat het gestopt mag worden.
<commandoline> StefandeVries: noemde eerder al de oplossing: de while-loop
<commandoline> ik zal die eerst even toevoegen, en daarna uitleggen.
<commandoline> StefandeVries> en een keuze voor exit
<commandoline> ook dat klopt, zover was ik alleen nog niet
<commandoline> eerst wil ik even kort vertellen wat de while-loop doet.
<commandoline> die voert een stuk code uit, zolang een bepaalde voorwaarde waar is.
<commandoline> die voorwaarde is hier de variabele 'rondgaan'
<commandoline> die heb ik gelijkgesteld aan 'True' -> dat betekend dat de voorwaarde waar is.
<commandoline> het programma zal nu dus net zolang doorgaan met herhalen, totdat rondgaan niet meer True is
<commandoline> (maar False)
<commandoline> goed, ik heb nu nog de optie '5' toegevoegd
<commandoline> wat die doet is een boodschap weergeven
<commandoline> ("Bedankt voor het gebruiken van de calculator!")
<commandoline> en het programma afsluiten
<commandoline> ik doe dat opnieuw via exit()
<commandoline> een andere optie zou kunnen zijn om 'rondgaan = False' daar neer te zetten
<commandoline> als niet onderaan die lijn 'print "Het antwoord is", uitkomst, "."'
<commandoline> had gestaan.
<commandoline> want ook bij het afsluiten blijft 'uitkomst' geen waarde hebben.
<commandoline> FOAD: Maar nu heeft de variabele nog altijd de waarde True?
<commandoline> klopt, daarom gebruik ik de functie exit()
<commandoline> als ik die functie niet zou gebruiken, zou het programma 'eeuwig' blijven draaien
<commandoline> goed, dat was wel wat ik jullie vandaag wilde laten zien.
<commandoline> zijn er nog vragen?
<commandoline> Tjibba: klopt, dat is huiswerk.
<commandoline> (het is nu definitief :P)
<commandoline> ik raad jullie aan om het document nog Ã©Ã©n keer te exporteren en te draaien, dan kun je ook de laatste wijzigingen zien.
<commandoline> goed, als er geen vragen meer zijn, dan is dit het einde van de les! Bedankt voor jullie komst allemaal, en tot volgende week!
<commandoline> oh, toch nog een vraag :)
<commandoline> overloper> waarom zet je de laatste printopdracht niet voor Ã©lse, uw keuze is onduidelijk?
<commandoline> als ik dat doe, krijg ik een foutmelding van python.
<commandoline> dan staat if/elif/else namelijk niet meer achter elkaar in volgorde
<commandoline> en dan herkent python ze niet meer als bij elkaar horend.
<leoquant> FOAD> Maar wat is nu precies het huiswerk?
<leoquant> commandoline, zeer bedankt voor je les(sen)
<commandoline> Probeer te zorgen dat getal1 en getal2 niet meer gevraagd worden als ze niet nodig zijn.
<commandoline> da's het huiswerk.
<commandoline> en graag gedaan :)
<leoquant> ok
<Tjibbo> Bedankt!!
<commandoline> en verder, blijf gewoon zoveel uitproberen als je wilt met python, dat is de beste manier om python te leren!
<leoquant> leerzaam
<StefandeVries> +1
* ChanServ changed the topic of #Ubuntu-nl-mwanzo-klas to: Zaterdag 05-02-11 :19.30-20.30   workshop Python  voor "beginners" (3)  #Ubuntu-nl-mwanzo-klas. Info: http://wiki.ubuntu-nl.org/community/mwanzo/Workshop/BasiscursusPython Leiding: commandoline. logs op http://irclogs.ubuntu.com. Alle cursisten join ook: #ubuntu-nl-mwanzo, daar kun je vragen stellen.

{'channel': 'ubuntu-nl-mwanzo-klas', 'month': 1}