Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Occams Razor 01 PDF
Occams Razor 01 PDF
Aqu Estamos
O
am's
Razor
Nmero 1, Ao 2007
by The O am Team
el lo o navaja de O
am es un
ono
ido prin
ipio
ient
o que bsi
amente
viene a de
ir lo siguiente: La solu
in ms sen
illa tiende a ser la buena . Y
esta es la losofa que queremos mantener en esta nueva publi
a
in.
Editores:
memoria e interfa
es analgi
os muy sen
illos. Eso es
ierto, pero la realidad
es que las
osas en pleno ao 2007 no han
ambiado tanto
omo la mayora
Colaboradores:
Carlos Rodrguez Alemparte,
piensa.
Las
osas siguen fun
ionando igual, ms rpido,
on interfa
es ms
ompletos
(que no ompli ados, aunque esto ltimo sera uestionable en algunos asos),
Rodrguez Gonzlez, Er
Pues bien, esta revista pretende re uperar esa losofa, profundizar en el fun-
Er Viajante y Tamariz el de la
ionamiento de la te nologa a tual para que deje de ser una osa mgi a y
Perdiz
pase a ser una osa lgi a. Y reednos, todo esto es mu hsimo ms sen illo
Maqueta
in
DeMO y LiR
Publi
idad
O
am's Razor Dire
t
o
ams-razoruvigo.es
Impresin
Por ahora tu mismo. . . Si te
apete
e
La primera es que esta publi
a
in no va de linux. Puede pare
er lo
ontrario tras leer este nmero, pero la razn de su
ontenido es que no hemos
tenido mu
hos
olaboradores. Si deseis parti
ipar
on art
ulos sobre temas
interesantes de
ualquier otra plataforma stos sern bienvenidos. La ni
a
ondi
in es que hagis lo que hagis intentis utilizar sistemas libres. Esto
asegura que
ualquiera pueda ha
er lo que se des
ribe en vuestros art
ulos sin tener que desembolsar una
antidad de dinero desorbitada y adems
ontribuye al progreso de la
ultura.
La segunda es que esta revista no es de informti
a, sino de te
nologa. Tampo-
Razor Team
ti a, pero eso no quiere de ir que art ulos sobre ele trni a, omuni a iones
si no tienes una remota idea de lo que ests ha iendo quizs deberas pararte
y preguntar antes de
argarte algo. Por otra parte que sepis que no tenemos
ni un duro as que por mu
ho que demandis vais apaados.
USA.
3| OCCAM's Razor
RATAS DE BIBLIOTECA
heros o in
luso dire
torios enteros
uando empezamos a ir es
asos de espa
io en dis
o. Normalmente,
uando queremos re
uperar los datos
omprimidos, primero los des
omprimimos y luego los usamos. No sera estupendo eliminarnos
este paso?
Mu hos
en
los
sistemas
GNU/Linux existen varios programas
apa
es de trabajar dire
tamente
on
heros
omprimidos,
omo
por ejemplo gv (visor de posts
ript) o vim (editor de
textos). Lejos de lo que podra pare
er a simple vista, aadir esta fun
ionalidad a nuestros programas es
mu
ho ms f
il de lo que nos imaginamos gra
ias a
la librera libz.so.
GRABANDO FICHEROS
El siguiente fragmento de
digo muestra
omo generar un
hero
omprimido utilizando la librera zlib:
sin ms.
int main ()
{
gzFile f;
f = gzopen (``mi_fi
hero.txt.gz'', ``wt'');
for (int i = 0; i < 20; i++)
gzprintf (f, ``Hello World %d\n'', i);
gz
lose(f);
Y QUE MS?
Pues para los ms
uriosos que quieran sa
arle todo
el jugo a esta librera, lo mejor que pueden ha
er es
mirarse el
hero zlib.h que normalmente estar en el
dire
torio
/usr/in lude.
Este hero ontiene todos los prototipos y estru turas de datos utilizados por la librera on amplios
return 0;
}
En el ejemplo anterior se han omitido todas las
omproba
iones de errores, para poder
on
entrarnos en
el uso de la librera. La verdad es que
ualquiera que
haya es
rito un programa para grabar un
hero de
texto en C lo ver
laro :).
Para
ompilar este ejemplo, debemos indi
ar que se
utili
e la librera zlib, esto lo
onseguimos
on una
las fun iones que hemos visto en los ejemplos anteriores, y unas uantas ms que os resultarn muy familiares.
CARGANDO FICHEROS
z_ejemplo.
nuestros programas.
lizado.
Hasta el prximo nmero.
OCCAM's Razor | 4
zlib.h
MALAS BESTIAS
http://127.0.0.1:8080
Net
at os mostrar por
onsola algo pare
ido a la gura 1.
NETCAT: n
Bueno, pues todo eso que veis ah abajo es la informa in que enva vuestro navegador ada vez que os
En po o ms de 17Kb (pare e rid ulo no?) esta herramienta es apaz de realizar autnti as proezas on
<h1>Hola Mundo!!!</h1>
LO BSICO
Para abrir bo
a vamos a presentar el uso ms bsi
o
que el programa
MENSAJERA INSTANTNEA
telnet,
nombre o dire
in IP de la mquina a la que queremos
one
tarnos seguida del puerto que queremos
utilizar.
Cuando se utiliza
omo servidor es ne
esario utilizar
el ag
-l
y el ag
-p
n -l -p 8080
GET / HTTP/1.1
Host: 127.0.0.1:8080
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Ge
ko/20050513 Debian/1.7.8-1
A
ept:text/xml,appli
ation/xml,appli
ation/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
A
ept-En
oding: gzip,deflate
A
ept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Conne
tion: keep-alive
Figura 1. Datos enviados por nuestro browser
5| OCCAM's Razor
MALAS BESTIAS
dd
Usuario 1: n
-l -p 5000
Usuario 2: n
IP_USUARIO1 5000
Si
en otra
IP_USUARIO1
por
127.0.0.1.
Sen
illo no?... No est nada mal para 17Kb.
REDIRECCIN REMOTA
# mkdir /mnt/el_viejo
# mount -o loop parti
ion1.iso /mnt/el_viejo
Y en
Maquina4:
Maquina3:
Maquina2:
Maquina1:
n
n
n
n
De
forma
Quien ne
esita el ftp para sa
ar
hero de una mquina?. Si ya, diris. Pero eso son solo unas po
as lneas
de texto... o no?
esta
puerto_destino de
nos
one taramos
al
puerto
As que por qu perder el tiempo sele
ionando
heros para que siempre se nos olvide algn dire
torio o
ulto
on las
laves privadas que ne
esitas para...
bueno, eso no tiene importan
ia.
Pues nada ms sen
illo. En nuestro nuevo ordenador
eje
utamos net
at de la siguiente forma:
PUERTAS TRASERAS
Una puerta trasera, ms
ono
ida por su trmino anglosajn ba
kdoor, es
ualquier me
anismo que permita un a
eso sen
illo a un sistema si se sabe
ual es la
puerta.
Normalmente su utilidad es la de propor
ionar un a
eso rpido a los malvados
ra
kers a las mquinas
Y en nuestro obsoleto ordenador que vamos a va apear :), eje utaremos algo omo esto:
OCCAM's Razor | 6
la mquina.
MALAS BESTIAS
n
-l -p 5000 -
/bin/sh
La op
in
HORA BOT
Hasta ahora hemos estado utilizando net
at dire
tamente desde la lnea de
omandos, sin embargo,
om-
ESCANEANDO PUERTOS
anal.
#!/bin/sh
while (true) do
HORA=`date +%H:%M`
# n
-z maquina 80 && e
ho ``Servi
io Web A
tivo''
at << EOM | n
servidor_ir
6667
USER HoraBot 0 * :Soy el Bot que da la hora
Es de
ir, NetCat retorna un
digo de error si no pue- NICK HoraBot
JOIN #un_
anal_
ualquiera
de estable
er una
onexin. Los
ara
teres && reprePRIVMSG #un_
anal_
ualquiera : Son las $HORA y sereno
sentan el operador AND lgi
o para la shell, el
ual
QUIT
tiene la pe
uliaridad de que si el primer operando es
EOM
0 falso, ya no evala el segundo (no es ne
esario,
sleep 300
ya que el resultado ser falso independientemente del done;
As, si net at no puede estable er la onexin y devuelve un digo de error, el siguiente omando, el
es aneador de puertos.
7| OCCAM's Razor
MALAS BESTIAS
Los interesados en el proto
olo del IRC pueden dirigirse al RFC apropiado, o esperar a que hagamos un
art
ulo guay en la revista, all tu y tu impa
ien
ia.
Respe
to a este ltimo ejemplo,
omentaros que en
algunos servidores de IRC requieren un mensaje
PONG
PARA TERMINAR
En este pequeo art
ulo hemos visto algunas apli
a
iones ms o menos
uriosas y/o tiles del programa
net
at. En la propia distribu
in del programa podris en
ontrar un dire
torio
on varios s
ripts que
ha
en
osas ms
ompli
adas que las que hemos des
rito aqu, y tambin mu
ho ms interesantes.
Re
ordaros, una vez ms, que net
at es uno de esos
programas que mere
e la pena estudiar y
on el que se
pueden aprender unas
uantas
osas sobre
omo desarrollar apli
a
iones en red, si bien, el estilo del
digo
es un po
o para gustos.
LECTORES
Re
ordad que podis enviarnos vuestros experimentos
on net
at, y los ms interesantes,
uriosos y gays los publi
aremos en el prximo
nmero.
Todava somos pobres para ha
er
on
ursos hasta que
onsigamos patro
inadores
on pasta...
Pero bueno, por lo que te ha
ostado esta revista
te puedes estirar un po
o no?
Podis enviar vuestras propuestas a:
o
ams-razoruvigo.es
A domar esta mala bestia
OCCAM's Razor | 8
REVERSO TENEBROSO
por Er ATS
AC_INIT
AM_INIT_AUTOMAKE(inje
tion, 0.0.1)
n esta primera in
ursin en los entresijos
AM_CONFIG_HEADER(
onfig.h)
AM_MAINTAINER_MODE
AC_PROG_CC
AC_HEADER_STDC()
AC_PROG_LIBTOOL
AC_OUTPUT(Makefile)
LIBRERAS DINMICAS
$ ldd /bin/e
ho
lib
.so.6 => /lib/tls/lib
.so.6 (0x4002b000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$
e ho.
ldd.
ldd
instalar.
Ahora solo nos queda eje utar las autotools para onseguir un ongure y poder ompilar nuestro digo
a
lo
al
libtoolize --for
e --
opy
autoheader
automake --add-missing --
opy --foreign --in
lude-deps
auto
onf
Es habitual in
luir los
omandos anteriores en un shell
librera.
9| OCCAM's Razor
REVERSO TENEBROSO
LD_PRELOAD
Para
omprender el siguiente ejemplo, primero debemos
ono er
el
uso
de
la
variable de
entorno
LD_PRELOAD que ser la forma de inye
tar nuestro
digo en la apli
a
in.
La variable de entorno
LD_PRELOAD permite
forzar la
#in
lude
#in
lude
#in
lude
FILE
fopen
{
FILE
if
printf
onst
har
onst
har
onst
har
path ,
( real_fopen ) (
( path ,
mode )
( " fopen_wrapper :
fprintf
return
return
onst har
E n t r a n d o \ n" ) ;
" /tmp" ,
4 ) == 0 )
Consigue
( stderr ,
" A
eso
path ) ;
NULL;
el
puntero
r e a l _ f o p e n = dlsym
real_fopen
al
fopen
(RTLD_NEXT,
( path ,
real
mode ) ;
MICRO-SANDBOX
fun in
fopen original.
fopen
usado la fun in
fun in
omando
niendo el puntero al
dlsym
fopen
y hemos
LD_PRELOAD
vamos a montar
/tmp. S, esto es un po o
fopen
que ompruebe el
nombre del hero y en el aso de tratarse del dire torio tmp retorne un error.
UN NUEVO FOPEN
Editamos nuestro
hero inje
tor.
y aadimos el
digo siguiente:
OCCAM's Razor | 10
);
posteriormente.
< d l f n . h>
( strn mp
< s t d i o . h>
< s t r i n g . h>
mos el
hero inje
tor1.
idnti
o al primero, pero modi
ando el mensaje del primer printf para que podamos identi
ar que el programa a pasado por ese
punto. Eso os lo dejamos a vosotros.
REVERSO TENEBROSO
UN PROGRAMA DE EJEMPLO
Ahora solo tenemos que es
ribir un sen
illo programa de ejemplo que use la fun
in fopen para probar
nuestro mi
ro-sandbox. Algo
omo esto:
#in
lude
int
onst
har
(
if
Ahora vamos a ver si nuestra adena de wrappers fun iona orre tamente.
( ( f = fopen
fprintf
( fname ,
( stderr ,
"No puedo
else
fname )
FILE
< s t d i o . h>
test
abrir
fi hero
fname ) ;
$ rm /tmp/preload_test.test
$ LD_PRELOAD=.libs/libinje
tor.so:.libs/libinje
tor1.so ./test
fopen_wrapper: Entrando
fopen_wrapper: A
esso Denegado a '/tmp/preload_test.test'
No puedo abrir fi
hero '/tmp/preload_test.test'
fopen_wrapper: Entrando
fopen_wrapper1: Entrando
fprintf
f
lose
(f ,
Vemos que, en el aso de que todo sea orre to, adems pasamos por la segunda librera, omo demuestra
( f );
int
main
()
{
test
test
return
0;
OTRAS APLICACIONES
Como os podis imaginar, los usos de
1, 2, 3, responda otra vez:
Sandboxes
Cifrado/ ompresin/manipula in
veamos el resultado.
Lo primero que ha
emos es eje
utar nuestro programa de test normalmente y
omprobar que se genera
un
hero en /tmp y otro en nuestro dire
torio a
tual.
$ ./test
$ ls /tmp
preload_test.test
Ahora probemos nuestro mi
ro-sandbox. No olvidis
borrar el
hero de ejemplo de /tmp.
$ rm /tmp/preload_test.test
$ LD_PRELOAD=.libs/libinje
tor.so ./test
fopen_wrapper: Entrando
fopen_wrapper: A
esso Denegado a '/tmp/preload_test.test'
No puedo abrir fi
hero '/tmp/preload_test.test'
fopen_wrapper: Entrando
general
en
de heros
do!!!.
Compilamos on el tpi o
LD_PRELOAD son
Paraleliza
in de Tareas
Con todo lo que hemos
omentado hasta el momento,
podis investigar por vosotros mismos
ualquiera de
estas apli
a
iones, y seguro que en el trabajo diario
apare
ern posibles usos de esta t
ni
a.
RESUMIENDO...
En este pequeo art
ulo hemos visto
omo utilizar la
variable de entorno LD_PRELOAD para modi
ar
el
omportamiento de una librera dinmi
a. Hemos
visto
omo
rear un sen
illo sandbox y apuntado algunas ideas de
omo apli
ar lo que hemos aprendido.
No reparis en enviarnos
ualquier apli
a
in gay. No
desesperis, en prximas entregas seremos ms malos
:*
M RPIDO
buena ele in
o.
inetd. EL SUPERDEMONIO
stdin Y stdout
El superdemonio inetd nos permite rear servi ios muy rpidamente
inframundo, amiguitos del superdemonio inetd, realmente se trata de la entrada y salida estndar. La entrada/salida estndar por defe
to se aso
ia a la
onsola, as, la entrada estndar se aso
ia al te
lado, mientras que la salida estndar a la pantalla de nuestro
terminal.
el
ident
identd
de esta lnea.
La
olumna 1 indi
a el puerto en el que se instalar el servi
io. En este
aso, se est utilizando
OCCAM's Razor | 12
M RPIDO
mola no?.
UN SERVIDOR DE e ho
onsola.
estndar.
#in
lude
int
har
#in
lude
int
int
har
int
< s t d i o . h>
main ( )
buffer [1024;
gets
main (
( buffer );
printf
( " %s " ,
<u n i s t d . h>
har
arg ,
buffer );
argv
[)
buffer [1024;
len ;
len = read
write
return
(1 ,
(0 ,
buffer ,
buffer ,
1024);
len ) ;
0;
o
amrazor:/tmp$ make e
ho
e
ho.
-o e
ho
/tmp/
bhjBK1.o(.text+0x1d): In fun
tion `main':
: warning: the `gets' fun
tion is dangerous
and should not be used.
CUESTIN DE TAMAO
nemos en la
ompila
in (muy pronto
are
er de inters),
ambiamos el propietario de nuestro servi
io e
informamos a inetd del nuevo servi
io que queremos
que gestione, tras lo
ual lo reini
iamos para que se
entere.
o
amrazor:tmp$ ls -lh
total 12K
-rwxr-xr-x 1 edma edma 12K Apr 20 20:48 e
ho
o
amrazor:tmp$ strip e
ho; ls -lh
total 3K
-rwxr-xr-x 1 edma edma 3.0K Apr 20 20:49 e
ho
Un tamao rid
ulo para los tiempos que
orren, pero
y si lo pudiramos dejar en unos po
o bytes, por ejem-
$ |=1;
man
:).
$_ = <>;
o
amrazor:tmp$ ls -lh
total 38
-rw-r--r-- 1 edma edma
o
amrazor:tmp$
M RPIDO
; ;
Servi io
; ;
( )
ECHO p a r a
O am ' s
Razor ,
usar
on
inetd
2006
; ;
; ;
ompilar
; ;
nasm
; ;
ld
on :
f e l f e
ho.asm
s o e
h o e
h o . o
se tion
.text
global
_start
Requerido
Punto
de
stdin
>
Llamada
por
el
linker
( ld )
_start :
mov
mov
xor
mov
int
; ;
SERVICE_PATH=$HOME
at
el
fi hero
fuente
main
buffer [1024;
int
len ;
len =
write
()
har
read
(1 ,
return
buffer ,
buffer ,
borra
el
fi hero
fuente
rm $SERVICE_PATH/ e
h o _ s e r v i
e .
# Configuramos
inetd
stream
t p
nowait
root
0
al
sistema
read
0 x80
Es ribir
salida
stdout
Llamada
al
sistema
write
Llamada
al
sistema
exit
>
,1
Se in
de
Datos
no
Ini ializados
.bss
resb
1024
unsigned
har
bread [ 1 0 2 4 ;
$SERVICE_PATH/ e h o _ s e r v i e
" 8000
bread
g $SERVICE_PATH/ e h o _ s e r v i e .
e ho
1024
bread
len ) ;
0;
ompila
,
,
se tion
1024);
EOP
# Lo
programa
0 x80
; ;
(0 ,
al
0 x80
#i n l u d e < u n i s t d . h>
int
entrada
Entrada
in
ebx
mov eax
int
mov eax
int
; ;
# Crea
edx
e
x
ebx ebx
eax
Leer
inetd
para
/ e t / i n i t . d/ i n e t d
a tivar
servi io
restart
EN EL PRXIMO NMERO
Esto ha sido todo en esta entrega, en el prximo nme-
OCCAM's Razor | 14
EN LA PRCTICA
Eligiendo Ordenador
ese ra k.
EN LA PRCTICA
TODAVA MS PEQUEITOS
Siguiendo nuestro
amino ha
ia la nimiedad nos en
ontramos ordenadores todava ms pequeos
on un
tamao similar al de una unidad de dis
o de 3.5".
Realmente pequeos.
Este tipo de ordenador est orientado a su integra
in
en un sistema mayor
omo un elemento ms. Una
ara
tersti
a de este tipo de ordenadores es que no vamos a en
ontrar un
one
tor para el te
lado, el ratn
o el monitor, sino que nos en
ontraremos
on un montn de pines (algo as
omo el
one
tor IDE de nuestro
dis
o duro) que llevan todas esas seales y somos nosotros los en
argados de llevar
ada uno de ellos al
one
tor que ms nos apetez
a.
En general estos ordenadores se en
uentran en el interior de los routers ADSL o de los TiVOs que tenemos
en nuestra
asa. En la ltima se
in de este art
ulo
podris ver algunos modelos.
PC-104 Y PC-104+
sobre el ordenador.
OCCAM's Razor | 16
EN LA PRCTICA
CURIOSIDADES
Finalmente, y a modo de
uriosidad vamos a nombrar
un par de ordenadores ms bien pequeitos y que son
apa
es de
orrer GNU/Linux.
Pi
oTux. A simple vista, Pi
oTux es un
one
tor
de red RJ45, pero en realidad se trata de un linux embebido en un mi
ro
ontrolador. Pi
oTux,
adems del interfaz de red f
ilmente identi
able dispone de un puerto serie de alta velo
idad
y un nmero redu
ido de lneas de entrada/salida.
www.u
linux.org/
Mini-ITX. Las pla
as mini-ITX se han popularizado
on los re
ientes barebones y ordenadores de saln. Su redu
ido tamao (170mm x
170mm) y bajo nivel de ruido las ha
en espe
ialmente interesantes para ponerlas en nuestro
saln.
http://www.mini-itx.
om/
Fox Board LX. Un
ompleto sistema linux en
una pla
a de 66 mm x 72 mm. La pla
a in
orpora un pro
esador ETRAX 100LX a 100 MHz. La
ompaa que distribuye la pla
a (ACME Systems y no es
a
hondeo) propor
iona un SDK
para el desarrollo de apli
a
iones sobre esta plataforma. El sistema propor
iona toda
lase de
interfa
es.
http://www.a
mesystems.it/?id=4
La empresa Gumstix ofre
e pequeos ordenadores basados en pro
esadores PXA (Intel XS
ale)
y toda una serie de a
esorios que in
luyen varias tarjetas de expansin,
ajas para el montaje
de las pla
as, et
...
http://gumstix.
om/
La empresa Soekris tambin
omer
ializa pequeos sistemas espe
ialmente orientados al desarrollo de sistemas de red
omo routers. Estas
pla
as tambin tienen un tamao que vara
on
el modelo. El tamao de su pla
a net4801 es de
13.2
m x 14.4
m.
http://soekris. om/
DOSSIER
por tele omuni a in al a to de ser apaz de transmitir informa in a otras personas situadas a una diso
alumnos
lizan
ha
e
de
para
mu ho
visit
el
tele
omuni
a
in
omentar
temas
foro
de
de
que
Vigo
la
los
uti-
Es uela
experimental.
Las teoras: se trata de aquellas
ontribu
iones
aunque antes haban existido omo pre ursoras las es uelas de telegrastas del ejr ito, lo que onvierte a
ria.
EL TELGRAFO
Dada nuestra deni
in de tele
omuni
a
in, se podra de
ir que el
orreo postal fue el primer sistema
de tele
omuni
a
in. Eso es
ierto, pero slo vamos a
entender
omo verdaderos sistemas de tele
omuni
a
in aquellos
apa
es de enviar la informa
in a mayor
velo
idad que un humano. Esta salvedad es a
eptada
por mu
hos pero puede ser polmi
a. Los ingenieros
disean y analizan
omo un
anal de
omuni
a
iones
los medios de graba
in (una
inta: medio magnti
o,
emisor a re eptor.
pti as).
OCCAM's Razor | 18
DOSSIER
EL TELFONO
De nuevo apare
e el prejo tele. TELFONO =
VOZ A DISTANCIA. Al ser
apaz de transportar el
medio de
omuni
a
in humana fundamental (la voz),
la telefona ha sido durante ms de 100 aos el sistema de tele
omuni
a
in ms usado (y, probablemente,
sigue sindolo hoy da).
El telfono es un invento
uya historia est salpi
ada
por la polmi
a. Antonio Meu
i fue un italiano (na
ido en Floren
ia en 1808) que emigr al nuevo mundo:
se estable
i en Cuba en 1835 y, despus, en Nueva
York en 1850.
En 1855 Meu
i fue
apaz de unir por voz dos habi-
tan ia).
1. Human desarroll ms de
ien aos despus (1952) un mtodo sistemti
o para
rear
digos prejo ptimos.
2. El Fran
s Emile Baudot invent el teletipo en 1874. Bsi
amente es un telgrafo avanzado donde los bits se agrupaban de 5 en 5. El resultado era una espe
ie de mquina de es
ribir que transmita una
opia al otro extremo al
tiempo que se te
leaba.
DOSSIER
LA RADIO
Entendemos por radio
omuni
a
in el empleo para la
omuni
a
in de ondas ele
tromagnti
as que se propagan en el aire. El dispositivo
ru
ial para la radio
es pues la antena.
Es dif
il atribuir a una sola persona la inven
in de
Figura
an e enorme).
o ano Atlnti o.
EL TRIODO Y EL TRANSISTOR
Uno de los mayores inventores de la historia, Thomas
Alva Edison, estaba realizando experimentos
on su
invento ms
ono
ido (la bombilla)
uando des
ubri
que
iertos metales en el va
o eran
apa
es de emi-
en Roma en 1937).
El prin
ipio heterodino, estable
e la t
ni
a de modula
in analgi
a basada en introdu
ir dos seales en un dispositivo no
lineal para lograr obtener (por ltrado) el produ
to de ambas a la salida.
El superheterodino es un re
eptor en dos fases: primero se baja la seal a una fre
uen
ia intermedia (
onstante) para
despus realizar la demodula
in propiamente di
ha.
OCCAM's Razor | 20
DOSSIER
Figura 5: Vlvula de Va o
los re eptores.
los 50
LA TELEVISIN
INTERNET
A propsito (repito que esta es una versin personal),
no he in
luido el ordenador. Como he di
ho mu
has
miento.
DOSSIER
mundo innito.
OCCAM's Razor | 22
DOSSIER
LAS TEORAS
Y ahora vamos a repasar las teoras... Una buena pregunta es Por qu vienen despus? Realmente, es porque se me o
urri in
luirlas aparte
uando ya haba
empezado
on los inventos. Alguien puede pensar que
tengo tenden
ia a valorar ms las investiga
iones pr
ti
as, puede ser que s y que mi in
ons
iente me haya
trai
ionado. Re
ordad:
A ve
es, el ser humano ve la punta del i
eberg y puede aprove
harla (
rear un invento o desarrollo til).
As se empezaron a explotar los sistemas el
tri
os
sin
omprender bien sus leyes. Sin embargo si no se
desarrolla una teora que explique el i
eberg
ompleto, nun
a se dominar realmente el fenmeno ni se
aprove
har ms que super
ialmente.
LA TRANSFORMADA DE FOURIER Y
EL ANLISIS ESPECTRAL
Jean-Baptiste-Joseph Fourier (na
ido en Auxerre en
1768, muerto en Pars en 1830 en Pars) tuvo una vida ajetreada
omo militar y polti
o en la po
a de
Napolen.
muni
a
in
onsidera tan natural manejar las transforma
iones de Fourier
omo sumar y restar. Podramos de
ir que es la teora fundamental que permite
analizar todas las seales y su pro
esado.
Las transformadas de Fourier permiten entender las
modula
iones usadas en radio y televisin. Permiten
prede
ir las
onse
uen
ias que algunos pro
esados que
ha
e el sistema telefni
o van a tener sobre la voz... Si
tuviramos que elegir un patrn humano de la tele
omuni
a
in Fourier sera un serio
andidato (Nuestro
patrn o
ial (y divino) es el ar
ngel Gabriel, el mensajero).
LA TEORA DE LA INFORMACIN
Figura 7: Joseph Fourier
DOSSIER
FINAL
5.1).
Shannon pas quin
e aos en los laboratorios Bell (ver
Cuadro 5.2), donde trabaj
on grandes
ient
os
o-
a: fmartinuvigo.es.
CUADRO 5: MS INFORMACIN
1. Los
ir
uitos digitales no trabajan
on seales
ontinuas
omo los analgi
os. Se trata de
tratar
on valores numri
os generalmente expresados en base 2 (los dgitos posibles son 0
1, un dgito binario se llama bit: binary digit). Si os a un ingeniero fran
s hablar de
televisin o telefona numri
as se reere a sistemas digitales (in
luso hay libros tradu
idos
del fran
s que hablan de sistemas numri
os). No os pare
e que numri
o es un trmino
que di
e mu
ho ms que digital?
2. S, s, lo que pensis: el departamento de investiga
in de la empresa que fund Alexander
Graham Bell. Hoy da el gobierno norteameri
ano oblig a su divisin (para evitar monopolios) dando lugar a: Lu
ent Te
hnologies, AT&T, Bell Atlanti
, Southern Bell, Pa
i
Bell y
seguro que se me es
apa alguna.
3. Publi
ada en 1928 en el art
ulo Certain topi
s in Telegraph Transmission Theory. Ahora
se
ono
e
omo teorema del muestreo o teorema de Nyquist (en algunos libros teorema de
Nyquist-Shannon).
OCCAM's Razor | 24
DISTROS
GNU/Linux en USB
Una de las ventajas que tienen los sistemas GNU/Linux es que se pueden personalizar hasta extremos
in
on
ebibles. Uno de estos
asos es la mini distribu
in DSL (http://www.damnsmalllinux.org/) tam-
bin
ono
ida
omo Damn Small Linux, lo que se podra tradu
ir por Linux Malditamente Pequeo o algo
ms fuerte.
Segn la do umenta in de
syslinux
el modo re o-
mendado es USB-HDD, sin embargo,
iertas BIOS solo soportan el modo USB-ZIP en el que la tabla de
parti
iones del dispositivo USB debe tener un formato
espe
ial. Los ordenadores modernos suelen soportar el
POR QU DSL?
EXTENSIONES MYDSL
En realidad, hoy por hoy, existen un montn de distribu
iones que se pueden instalar en un dispositivo de
alma
enamiento USB de forma sen
illa y realmente no
hay mu
ha diferen
ia entre utilizar unas u otras. De
todas formas, respondiendo a la pregunta, podemos
de
ir:
problemas.
El propio sistema DSL in
orpora una herramienta gr
a para el manejo de estas extensiones que podis
en
ontrar en el men:
Appli
ationsToolsmyDSL Extension Browser
Tiene
sistema de
paquetes de
Estas extensiones tambin pueden ser argadas uando el sistema arran a, ya sea ongurando los parme-
extensin
LA FORMA FACILSIMA
La forma ms sen
illa de instalar DSL en un dispositivo externo USB es la siguiente:
Arran
a
on el Live-CD que puedes des
argarte
de
http://www.damnsmalllinux.org/
Tools
Install to Pen-Drive)
DISTROS
CREANDO EXTENSIONES
Una tarea interesante es
rear nuestras propias extensiones, de forma que podamos instalar nuestros programas en el dispositivo USB para eje
utarlos en otra
mquina, por ejemplo, a modo de demostra
in.
Los paquetes myDSL son simples
heros tar.gz que
se des
omprimen desde el dire
torio raz,
omo la mayora de los sistemas de paquetes. A modo de ejemplo,
vamos a
rear un paquete para nuestras pr
ti
as de
laboratorio de programa
in intempestiva. Los pasos
a seguir seran estos:
#
#
#
#
#
#
d /tmp
mkdir -p pkg/usr/lo
al/bin
mkdir -p pkg/usr/lo
al/sr
p pra
t1 par
t2 par
t3 pkg/usr/lo
al/bin
p pra
t1.
par
t2.
par
t3.
pkg/usr/lo
al/bin
tar
zvf intemps.dsl ./pkg
#
#
#
#
./
onfigure --prefix=/tmp/pkg
make && make install
d /tmp
tar
zvf intemps.dsl ./pkg
OTRAS VENTAJAS
en memoria RAM,
on lo que
onseguimos que nuestro sistema no tenga que a
eder al dispositivo USB
para nada y por tanto se eje
ute mu
ho ms rpido.
Para utilizar esta op
in, solamente tenemos que pasar el parmetro
qemu, una
HASTA LA PRXIMA
En este art
ulo os hemos
ontado algunas de las posibilidades que ofre
en las nuevas distribu
iones de
GNU/Linux,
entrndonos en un
aso
on
reto: DSL.
Como
omentbamos existen mu
has otras y las posibilidades de personaliza
in de estos sistemas son
OCCAM's Razor | 26
ELECTRNICA
PIC10F200
EL MS PEQUE DE MICROCHIP
CHIP. Desde ha
e unos 5 aos vengo probando ya unos
uantos tipos de mi
ro
ontroladores
PIC, pero tengo que re
ono
er que este ha sido
uno de los que ms ha despertado mi
uriosidad desde el momento en que vi el tipo de produ
to que era en la pgina web de Mi
ro
hip:
www.Mi
roChip.
om
Ya han pasado unos meses y, evidentemente, la
osa
Esta gente estaba apostando por un mi
ro
ontrolador
de presta
iones
asi rid
ulas, po
o menos que te daba la risa al ver el tipo de arquite
tura que tena. Sin
embargo, al mismo tiempo, te quedabas prendado de
esa simpli
idad
asi mxima, y al instante la siguiente
pregunta era: Bueno, ... y esto ...
unto
uesta?
Pues la respuesta fue que el PIC10F200 se poda
onseguir al pre
io de 47
ntimos de euro si peda una
tandada de 26 unidades junto
on otro pedido lo su
ientemente grande
omo para que los portes de envo
no enmas
arasen el pre
io del produ
to. Yo la verdad
ELECTRNICA
EL PATILLAJE
En la siguiente imagen podemos ver un esquema del
patillaje del 10F200,
on sus 4 puertos de entrada/salida. Salvo el GP3, que slo puede fun
ionar
omo
entrada o pin de RESET por nivel bajo, segn se
ongure,
ualquiera de los otros 3 pines se puede
ongurar
omo entrada o
omo salida. Adems en estos 3
ltimos pines (GP2, GP1 y GP0) se puede
olo
ar un
pull-ip interno de unos 10 K, evitando
omponentes
externos.
ALGUNAS APLICACIONES
As y todo, para ha
er multitud de tonteras sigue
apli a in
interesante que le he dado ha sido la de
argar los registros de un PLL de a
eso por bus serie de 3 hilos
( Lat
h Enable, Clo
k y Data ) para un ADF4360 de
Analog Devi
es, para un trabajito para Fernando Isasi, otro entusiasta del Hardware de la Universidad de
Vigo, y padrino te
nolgi
o de mu
hos de nosotros.
Y la 2
INSTRUCCIONES Y MEMORIA
omer ial.
OCCAM's Razor | 28
ELECTRNICA
UN EJEMPLO
bueno para mi
ro
ontroladores PIC, aunque por desgra
ia tiene una interfaz
on el usuario que podra
llevarse todos los primeros premios habidos y por haber para el programa informti
o menos intuitivo del
mer
ado. La verdad es que an no he
ono
ido a nadie que haya logrado no
abrearse al empezar a ha
er
osas
on el Proteus, lo
ual tiene mrito (negativo...,
pero mrito).
:020000040000FA
:100000007000090C06000F0C020005050607260407
:0600100006062605060AA3
:021FFE00EB0FE7
:00000001FF
Y a
ontinua
in un esquema para ver
on
laridad lo
CarlosAlemparteuvigo.es
;
;
;
;
;
LIST
__CONFIG
PULSADOR GPIO, 0
LED
GPIO, 1
; pin 1
; pin 3
UNA_VARIABLE
INI
ORG 0000H
CLRF UNA_VARIABLE
MOVLW B ' 00001001 '
TRIS GPIO
MOVLW B ' 00001111 '
OPTION
BSF
OSCCAL, FOSC4
;
;
;
;
;
;
;
;
;
; i n d i a a l ensamblador e l f i n a l d e l di g o f u e n t e
TRUCOS
Perl.
perl
rramienta
O de forma ms breve utilizando el ag -n que simplemente
omparando estos dos ejemplos sabris qu
ha
e.
perl
ne
gnuplot
dos:
# w
l t e x t . dat
25
# gnuplot
gnuplot > p l o t [ t =1:25 " t e s t . t x t " u s i n g ( $2 )
Si nuestro
hero tuviera dos
olumnas en las que la
# w
l t e x t . dat
25
# gnuplot
gnuplot > p l o t " t e s t . t x t " u s i n g ( $1 ) : ( $2 ) with l i n e s
awk
on una
with lines).
lnea omo
o ams-razoruvigo.es
#
#
#
#
Re
uerda que debes ser root para eje
utar los
omandos del ejemplo 3 y no olvides desmontar el dispositivo
uando hayas terminado
on l.
CONTROL + V y
OCCAM's Razor | 30
CONSULTORIO
Pregntale a OCCAM
1. Ignora
las
seales
SIGCHLD
utilizando el omando
(SIGCHLD, SIG_IGN);
signal
2. In orpora un manejador de la
todo on un
Lina Porgan
wait
Lapatalo a
le
in de O
am's Razor.
Una Tauro
Talavera
Empezando on Linux
Jenny
Windowsland
el Zero.
muy sen illa, solo sigue las instru iones que te dan en:
Esas riaturas
Estimada Jenny. Claro que puedes teello tienes varias op iones. Quizs la
iones.
de
zombies...
VanHelsing
Talansilvania
Estimado Van, para terminar
on tu
pesadilla de los no-muertos, puedes
utilizar
ualquiera de las dos t
ni
as
TIENES ALGUNA
DUDA?
Enviadnos vuestras preguntas te
nolgi
as e intentaremos ha
er lo
que podamos, para a
larar
ualquier duda.
Podis enviarlas a:
o ams-razoruvigo.es
EVENTOS DE INTERS