Hace un par de años conocí a través de unos amigos (gracias, Javier y Helen) el concepto de masa crítica en el análisis de grupos minoritarios. Éste implica el número mínimo de personas que tiene que haber en un grupo para constituir una parte integral del mismo y poder tener alguna influencia sobre él. Para ello tienen que ser también capaces, por tanto, de mantener al menos esa proporción en el tiempo, sin que exista la necesidad de realizar una estrategia basada en acciones afirmativas. El concepto de masa crítica se puede aplicar a mujeres u hombres que trabajan en áreas no tradicionales para su género, en minorías raciales o religiosas, grupos minoritarios en parlamentos, y en otros muchos.
La escala Byrne de no tradicionalismo (1993) sugiere que es necesario superar la barrera del 30% del grupo por parte del grupo minoritario para que sean consideradas o considerados “normales” dentro del mismo. Aquellas personas que lleven bien el ser vistas como “no normales”, pueden participar en una actividad en la que supongan menos de un 15%, mientras que sólo quienes no tengan problema en ser considerados “bichos raros” participarán en contextos donde estén por debajo del 8%. Cuando se anda sobre estas cantidades, ni siquiera se puede hablar ya de que las personas puedan servir como modelos de referencia. En el Software Libre, las desarrolladoras -hasta donde yo sé- seguimos estando en proporciones inferiores al 2%.
Porcentaje |
Cómo es considerado el grupo minoritario |
Por encima del 30% |
La disciplina es agnóstica respecto al género, y se considera normal para cualquiera de ellos. |
Entre el 15% y el 30% |
Se considera una disciplina atípica para el colectivo en minoría. |
Entre el 8% y el 15% |
Se ve como algo no normal para el grupo minoritario |
Hasta el 8% |
Se considera a las personas del colectivo minoritario como algo extraordinario y totalmente excepcional, y no cuentan como modelo representativo para conseguir que se incorporen más personas del mismo. |
#!/bin/sh
if [ "$1" == "" ]; then
FILE="/dev/stdin"
else
FILE="$1"
# make sure file exists and is readable
if [ ! -f $FILE ]; then
echo "$FILE : does not exists"
exit 1
elif [ ! -r $FILE ]; then
echo "$FILE: is not readable"
exit 2
fi
fi
num=0;
mkdir -p chunks
# Set loop separator to end of line
BAKIFS=$IFS
IFS=$(echo -en "\n\b")
cat "$FILE" | while read -r l; do
processed=0
if echo "$l" | grep -e "^--- " 2>&1 >/dev/null ; then
minus="$l"
minus_file=`echo "$l" | sed -r -e 's|---\ [^/]*/||g'`
echo "MINUS: $minus_file"
processed=1
fi
if echo "$l" | grep -e "^+++ " 2>&1 >/dev/null ; then
plus="$l"
plus_file=`echo "$l" | sed -r -e 's|\+\+\+\ [^/]*/||g'`
echo "PLUS: $plus_file"
processed=1
fi
if echo "$l" | grep -e "^@@ " 2>&1 >/dev/null ; then
test "$minus_file" != "$plus_file" && { echo "ERROR!"; IFS=$BAKIFS; exit 1; }
num=$(($num+1))
fname=`printf "chunk_%03d.patch" $num`
echo "PATCH: $fname"
echo "$minus" > chunks/$fname
echo "$plus" >> chunks/$fname
echo "$l" >> chunks/$fname
processed=1
fi
if [ $processed -ne 1 ]; then
test "$minus_file" != "$plus_file" && { echo "ERROR!"; IFS=$BAKIFS; exit 1; }
echo "$l" >> chunks/$fname
fi
done
# restore $IFS which was used to determine what the field separators are
IFS=$BAKIFS
exit 0
Top-like tools:
- top (procps) – Display Linux tasks
- htop – Interactive processes viewer
- atop – AT Computing’s System & Process Monitor
- iftop – Display bandwidth usage on an interface by host
- iotop – Simple top-like I/O monitor
- itop – Simple top-like interrupt load monitor
- powertop – Linux tool to find out what is using power on a laptop
- mytop – Top like query monitor for MySQL
- mtop – MySQL terminal based query monitor
- pg_top (ptop) – PostgreSQL performance monitoring tool akin to top
- apachetop – Realtime Apache monitoring tool
- dnstop – Displays various tables of DNS traffic on your network
- wtop – Tool like top for the Apache web server
Statistics reports:
- mpstat (sysstat) – Report processors related statistics
- iostat (sysstat) – Report CPU and I/O statistics
- vmstat (procps) – Report virtual memory statistics
- tcpstat – Report network interface statistics
- dstat – Versatile resource statistics tool
- memstat – Identify what’s using up virtual memory
- binstats – Display statistics about programs and libraries
- ifstat – Report InterFace STATistics
- vnstat – A console-based network traffic monitor
- pktstat – Display packet activity on a crt
- pppstatus – Console-based PPP status monitor
- powstatd – Configurable UPS monitoring daemon
- sockstat – View detailed information about open connections
List stuff:
- lsof – List open files
- lspci (pciutils) – List all PCI devices
- lsscsi – list all SCSI devices (or hosts) currently on system
- lspcmcia (pcmciautils) – Display extended PCMCIA debugging information
Hardware identification:
- hwinfo – Hardware identification system
- lshw – Information about hardware configuration. There’s also a GUI for it: lshw-gtk
- dmidecode – DMI table decoder
System management:
- nice (coreutils) – run a program with modified scheduling priority
- reniced – renice running processes based on regular expressions
- ionice (util-linux) – get/set program io scheduling class and priority
- cpulimit – limits the cpu usage of a process
- hdparm – tune hard disk parameters
- smartctl (smartmontools) – control and monitor utility for SMART disks
- acpitool – command line ACPI client
- xbacklight – simple utility to set the backlight level
Data recovery / Forensics:
- gpart – Guess PC disk partition table, find lost partitions
- testdisk – Recover lost partitions and repair boot sectors
- photorec (testdisk) – Recover many different types of files from different file systems
- foremost – Recovers files based on their headers and other internal structures
- scalpel – High performance file recovery
- magicrescue – Recovers files by looking for magic bytes
- sleuthkit – Collection of tools for forensics analysis on volume and file system data
get/set program io scheduling class and priority
I’ve been lately playing with 389 Directory Server (previously Fedora Directory Server, previously Netscape Directory Server). Along with the LDAP server itself comes an admin tool and a console GUI for managing the system. The admin tool is built on Apache2, and it needs it to use the worker MPM (high speed threaded model), provided by the package apache2-mpm-worker. The problem is that libapache2-mod-php5 seems to depend on apache2-mpm-prefork, so I have to use php5-cgi to provide the PHP scripting functionality instead. That seems to work properly out-of-the-box ™ for stuff like phpldapadmin, but not so properly for phpmyadmin and phppgadmin. In those cases the browser seems to try to download the PHP script instead of executing it.
The quickest solution for that is to add some configuration stuff to Apache2, telling it to do things properly:
# cd /etc/apache2/mods-available/
# cat >> php5-cgi.conf
<IfModule !mod_php5.c>
<IfModule mod_actions.c>
<IfModule mod_cgi.c>
AddType application/x-httpd-php .php .phtml .php3
Action application/x-httpd-php /cgi-bin/php5
</IfModule>
<IfModule mod_cgid.c>
AddType application/x-httpd-php .php .phtml .php3
Action application/x-httpd-php /cgi-bin/php5
</IfModule>
</IfModule>
</IfModule>
# cd ../mods-enabled/
# ln -s ../mods-available/php5-cgi.conf
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
That should do the trick. Don’t forget to restart Iceweasel/Firefox, or some kind of caches inside it will keep trying to download the PHP scripts anyway.
I was terribly happy with Network Manager, it used to do all the work for me. Unfortunately there are some Wi-Fi networks where the connection doesn’t seem to be established properly. At least for me. At least, for some unknown reason, for the last weeks. For example, at home.
So, I often have to manually start the Wi-Fi connection from the command line. That seems to be working for me always.
Here are the (few) steps:
- Stop Network Manager:
sudo /etc/init.d/network-manager stop
- Turn the Wi-Fi on:
sudo ifconfig wlan0 up
- Create the WPA configuration:
wpa_passphrase [ssid] [passphrase] > whatever
- Start WPA Supplicant:
sudo wpa_supplicant -Dwext -iwlan0 -cwhatever
- Configure the network via DHCP:
sudo dhclient wlan0