Archive for the ‘Articles’ Category

DVD backup with Thoggen

Sunday, May 4th, 2008

Today was one of those “first time” moments in my life and what I am about to share with you is something that anyone out there must give a shot right away.

There are very few of things left that keep me attached to a non-free software operating system. One of those, which particularly interests me, is backing up my DVD movies. Now, some may ask “what’s the big deal?”, but if you tend to repeat this process at least a couple of times in a week you’ll agree with me how this may get complicated more than you were expecting to be.

There are tons of non-free softwares around to accomplish the job with (almost) a single click, but none (not even a single one, at least not to my knowledge) reliable free software which painlessly would do the job (well… this is relative I know, but we are talking about (end-)user experience here and command line stuff is definitely out of league).

Now, let me introduce you Thoggen, a DVD backup utility, based on GStreamer and Gtk+, as they defined on their site. This utility will read from DVD and save your movie in Theora format, which is free.

Once you insert your DVD media to your DVD drive, you have to open Thoggen:

Thoggen will show up and read the DVD media (If Thoggen complains that libdvdcss2 is not present in your system, so that it cannot proceed, you just have to download and install one single Medibuntu package and restart Thoggen after that):

Usually Thoggen is clever enough to detect the correct title that contains actual movie (hint: “1:30 hours”). Either this isn’t the case for you or you want to something different, just pick the title(s) you’re interesting in backing up and click “OK”:

At this step, if you’re not interested in nothing else, but backing up your movie you can just click “OK” and you’re done.

Just in case, if you’d like to make some decisions about your final product (picture size, quality, file size, where to save your output file, etc.) the window showing up here is pretty clear (you may or not do all or any of these):

  • Pick a picture size from drop down list
  • Crop your movie here and there (for instance if you want to cutout upper and lower strips present in the movie)
  • Decide if you’re interested in quality or in a certain file size (this is useful if you’re thinking to burn a CD or a DVD with it and size matters to you)
  • Pick where to save output file (your home folder may not be the best place for that)
  • Click on “Stream Information” and fill or change some information about this movie
  • Click “OK” to proceed with backing up:

That’s it! Tasty isn’t it? After a couple of hours (I hope you have a better computer than mine, and you’ll save sometime there) you’ll have your movie backed up, just like that.

I shoudn’t complain much, but just for the records, one thing that I’m a little disappointed about Thoggen is the fact that you cannot disable the preview while converting movie. I think this should save a lot of processing resources, thus finishing the job earlier; but I’m sure this will be added sooner or later.

Dear reader, if you have any idea about how to rip subtitles from a DVD, please let me know either by dropping me an e-mail or commenting below.

Her programcının düzenli deyimler hakkında kesinlikle en azından bilmesi gerekenler

Sunday, March 2nd, 2008

Bu metin Mike Malone tarafından yazılmış olan özgün metnin tarafımdan yapılmış olan çevirisidir. Eğer çeviride hata olduğunu düşünüyorsanız bana, özgün metinde hata olduğunu düşünüyorsanız ona yazabilirsiniz.

Düzenli deyim de neyin nesidir?

Düzenli deyimler[0] özel bir yazım tarzı kullanarak bir metni tanımlamaya ve ayrıştırmaya yarayan karakter dizgileridirler. Birçok programcı (hatta bazı iyi olanlar bile) düzenli deyimleri hiçe saymaktadır ki bu büyük bir ayıptır, çünkü çok sık işe yaramaktadırlar. Bir kez işin yolunu yordamını kaptınız mı, düzenli deyimler sayısız sorunların üstesinden gelmekte kullanılabilirler.

Düzenli deyimler çoğunlukla Windows ya da *NIX’deki joker karakterleri gibi çalışırlar; özel * ve ? karakterlerini kullanarak birden çok sayıdaki dosyayı belirtebilirler (joker karakteri anlatırken bir joker karakter mi kullandım ne?). Fakat düzenli deyimlerdeki özel ya da yardımcı karakterler[1] çok daha anlamlıdırlar.

Tıpkı joker karakterler gibi, düzenli deyimler de karakterlerin çoğuna özel bir anlam yüklemeden, onları oldukları gibi işlemden geçirirler. Örneğin, ali düzenli deyimi, yalnızca "a - l - i" harflerini, aynen bulundukları sırada bulacaktır. Fakat düzenli deyimler kullandıkları bir sürü yardımcı karakter sayesinde daha önce bahsettiğimiz joker karakterleri çok ilkel bırakılar.

Yardımcı karakterlerle tanışın: ^[](){}.*?\|+$ ve bazen -

Biliyorum korkutucu görünüyorlar, ama onları bir kez tanıdınız mı aslında ne kadar da hoş olduklarını göreceksiniz.

Satır çapaları: ^ ve $

^ (şapka) ve $ (dolar) yardımcı karakterleri sırasıyla satır başı ve satır sonunu temsil etmektedirler. Daha önce bahsettiğim gibi, ali düzenli deyimi "a - l - i" harflerini bulacaktır, ancak bu satırın herhangi bir yerinde olabilir (örneğin, "benim adım ali" ya da "ali veliali"). ^ karakteri satırın başına çapa atmak için kullanılır, böylece ^ali düzenli deyimi yalnızca ali ile başlayan satırları bulacaktır. Benzer şekilde, ali$ düzenli deyimi "a - l - i" harflerini, bu sırada, yalnızca satır sonlarında bulacaktır (ancak yine de "ali veliali"yi bulacaktır).

Eğer bu iki çapa karakterlerini birlikte kullanırsak belirli bir sıralamadaki karakterleri içeren satırları arayabiliriz. ^ali$ deyimi bir satırda yalnızca kendi başına olan ali sözcüğünü bulacaktır - ne daha fazlası, ne de daha azı. Benzer şekilde ^$ deyimi, başı sonu bir olan, boş satırları bulmakta kullanışlıdır.

Karakter kümesi: []

Karakter kümesi diye bilinen, köşeli parantezler, birtakım karakterlerden herhangi herhangi birini bulmanıza yararlar. Farz edelim ki "sevgi" sözcüğünü bulmak istiyorsunuz, fakat aynı zamanda "sezgi" de bulunsun istiyorsunuz. Bir karakter kümesi ikisini de bulmanıza izin verir. se[vz]gi düzenli deyimi "s, peşinden e, peşinden bir v ya da z, peşinden g, peşinden i" şeklinde okunur.

Eğer [ ... ] yerine [^ ... ] kullanırsanız, bu küme içinde bulunan karakterler haricindeki tüm karakterleri bulur. Kümenin başındaki ^ diziyi olumsuzlar. Kümede bulunmasını istediğiniz karakterleri sıralamak yerine, kümede bulunmasını istemediğiniz karakterleri sıralarsınız. Dikkat edin, buradaki ^ (şapka) karakterinin anlamı karakter kümesinin dışında kullanılana göre farklıdır, dışarıda kullanılırsa bunun anlamı bir satırın başını bulmaktır.

Karakter kümesi yardımcı karakteri: -

Bir karakter kümesinin içinde, karakter kümesi yardımcı karakteri - (kısa çizgi) bir karakter aralığını işaret eder. [0123456789abcdefABCDEF] yerine [0-9a-fA-F] yazabiliriz. Ne kadar da elverişli. Kısa çizgi yalnızca karakter kümesinin içinde bir yardımcı karakterdir, başka herhangi biryerde yalnızca normal kısa çizgi karakterini bulacaktır.

Eğer bir kısa çizgi bir karakter kümesinde birinci karakter ise yardımcı bir karakter olarak sayılmaz (bir aralık belirtmesinin imkanı yoktur, kaldı ki bir aralığın bir başı bir de sonu olması gereklidir), ve normal kısa karakter yerine geçer. Benzer şekilde, soru işareti ve nokta genelde ancak bir kümenin içinde olmadıklarında birer düzenli deyim karakteridirler ([-0-9.?] kümesindeki tek özel karakter sıfır ve dokuz arasındaki kısa çizgidir).

Nokta ile herhangi bir karakteri bulmak: .

. (nokta) yardımcı karakteri herhangi bir karakteri bulan bir karakter kümesi için bir kısaltmadır. Bir karakter dizisinin belirli bir yerindeki herhangi bir karakteri bulmak istediğinizde çok elverişlidir. Bir kez daha, nokta yardımcı karakteri bir karakter kümesinin içindeyken bir yardımcı karakter değildir. Yardımcı karakterler dizisi bir karakter kümesinin içinde ve dışında farklıdırlar.

Değişim yardımcı karakteri: |

| (dik çizgi ya da boru) yardımcı karakteri "veya" anlamına gelir. Birden çok deyimi tek bir deyimde bir araya getirerek içlerinden bir tanesini bulmanızı sağlar. Büyük (üst) deyimi oluşturan küçük (alt) deyimlerin herbirine seçenek adı verilir.

Örneğin, Ali ve Veli ayrık deyimlerdir, ancak Ali|Veli ikisinden birini bulan tek bir deyimdir.

Seçeneklerin kapsamlarını sınırlamak için parantezler kullanılabilir. Ali’yi veya Veli’yi bulan önceki deyimimizi parantezlerin yaratıcı kullanımı sayesinde daha kısa yazabilirdim. (A|Ve)li deyimi aynı şeyi bulacaktır. Gerçekte muhtemelen, daha okunaklı ve bakımı kolay yapılabilir olduğundan, ben yine de birinci deyimi kullanırdım.

Zorunlu olmayan (seçime bağlı) nesneleri bulmak: ?

? (soru işareti) yardımcı karakteri seçime bağlı (zorunlu değil) demektir. Deyimin herhangi bir yerinde olmasına izin verilen, ancak olmasa da olur, bir karakterden sonra konur. Soru işareti yalnızca hemen öncesindeki karakteri etkiler.

Eğer yanlış yazılmış olabileceğini bildiğimden ötürü hem tren hem de tiren sözcüklerini bulmak isteseydim, "t arkasından, belki i, arkasından r, arkasından e, arkasından n" diye okunan, ti?ren düzenli deyimini kullanabilirdim.

Diğer nicelik belirleyiciler: + ve *

Soru işareti gibi, + (artı) ve * (yıldız) yardımcı karakterleri de deyim içinde kendilerinden hemen önce bulunan karakterin bulunabilme sayısını etkilerler (? ile önceki karakter sıfır ya da bir kez bulunabilir). + yardımcı karakteri kendisinden hemen önce gelen karakteri bir ya da daha fazla kez bulurken, * önceki karakteri, sıfır dahil, herhangi bir sayıda bulur.

Eğer ses kaydının yazılı bir kopyasından bir futbol maçının sonucunu konuşmacının kaç kere gol dediğinden bulmaya çalışıyor olsaydım, "gol"ü bulacağı gibi "goooool"ü de bulabilecek olan (ancak "gl"yi değil), go+l düzenli deyimini kullanabilirdim.

Üç yardımcı karakter: soru işareti, artı ve yıldız, nicelik belirleyiciler diye bilinirler çünkü ilişikte oldukları nesnenin miktarını etkilerler.

Nicelik aralığı belirleyici: {}

{enaz,ençok} yardımcı düzeni, kendi en az ve en çok değerlerinizi sağlayarak, belirli bir nesnenin kaç kere bulunabileceğini belirtmenize izin verir. go{1,5}l düzenli deyimi bir önceki örneği yalnızca birden beşe kadar olan sayıdaki o’ları bulacak şekilde kısıtlar.

Çıkış karakteri: \

\ (ters kesme işareti, ters eğik çizgi) yardımcı karakteri özel anlamı olan yardımcı karakterleri özel anlamlarından çıkarmakta kullanılır. Örneğin, ? ya da \ karakterlerini bulmak isteseydiniz, önlerine ters kesme işareti koyarak: \? ya da \\, özel anlamlarını kaldırmış olursunuz.

Ters kesme işareti yardımcı karakter olmayan bir karakterden önce kullanıldığında, kullandığınız düzenli deyim tipine bağlı olarak, farkları anlamlara gelebilir. Perl uyumlu düzenli deyimler (PCRE’ler) için perldoc sayfasında perl düzenli deyimlerine bakabilirsiniz. PCRE’ler aşırı derecede yaygındırlar, bu tip düzenli deyimler PHP, Ruby, ECMAScript/JavaScript ve diğer birçok dildede kullanılabilirler.

Bulmak için parantezleri kullanmak: ()

Birçok düzenli deyim aracı parantezler ile bir deyimin belirli bir alt kümesini yakalamanıza izin verir. Bir alan adının[2] etki alanı[3] bölümünü http://([^/]+) gibi bir deyim ile bulabilirdim. Haydi gelin bu deyimi parçalarına ayırıp nasıl çalıştığına bakalım.

Deyimin başlangıcı oldukça açık: "h - t - t - p - : - / - /" dizisini bulacaktır. Bu başlangıç dizisini, alt deyimi bulan karakterleri yakalamak için kullanılan, parantez izlemektedir. Bu durumda alt deyim, / dışındaki herhangi bir karakteri bir ya da birden fazla kez bulan, [^/]+dir. http://www.pittle.org/weblog gibi bir alan adı için "www.pittle.org" parantezler tarafından bulunacaktır.


0: Düzenli deyim: İng. Regular expression (kısaca regex ya da regexp)
1: Yardımcı karakter: İng. Metacharacter
2: Alan adı, birörnek kaynak konumlayıcı: İng. Uniform Resource Locator (kısaca URL)
3: Etki alanı: İng. Domain name

Benim basit GNOME’m

Monday, January 28th, 2008

Pınar’ın itiş gücü ile ben de kendi masaüstümü verimli hale getirmeye kadar verdim. Uzunca bir süredir kullanıyor olduğum awn ile gnome-panel’in evliliğine bu celsede son verip yola yalnızca awn ile devam etmek için (iğrenç bir çözüm olsa bile) sudo mv /usr/bin/gnome-panel /usr/bin/gnome-panel.bak ; killall gnome-panel demek yetti. Yıllarca benim için saçını süpürge eden gnome-panel’in gidişi elbette bunca sessiz olamazdı: awn yalnız kalınca karşılaştığım bazı sorunları ve çözümlerimi şöyle sıralayayım: Sorun: Main menu (Applications-Places-System üçlüsü) yerine ne kullanacağım?

Bunun için kullanabileceğim birkaç tane applet içerisinden MiMenu (A Main Menu Applet) küçük uygulamasını seçtim. Her anlamda beni tatmin etmekten çok uzaklarda olsa bile, diğer seçeneklerin yanında en göze batmayanı bence.

Sorun: Eskiden ALT+F2 ile (sizin sisteminizde bir başka tuş sıralaması da olabilir) Run Application Dialog‘dan faydalanıyordum. Şimdi ne yapacağım?

Pınar bu iş için Katapult demiş, ancak ben Gnome Do diyorum. Bu zıpır şey ile elimi farenin üzerine koymadan çokca işimi halledebiliyorum. Benim gibi fare düşmanı bir kişi için harika olduğu kadar, diğer herkesin de çok kullanışlı bulacağını düşündüğüm bir program. Öte yandan, azla yetinenler için awn’nin zaten güzeller güzeli bir Launcher/Taskmanager (The main Awn Launcer/Taskmanager applet) küçük uygulaması olduğunu belirteyim. Bu sayede istediğiniz programları bir tık ile çalıştırabilir, açık pencereleriniz arasında tık oraya tık buraya şeklinde geçiş yapabilirsiniz.

Sorun: Notification Area (systray) benim için olmazsa olmazlardan, o giderse yerine ne gelir?

Bunun için tek tercih Notification Area (A Notification Area (systray)) gibi gözüküyor. Ancak awn’nin güzelliği ile birebir örtüştüğünü söylemek imkansız.

Sorun: Hangi pencerelerin açık olduğunu nasıl görüp, aralarında nasıl geçiş yapacağım?

Pınar’ın da dediği gibi ALT+TAB (sizin sisteminizde bir başka tuş sıralaması da olabilir) bana çoğunlukla yetiyor da artıyor bile, size de tavsiye ederim. Fare psikolojisinde olduğum zamanlarda ise, Compiz’in Scale (Scale Windows) eklentisi emrime anık. Çağırmak için tek yapmam gereken faremi ekranın sağ üst köşesine sürüklemek.

Son olarak da, üstadın yolundan gidip, Firefox’a da bir güzel çeki düzen verdim. Teşekkürler…

L’arte di presentazione

Monday, October 16th, 2006

Il sottoscritto e’ un articolo che ho scritto per il giornalino di S.P.R.I.Te. Purtroppo tale articolo non verra’ pubblicato dovuto al suo contenuto che potrebbe creare certi problemi per le autorita’. Io sono daccordo con la loro decisione, pero’ comunque secondo me non meritava neanche’ di disapparire, allora ho deciso di pubblicarlo qui. Per piacere tenetevi in mente che questa e’ la brutta copia, ed e’ molto probabile che ci siano errori di varia genere, purtroppo dovete accontentarvi cosi’ come e’:

Quando una mi dice di parlare

Sento la necessita’ di scrivere questo articolo per tutti gli insegnanti che interessano di cosa ne pensano il loro spettatore; si e’ vero, uso tale termine, perche’ e’ questo che loro fanno: Tentare di insegnare le cose presentandole.Prima di tutto vorrei chiarire una cosa: Io, personalmente, non posso chiudere un occhio alla realta’, e le cose che non vanno bene le devo dire cercando di non offendere gli altri. Questo e’ uno di quei momenti; ringrazio tutti quelli che mi hanno dato la possibilita’ di scrivere, e chiedo scusa da tutti quelli che sono soggetti del discorso, perche’ devo dire che sono spiacente da voi.Questo articolo non assegna (e non ha neanche’ l’intenzione di) nessun insegnante particolare; le cose che vi parlero’ sono diretti agli insegnanti, non ad uno particolare, ma neache’ a tutti; sono le cose che dovete sentire come se fosse un sussurrio nei corridoi della nostra facolta’ che non potete ignorare. Adesso e’ il tempo per voi di tornare ai giorni scolastici.Voi siete "insegnanti", e come dice il termine voi insegnate; se il discorso fosse talmente semplice era molto probabile l’umanita’ era molto piu’ in avanti dal livello che sta oggi, purtroppo le cose non sono cosi’ facili. L’insegnare e’ valida quando conclude con l’imparare: Mandi il messaggio, pero’ il messaggio deve essere ricevuta.

"Il problema non sta quanto sapete le cose,ma quanto siete in grado di insegnarli…"Una soluzione al problema potrebbe essere: Mandare il messaggio e poi andare avanti senza preoccuparsi del resto, perche’ e’ il ricevitore che deve preoccuparsi di questo. Se la vostra soluzione assomiglia (o peggio se e’ identica) a questa, state sbagliando una cosa importantissima: Nessun ricevitore sara’ in grado di comprendere quanto lei affinche’ non garantite che il messaggi si riceve.Va bene, basta parlare dai ricevitori, messaggi e torniamo alla realta’ della questione: Se non insegnate le cose come posso imparare io, ma soltanto le spiegate, inutile aspettare che io le impari nel tempo giusto. Questo fa nascere due altri problemi:

"Il problema sta nell’imparare le cose nel tempo giusto"

La soluzione al problema e’ legato ai due fattori: Quanto riesce ad insegnare l’insegnante e quanto riesce ad imparare lo studente. Una soluzione possibile e’ di lasciare perdere quanto riuscite ad insegnare voi, e passare tutto il lavoro allo studente; ma questa e’ una soluzione estramamente dannosa, perche’ facendo cosi’ in realta’ state salendo il livello della difficolta’ e aumenta la quantita di gente che non lo riescono a superare; e oltre a quello state togliendo due volte il prezioso tempo di quelli bravi ad imparare le cose da soli: Una volta, perche’ comunque vengono alla vostra presentazione, ma non imparano; seconda volta, perche’ invece di imparare durante la vostra presentazione, e dopo nel loro tempo libero fare altre cose, sprecano il loro tempo libero per studiare da soli. (Da un certo punto di vista’ — devo dire che anche molto estremista — e’ possibile vedere questo come tempo rubato da me.)

"Il problema sta nel aspetto dell’insegnante"

Decisione per la soluzione di questo problema e’ estramemente facile. (Sperando che nessun insegnante decidesse alla soluzione piu’ brutta del mondo) Due possibilita’ sono: Avere o non avere l’aspetto. Qui non voglio dire troppe cose, pero’ se siete un insegnante che non avete nessun aspetto che io impari o non impari le cose, siete disonore dell’intera esistenza umana; io, personalmente, non penso che possa esistere un insegnante di questa genere, dicendo cosi’ mi garantisco che non intendo nessuno dei nostri insegnanti o neanche’ qualche altra insegnante che ho conosciuto in vita’ mia; allora considero uno dei problemi gia risolto, e cosi’ vi propongo di avere aspetto di come, quando e quanto imparo le cose.

"Esistono i limiti"

Non voglio che voi mi facciate il ruolo dei genitori o neanche’ di conoscermi da persona; lo scopo di questo articolo, e quello che mi interessa in realta’, quanto siete bravi a presentare la vostra materia.Una volta fatto elenco dei tre problemi, e inquadrato la filosofia per poter renderla concreta possibile, adesso tocca a parlare delle soluzioni. Per poter parlare delle soluzioni ho preferito il metodo piu’ concreto che mi e’ venuto in mente per facilitare la comprensione. Mentre spiego le soluzioni cerchero’ di fare i miei riferimenti per un qualsiasi materia che insegna un certo linguaggio di programmazione e facendo cosi’ suppongo di essere chiaro.

"L’arte di presentazione"

La presentazione e’ un’arte che non tutti possono essere bravi a farlo, ma un’insegnante siccome deve "insegnare" deve sapere anche come presentare. Tutto sta qui, non cambia assolutamente niente tra un qualsiasi altro spettacolo e presentare la propria materia: Se non siete bravi, perdete gli spettatori; se non vi aggiornate con il cambiamento del tempo, annoiate gli vostri spettatori; se ripetete ogni anno la stessa opera, nessuno viene a sentirvi piu’; se non prendete in considerazione quei spettatori, recitate per voi stessi, perdete il vostro lavoro… ecc.

"Si sanno le conseguenze di copiare,bisogna essere originali"Cosa ne pensate mentre copiate i lavori degli altri, di non avere tempo a preparli voi, o forse pensate che non sia cosi’ importante a scrivere la stessa cosa? Nel punto di vista mia la prima impressione che mi lascia e’: "Lui non ha niente da dirmi in piu’, o niente di originale o nuovo; io trovo quell’opera originale e vado a leggere di la’ che e’ meglio per me". Pensateci un attimo vi prego: Preferite mangiare la pasta fatta a casa, o prendere dal supermercato, riscaldare nel microonde e mangiare? Cosa vi fa pensare che le cose cambiano quando si tratta dal insegnamento, mentre la questione e’ molto piu’ serio? Poi, come fate ad aspettare dai vostri studenti che un domani siano quei programmatori con le idee originali? Se anche uno di tanti loro lo diventa, voi non meritate di essere il suo insegnante, perche’ e’ stato lui ad imparare come bisogna creare un’opera originale, non e’ stato lei ad insegnarlo.Io sono uno studente straniero in questa facolta’, e personalmente preferisco la lingua Inglese nel campo informatico, pero’ visto che qui in Italia le cose sono un’po’ diverse accetto la situazione con tutto il mio rispetto. Una cosa che non riesco ad accettare pero’ e’ quando vedo dei codici sui lucidi commentati "per bene" in Inglese! Un’insegnante che non ha neanche’ la voglia di tradurre i commenti a me lascia un impressione talmente brutta su quella materia, che non ho piu’ la voglia di ascoltare il resto.

"Un carattere vostro"

Una cosa abbastanza ovvia sta nel fatto di preparare la propria presentazione originale, intendo che e’ davvero vostra. Ho visto degli insegnanti che guardano il codice che sta sullo schermo, durante la lezione, e cerca di capire cosa vuole fare il suo autore in quel esempio… Dovete scrivere il vostro codice e essere responsabile di esso, cosi’ qualsiasi domanda che si fa puo’ rispondere ad occhi chiusi. La cosa piu’ importante pero’ e’ che facendo cosi’ darete allo studente l’idea di essere lui merita a tutto cio’, e’ che un insegnante lascia "tutto" il suo lavoro, e mette a scrivere per lui. Vi suonano come delle storie rose queste? Allora state sbagliando.

"Ho detto un carattere"

E’ molto importante il materiale che si usa nella presentazione. Purtroppo, per quanto ho visto fino ad oggi tutti gli insegnanti tentano di usare gli stessi lucidi per qualsiasi scopo, e questo finisce in lucidi come se fossero le pagine di un libro: Scelta del font piu’ brutto e difficile da leggere che esista, scelta di grandezza di tale font in modo che nessuno puo’ leggere quello che c’e’ scritto, o peggio usare il proiettore e lucidi scritti a mano, e tante volte i lucidi dei tanti secoli fa, usare ogni millimetro del lucido in modo che si prema poco possibile al tasto "avanti" per passare a quello prossimo, e se sei fortunato tutto scritto in bianco e nero, altrimenti stai sicuro che qualcosa non lo potrai mai leggere, e se si parla dello sfondo meglio che chiudi gli occhi e solo ascolti.

"Avete mai guardato una presentazione di Steve Jobs?"Se no, questo e’ un peccato. Ecco il vostro insegnante tra tanti gli altri, forse e’ uno piu’ famoso. Questo uomo parla ad un insieme di qualche centinaia di gente, e non ad un aula di massimo cento persone; ma tutti lo ascoltano, perche’ sa come presentare. Cosa vi fa pensare che voi siete diversi da lui, oppure la cosa che voi dovete presentare e’ meno importante, mentre il vostro dovere e’ molto piu’ sacro; perche’ non cercate di imparare qualcosa di come tenere svegli gli vostri spettatori, e vendere il vostro prodotto? Vi prego di cliccare qui e guardare uno o piu’ delle presentazioni che esistono, ispirate da lui, ma non li copiate!

"Il trucco sta nella semplicita’"

Di sicuro anche lei e’ uno di quelli che usano dei lucidi che contengono delle liste ordinate/non-ordinate, che hanno quei paragrafi lunghi lunghi che in realta’ non li legge nessuno, ma solo lei parola per parola… E’ questo quello che bisogna fare, ninnananna per l’aula? Avete un minimo di idea di quanto sia difficile stare sveglio per due ore senza parlare e muovere, ma solo guardare lo schermo e sentire le parole esatte che stanno la’ sopra? Dovete tenere presente che i lucidi non sono gli strumenti che servono all’insegnante a far ricordare di cio’ che doveva parlare, ma e’ semplicemente uno strumento che serve a tenere in controllo la presentazione. Abbiamo detto che la presentazione e’ un’arte, sapienza di usare i propri strumenti e’ essenziale qui: I lucidi possono essere molto dannosi nelle mani sbagliate, ma possono essere anche molto utili se uno sa come usarli! Non vi abbandonate nella moda di usare i lucidi, nessuno vi obbliga, e’ molto piu’ utile non usarli quando vi (e a noi) fanno dei danni.

"MIT negli anni ‘80"

Se avete un minimo di idea del linguaggio LISP, spero che avete almeno sentito delle presentazioni che si trovano qui. Queste sono presentazioni di Hal Abelson e Gerald Jay Sussman che in 20 lezioni (circa 30 ore) insegnano tale linguaggio agli operanti di Hewlett-Packard (HP) nel 1986! Vi posso garantire che guardando tale presentazioni vi rimarrete sorprese, perche’ capirete tutto (ovviamente se sapete l’Inglese), e non solo una questione di capire, ma dal primo momento che introducono la materia, fino all’ultimo secondo della presentazione non chiudete mai gli occhi. E tutto questo lo fanno con la lavanga verde e scrivendo su con gesso "a mano". Questo vi deve far capire che allo studente non interessa come presentate, ma basta che sia buona; anche i metodi che oggi possono sembrare vecchi in realta’ non sono vecchi, ma solo non popolori, poi non dite che scrivere alla lavagna e’ un spreco di tempo, perche’ in 30 ore insegnano un linguaggio intero! Penso che ogni insegnante almeno il doppio tempo di questo per presentare la sua materia c’e’ l’ha.

"Lucidi, come usarli?"

Se avete deciso di usare i lucidi, soltanto perche’ volete sfruttare questo strumento per dare una presentazione migliore ai vostri spettatori (mi raccomando; non per dopo pubblicare sul sito, che gli studenti possono stampare, cosi’ avete gia’ fatto appunti) vi consiglio di studiare bene le opere di Prof. Lawrence Lessig. Lui e’ un professore in "Stanford Law School" e il suo metodo di usare i lucidi durante le sue presentazioni ormai e’ molto conosciuto e si sa come "Lessig Method". Lui e’ profondamente un attivista di liberta’ nel campo legislativo (che e’ la sua professione), e spesso presenta le sue idee (originali e ispirate) nelle varie universita’ (purtroppo non la nostra…) usando il suo metodo. Una di tante queste presentazioni (che potete godere di guardare anche dieci volte secondo me) si puo’ trovare cliccando qua. Un’altra presentazione che vi consiglio di vedere si trova qui, questo invece non parla di liberta’ come fa Prof. Lessig, ma usa il suo metodo per presentare "Identity 2.0" nella famossima conferenza "OSCON (O’Reilly Open Source Convention) 2005 Keynote", sarete sorpresi e non perderete la vostra attenzione neanche’ un secondo (purtroppo, certo se capite Inglese sempre). Una breve idea sul metodo di Lessig si puo’ avere su questo sito. E vi consiglio di tenere in mano quel sito, perche’ e’ una risorsa stupenda nel campo di presentazione. Tutto questo vale soltanto se avete deciso di presentare la vostra materia con i lucidi.

"I lucidi, e gli appunti sono due cose diverse"

Non potete scrivere tutto quello che volete scrivere sui lucidi, poi dire agli studenti di stamparli se vogliono; e’ ovvio che lo vogliono, non dite bugie a se stessi! Ma la domanda e’: "Cosa si puo’ capire dai lucidi che si stampano quattro su una pagina e senza contenere neanche’ frasi completi, o senza spiegazioni o peggio senza motivi delle cose; cosa che state cercando di fare, risparmiare di cosa?"Se volete il bene degli vostri studenti dovete preparare dei appunti preparati per bene e separarli dalla vostra materiale che usate nella presentazione. Non potete neanche’ pensare di tipo: "Se non vi accontentate, non metto neanche’ quelli", perche’ questo non sarebbe fare insegnante. Ancora se torniamo all’esempio dei due insegnanti di MIT vedrete che ogni studente davanti ha un librone distribuito prima della lezione, che cosi tutti possono avere appunti (e molto piu’ dettagliati per quelli che vogliono imparare molto di piu’). Oggi una copia online di questo libro si puo’ trovare su questo sito. L’idea generale e’ questa, dipende da voi la grandezza e la potenza di tali appunti.

"Dateci la possibilita’ di studiarli e/o modificarli"

Molti insegnanti pubblicano (se pubblicano) sul sito i loro "appunti" nei formati che non si possono modificare, uno dei piu’ comuni e’ senza dubbio il famoso PDF. L’idea e’ bella, in questo modo si garantisce in grande parte che il formato degli appunti non cambiera’ anche se cambia la piattaforma (almeno spero che sia questa l’idea principale); purtroppo questo formato (legalmente) non ci permette di modificare il contenuto, ma solo guardare. Perche’ un insegnante vorrebbe fare una cosa di questo tipo? Alla fine e’ molto probabile che il contenuto conterra’ dei parti presi dalle altre risorse (ricorda copia&incolla dei codici), o usati i template del MS PowerPoint oppure del OpenOffice, cioe’ voglio dire che non sara’ un’opera originale, perche’ fare una cosa del genere? (Anche se e’ un’opera originale esistono metodi molto piu’ giusti senza danneggiare la liberta’ della gente, mantenendo i propri diritti.)Pensate di un’aula di studenti che vi mandano delle correzzioni sui lucidi facendo il lavoro per voi: "Vi allego la mia copia corretta che non contiene tale errore di scrittura", oppure: "Ho notato che nella lezione avevamo problemi a leggere il testo dovuto al tale problema, vi mando la versione aggiustata, grazie…", oppure: "Ho notato che il codice suo aveva tale errore, mando il nuovo file con codice corretto", oppure: "Ho trovato altri esempi secondo me molti buoni, e le ho aggiunti negli appunti, alla vostra disposizone…" ecc. Alla fine non e’ lei a decidere di pubblicare la versione modificata o no? Se vi piace l’idea alla fine del file aggiungete il suo nome per dare credito al suo lavoro se e’ daccordo anche lui, cosi’ create una communita’ che e’ molto piu’ attiva e cooperativa.

"Non rimanete statici, mentre spiegate programmazione dinamica"

Siete un insegnante di programmazione, non potete sedere li’ e solo parlare. Avete quello proiettore che vi proietta il vostro schermo del portatile no? Cosa vi fa aspettare di aprire un editor di testo, scrivere il codice spiegando tutti i passi, poi compilarlo? Avete paura di non poter fare nel tempo? Ma se io voglio vedere come si programma, perche’ dopo saro’ io al posto suo a programmare o forse anche ad insegnare? Non esisate di aprire un terminale e cominciare a scrivere il vostro codice, vedrete che tutti cominceranno a svegliare e cercare di scrivere il codice che sta sullo schermo sul quaderno, capendo ogni singola istruzione che lei scrive, fare delle domande che non avete mai sentito fino ad oggi: "Perche’ cosi’ prof.?", "perche’ non l’altro?", "puo’ ripete per piacere?"… Torneranno a casa e "riscriveranno" identico codice, proveranno a eseguirlo, modificarlo e domani sono pronti a fare altre domande!

"Si, lo so (spero) che quelle formule sono giuste,ma questa volta voglio che le scrivete per me"Se fate calcoli non potete far vedere un lucido e parlare sopra, questo e’ l’idea piu’ brutta che puo’ esistere. Okay, potete saltare lunghi passaggi che sono soltanto una questione di calcoli, giusto per risparmiare del tempo, e arrivare direttamente alla risposta (anche se non e’ la mia preferita); pero’ non mi potete far vedere i calcoli gia’ fatti. Supponiamo che avete deciso di fare cosi’ oggi, o lo state facendo da anni, mi fate un favore per piacere? Registrate una cassetta e fatemela sentire insieme i lucidi… No, presentazione non e’ questa! Mi dovete convincere che lei sapete tutte queste cose, perche’ altrimenti mi viene l’idea che queste cose non mi serviranno nel futuro, se non servono neanche’ all’insegnante di quella materia. Purtroppo non riesco a fare riferimento da qualche parte, perche’ in tutto il mondo i calcoli si fanno, gia’ dalla sua natura, dinamicamente; basta che aprite gli occhi.

"Se non insegno la realta’, meglio che non parlo"

Siete insegnanti, e ogni parola che esce dalla vostra bocca e’ il cibo per me. Non intendo che alcuni insegnanti dicono le bugie, no, pero’ ad alcuni non interessa la realta’ e i fatti. Voglio spiegare questo punto con un esempio che ho vissuto personalmente tante volte sia fuori che dentro l’universita’:

"Linux non e’ un sistema operativo"

Se comportiamo da scientifici i fatti dovrebbero contare troppi per noi. Una cosa che accade prima, o una cosa che e’ obiettivo fondamentale di un’altra cosa bisogna fare analisi per bene. Per quanti corsi che ho seguito fino ad oggi (inclusi laboratori) quando tocca di parlare di un sistema operativo che assomiglia a UNIX (si, intendo quello) subito si parla del sistema operativo Linux. Insegnanti, vi prego di svegliare quando venite avvertite, fate un’po’ di ricerche prima di insegnare, o non lo insegnate che e’ la cosa migliore a questo punto: "Linux non e’ un sistema operativo". Linux e’ un kernel (un concetto che esiste in un tipo di progettare un sistema operativo, forse e’ quello piu’ diffuso), e basta. Nessun tipo di utente (neanche’ Linus Torvalds puo’ usare Linux come un sistema operativo). Se per forza dovete dare un nome al tale sistema operativo (cioe’ se non volete intendere una precisa delle sue distribuzioni) dovete chiamarlo come "GNU". Per avere informazioni ulteriori per piacere andate sul sito http://www.gnu.org/, e per chiarire il legame tra GNU e Linux potete leggere questo articolo (traduzione in Italiano non affidabile si puo’ trovare qui). Mi sono capitate due diverse volte di avvicinare alla cattedra e dire questa cosa all’insegnante. Devo dire che l’ultima volta era quella piu’ buona, cosi’ la prossima volta (durante il laboratorio) per un dieci minuti l’insegnante ha spiegato l’idea generale sul discorso, e la ringrazio tantissimo per la sua attenzione; anche se dopo ha continuato a chiamare tutto il sistema come "Linux".Nella prima volta invece la risposta era di tipo: "Per me non cambia niente, non importa il nome, ma il discorso; alla fine gia’ non tutti sanno cosa sia Linux, immagina se parlo di GNU…". Vorrei tanto lasciarvi da soli a pensare su questo, pero’ una volta scritta tutta questa, devo dire le mie ultime parole: Se non avete voglia di scrivere tanto sui lucidi vostri, la parola piu’ corta e’ GNU, se non avete voglia di parlare troppo, la parola piu’ corta e’ ancora GNU, se non avete voglia di confondere la testa degli studenti chiamate il sistema come "GNU", cosi’ possono andare a leggere degli articoli su internet (o dovunque sia) e imparare la cosa giusta; ma se fate vedere la strada sbagliata facendo riferimento ad una cosa anziche’ l’altra cosi’ davvero confondete la testa della gente. Immaginate di dire "dai ragazzi andiamo al mare" e tutti si vestono vestiti da bagno, poi’ prendono l’autobus, pero’ l’autobus ferma alla stazione di Milano…Ragazzi correggete i vostri insegnanti se a loro non interessa la realta’, perche’ non lo dovete fare solo per voi stessi, ma anche per l’intera l’umanita’. Grazie a tutti che sono arrivati fino a qua leggendo, e chiedo scusa per qualsiasi errore che ho fatto in Italiano dato che sono straniero.

Saluti,
Ali Servet Donmez