forked from andreagrandi/andreagrandi.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex34.html
More file actions
477 lines (461 loc) · 30.9 KB
/
index34.html
File metadata and controls
477 lines (461 loc) · 30.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Andrea Grandi</title>
<link rel="stylesheet" href="https://www.andreagrandi.it/theme/css/main.css" />
<link rel="stylesheet" href="https://www.andreagrandi.it/theme/tipuesearch/css/tipuesearch.css">
<link href="https://www.andreagrandi.it/feeds/all.rss.xml" type="application/rss+xml" rel="alternate" title="Andrea Grandi RSS Feed" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
</head>
<body id="index" class="home">
<header id="banner" class="body">
<h1><a href="https://www.andreagrandi.it/">Andrea Grandi </a></h1>
<nav><ul>
<li><a href="https://www.andreagrandi.it/about/">About</a></li>
<li><a href="https://www.andreagrandi.it/curriculum/">Curriculum</a></li>
<li><a href="https://www.andreagrandi.it/pgp-key/">PGP Key</a></li>
</ul>
<form id="search" action="https://www.andreagrandi.it/search.html" onsubmit="return validateForm(this.elements['q'].value);">
<input type="text" class="search-query" placeholder="" name="q" id="tipue_search_input">
</form>
</nav>
</header><!-- /#banner -->
<section id="content" class="body">
<ol id="posts-list" class="hfeed" start="3">
<li><article class="hentry">
<header>
<h1><a href="https://www.andreagrandi.it/2008/10/10/linuxday-2008-a-pistoia/" rel="bookmark"
title="Permalink to LinuxDay 2008 a Pistoia">LinuxDay 2008 a Pistoia</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>Fri 10 October 2008</span>
<span>| in <a href="https://www.andreagrandi.it/category/linux.html">Linux</a></span>
<span>| tags: <a href="https://www.andreagrandi.it/tag/eventi.html">eventi</a><a href="https://www.andreagrandi.it/tag/linux.html">Linux</a><a href="https://www.andreagrandi.it/tag/linuxday.html">linuxday</a></span>
</footer><!-- /.post-info --> <p><img alt="" src="http://www.andreagrandi.it/wp-content/uploads/2008/10/linuxday_fullcolor_small.png" title="linuxday_fullcolor_small">{.alignright
.size-full .wp-image-132 width="160" height="242"}Per l'ottavo anno
consecutivo il <a href="http://www.ptlug.org"><strong>Pistoia Linux User Group</strong></a>, di
cui faccio parte, organizza l'edizione di <strong>Pistoia</strong> del
<a href="http://www.linuxday.it"><strong>LinuxDay</strong></a>, che si terrà <strong>sabato 25
ottobre</strong> dalle ore <strong>9:00</strong> fino a sera.</p>
<p>Il LinuxDay è una manifestazione che si svolge ogni anno inoltre <strong>100
città</strong> d'Italia con lo scopo di diffondere l'utilizzo del sistema
operativo <strong>Linux</strong> ed il <strong>software libero</strong>. Ogni evento viene
organizzato in maniera indipendente e promosso dai singoli <strong>LUG</strong>
(Linux User Group) locali.</p>
<p><a href="http://www.ptlug.org/wiki/LinuxDay2008">L'evento di <strong>Pistoia</strong></a> si
svolgerà nella prestigiosa <strong>Biblioteca San Giorgio</strong> di Pistoia,
situata in via Pertini ed ha ottenuto il patrocinio di <strong>Regione
Toscana</strong>, <strong>Comune di Pistoia</strong> e <strong>Comune di Monsummano Terme (PT)</strong>.</p>
<p>Abbiamo suddiviso la giornata in due momenti principali: la <strong>mattina</strong>
verrà dedicata (ma non in modo esclusivo) a scuole, <strong>aziende</strong> e
<strong>pubblica amministrazione</strong>. Il <strong>pomeriggio</strong> sara' invece dedicato a
tutti gli utenti che conoscono ancora poco Linux o a chi lo vuole
conoscere per la prima volta.</p>
<p>L'<strong>ingresso</strong> alla manifestazione è ovviamente <strong>gratuito</strong> ed <strong>aperto
a tutti</strong>. Si consiglia in ogni caso di <a href="http://www.ptlug.org/index.php?option=com_attend_events&task=view&id=1&Itemid=31"><strong>registrarsi
online</strong></a>
in modo da agevolare gli organizzatori dell'evento e per avere la
possibilità di vincere i premi messi in palio dai nostri sponsor:</p>
<ul>
<li><strong>2</strong> licenze <strong>ActiveState</strong> per <strong><a href="http://www.activestate.com/Products/komodo_ide/index.mhtml" title="http://www.activestate.com/Products/komodo_ide/index.mhtml">Komodo
IDE</a>{.external
.text}</strong></li>
<li><strong>3</strong> abbonamenti alla rivista
<strong><a href="http://www.oltrelinux.com/" title="http://www.oltrelinux.com">Linux&C</a>{.external
.text}</strong></li>
<li><strong>100</strong> gagliardetti con il logo <strong>PtLUG</strong> messi a disposizione da
<strong><a href="http://www.ricaminerozzi.it/" title="http://www.ricaminerozzi.it">Ricami
Nerozzi</a>{.external
.text}</strong></li>
<li><strong>10</strong> <a href="http://www.manuali.net/affiliati.asp" title="http://www.manuali.net/affiliati.asp">affiliazioni
annuali</a>{.external
.text} a <strong>Manuali.Net</strong></li>
<li><strong>10</strong> corsi online <a href="http://www.manuali.net/corsionline/intro_corso_new.asp?ID=674" title="http://www.manuali.net/corsionline/intro_corso_new.asp?ID=674">Ubuntu
Linux</a>{.external
.text} di <strong>Manuali.Net</strong></li>
<li><strong>10 router wireless</strong>
<a class="external text" href="http://www.fon.com/" title="http://www.fon.com">FON</a></li>
<li><strong>50</strong> copie della rivista
<a href="http://www.sprea.it/scheda.php?id_riv=42" title="http://www.sprea.it/scheda.php?id_riv=42">LinuxPro</a>{.external
.text}</li>
</ul>
<p>Di seguito il programma ufficiale dell'evento di Pistoia:</p>
<h3>Mattina</h3>
<ul>
<li><strong>09:00/09:15</strong> - Introduzione (<strong>Andrea Grandi</strong>)</li>
<li><strong>09:15/09:30</strong> - Spazio riservato istituzioni (Assessore <strong>Tommaso
Braccesi</strong> del <strong>Comune di Pistoia</strong>)</li>
<li><strong>09:30/10:00</strong> - Spazio riservato <strong>SIS Informatica</strong> (Gruppo CNA)</li>
<li><strong>10:00/10:30</strong> - Presentazione Progetto Wireless (<strong>Andrea Grandi</strong>
e <strong>Alessandro De Filippo</strong>)</li>
<li><strong>10:30/11:00</strong> - Progetti opensource all'<strong>ITIS</strong></li>
<li><strong>11:00/11:30</strong> - Linux per aziende (<strong>Alessandro De Filippo</strong>)</li>
<li><strong>11:30/12:00</strong> - PostgreSQL (<strong>Gabriele Bartolini</strong> di <strong>ItPUG</strong>)</li>
<li><strong>12:00/12:30</strong> - Italc (<strong>Andrea Cappelli</strong>)</li>
<li><strong>12:30/13:00</strong> - Domotica (<strong>Alessandro De Filippo</strong>)</li>
</ul>
<h3>Pomeriggio</h3>
<ul>
<li><strong>15:00/15:30</strong> - Perchè Opensource (<strong>Alessandro De Filippo</strong>)</li>
<li><strong>15:30/16:00</strong> - Presentazione Ubuntu (<strong>Andrea Grandi</strong>)</li>
<li><strong>16:00/16:30</strong> - Presentazione Fedora (<strong>Lorenzo Villani</strong>)</li>
<li><strong>16:30/17:00</strong> - Registrare musica con Linux (<strong>Carlo Ascani</strong>)</li>
<li><strong>17:00/17:30</strong> - Firefox (<strong>Enrico Sorcinelli</strong>)</li>
<li><strong>17:30/18:00</strong> - Wikimedia (<strong>Lorenzo Losa</strong>)</li>
<li><strong>18:00/18:30</strong> - Giocare con Linux (<strong>Simone Vassili</strong>)</li>
<li><strong>18:30/18:45</strong> - Conclusione dei lavori (<strong>Andrea Grandi</strong>)</li>
</ul>
<p>Per essere informati sulle ultime novità, vi consiglio di visitare il
<a href="http://www.ptlug.org/wiki/LinuxDay2008">sito web ufficiale</a>
dell'evento, dove potrete trovare <strong>informazioni</strong> piu' <strong>approfondite</strong>
e tutti i dettagli per partecipare.</p>
<p>[]{#Dove}</p>
<a class="readmore" href="https://www.andreagrandi.it/2008/10/10/linuxday-2008-a-pistoia/">read more</a>
<p><a href="https://www.andreagrandi.it/2008/10/10/linuxday-2008-a-pistoia/#disqus_thread">comments</a></p> </div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://www.andreagrandi.it/2008/10/09/dieci-buoni-motivi-per-non-utilizzare-php/" rel="bookmark"
title="Permalink to Dieci buoni motivi per non utilizzare PHP">Dieci buoni motivi per non utilizzare PHP</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>Thu 09 October 2008</span>
<span>| in <a href="https://www.andreagrandi.it/category/programmazione.html">Programmazione</a></span>
<span>| tags: <a href="https://www.andreagrandi.it/tag/difetti.html">difetti</a><a href="https://www.andreagrandi.it/tag/linguaggi.html">linguaggi</a><a href="https://www.andreagrandi.it/tag/php.html">php</a><a href="https://www.andreagrandi.it/tag/programmazione.html">Programmazione</a></span>
</footer><!-- /.post-info --> <p><img alt="" src="http://www.andreagrandi.it/wp-content/uploads/2008/10/php-logo.jpg" title="php-logo">{.alignright
.size-full .wp-image-130 width="202" height="106"}Quando in questi
giorni ho appreso la triste notizia che il <strong>progetto</strong> da consegnare
per l'<strong>esame</strong> di <strong>Laboratorio di Reti</strong> avrebbe dovuto essere
realizzato in <strong>PHP</strong>, sono stato preso un po' dallo sconforto.</p>
<p>Per anni mi sono sempre rifiutato di imparare ed utilizzare questo
linguaggio ed ho persino declinato diverse offerte di lavoro, visto che
già sulla carta ne avevo sempre sentito parlare male. Adesso è arrivato
il momento di ingollare il rospo ed imparare almeno il minimo
indispensabile alla realizzazione del progetto.</p>
<p>Ho approfittato della situazione per documentarmi un po' sul PHP e per
ribadire alcuni motivi che per anni mi hanno tenuto lontano da questo
linguaggio. I punti che seguono prendono spunto sia da considerazioni
personali, sia da un <a href="http://www.bitstorm.org/edwin/en/php/">ottimo
articolo</a> di <strong>Edwin Martin</strong>.</p>
<h2>1. Ricorsione?! Chi era costei...</h2>
<p>La <strong><a href="http://it.wikipedia.org/wiki/Ricorsione">ricorsione</a></strong>, come molti
di voi sapranno, è un meccanismo che permette ad una funzione di
chiamare se stessa. Viene impiegata nell'implementazione di moltissimi
algoritmi, come ad esempio il <a href="http://it.wikipedia.org/wiki/Quick_sort"><strong>Quick
Sort</strong></a>. Se vengono generate
troppe chiamate ricorsive in PHP, il linguaggio va letteralmente in
palla e non funziona piu' correttamente. Questa cosa è stata <a href="http://bugs.php.net/bug.php?id=1901">segnalata
come bug</a> e la motivazione che è
stata data dagli sviluppatori è che PHP utilizza lo stack al posto
dell'heap per le chiamate ricorsive. Questo cosa c'entra? Mi viene da
chiedere... eppure in altri linguaggi la ricorsione funziona benissimo!</p>
<h2>2. Molti moduli PHP non sono thread safe</h2>
<p>Anche se tutti i moduli del core di PHP sono garantiti <strong>thread safe</strong>,
la <strong>maggior parte</strong> degli altri moduli <strong>non lo sono</strong>. Questo rende
completamente inutile il fatto che Apache 2 supporti la modalità
multithreaded: gli sviluppatori di PHP
<a href="http://www.php.net/manual/en/install.unix.apache2.php">sconsigliano</a>
pure di utilizzare questa versione di Apache.</p>
<h2>3. PHP è azzoppato per motivi commerciali</h2>
<p>Vi sembra che <strong>PHP</strong> sia un po' <strong>lento</strong>? Non avete provato la
<strong>versione commerciale</strong> di <strong>Zend PHP</strong>, che garantisce maggiori
prestazioni! La versione gratuita di PHP infatti non ha alcuna
ottimizzazione e a meno di non utilizzare un qualche meccanismo di cache
(come ad esempio
<a href="http://pecl.php.net/package-info.php?package=APC">APC</a>) le prestazioni
saranno basse.</p>
<h2>4. Nessun supporto ai Namespace</h2>
<p>Se due moduli hanno una funzione che si chiama read, non possono essere
utilizzati contemporaneamente. Era stata proposta una soluzione a questo
problema in PHP5, ma alla fine <a href="http://www.php.net/ChangeLog-5.php#5.0.0b2">non è stata
inclusa</a> nella release
definitiva. L'unico modo per evitare la collisione dei nomi dei metodi è
quello di nominarli aggiungendo il nome del modulo all'inizio. Ecco
perchè non è strano trovare metodi che ad esempio si chiamano
<strong>xsl_xsltprocessor_transform_to_xml</strong> che di sicuro non aumentano
la leggibilità del codice.</p>
<h2>5. Caratteri di formattazione delle date non standard</h2>
<p>La maggior parte dei linguaggi di programmazione utilizza uno
<a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?date">standard</a> per quanto
riguarda i caratteri di formattazione delle date, che deriva da Unix e
dal linguaggio C. PHP utilizza un <a href="http://www.php.net/manual/en/function.date.php">proprio
formato</a>, completamente
incompatibile.</p>
<h2>6. Inconsistenza nei nomi delle funzioni</h2>
<p>Quando i nomi dei metodi contengono piu' di una parola, solitamente ci
sono tre modi diversi per poterli scrivere. Prendiamo ad esempio
un'ipotetica funzione che restituisce il numero dei file aperti.
Potremmo chiamarla <strong>getnumberofopenfiles</strong>,
<strong>get_number_of_open_files</strong> oppure <strong>getNumberOfOpenFiles</strong>.
<strong>Quale</strong> metodo utilizza <strong>PHP</strong>? <strong>Tutti e tre</strong> ovviamente! Oltre a
questo è opportuno far notare che i nomi dei metodi e delle funzioni
<strong>non sono case sensitive</strong>.</p>
<h2>7. Assenza di un framework integrato</h2>
<p>Il modello piu' corretto per sviluppare un'applicazione web, sarebbe
quello chiamato <strong>MVC</strong>, dove la parte di <strong>visualizzazione</strong>, la
<strong>business logic</strong> e la validazione dei dati ed infine l'<strong>interazione
con il database</strong>, sono <strong>parti separate</strong> del progetto.</p>
<p>Nella maggior parte dei <strong>siti scritti in PHP</strong> è molto comune trovare
sorgenti che <strong>includono tutti e tre questi aspetti in un unico file!</strong>
Poche righe sopra viene fatta la connessione al database, poi c'è una
parte di visualizzazione di alcuni dati, verso la metà ci sono le
funzioni di validazione ed infine di nuovo altro codice html di
visualizzazione. Credo che questo sia il peggiore dei modi di realizzare
un'applicazione web. Pensate che sia facile per un grafico dover
apportare modifiche alla parte di visualizzazione senza toccare il
codice PHP? E viceversa... pensate che sia facile per un programmatore,
aggiungere codice PHP senza rischiare di scombinare il layout della
pagina?</p>
<p>Altri linguaggi con <strong>Ruby</strong> o <strong>Python</strong> ci hanno ormai abituati a
framework come <a href="http://www.rubyonrails.org/"><strong>Rails</strong></a> e
<a href="http://www.djangoproject.com/"><strong>Django</strong></a>, rispettivamente. Per
fortuna le cose sono in miglioramento anche su PHP, grazie a framework
come <a href="http://www.cakephp.org/">CakePHP</a> o
<a href="http://www.symfony-project.com/">Symfony</a>.</p>
<h2>8. Mancanza del supporto Unicode</h2>
<p>Questa lacuna forse potra' non riguardarci da vicino, visto che il set
di caratteri che utilizziamo in Europa ed in America è ampiamente
supportato, ma non è certo così per <strong>Cina</strong>, <strong>Giappone</strong> ed altre
nazioni dove viene utilzzato un set di caratteri e di simboli molto
diverso dal nostro. Tramite
<a href="http://it.wikipedia.org/wiki/Unicode"><strong>Unicode</strong></a> è possibile
supportare anche questi caratteri. <strong>PHP</strong> avrà il <strong>supporto per
Unicode</strong> solo <strong>nella futura versione 6</strong>.</p>
<h2>9. Lentezza</h2>
<p>Pensate che il Java sia un linguaggio lento? Beh, niente a confronto di
PHP! Leggendo <a href="http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=java&lang2=php">questo
report</a>
si mettono in evidenza le scarse prestazioni di questo linguaggio.
Persino <strong>Rasmus Lerdorf</strong>, il creatore di PHP <a href="http://www.sitepoint.com/blogs/2008/08/29/rasmus-lerdorf-php-frameworks-think-again/">ammette che non c'è modo
di migliorare le
prestazioni</a>
di PHP. Rasmus tra l'altro sconsiglia persino l'utilizzo dei frameworks
sopra citati (CakePHP e Symfony) perchè rallenterebbero inutilmente le
prestazioni dei siti web.</p>
<h2>10. Estrema facilità di utilizzo</h2>
<p>Ammetto che questo ultimo punto <strong>possa essere non condiviso da molte
persone</strong>, si tratta infatti di una <strong>mia personalissima opinione</strong>. Il
fatto che un linguaggio di programmazione sia troppo facile da usare,
secondo me puo' presentare anche degli svantaggi. Permette infatti anche
a chi ha scarse conoscenze di programmazione, di cimentarsi in progetti,
con il rischio poi di far abbassare notevolmente la qualità del codice
che si trova in giro. Non è difficile infatti imbattersi in programmi
scritti in PHP che all'apparenza possono risultare gradevoli ed
accattivanti (magari perchè scritti da persone che principalmente si
occupano di web design), ma che sotto sotto sono dei veri e propri
pastoni di <strong>codice mal scritto</strong>.</p>
<h2>Conclusioni</h2>
<p>A favore di PHP possiamo sicuramente dire che si tratti di un linguaggio
<strong>molto semplice da imparare</strong> ed <strong>ampiamente supportato</strong> dalla
maggior parte dei <strong>servizi di hosting</strong> in tutto il mondo. A parte
queste due motivazioni però, non mi sentirei in alcun modo di
consigliarlo per sviluppare un'applicazione web.</p>
<p>Sicuramente qualcuno mi fara' notare che lo stesso blog sul quale sto
scrivendo è scritto in linguaggio PHP. Per l'utilizzo che ne devo fare,
Wordpress va piu' che bene, almeno per le mie esigenze. Questo non
toglie che PHP soffra ugualmente di tutti i problemi che sono stati
esposti sopra.</p>
<p>E' mia intenzione che questo articolo sia di avvertimento a chi si sta
per avvicinare per la prima volta al PHP o chi già lo utilizza. <strong>Ci
tengo</strong> però al fatto che <strong>non contenga imprecisioni</strong>, perchè credo
che servirebbero solo a screditare la natura stessa dell'articolo.
<strong>Invito</strong> quindi i lettori che rilevassero imprecisioni a
<strong>segnalarmele</strong>, indicandomi dove poter trovare maggiori informazioni
per verificare la validità di quanto riportato.</p>
<a class="readmore" href="https://www.andreagrandi.it/2008/10/09/dieci-buoni-motivi-per-non-utilizzare-php/">read more</a>
<p><a href="https://www.andreagrandi.it/2008/10/09/dieci-buoni-motivi-per-non-utilizzare-php/#disqus_thread">comments</a></p> </div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://www.andreagrandi.it/2008/10/05/installazione-e-configurazione-di-ubuntu-eee-8041-su-asus-eeepc-901/" rel="bookmark"
title="Permalink to Installazione e configurazione di Ubuntu Eee 8.04.1 su Asus EeePC 901">Installazione e configurazione di Ubuntu Eee 8.04.1 su Asus EeePC 901</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>Sun 05 October 2008</span>
<span>| in <a href="https://www.andreagrandi.it/category/eeepc-howto-linux.html">EeePC, HowTo, Linux</a></span>
<span>| tags: <a href="https://www.andreagrandi.it/tag/asus.html">asus</a><a href="https://www.andreagrandi.it/tag/eeepc.html">EeePC</a><a href="https://www.andreagrandi.it/tag/ubuntu-eee.html">ubuntu-eee</a></span>
</footer><!-- /.post-info --> <p><img alt="" src="http://www.andreagrandi.it/wp-content/uploads/2008/10/asus_ubuntueee.jpg" title="asus_ubuntueee">{.alignright
.size-full .wp-image-128 width="240" height="197"}La versione di Linux
che viene installata sugli EeePC (<strong>Xandros</strong> Linux) da Asus, sebbene
sia l'ideale per chi non ha mai utilizzato Linux e desidera un netbook
semplice da usare, tuttavia <strong>non permette di sfruttare pienamente le
potenzialità</strong> che l'EeePC ha.</p>
<p>Poco tempo dopo l'uscita dei primi modelli degli EeePC sono iniziate
quindi ad essere rilasciate distribuzioni alternative alla Xandros,
ottimizzate per il netbook di Asus. E' ovviamente possibile installare
una qualsiasi distribuzione Linux, ma ovviamente il lavoro da compiere
per far funzionare tutte le periferiche sarà maggiore rispetto a quello
necessario con una distribuzione realizzata ad hoc.</p>
<p>La distribuzione che ho deciso di installare sul mio <strong>EeePC 901</strong> è la
<a href="http://www.ubuntu-eee.com">Ubuntu Eee 8.04.1</a>.</p>
<p>Per installare la <strong>Ubuntu Eee</strong> è necessario scaricarla dal <a href="http://www.ubuntu-eee.com/wiki/index.php5?title=Get_Ubuntu_Eee">sito web
dedicato</a>
e poi trasferirla su una chiavetta USB o su un disco USB esterno (visto
che l'EeePC non è dotato di lettore CD/DVD) utilizzando una utility
chiamata <strong>Unetbootin</strong> e seguendo le <a href="http://www.ubuntu-eee.com/wiki/index.php5?title=How_to:_Using_Unetbootin">istruzioni presenti sul
wiki</a>.</p>
<p>Dopo aver trasferito l'installazione sulla chiavetta USB dobbiamo
inserirla nell'EeePC ed avviare premendo piu' volte il tasto <strong>Esc</strong>.
Quando compare il menu di avvio, dobbiamo selezionare il disco USB dalla
lista e premere <strong>Invio</strong> per continuare.</p>
<p>Nel caso la Ubuntu Eee non si dovesse avviare, i motivi possono essere
diversi. Per prima cosa dobbiamo controllare nella sezione Boot del
<strong>BIOS</strong> se il disco USB è al primo posto nell'ordine dei dischi da cui
fare il boot. Se non dovesse avviarsi nemmeno in questo caso, è
possibile che la <strong>chiavetta</strong> USB <strong>non sia compatibile</strong>: a me è
successo di non essere in grado di utilizzare una chiavetta USB da 1 Gb
che avevo e sono dovuto ricorrere ad un disco esterno USB.</p>
<p>Se riusciamo ad avviare la Ubuntu Eee, saremo in grado di utilizzare
l'installer grafico senza alcun problema. Il mio consiglio è quello di
scegliere il <strong>partizionamento manuale</strong> e di utilizzare il primo
<strong>disco SSD</strong> da <strong>4 Gb per la root /</strong> ed il <strong>disco SSD</strong> da <strong>16 Gb
per la /home</strong>.</p>
<p>Le <strong>caratteristiche</strong> della <strong>Ubuntu Eee</strong> la rendono praticamente la
distribuzione perfetta per gli EeePC:</p>
<ul>
<li>supporto per gli Asus EeePC 701, 900, 900A, 901, 1000 e 1000H</li>
<li>occupa 1.8 Gb di spazio</li>
<li>Kernel ottimizzato di <a href="http://www.array.org/ubuntu/">Adam</a> con
supporto per tutte le periferiche degli EeePC</li>
<li>interfaccia Notebook Remix predefinita (è possibile cambiarla
tramite un'apposita utility)</li>
</ul>
<p>Sebbene il setup e la configurazione predefiniti di Ubuntu Eee siano
quasi perfetti, tuttavia sono necessari ancora alcuni ritocchi per fare
in modo che tutto funzioni regolarmente.</p>
<p>Per prima cosa occorre <strong>commentare</strong> l'ultima riga di <strong>/etc/fstab</strong>,
quella relativa al cdrom, altrimenti si otterrà un errore durante la
fase di mount quando si inserisce una chiavetta USB.</p>
<p>Per ottenere il meglio dal <strong>risparmio energetico</strong>, consiglio di
installare gli <strong>script ACPI</strong> di <strong>Murat</strong> che potete trovare a questo
indirizzo:
<a href="http://www.informatik.uni-bremen.de/~elmurato/EeePC/Hardy_ACPI_scripts-EeePC_900A_901_1000.tar.gz">http://www.informatik.uni-bremen.de/~elmurato/EeePC/Hardy_ACPI_scripts-EeePC_900A_901_1000.tar.gz</a></p>
<p>Gli script permettono di attivare/disattivare alcune periferiche come il
bluetooth, la webcam, la wifi ecc... consentendo alla batteria di durare
piu' a lungo. Per l'installazione sono sufficienti i seguenti passaggi:</p>
<p><code>tar xfvz Ubuntu_ACPI_scripts-EeePC_900A_901_1000.tar.gz cd Ubuntu_ACPI_scripts-EeePC_900A_901_1000/ chmod +x install.sh sudo ./install.sh</code></p>
<p>In particolare le funzionalità che vengono aggiunte sono le seguenti
(gli hotkey sono quei tasti hardware posizionati sopra ad i tasti F1,
F2, ecc...):</p>
<ul>
<li>Fn+F1 Standby</li>
<li>Fn+F2 WLAN-toggle</li>
<li>Fn+F3/F4 Brightness</li>
<li>Fn+F5 VGA-toggle</li>
<li>Fn+F6 Taskmanager</li>
<li>Fn+F7/F8/F9 Volume</li>
<li>1. new hotkey Display-toggle (internal)</li>
<li>2. new hotkey Bluetooth-toggle</li>
<li>3. new hotkey CPU frequency control or user-defined</li>
<li>4. new hotkey Webcam-toggle or user-defined</li>
</ul>
<p>Gli script di Murat purtroppo introducono un <strong>piccolo bug</strong>: viene
disattivata la funzionalità <strong>"Dim when idle"</strong> del display (in pratica
non viene abbuiato lo schermo quando non si usa l'EeePC). Per
ripristinare questa funzionalità è sufficiente eseguire questo comando:<br>
<code>sudo cp /etc/acpi/backup/hal-system-lcd-set-brightness-linux /usr/lib/hal/scripts/linux/</code></p>
<p>A questo punto la configurazione dovrebbe essere al completo. Si
consiglia di <strong>riavviare l'EeePC</strong> per rendere effettive tutte le
modifiche. Per ulteriori trucchetti su come ottimizzare la
configurazione, vi consiglio di visitare direttamente il <a href="http://www.ubuntu-eee.com/wiki/index.php5?title=User_Guides">wiki di Ubuntu
Eee</a> dove
potrete trovare articoli piu' approfonditi.</p>
<a class="readmore" href="https://www.andreagrandi.it/2008/10/05/installazione-e-configurazione-di-ubuntu-eee-8041-su-asus-eeepc-901/">read more</a>
<p><a href="https://www.andreagrandi.it/2008/10/05/installazione-e-configurazione-di-ubuntu-eee-8041-su-asus-eeepc-901/#disqus_thread">comments</a></p> </div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://www.andreagrandi.it/2008/10/04/come-aggiornare-il-bios-dellasus-eeepc/" rel="bookmark"
title="Permalink to Come aggiornare il BIOS dell'Asus EeePC">Come aggiornare il BIOS dell'Asus EeePC</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>Sat 04 October 2008</span>
<span>| in <a href="https://www.andreagrandi.it/category/howto.html">HowTo</a></span>
<span>| tags: <a href="https://www.andreagrandi.it/tag/asus.html">asus</a><a href="https://www.andreagrandi.it/tag/bios.html">bios</a><a href="https://www.andreagrandi.it/tag/eeepc.html">EeePC</a></span>
</footer><!-- /.post-info --> <p><a href="https://www.andreagrandi.it/images/2008/10/eee-pc-901.jpg"><img alt="eeepc" src="https://www.andreagrandi.it/images/2008/10/eee-pc-901.jpg" width="100%"></a></p>
<p>L'aggiornamento del <strong>BIOS</strong> su un <strong>Asus EeePC</strong> puo' essere fatto in una maniera che è
completamente indipendente dal tipo di sistema operativo utilizzato.</p>
<p>Per prima cosa occorre scaricare dal sito della Asus, nell'apposita
<a href="http://support.asus.com/download/download.aspx?SLanguage=en-us">pagina di
supporto</a>,
l'ultima versione del BIOS, facendo ben attenzione a selezionare il
modello di EeePC che possediamo.</p>
<p>Una volta scaricato il file, dobbiamo decomprimerlo e copiarlo su una
chiavetta USB o su un disco esterno USB, avendo cura di rinominarlo con
il numero del modello del nostro EeePC. Se ad esempio possediamo
l'<strong>Asus EeePC 901</strong>, dovremo rinominare il file in <strong>901.ROM</strong></p>
<p>A questo punto dobbiamo inserire la chiavetta USB nel nostro EeePC e
riavviare il computer, premendo ALT+F2 durante la fase iniziale di
avvio.</p>
<p>L'EeePC avvia l'utility di aggiornamento del <strong>BIOS</strong> che provvede a
cercare sulla chiaveta USB il file "<strong>901.ROM</strong>". Si consiglia di
eseguire questa operazione alimentando l'EeePC tramite l'adattatore di
corrente e di non affidarsi alla batteria perchè se si dovesse
improvvisamente scaricare durante l'aggiornamento, il BIOS rimarrebbe in
uno stato inutilizzabile.</p>
<p>Dopo pochi minuti l'aggiornamento sara' completato ed il portatile verrà
riavviato. Al primo avvio sara' necessario riconfigurare nuovamente i
parametri del BIOS, perchè essi vengono cancellati quando si esegue
l'aggiornamento.</p>
<p>Il mio consiglio infine è quello di far effettuare l'aggiornamento ad
una persona esperta, perchè in caso di errori l'EeePC diventerebbe
inutilizzabile.</p>
<a class="readmore" href="https://www.andreagrandi.it/2008/10/04/come-aggiornare-il-bios-dellasus-eeepc/">read more</a>
<p><a href="https://www.andreagrandi.it/2008/10/04/come-aggiornare-il-bios-dellasus-eeepc/#disqus_thread">comments</a></p> </div><!-- /.entry-content -->
</article></li>
</ol><!-- /#posts-list -->
<p class="paginator">
<a href="https://www.andreagrandi.it/index33.html">«</a>
Page 34 / 50
<a href="https://www.andreagrandi.it/index35.html">»</a>
</p>
</section><!-- /#content -->
<section id="extras" class="body">
<div class="social">
<h2>social</h2>
<ul>
<li><a href="https://www.andreagrandi.it/feeds/all.rss.xml" type="application/rss+xml" rel="alternate">rss feed</a></li>
<li><a href="https://twitter.com/andreagrandi">twitter</a></li>
<li><a href="https://github.com/andreagrandi">github</a></li>
</ul>
</div><!-- /.social -->
</section><!-- /#extras -->
<footer id="contentinfo" class="body">
<p>
Powered by <a href="http://getpelican.com/">Pelican</a> and Python -
Source code available on <a href="https://github.com/andreagrandi/andreagrandi.it">GitHub</a>
<a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/">
<img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/80x15.png" />
</a>
</p>
</footer><!-- /#contentinfo -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2140684-3']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var disqus_shortname = 'andrea-grandi-it';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
</body>
</html>