Consigli per l’acquisto di un tablet

In questi giorni mi sono informato un po’ per acquistare un nuovo tablet, e voglio condividere con voi la piccola analisi per farvi risparmiare tempo.

Prima scelta: Apple o Android?

Ad oggi windows non mi pare una scelta saggia, per questo tipo di dispositivi. Ho scelto Android, per diversi motivi. Il primo è che i sistemi apple sono chiusi, decide la casa madre cosa ti serve e cosa è giusto che tu possa fare,ed io i invece voglio essere libero. Secondo, negli iPad non esiste la possibilità di avere utenti diversi. Vogliono che tu acquisti un talent per ogni familiare. Terzo, non hanno la possibilità di inserire una scheda di memoria aggiuntiva. Ogni gb di spazio viene pagato all’acquisto e non c’è possibilità di espansione. Ed ultimo il prezzo, a parità di prestazioni costano almeno il doppio, e tutti gli accessori sono carissimi.

Seconda scelta: dimensione. 7 pollici sono troppo pochi. Tra 10 e 8.3, ho scelto in base al modello. I candidati erano il Sony tablet z, il Google nexus 10, e l’LG gpad  8.3.

Il nexus è attualmente indisponibile, forse in attesa del nuovo modello. Ad oggi però non se ne sa nulla.

Il Sony è molto bello,ma pare che impieghi ore per ricaricarsi, e costa 400 euro almeno.

Ho scelto l’LG , trovato sul sito cooponline.it a 234 euro (in promozione fino al 20 gennaio se si inserisce  il codice promozionale). Sono stati velocissimi e ve lo consiglio.

Nota bene: questo non è un post sponsorizzato e non traggo nessun vantaggio nel pubblicarlo.

Sinistra Ecologia e Mele

Vorrei proprio sapere cosa è venuto in mente a chi, dentro al Partito di Vendola, ha deciso di studiare, realizzare, far stampare ed appendere dei manifesti con il simbolo del partito fuso a quello della multinazionale americana, colpita recentemente dal lutto del suo ex presidente.

Veramente, sarebbe molto interessante capire come è stata partorita l’idea, chi ha pensato che era buona, chi ha stampato chiudendo gli occhi il manifesto, chi lo ha affisso senza guardarlo (immagino, come consuetudine romana, senza autorizzazione).

Ma come può non “saltare la testa”, all’interno del partito, di chi ha pensato che fondere il proprio simbolo con quello di una multinazionale accusata in passato di produrre i propri oggetti tramite lavoratori cinesi sottopagati e sfruttati?

Jobs Santo Subito

Mi spiace per Jobs, ma i commenti di questi giorni mi sembrano un tantino su di giri.
Jobs ha realizzato, tramite la sua azienda, enormi profitti vendendo in passato computer e di recente oggetti di design. Un design che univa una buona progettazione estetica alla semplicità d’uso dei device, più vicini alle persone che ai programmatori.

Però, però.

I suoi prodotti dialogavano quasi esclusivamente con gli altri prodotti della stessa azienda. Fosse stato per lui, la tecnologia personal sarebbe stata monomarca.

I suoi prodotti erano diventati uno status symbol a tal punto che troppe persone si sono spesso private di necessità maggiori per riuscire a sfoggiare l’ultima versione di un iQualcosa, spesso per utilizzarlo solo come ostentazione di lusso.

Come dice Stallman, la prigione per gli utenti di Jobs era “cool“, a differenza di quella passata di moda creata da Microsoft.
Per mettere un altro mattoncino di questa prigione in troppi hanno fatto la fila fuori dai negozi per precedere gli altri futuri felici possessori.

Jobs non ha inventato l’mp3, ha utilizzato questa invenzione a fini commerciali, e del resto non sembra nemmeno così importante: nessuno, parlando di diffusione digitale dei media, sa chi sono i veri inventori delle tecnologie che ci hanno aiutato in questo.

Jobs non ha inventato i personal computer, o gli smartphone.

Era certamente un formidabile uomo brand, capace di far crescere o calare i profitti di un gruppo multinazionale semplicemente presentandosi al talk di presentazione commerciale di un nuovo prodotto.

Ma non esageriamo, Steve Jobs non ha cambiato il Mondo, e per fortuna non l’ha cambiato come avrebbe voluto lui.

Ci sono elenchi di persone che più di lui hanno cambiato la storia dell’informatica ed hanno permesso quello che abbiamo oggi e quello che verrà domani, ma nessuno al di fuori degli addetti ai lavori li ricorderà mai.

Diamo loro un po’ dello spazio dedicato in questi anni alla pubblicità gratuita che in questi anni abbiamo fatto alla Apple.

Monitor java applet, a lift example of using Swing libraries on a monitor concurrency scenario

This simple university project implements two indipendent lift inside a building. We used a java applet with swing libraries. This is a good example of the use of java swing library in a applet. The code isn’t mantained, so there’s no work still on it (I made it on 2002).

To See the applet in action, you can download this zip archive

You can download the source code and the applet class:
src_monitor
src_semafori
ascensori_monitor

Linux on iBook G4 12″ 1,2 Ghz

This howto describes the linux installation on an Ibook G4 12″ 1,2 Ghz ( LinuxOnIbookG4 )

Here you can find the files related to this document:

Download Configuration Files

This is my iBook G4 Version:

cpu info:

[sourcecode language=”java”]
root@abook aronchi # cat /proc/cpuinfo

processor : 0
cpu : 7447A, altivec supported
clock : 1200MHz
revision : 1.1 (pvr 8003 0101)
bogomips : 598.01
machine : PowerBook6,5
motherboard : PowerBook6,5 MacRISC3 Power Macintosh
detected as : 287 (iBook G4)
pmac flags : 0000001b
L2 cache : 512K unified
memory : 512MB
pmac-generation : NewWorld
[/sourcecode]

The clock speed could be different because of speedfreq use, see below for more informations.

lspci info:

[sourcecode language=”java”]
root@abook aronchi # lspci
0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP
0000:00:10.0 VGA compatible controller: ATI Technologies Inc M9+ 5C63 [Radeon Mobility 9200 (AGP)] (rev 01)
0001:10:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI
0001:10:12.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
0001:10:17.0 Class ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O
0001:10:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1b.0 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.1 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
0002:20:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI
0002:20:0d.0 Class ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100
0002:20:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev 81)
0002:20:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)
[/sourcecode]

Linux Installation

I’ve installed a Gentoo, following the http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml ppc handbook. After a base installation, you can use my conf files to make your iBook G4 a real lovely GNU/Linux (Gentoo) home.

Kernel Config

Copy my .config file into /usr/src/linux (or wherever you did copy the kernel source files) and do a

[sourcecode language=”java”]make oldconfig[/sourcecode]

Config-2.6.9-sleep

make.conf

This is my make.conf file:
make.conf

Xorg

I’ve managed to make 3D acceleration with DRI work and VGA out, also together.
So, If you want to use 3D acceleration without MergedFB or Xinerama, take my xorg.conf

This option make a faster 3D acceleration, but video output will not work.

But if you want to use Xinerama with dual head configuration, without 3D acceleration (both clone mode and one screen left of the other), you want to use that:
Xorg.conf.dual with a cvs or => 6.8.2 Xorg version (because you need these xorg radeon patches https://bugs.freedesktop.org/show_bug.cgi?id=2064, merged only in newer xorg versions. If you don’t want to overwrite your existing xorg version, you can build xorg from cvs as in this xorg-cvs-howto.txt , with my host.def.

NB: if you want to have the two screens spanning on OSX you must patch your iBook with that http://www.rutemoeller.com/mp/ibook/ibook_e.html Spanning Patch Ibook: I suggest you to do that if you know what you’re doing. It’s not necessary if you use only Linux.

I made MergedFB working, so now I have a clone mode (VGA out is the same of the TFT) with 3D DRI acceleration.
You must use this simple configuration:
xorg.conf.merged

NB: These 3 configurations are alternative, you can use one.

Make the Apple key works as Altgr and the keyboard more linux confortable

My Apple G4 12″ doesn’t have any Altgr Key, so it’s impossibile to write composed symbols as @ or #. To correct this problem, you can do this procedure on Gnome:

1. Computer -> Desktop Preferences -> Keyboard
2. “Layout Options” tab
3. In the right-hand list open the “Third level choosers” group
4. Highlight “Press Left Win-key to choose 3rd level”
5. Click “Add”

Or add this to keyboard section on /etc/X11/xorg.conf file:

[sourcecode language=”java”]”XkbOptions” “lv3:lwin_switch”[/sourcecode]

My xorg.conf file keyboard section is:

[sourcecode language=”java”]
Section “InputDevice”
Identifier “Keyboard0”
Driver “keyboard”
Option “XkbKeycodes” “macintosh”
Option “XkbSymbols” “macintosh/us”
Option “XkbGeometry” “macintosh”
Option “XkbOptions” “ctrl:nocaps, lv3:lwin_switch”
Option “XkbRules” “xfree86”
Option “XkbModel” “pc105”
Option “LeftAlt” “Meta”
Option “RightAlt” “LWin”
Option “XkbLayout” “it”
EndSection
[/sourcecode]

On the US keyboard, the ~ and +/- keys aren’t mapped correctly.
add these lines to a startup script:

[sourcecode language=”java”]
xmodmap -e “keycode 49 = section plusminus”
xmodmap -e “keycode 94 = quoteleft asciitilde”
[/sourcecode]

Three Button Mouse Emulation

I usually use an external USB three button mouse, but I want to have an alternative access to the middle and right button without the external mouse.
To use an alternative key to emulate the mouse buttons, you must do:

[sourcecode language=”java”]
echo “1” > /proc/sys/dev/mac_hid/mouse_button_emulation
[/sourcecode]

The standard keys now are on Fn+CTRL for middle button and Fn+alt for right button.
If you want to change the keys, you must do:

[sourcecode language=”java”]
echo “68” > /proc/sys/dev/mac_hid/mouse_button2_keycode
echo “87” > /proc/sys/dev/mac_hid/mouse_button3_keycode
[/sourcecode]

Remember, you must do these commands every boot, so you can add to an init script.

You can change the keycodes 68 and 87 writing your own. To view what keycode is a button press you can use:

[sourcecode language=”java”]
xev
[sourcecode language=”java”]

If your distro supports /etc/sysctl.conf, you can add these lines to this file:
[sourcecode language=”java”]
# Mouse button emulation:
dev/mac_hid/mouse_button_emulation = 1
#dev/mac_hid/mouse_button2_keycode = 68
#dev/mac_hid/mouse_button3_keycode = 87
[/sourcecode]

Uncomment the last lines if you want to edit the keycodes.

Pbbuttons

In order to make the keyword and the power management more usable, i use pbbuttons:

[sourcecode language=”java”
emerge pbbuttonsd
rc-update add pbbuttonsd default
[/sourcecode]

Now you must configure the /etc/pbbuttons.conf file. Here is mine:
pbbuttonsd.conf

Sleep

Kernel 2.6.11 comes with support for putting the iBook G4 to sleep. However you still have to enable it when configuring the kernel.

Benh has released a patch that supports Apple iBook g4 sleep: you need it if you have a kernel version < 2.6.11. http://forums.gentoo.org/viewtopic.php?t=254232&highlight=benh+patch You can find the 2.6.9 patch version also here: albook-ibookg4-sleep-5.diff Just apply it to kernel source with [sourcecode language="java"] cp ./albook-ibookg4-sleep-4.diff.gz /usr/src/linux cd /usr/src/linux gunzip ./albook-ibookg4-sleep-4.diff.gz patch -p1 < albook-ibookg4-sleep-4.diff make menuconfig [/sourcecode] And add the Powerbook Power Management in the Drivers -> Macintosh kernel configuration section

After that, you can use pbbuttons to make the iBook sleep when the LCD is closed.
pbbuttonsd.conf

Power

Some problems with sleep function comes from modules loaded (usb, thermal, etc). You can solve them if you use powerprefs. Before going to sleep, your iBook must do:

[sourcecode language=”java”]
lsmod | cut -f 1 -d ” ” | grep -v Module | xargs > /tmp/modules.loaded
rmmod `cat /tmp/modules.loaded`
[/sourcecode]

and after resume it must do:

[sourcecode language=”java”]
for module in `cat /tmp/modules.loaded`
do
modprobe $module
done
[/sourcecode]

In gentoo you must install app-laptop/powerprefs and use my /etc/power/event.d/modules file.

CPU Variable Speed

To make you iBook a less battery user, you can alter automagically the cpu freq in order to use only the calculation power you need. So, when you use all the cpu, it works at the 100% of his speed, but when you don’t use it the cpu runs slower to get colder.

I’ve used speedfreq:

[sourcecode language=”java”]
emerge speedfreq
rc-update add speedfreqd default
[/sourcecode]

Fan speed

To get a better control of your iBook G4 temperature and fan speed, you can use the module therm_adt746x.

[sourcecode language=”java”]
modprobe therm_adt746x
[/sourcecode]

or put the module into your /etc/modules.autoload file

Modules

The module I use and I load at startup are written into a file called /etc/modules.autoload.d/kernel-2.6:
modules.autoload ( My /etc/modules.autoload.d/kernel-2.6 )

[sourcecode language=”java”] sungem
airport
ohci_hcd #usb 1
ehci_hcd #usb 2
ohci1394 #firewire
usb_storage #mp3 mplayer and Sony digital camera
snd-powermac #for sound
snd-pcm-oss #for sound
usb-serial #for GPRS using my sony ericsson phone
visor # for palm m125
#apm_emu #emulate APM (power management)
therm_adt746 #fan control (I use fan_speed=128)
uinput #for mouseemu
uninorth-agp #for DRI (agpgart will come with it)
radeon #for DRI 3D video acceleration
therm_adt746x # to control fan speed and temp
[/sourcecode]

Sound

You can configure the sound card with alsa modules and either using a sound daemon (i.e. arts), or by using oss emulation output. You can insert arts in USE flags, as I do.

Mac On Linux

Mol runs correctly on my iBook, with networking enabled.
It’s necessary to add this use flag:

USE=”fbcon”

before emerging //MOL//.

Run

[sourcecode language=”java”]
molvconfig
[/sourcecode]

and now edit

/etc/mol/molrc.video

to get fullscreen with MOL. Now you have linux on CTRL+ALT+F7 an MacOSX on CTRL+ALT+F8

I use an external ADSL eth0 router with dhcp, so I’ve used tun.ko kernel module and this configuration for mol:

/etc/mol/molrc.net

I use the internal dhcp so in MOL I don’t have to specify an address.

hdparm

I use this settings for hdparm, to increase hard disk performances and decrease the hdd temperature:
[sourcecode language=”java”]
hdparm -S 1 -d1 -m16 -c1 -X udma5 /dev/hda
[/sourcecode]

Make sure to load this settings on every boot.

Time config

Since I have also MacOSX, I had a problem with my clock settings. The hardware clock is set to UTC time by MacOSX, and my Linux system on everyboot read the time from the hardware clock, thinking this is set against my local time (Europe/Rome, CEST).
To solve this problem, you must tell hwclock to use –utc when used to update your system time.
In a RedHat/Fedora system is really simple, once known the origin of the problem:
Simply write this few lines into /etc/sysconfig/clock

[sourcecode language=”java”]
ZONE=”Europe/Rome”
UTC=true
ARC=false
[/sourcecode]

Airport Extreme Wireless Driver

It seems (http://bcm43xx.berlios.de) someone has written a driver for the Broadcom 43xx wireless chip, the one inside AirPort Extreme included into our iBook G4. It needs 2.6.14 kernel, and I’ve uploaded my config file for the 2.6.14-rc4 (the latest 2.6.14 branch I’ve found at this time).

Now you must get the firmware of your driver. Let /media/macosx be the MacOSX partition mount point. then you must use the fwcutter utility in the package:

[sourcecode language=”java”]
./fwcutter /media/macosx/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2
[/sourcecode]

and then copy the *.fw files on

[sourcecode language=”java”]
cp *.fw /lib/firmware/
[/sourcecode]

If you want, I’ve made a copy of the driver you can download:
broadcom43xx.tar.bz2
I loaded the bcm430x driver correctly, but I don’t have a wireless access point here, so I cannot try if it works.