¿ldconfig en solaris? No, es crle

Pues así es, lo que generalmente hacíamos con ldconfig en *BSD/Linux con el comando ldconfig lo tenemos que hacer en Solaris con el comando crle porque ldconfig no existe como comando en Solaris, el archivo de configuracion que utiliza crle si que es el /var/ld/ld.config para librerías de 32 bits y /var/ld/64/ld.config, para agregar un directorio donde están las librerías dinámicas hacemos:

crle -u -l PATH_DE_LIBRERIA

tener cuidado con esto, si no ponemos -u (update) se borra el archivo de configuración y se crea uno nuevo, si se borran las rutas por defecto del archivo de configuracion algunos (MUCHOS) binarios no podrán encontrar las librerías dinámicas que utilicen u dejaran de funcionar -_-

Posted under Solaris, Unix by admin on Friday 18 September 2009 at 9:58 am

OpenBSD Release Song 4.6 “Planet of the Users”

Welcome to the future
One very rich man
runs the Earth with
one multinational
owns your stuff
and owns your birth

Everyone is armless
Personal robots
Do it all for you
Sitting on your slug head
One channel TV
never gonna bore you

CHORUS
Does it sound like a paradise
or a way to die
while alive and a loser
I’m a man from the open past
And I’ll never last
on the Planet of the Users

Everyone is happy
No more government
No more media
Only the Company
Entertains you
while it feeds you

Soylent Green pap
Eating your friends while
shopping, buying
Stupid applications
Obsolete before you try them

CHORUS

Take me back
Take me back
Please
Take me back

Way back in my time
Open source kept
everyone choosing
People knew the insides
Of devices they were using

Hackers had a doorway
Now it’s locked and
dumbed down so much
One button coma
Stop the future truly outta touch

CHORUS

OpenBSD song

OpenBSD song

I want to listen this great song.

Posted under *BSD, Funny, OpenBSD, Operating Systems, Unix by admin on Wednesday 16 September 2009 at 3:00 pm

George’s Secret Key to the Universe by Lucy and Stephen Hawking

Hace unos días que viajé desde la ciudad de México a mi ciudad natal compre una revista de “divulgación científica” (la divulgación científica ya no es lo que solía ser hace 13-14 años), la revista traía entre otras cosas una entrevista al físico teórico Stephen Hawking junto con su hija lucy Hawking, el tema era la relación laboral que existe entre ellos dos, y es que fue así como me enteré de que Stephen Hawking escribió en colaboración con su hija una historieta cómica sobre aventuras atravez del espacio desde una perspectiva de la física.

A continuación algunos fragmentos de la entrevista que me parecieron muy interesantes/divertidos:

Lucy, cuentanos acerga de Goerge y la caza del tesoro cosmico:

Es una obra sobre aventuras y fisica. El pequeño héroe Goerge parte a un viaje por el sistema solar y mas alla. Sigue una serie de pistas en pos de un tesoro cosmico con ayuda de Cosmos, la super computadora del vecino, que constituye una puerta al Universo. La pregunta esencial del libro es “¿hay alguien ahi?”, uno de los tres grandes temas que mi padre quiere tratar en las hobras infantiles que elaboremos conjuntamente. “¿que ocurre dentro de un agujero negro?” es el tema del anterior, y “¿Que ocurrió en el big bang?” el del próximo.

El libro incluye una descripción muy graciosa de una fiesta de “vístete de tu objeto espacial favorito”. ¿Ustedes la inventaron?

No, no del todo! Tomé la idea de una fiesta de nochevieja que celebró mi padre hace algunos años, tengo una foto estupenda de él vestido de alienigena, con un traje de fieltro verde. Pidió que le programaran una voz especial en su dispositivo de voz y se paseo por la fiesta diciendo: “Llevenme ante su líder”. Además tal y como contamos en el libro, hubo un científico que iba de rojo y se ponía junto a la gente, y se apartaba antes de pedirles que averiguaran lo que era. Se había vestido del desplazamiento hacia el rojo, el efecto por el cual la radiación electromagnética de los objetos lejanos se desplaza hacia el extremo rojo del espectro como resultado del movimiento que los aparta de la tierra.

¿En su casa hablaban de agujeros negros durante la cena?

Sí, mucho. Yo me crié en Cambridge y en casa siempre había físicos que venían a cenar y a hablar de su trabajo. En la fiesta de cumpleaños de mi padre de este año, un físico intentaba construir un agujero negro con un globo y unas medias.

Parece como si esa colaboración hubiese cambiado su relación.

Si, nunca se me ocurrió que trabajaríamos juntos. Muchas veces hiba a su casa y le leía fragmentos del texto durante la cena. Un dia mientras le leia los primeros capitulos del libro, le dio un ataque de risa que dos personas tuvieron que levantarlo porque se cayó de la silla, creo que jamás le habia visto reírse así. Ha sido una delicia trabajar con él por su claridad de pensamiento y su capacidad de expresar las cosas con sencilles. Por supuesto, el escribirlo todo con ayuda de su comunicador especial le ha resultado una tarea bastante costosa.

Lucy and Stephen Hawking

Lucy and Stephen Hawking

La verdad que despues de leer toda la entrevista no puedo dejar de imaginar que tan Interesante/divertido seria poder convivir con cientificos de este calibre, en fin para los que quieran saber mas sobre esta obra de Stephen Hawking pueden consultar la siguiente direccion de internet:

http://www.georgessecretkey.com/

Para los que esten interesados en comprar el libro aquí estan los datos del mismo:

Titulo Original:George’s Cosmic Treasure Hunt.
EAN: 9780385611909
Format: Hardback
Published: 2 Apr 2009

Para los que quieran leer la entrevista completa la pueden encontrar en la revista Quo N°114 Agosto del 2009.

Creo que este libro es de esos que no podré dejar pasar ……. :D

George's cosmic treasure hunt

George's cosmic treasure hunt

PD: El efecto del desplazamiento hacia el rojo del que se  habla en la entrevista se llama efecto dopler,  si, el mismo efecto dopler del sonido tambien afecta a la luz, pues la luz es una onda, cuando los objetos se alejan a velocidades muy grandes la amplitud de las ondas se agranda como si fuera un resorte que se estira, las ondas de luz de amplitud grande se ven de color rojo, las ondas con amplitudes pequeñas se ven de color azul y es asi como en la astronomia se sabe si un objeto se acerca o se aleja.

Posted under Books, Funny, My boring life, My life, Phisic, Universe, science by Espartano on Saturday 5 September 2009 at 6:20 pm

Riding the micro wave signal (wpa_supplicant)

¿En alguna ocasión han necesitado unirse a una red wireless desde linea de comandos y pensaron que era algo imposible?

Hace unos días tuve la necesidad de asociar mi dispositivo wireless con una red inalámbrica desde linea de comandos, hace mucho tiempo lo había hecho pero no recordaba exactamente como, el problema aquí fue que la instalación de NanoBSD que tengo en mi maquina Alix no tenia las paginas del manual instaladas, (tengo otra memoria CF de 2G disponible pero no he tenido tiempo de crear la imagen), así es que me instale el FreeBSD en una maquina virtual en la laptop y leyendo y leyendo lo hice de la siguiente forma:

Editamos el archivo /etc/wpa_supplicant.conf

NanoBSD# ee /etc/wpa_supplicant.conf

network={
ssid=”MyHappyNet”
scan_ssid=0
mode=0
auth_alg=OPEN
key_mgmt=NONE
wep_tx_keyidx=0
wep_key0=2218972080
}

Donde:

  1. ssid es el nombre de la red
  2. scan_ssid es la técnica con la que wpa_supplicant escaneara las señales para buscar la red inalámbrica, 0 quiere decir scan mediante broadcast.
  3. mode con este parámetro indicamos: 0 = modo infraestructura (nos conectaremos a un AP), 1 = adhoc
  4. auth_alg algoritmo utilizado para el intercambio de claves, usaremos OPEN pero podría ser SHARED
  5. key_mgmt lo ponemos a NONE para indicar que nos autentificaremos mediante una clave wep
  6. wep_key0 especificamos la clave wep

Teniendo todo esto configurado guardamos el archivo y ejecutamos:

NanoBSD# wpa_supplicant -i ath0 -d -c /etc/wpa_supplicant.conf
Initializing interface 'ath0' conf '/etc/wpa_supplicant.conf'
driver 'default' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' ->
'/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface='/var/run/wpa_supplicant'
ctrl_interface_group='wheel' (DEPRECATED)
Priority group 0
id=0 ssid='MyHappyNet'
Initializing interface (2) 'ath0'
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
Own MAC address: 00:0c:6d:da:aa:70
wpa_driver_bsd_set_wpa: enabled=1
wpa_driver_bsd_set_wpa_internal: wpa=3 privacy=1
wpa_driver_bsd_del_key: keyidx=0
wpa_driver_bsd_del_key: keyidx=1
wpa_driver_bsd_del_key: keyidx=2
wpa_driver_bsd_del_key: keyidx=3
wpa_driver_bsd_set_countermeasures: enabled=0
wpa_driver_bsd_set_drop_unencrypted: enabled=1
Setting scan request: 0 sec 100000 usec
ctrl_interface_group=0 (from group name 'wheel')
Added interface ath0
State: DISCONNECTED -> SCANNING
Starting AP scan (broadcast SSID)
Trying to get current scan results first without requesting a
new scan to speed up initial association
Received 0 bytes of scan results (0 BSSes)
Scan results: 0
Selecting BSS from priority group 0
Try to find WPA-enabled AP
Try to find non-WPA AP
.
.
.
.
Automatic auth_alg selection: 0x1
Overriding auth_alg selection: 0x1
wpa_driver_bsd_set_auth_alg alg 0x1 authmode 1
WPA: clearing AP WPA IE
WPA: clearing AP RSN IE
WPA: clearing own WPA/RSN IE
No keys have been configured - skip key clearing
wpa_driver_bsd_set_key: alg=WEP addr=ff:ff:ff:ff:ff:ff
key_idx=0 set_tx=1 seq_len=0 key_len=5
wpa_driver_bsd_set_drop_unencrypted: enabled=1
State: SCANNING -> ASSOCIATING
wpa_driver_bsd_associate: ssid 'MyHappyNet' wpa ie len 0
pairwise 1 group 1 key mgmt 2
wpa_driver_bsd_associate: set PRIVACY 1
Setting authentication timeout: 10 sec 0 usec
EAPOL: External notification - portControl=ForceAuthorized
State: ASSOCIATING -> ASSOCIATED
Associated to a new BSS: BSSID=01:13:84:92:44:69
Associated with 01:13:84:92:44:69
WPA: Association event - clear replay counter
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
EAPOL: External notification - portEnabled=1
EAPOL: SUPP_PAE entering state S_FORCE_AUTH
EAPOL: SUPP_BE entering state IDLE
Cancelling authentication timeout
State: ASSOCIATED -> COMPLETED
CTRL-EVENT-CONNECTED - Connection to 01:13:84:92:44:69
completed (auth) [id=0 id_str=]
Cancelling scan request

donde:

  1. -i especifica la interfaz de red a usar.
  2. -d Ejecuta wpa_supplicant en modo debug para que podamos ver los mensajes.
  3. -c Especifica el archivo de conflagración que tendrá que utilizar wpa_supplicant.

Si todo sale bien veremos el mensjae State: ASSOCIATED -> COMPLETED en la salida del comando wpa_supplicant que ejecutamos,  y  ya podremos obtener una ip del dhcpd que ejecuta el AP ejecutando el siguiente comando:

NanoBSD# dhclient ath0
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 4
DHCPOFFER from 192.168.1.254
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.254
bound to 192.168.1.74 -- renewal in 43200 seconds.

myipod# ping www.google.com
PING www.l.google.com (74.125.65.103): 56 data bytes
64 bytes from 74.125.65.103: icmp_seq=0 ttl=53 time=78.176 ms
64 bytes from 74.125.65.103: icmp_seq=1 ttl=53 time=76.772 ms
64 bytes from 74.125.65.103: icmp_seq=2 ttl=53 time=70.170 ms
64 bytes from 74.125.65.103: icmp_seq=3 ttl=53 time=77.684 ms
^C
--- www.l.google.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 70.170/75.701/78.176/3.233 ms
NanoBSD#

para que todo esto funcione a momento de reiniciar lo agregamos al archivo /etc/rc.conf de la siguiente forma:

ifconfig_ath0=”WPA DHCP”

Reiniciamos los dispositivos de red para ver que todo este correcto:

NanoBSD# /etc/rc.d/netif restart
Stopping network:Stopping wpa_supplicant.
lo0 vr0 vr1 vr2 ath0 enc0 pfsync0 pflog0.
Starting wpa_supplicant.
ath0: no link ........ got link
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.254
bound to 192.168.1.64 -- renewal in 43200 seconds.
NanoBSD#

En este momento tenemos todo listo y nuestra tarjeta de red wireless asociada al AP :)

Posted under FreeBSD, Manuales, Networking, Operating Systems, Unix, Wireless by Espartano on Thursday 27 August 2009 at 8:51 pm

I will to put you into jail bad boy (ezjail)

Ultimamente que tengo bastante tiempo libre (espero que eso cambie pronto) me di a la tarea de escribir un manual sobre ezjail, pensaba poner el manual en este espacio pues mi principal objetivo era convertirlo en un sitio mayormente técnico, pero debido a que el manual quedo algo extenso y además de que ya lo había publicado en otros dos sitios considero que está por demás volver a editarlo aquí, así es que si quieren ver el manual pueden dirigirse a uno de estos dos enlaces:

root# links http://sysadmin.org.mx

o

root# links http://www.bsd-peru.org

Que lo disfruten :)

freebsd_jail_t_shirt_by_spica2041

Posted under *BSD, FreeBSD, Manuales, ezjail by Espartano on Thursday 30 July 2009 at 11:44 pm

AC/DC + Tecnology Weapons

Buscando una cancion de AC/DC en youtube (Thunderstruk) me encontre con este vidéo y me di cuenta de algo que me dejó pensando sobre mi mismo, que si bien soy una persona totalmente pacifista no puedo negar que tengo una facinación enorme por las armas altamente tecnologicas, eso incluye aviones casa, tanques de guerra y submarinos de ultima generación, porque pese a quien le pese el ejercito es de las entidad que más tecnología desarrolla e implementa, aquí el video en cuestion:

Posted under My boring life, My life by Espartano on Wednesday 29 July 2009 at 5:13 pm

Don’t Be shy, let me know your choices, getopt();

Cuando se escriben programas para línea de comandos (programas de consola) es muy común tener que implementar una forma de parametrizar dicho programa al inicio, esto se logra pasando argumentos en la linea de comandos (Unix) al momento de ejecutar nuestro programa, en un principio solía escribir todo el código necesario para reconocer todos y cada uno de los argumentos, esto implicaba tener que recorrer un String analizando si existía en determinado String cada uno de los flags permitidos por el programa y analizar si el valor de dicho flag era valido para ese mismo flag, si bien esa tarea no es difícil si que es tediosa (al menos para mi que no me gustan las tareas repetitivas). Afortunadamente si estamos escribiendo nuestro programa en lenguaje C contamos con la función getopt() de la librería  <unistd.h> que nos simplificará muchísimo la tarea.

La funcion getopt(); tiene la siguiente sintaxis:

int  getopt(int argc, char * const argv[], const char *optstring);

Donde argc es un entero que representa el número de argumentos pasados al metodo main, *argv[] es el array de Strings pasados al metodo main,  y *optstring es un String que representa la configuración de que flags espera procesar la fución getopt() y si dichos flags deben tener un valor asociado o no.

La funcion getopt() regresa un entero que representa la opción actualmente procesada o -1 en caso de haber terminado de analizar todo el array de Strings determinado por el parametro *argv[],  cada vez que la función es llamada se incrementa un indice interno que apunta a los diferentes elementos del array de Strings determinado por el argumento *argv[].

Ademas de lo anterior, la funcion getopt(); establece las siguientes variables externas:

extern char *optarg;
extern int optind;
extern int optopt;
extern int opterr;
extern int optreset;
  1. *optarg: Contiene el valor asociado a determinado flag si se ha espesificado que dicho flag admite valores, es decir, si se analiza el siguiente flag -f archivo.txt, *optarg contendra el valor archivo.txt
  2. optind: Contiene el indice del siguiente flag que se analizará en la siguiente llamada a la funcion getopt();
  3. optopt: Contiene el flag que actualmente esta siendo procesado.
  4. opterr: Si la función getopt(); encuentra un caracter que no esta espesificado en la cadena *optstring o detecta que falta el valor de un flag que debe tener un valor asociado escribira un mensaje de error en el flujo de salida stderr y retornara un valor ‘?’, para desactivar el mensaje de error en el flujo stderr tenemos que establecer el valor de opterr a 0 (cero).
  5. optreset: Es utilizada si queremos evaluar multiples grupos de argumentos o un grupo simple multiples veces.

Para indicar a la función getopt(); que flags debe reconocer y si esos flags tienen valores asociados debemos pasar un valor en forma de cadena al argumento *optstring, el valor de dicha cadena deben ser caracteres individuales representando a cado uno de los flags, un caracter independiente seguido de dos puntos indica que ese flag debe tener un valor asociado, de tal forma que:

"abc"

reconocerá los flags de la forma -a -b -c

y la cadena

"ab:c"

reconocerá los flags de la forma -a -b valor -c

ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <unistd.h>
 
void usage();
 
int main ( int argc, char *argv[] )
{
  char *host;
  int  flagx;
  int  ch;
 
  host  = NULL;
  flagx = false;
 
  while( ( ch=getopt( argc, argv, "xh:" ) ) != -1 )
  {
     switch( ch )
     {
        case 'x':
               flagx = true;
               break;
        case 'h':
               host = (char *)malloc( strlen( optarg+1 ) );
               bzero( host, strlen( optarg+1 ) );
               strcpy( host, optarg );
               break;
        case '?':
               usage();
               return 0;
               break;
     }
  }
 
  printf( "-x = %d\n", flagx );
  printf( "-h = %s\n", host );
 
  free( host );
 
  return 1;
}
 
void usage()
{
    printf( "forma de uso:\n\t-x\n\t-h [nombre host|ip host]\n\n" );
}

aquí el resultado:

[espartano@moscu ~/programas/C/pruebas]$ ./getoptexamble
-x = 0
-h = (null)
 
[espartano@moscu ~/programas/C/pruebas]$ ./getoptexamble -x
-x = 1
-h = (null)
 
[espartano@moscu ~/programas/C/pruebas]$ ./getoptexamble -x -h example.org
-x = 1
-h = example.org
 
[espartano@moscu ~/programas/C/pruebas]$ ./getoptexamble -h example.org -x
-x = 1
-h = example.org
 
[espartano@moscu ~/programas/C/pruebas]$ ./getoptexamble -x -h example.org -d
getoptexamble: illegal option -- d
forma de uso:
        -x
        -h [nombre host|ip host]
 
[espartano@moscu ~/programas/C/pruebas]$

Para mas informacion pueden leer la pagina del manual de la función  getopt(), man 3 getopt.

Posted under C, Programs, Unix by Espartano on Sunday 19 July 2009 at 9:28 pm

My relatives love me so much -_-

Daemon Lover !!!: :-O jack que haces ?

Roberto…: haciendo pruebas de mi sistemita..:D

Daemon Lover !!!: Con FreeBSD ?

Daemon Lover !!!: solamente tu te diviertes jack xP

Roberto…: jajajajaj.. con freebsd.. java.. y circuitos embebidos..:D.. para k te de envidia..:P

Roberto…: tengo un problema… le mando un mensaje a un dispositivo y me contestan todos…:S

Daemon Lover !!!: :@

Daemon Lover !!!: lero lero, me da un chingo de gusto

Daemon Lover !!!: xD

Roberto…: ya lo valide con numero de dispositivo.. ya lo cheque con el servidor… k solo lo envie a ese dispositivo.. y no jala..: :p

Roberto…: jajajjajaja:P

Roberto…: te da envidia..:P

Posted under FreeBSD, Funny, My boring life, My life by admin on Wednesday 1 July 2009 at 11:00 pm

My favorite movies

The last week a friend asked me if I could suggest him some movies because he was boring, At that time I didn’t know what to answer him but I suddenly thought “He is an engineer sistem, He could enjoy some of my favorites movies about computers”, well here is my list of my favorites movies about computers, if you can get it I sure that you will enjoy it :)

Tron

tron

Tron is a cience fiction Disney’s movie from 1982 about a programer’s story that was “eaten” by a computer, The programer wake up into his machine immersed in his own video games in a fantastic world then he try to hack the main frame from his company to get evidence about an injustice.

WarGames

wargames

WarGames is a film from 1987 about a kid who obtain access to a pentagon’s computer (The kid doesn’t know where the computer is), that computer controls all nuclear weapons of USA but the kid believe that is only a video game, when the kid dicovers that he start to find out who had programed the computer to save the world.

pirates of silicon valley

pirates_of_sillicon_valley

Pirates of Sillicon Valley is a movie from 1999 based in a true history about how Bill Gates (Microsft) and Steve jobs (Apple) made revolutionary changes in the software and hardware industry, sometimes using lies to get his objetives.

Takedown

takedown

Takedown is the history (based in real facts) about the pursuit and capture of Kevin Mitnick who hacked a lot of companys getting its industrial secrets (according to the film), that was an incredible history of the ages when the internet started to be comercial net.

Antitrust

antitrust

Antitrus is a film about a young idealist and smart programmer called Milo Hoffman who make incredible softwares, he works in free way with his friends over a software that a big company wants and it will do anything to obtain the software.

The Matrix

the_matrix

I think that I don’t need to said anything about this film ;)

Sneakers

sneakersReally I can’t said anything about this film, it is a suggest from a friend to me but unfortunately I couldn’t get the film yet here in Mexico :( .

Haven’t you had enough? Ok these are some of my favorite films/documentals about computers:

The Code (codigo linux)

Part 2.

Part 3.

Part 4.

Part 5.

RevolutionOS

Part 2.

Part 3.

Part 4.

Part 5.

Part 6.

Part 7.

Part 8.

Part 9.

Piratas Informaticos

That is my favorite documental because it takes the history of Steve Wosniak, Captain Cruch, Kevin Mitnick and more…

Part 2.

Part 3.

Part 4.

Part 5.

Part 6.

There is another interesting documental but at this time I can’t remember the name of it but you be sure that when I remember it I will post it :) , I hope that if you are a computer lover you will enjoy all that films/documentals like me.

Posted under Documentals, Funny, History, Movies, Movies/films, Operating Systems, Programs, science by Espartano on Monday 8 June 2009 at 12:43 am

Steak is diferent than Stick

Some days ago at the morning I went to my english class with my teacher angie, angie’s english is very good and she was teaching me some things about sense verbs (smell, taste, feel, hear…), suddenly in our chat I said something like this “My steak doesn’t taste enough good”, but I had a little trouble when pronounce the word “steak” it rang like “stick”, suddenly angi ran laughing a lot toward her friend veronica and she told her it, then they start to laugh a lot, all that I could to do was get blush and laugh also xD

Steak

Steak

Posted under Funny, My boring life, My life by Espartano on Thursday 4 June 2009 at 11:10 pm

Next Page »