The bad news is that the planet if decaying altogether ... the good news is that my country is not so bad :-D (aguante, Argentina!).
From http://www.privacyinternational.org/ via
boingboing: Privacy State of The Planet:

## ~/.mutt/muttrc
set from=username@gmail.com
set realname="JuanJo seC"
set reverse_name=yes
set reverse_realname=no
set imap_user = 'username@gmail.com'
set spoolfile = imaps://imap.gmail.com:993/INBOX
#set sendmail="/usr/sbin/ssmtp -C$HOME/.mutt/ssmtp.conf"
set smtp_url="smtp://username@smtp.gmail.com:587/"
set folder = "imaps://imap.gmail.com:993"
#set record=+sent-mail-`date +%Y`
set record="+[Gmail]/Sent Mail"
set postponed="+[Gmail]/Drafts"
# previously do: mkdir -p ~/.mutt/cache/{headers,bodies}
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates
set move=no
set delete=yes
set edit_hdrs
set include
set reply_to
set abort_nosubject=no
alternates '(username|altusername)([-+].*)?@.*'
set hdr_format="%4C %Z %{%m/%d} %-15.15F (%4c) %s" # format of the index
hdr_order From: Date: User-Agent: X-Mailer To: Cc: Reply-To: Subject:
ignore *
unignore From: Date: User-Agent: X-Mailer To: Cc: Reply-To: Subject:
my_hdr Reply-To:
# setup gmail filters to apply the corresp. labels:
mailboxes ! =ml-lug-list =ml-lug-org =[Gmail]/Drafts "=[Gmail]/All Mail"
set editor="jed %s -l ~/.mutt/jed.mutt.sl"
set alias_file=~/.mutt/mail_aliases
source ~/.mutt/mail_aliases
send-hook . 'set realname="JuanJo seC"'
## hack to make $reverse_name and 'my_hdr From:' work ok (eg mlists)
send-hook . 'set from=username@gmail.com'
send-hook . 'unmy_hdr From:'
###
send-hook . 'set signature=~/.signature'
#send-hook lug-list 'set record=+sent-lug-list'
send-hook lug-.+@lugmen.org.ar 'my_hdr From: JuanJo seC <username+mlist@gmail.com>
subscribe lug-.+@lugmen.org.ar
% ~/.mutt/jed.mutt.sl
% emacs keybinding for jed:
() = evalfile("emacs");
% Find signature begin, position cursor there:
if (re_fsearch("^--")) {
call("previous_line_cmd");
} else {
% else search headers end
re_fsearch("^$");
call("next_line_cmd");
}
push_mark();
Esta Ley, que ya tiene media sanción del Congreso Nacional, establece una moratoria de los desmontes hasta tanto las Provincias realicen un Ordenamiento Territorial de los bosques nativos para planificar de manera participativa su uso sustentable. El Senado está demorando su aprobación.
Ayudanos a salvar nuestros bosques.
Votá vos también por la Ley de Bosques
host# rpm -ql kernel-xen | egrep /xen
host# mkinitrd --preload=xenblk --preload=xennet -f -v /boot/initrd-2.6.18-8.1.4.el5xen.guest.img 2.6.18-8.1.4.el5xenThe last line (restorecon ... ) is needed because xend is _correctly_ running confined by "targeted" SELinux, and mkinitrd doesn't relabel the initrd file under /boot to allow xend access.
host# vim /etc/xen/xm-guest1 ### add: ramdisk=/boot/initrd.guest.img ### see below
host# restorecon -v /boot/initrd*
host# cd /boot
host# ln -sf initrd-2.6.18-8.1.4.el5xen.guest.img initrd-guest.img
host# ln -sf vmlinuz-2.6.18-8.1.4.el5xen vmlinuz-guest
host# echo 'hwcap 0 nosegneg' > /etc/ld.so.conf.d/libc6-xen.conf
host# ldconfig -v
guest# apt-get install udev ### installs udev and hotplug packages
guest# mv /lib/tls /lib/tls.DISABLED"Offline'ing" TLS glibc implementation solved the problem, beware that you'll need to redo this everytime libc6 package is upgraded (trivially solved by a rcS script).
guest# vim /etc/inittab ### check that following line is present:
x0:2345:respawn:/sbin/getty 38400 xvc0
guest# echo xvc0 >> /etc/securetty
bash$ ./ipv6-setup6to4.sh
IP4_ADDR=65.1.2.3
IP6TO4_PREF=2002:4101:203
#check you allow ipv6 encap: iptables -I INPUT -p 41 -d 65.1.2.3
ip tunnel add tun6to4 mode sit remote any local 65.1.2.3 ttl 64
ip addr flush dev tun6to4 2>/dev/null
ip link set dev tun6to4 up
ip addr add 2002:4101:203::1/16 dev tun6to4
ip route add ::/96 dev tun6to4
ip route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1
#you may do something like: ip -6 addr add 2002:4101:203:0001::1/64 dev eth0
#NOTHING done, use me as: ./ipv6/ipv6-setup6to4.sh |sudo sh -x
$ sudo /sbin/modprobe kqemu
$ qemu-img create -f qcow2 debian4.qcow2.img 4G
$ qemu -cdrom /path/to/debian-40r0-i386-CD-1.iso -hda debian4.qcow2.img -boot d
(instalación...)
$ qemu -cdrom /path/to/debian-40r0-i386-CD-1.iso -hda debian4.qcow2.img -boot c
(booteo...)
Enjoy :-D
#!/bin/bash
# insertion-sort.bash.sh: Insertion sort implementation in bash
# Heavy use of bash array features: slicing, merging, etc
# URL: http://www.lugmen.org.ar/~jjo/jjotip/insertion-sort.bash.d/insertion-sort.bash.sh
#
# Author: JuanJo Ciarlante jjo \O/ irrigacion gov ar
# License: GPLv2
#
# Test with: ./insertion-sort.bash.sh -t
#
: ${DEBUG:=1} # debug, override with: DEBUG=1 ./scriptname ..
# Global array: "list"
typeset -a list
# Load whitespace separated numbers from just stdin 1st line
if [ "$1" = "-t" ];then
read -a list < <(od -An -w32 -t u2 /dev/urandom )
else
read -a list
fi
numelem=${#list[*]}
# Shows the list, marking the element whose index es $1 by surrounding it with
# the two chars passed as $2; whole line prefixed with $3
showlist() { echo "$3"${list[@]:0:$1} ${2:0:1}${list[$1]}${2:1:1} ${list[@]:$1+1}; }
# loop "pivot" from 2nd elem, to end of list
for((i=1;i<numelem;i++))do
((DEBUG))&&showlist i "[]" " "
# From current "pivot", back to 1st elem
for((j=i;j;j--))do
# search for the 1st elem less than current "pivot" ...
[[ "${list[j-1]}" -le "${list[i]}" ]] && break
done
((i==j)) && continue ## no insertion was needed for this element
# ... move list[i] (pivot) to the left of list[j]:
list=(${list[@]:0:j} ${list[i]} ${list[j]} ${list[@]:j+1:i-(j+1)} ${list[@]:i+1})
# {0,j-1} {i} {j} {j+1,i-1} {i+1,last}
((DEBUG))&amp;amp;&showlist j "<>" "*"
done
echo $'Result:\n'${list[@]}
model | s/n | CPU | flash/RAM | eth switch |
---|---|---|---|---|
WRTSL54GS v1.1 [2] | CJK11xxxxxxx | Broadcomm 4704rev9 266Mhz | 8/32MB | inCPU |
WRT54GS v3.0 [3] | CGN5xxxxxxx | Broadcomm 5352 200Mhz | 8/32MB | BCM5325 |
--------> iperf test connection------>
WIFI-NATed [CLIENT]+)) wifi (( +[ WRT ]+=== wan ===+[SERVER] (iptables MASQUERADE'd)
LAN-NATed [CLIENT]+=== lan ===+[ WRT ]+=== wan ===+[SERVER] (iptables MASQUERADE'd)
LAN-routed [CLIENT]+=== lan ===+[ WRT ]+=== wan ===+[SERVER] (plain routing)
LAN-switched [CLIENT]+=== lan ===+[ WRT ]+=== lan ===+[SERVER] (hardware switching)
"lan": any LAN (1of4) port
"wan": WAN port
"wifi": 802.11g link at 54Mbps (aprox 2mts distance between antennas)
iptables MASQUERADE'd: default whiterussian setup (masquerade both wifi,lan to wan)
plain routing: accomplished with iptables full "flushing" + server route to client via WRT
model | WIFI-NATed | LAN-NATed | LAN-routed | LAN-switched |
---|---|---|---|---|
WRTSL54GS | 23.5mbit/s (65%) | 47.5mbit/s (90%+) | 55.8mbit/s (90%+) | 93.7mbit/s (0%) |
WRT54GS | 10.5mbit/s (14%) | 34.2mbit/s (90%+) | 40.4mbit/s (90%+) | 93.8mbit/s (0%) |
On the contrast, their CPU is not powerful enough to saturate _both_ (LAN+WAN) 100mbps links simultaneously, even when "only" routing (55mbit/s max on WRTSL54GS); this could be enhanced by having ip_conntrack optionally (not)loaded by openwrt.