Encarem el futur d’una altra manera
Lluís Martí | February 25, 2007Rubí ha crescut els últims 50 anys a partir del foment de la indústria. L’increment de fàbriques i magatzems als diferents polígons industrials han comportat també un increment important de població i, per tant, la necessitat d’ampliar, com s’ha fet, l’oferta de serveis o, com m’ensenyaven a l’escola, el sector terciari, normalment en forma de botigues.
Però el Rubí d’ara, com a altres llocs de Catalunya i Espanya ja s’ha fet, s’hauria de replantejar quin vol que sigui el seu model econòmic. És a dir, pensar quin tipus d’empreses són les que haurien de tenir la seva seu a la nostra ciutat. O dit d’una altra manera, si volem continuar seguint amb la industria clàssica o tendir a la modernització, per exemple, promovent l’arribada d’empreses de noves tecnologies. Sembla que, d’alguna manera, des de l’Ajuntament de Rubí s’ha intentat seguir un camí similar a aquest que, malauradament, no ha donat gaire fruits. Un exemple és el Rubí+D que, passats 8 anys des de la seva inauguració, sembla no gaire més que una ampliació de l’antic IMPES.
Ara que el fenomen de la deslocalització afecta a Rubí (ja ens ho podríem haver imaginat abans que ens passaria també a nosaltres) és un bon moment per a decidir quin tipus d’empreses haurien de substituir les que marxin. Sempre, és clar, intentant primer que no marxin, pel bé dels seus empleats actuals o que, si finalment marxen, sigui en condicions el més beneficioses possible per als seus treballadors.
Això és important també per altres motius. A Rubí, com a tota la comarca, cada cop són més els titulats universitaris que han cursat carreres de branques científiques o tecnològiques(1) i que, per manca ja no de llocs de treball sinó d’empreses del seu ram, es veuen obligats a anar a treballar (i, sovint, a viure) a altres poblacions, molts cops lluny del Vallès.
I així la població de Rubí envelleix, perquè els que han viscut aquí des que pràcticament van néixer, han de marxar a la cerca d’un lloc de treball adient a la seva formació. I amb més raó, encara, si tenim en compte la manca d’oferta d’oci que hi ha a la ciutat.
———-
(1) I d’altres branques també necessàries, però que tenen el seu àmbit d’actuació principal fora de la indústria.
Intratanigma (IV)
Lluís Martí | February 24, 2007Pasamos al nivel hiperdifícil (o rebuscado):
Llueven espadas que se reducen a nada (8 letras)
A petición de Sorak: [Página de soluciones]
Proguard(I)
Lluís Martí | February 23, 2007Quan crees un programa en llenguatge Java has de saber que és molt fàcil descompilar-lo(1) i, per tant, que qualsevol persona podria obtenir un codi molt semblant a l’original. Fent proves, es pot veure que pràcticament es recupera el mateix codi que s’ha utilitzat per compilar. Per això mateix és interessant posar les coses difícils.
Una bona manera d’aconseguir-ho és utilitzant un ofuscador de codi. N’he provat varis i el que millor m’ha funcionat i m’ha semblat més complet i útil és el ProGuard. ProGuard és un programa gratuït, realitzat per Eric Lafortune, escrit en Java (i per tant multiplataforma) que a més d’ofuscador (obfuscator) també és eliminador de codi inútil (shrinker) i optimitzador (optimizer) de codi.
Totes aquestes funcionalitats fan que un programa que s’ha “passat” pel ProGuard sigui més difícil de llegir un cop descompilat, més compacte (ocupa menys espai al disc) i més ràpid.
ProGuard, a part de poder-se utilitzar des de línia de comandes, també té una GUI. En tots dos casos es poden utilitzar fitxers de configuració.
A mode d’exemple, un programa que he fet jo i que ocupa (comprimit dins del jar) 144.480 bytes, després de passar-lo pel ProGuard s’ha quedat en 82.086 bytes. Un cop descompilat em costa molt de saber quina classe correspon a cada fitxer .class (ha canviat els noms), i si ho descobreixo em trobo que el codi està molt canviat, entre d’altres coses perquè hi ha inserit instruccions goto!
El resultat de l’optimització és el següent:
Number of inlined interfaces: 0
Number of finalized classes: 69
Number of removed write-only fields: 17
Number of finalized methods: 226
Number of privatized methods: 13
Number of staticized methods: 5
Number of simplified method declarations: 38
Number of inlined getters/setter calls: 9
Number of merged code blocks: 81
Number of simplified push instructions: 4
Number of simplified branches: 0
Number of removed instructions: 454
Number of removed push/pop pairs: 0
Number of removed load/store pairs: 0
Number of simplified store/load pairs: 154
Number of simplified goto/goto pairs: 16
Number of simplified goto/return pairs: 37
I de 85 classes ha passat a 70.
Cal tenir en compte que, a vegades, l’ús del ProGuard pot donar errors inesperats un cop s’executi el programa ofuscat/optimitzat. A la documentació del programa s’hi explica amb detall en quins casos pot passar això i diverses maneres de solucionar-ho.
I també s’ha de tenir en compte que per a aplicacions web (JSP i demés) s’ha de fer d’una certa manera no documentada que us mostraré més endavant.
Verdades como puños
Lluís Martí | February 22, 2007Hoy, culturizándome mediante la wikipedia(1) me he encontrado con una gran frase. Es la frase que Terry Pratchett siempre ha querido escribir y nunca ha sido capaz. Dice tal que así:
El robo de cookies es lo más básico, y tiene como objetivo robar la cookie.
Nunca te acostarás sin saber algo más.
—-
(1) Tómese como una ironía o algo así.
Comptar el nombre de fitxers oberts per un programa en Linux
Lluís Martí | February 20, 2007No és gaire comú, però a vegades és necessari veure si estem obrint massa cops un únic fitxer. Per exemple, un cas que ens va passar en una aplicació: ens vam despistar i obríem fitxers de log massa sovint, com ens van dir la gent encarregada de sistemes. Però no ens van dir com comprovar-ho. Així que em vaig haver de crear un script per poder comprovar si ho estàvem arreglant o no.
L’script es basa la comanda lsof que mostra els fitxers oberts (veure el for al codi). La línia més important del codi és, precisament, la del for, en concret la comanda que s’executa `lsof -c $program -F pn\n | cut -c 2- | tail -n+2 | sort`, la resposta de la qual la fa servir el for per iterar. Aquí van alguns comentaris:
- El paràmetre -c proces fa que mostri noms els fitxers oberts per un cert procés (per exemple podria ser ‘java’).
- La part -f pn\n fa que apareguin pid del procés (amb una ‘p’ davant) seguit dels noms dels fitxers (amb una ‘f’ davant)
- El cut -c 2- elimina la primera columna de carcters (la p i les n)
- El tail -n+2 elimina la primera fila (el pid)
- El sort ordena el que queda, i així podem anar comptant.
#!/bin/bash
#######################
# Mostra els cops que un fitxer est obert per un cert programa
# -per filtrar els .log, per exemple afegir: | grep "\.log"
#######################
function mostraHelp
{
echo Mostra els cops que un fitxer est obert per un cert programa
echo ""
echo "Us: $0 [--help|programa] “;
}
if [ "$1" == "--help" ]; then
mostraHelp;
exit;
else
program=$1;
fi
fitxer_anterior=”"
count=1
primer=1
total=0
if [ "$1" != "" ]; then
for f in `lsof -c $program -F pn\n | cut -c 2- | tail -n+2 | sort`
do
let total=$total+1;
if [ "$fitxer_anterior" == "$f" ]; then
let count=$count+1;
else
if [ "$primer" == "0" ]; then
echo -e $count $”\t” $fitxer_anterior
let count=1
fitxer_anterior=$f;
else
primer=0;
fitxer_anterior=$f;
fi
fi
done
echo -e $count $”\t” $fitxer_anterior
echo -e $”\n” Total: $total;
else
mostraHelp;
exit;
fi
¿Qué es más bello: un jarrón bello o una doncella bella?
Lluís Martí | February 17, 2007Leo en la edición digital de El Periódico de Catalunya que “La ganadora de Miss Cantabria llevará al juzgado a Miss España tras perder el título por ser madre“. En el artículo se lee:
(…) el haber tenido un hijo solo las excluye a ellas, porque el concurso entiende, según explica el mismo artículo, que “a los varones” esa circunstancia “no les supone cambios físicos sustanciales que impidan el desempeño de las funciones habituales de una miss o un míster, tales como viajes, pasarelas o desfiles”.
La miss, o mejor dicho no-miss, Ángela Bustillo, se ha presentado cuatro veces al concurso de Miss Cantabria hasta que ha ganado y vuelto a perder. Sin embargo me parece curioso que alguien que considera retrógrada esa clausula, no considere retrógrado el concurso mismo. Y degradante.
Degradante no solo para la mujer sino, en vistas de la existencia de los concursos de míster, también para el hombre. Pues, por mucho que la belleza se algo que conmueva el alma y etc etc, no deja de ser anacrónico considerar el cuerpo humano poco más que un objeto cuyas propiedades físicas de naturaleza visible deban prevalecer sobre otros valores y características. Y no me refiero únicamente a la inteligencia, como puede verse en este vídeo.
Si bien es cierto que el hecho de ser madre no debe impedir que la mujer desarrolle su carrera sin imbéciles (hombres sobretodo, pero también algunas mujeres) que les pongan la zancadilla, también es cierto que no es nada descabellado que un concurso en sí mismo anclado en el pasado tenga, dentro de su lógica, normas ancladas en el pasado.
Y claro, como dice un comentario al vídeo anterior, un concurso de belleza no es Saber y ganar. Pero no estaría mal ser un poco más listo y así saber dónde se mete uno.
Mozilla Firefox 2 a Fedora Core 6
Lluís Martí | February 16, 2007El Firefox que porta instal·lat directament la distribució de linux Fedora Core 6 és la versió 1.5.0.9 i per molt que facis
yum update
així continuarà perquè és l’última versió que tenen als repositoris oficials, fins que la canviïn. Sigui com sigui, sempre aniran amb retard.
Si en comptes de començar a cercar repositoris no oficials que tinguin l’última versió (actualment la 2.0.0.1) preferim descarregar-nos-la, és possible que ens trobem amb el següent error quan l’intentem executar:
/opt/firefox/firefox-bin: error while loading shared libraries:
/libstdc++.so.5: cannot open shared object file: No such file or directory
El problema és que la llibreria que duu Fedora Core 6 per defecte és la libstdc++.so.6, que és més nova. La solució passa, doncs, per instal·lar la versió antiga que probablement no tinguem instal·lada, és a dir, sent usuari root hem de fer:
yum install compat-libstdc++-33
Amb això ja hauria de funcionar.
Ara, un cop insta·lada la llibreria, podem fer que quan cridem al Firefox (sigui des d’algun menú o des d’una consola) es cridi aquesta última versió, i que això valgui per a tots els usuaris. Suposant que hem descomprimit el fitxer que hem descarregat de la pàgina de Mozilla al directori /opt (i, per tant, l’executable de Firefox es troba a /opt/firefox ) podem fer (com a root) el següent:
mv /usr/bin/firefox /usr/bin/firefox.old
ln -s /opt/firefox/firefox /usr/bin/firefox
Així podrem executar també, cas que hi hagués algun problema, la versió de firefox de Fedora cridant a firefox.old.
Algú es llegeix el pamflet “La ciutat” abans d’imprimir-lo
Lluís Martí | February 13, 2007Tenint en compte la periodicitat de “La ciutat”, que ara sembla que apareix a les bústies cada dos mesos, sembla que hi ha prou temps per a revisar els textos. És clar que si es tractés d’un diari seria molt més probable que apareguessin errades, però amb dos mesos hi ha temps de sobra per mirar-s’ho i remirar-s’ho. Sobretot donada l’escassa longitud del pamflet.
Però no és així. A la columna (que més aviat és una fila) del PP, que en aquesta ocasió firma Armand Querol, i que parla sobre el llibre “Rubí, una ciutat en transformació” hi trobem:
¿Por qué, me pregunto, no editan y distribuyen un comunicado en el cual puedan decir que de “las cuarenta promesas electorales de los socialistas en su separata para las urbanizacione(*) , cuarenta y siete no se han cumplido?”
¿De 40 no se n’han fet 47? Això només pot voler dir 2 coses: o ningú rellegeix “La ciutat” o els socialistes ho han fet pitjor del que sembla i, no només això, sinó que ho han fet pitjor del que és matemàticament possible.
El que queda clar, però, és que el Partit Popular té molt poques coses a dir com a partit polític si dedica el seu espai a dir el que tothom ja ha pensat en comptes de fer propostes de veritat. Com també ha fet Alternativa Ciutadana de Rubí. En canvi, Convergència i Unió, a través de Xavier Reinaldos, perd el temps defensant-ho.
Rubí, una ciutat que no es transformarà fins que no transformem els polítics en persones capaces de veure què preocupa realment al ciutadà.
—-
(*) La desinència de plural també es troba a faltar en l’original.
Tú puedes follar, vosotras no
Lluís Martí |Leo en La Vanguardia (página 51) una noticia procedente de Europa Press en la que se explica que “La tenista china Li Na(1), (…) ha recibido un trato de favor sin precedentes: podrá tener relaciones con su marido y entrenador Jiang Shan”. Resulta que los demás compañeros de equipo continuarán teniendo prohibidas las relaciones sexuales con otras personas, incluido Jiang Shan.
Me pregunto como la federación de tenis o lo que sea sabía hasta ahora si Na y Shan tenían relaciones sexuales o no. Porque si se fiaban de su palabra, podían continuar haciéndolo. Quizá había una persona encargada de velar por la abstinencia de ese matrimonio y que les acompañaba en todos sus quehaceres familiares. Lo cual podría llevar, pensando mal, a situaciones trifásicas tales que, al no ser aceptadas por el régimen chino (ni tantos otros mucho más democráticos) hubieran sido peores (o mejores) para el rendimiento de la tenista sobre la cancha.
Es más, incluso esa persona podría mantener relaciones con el marido mientras ella mira y, quién sabe, quizá se haga cosas ella sola, lo que no estaría en contra de la prohibición impuesta.
Todo esto, seguramente, no pasó. Pero hay que tener en cuenta que a veces una prohibición puede provocar una desairada deshinibición y que hecha la ley, hecha la trampa.
—-
(1) En español, Litio Sodio. Cuando nació sus padres debieron pensar ¡mira qué chica más alcalina nos ha salido!







