Y si hablamos de...
… vecinos de Madrid
Marzo 24th, 2004 - [Enlace local]
Pues sÃ, estoy en Madrid, en el move04 de Vodafone, y aprovechando que el Manzanares pasa por aquÃ, he aprovechado para conocer en persona a algunos de los vecinos del barrio, bueno, conocer a unos y vuelto a encontrar a otros.
Resulta que Nacho es más alto de lo que pensaba, que Félix tiene que trabajar de traje (puag! ;-) ), que o bien a Pedro le ha creacido la cabeza o le han cortado el pelo desde la última vez que le vÃ, y Ã?lvaro sigue... como sigue ;-).
Pero lo que mas me ha llamado la atención es que la comida tÃpica de Madrid sea el pulpo. Si, foto hecha con el 6600 que tanta envidÃa le provoca a Ã?lvaro.
Un placer chicos.
» Leer más, comentarios, etc...
Un servidor HTTP en cinco minutos
Marzo 24th, 2004 - [Enlace local]
Estaba el otro dÃa haciendo el friki con la tarjeta
inalámbrica de mi portátil en la cafetarÃa de
la universidad y un compañero también tenÃa un
portátil con wireless. Asà que montamos una red
de ordenador a ordenador. Una vez conectados
y verificando que podemos acceder el uno al otro
pienso… voy a pasarte unos archivos. ¿Pero cómo?
Tengo un ibook desde hace poco y no sabÃa como
compartir mis archivos, asà que ni corto ni perezoso
le dije a mi compañero: “¡Espera que hago un servidor web!”.
Y aquà está el código:
import java.io.*;
import java.net.*;
public class Servidor {
public static void main(String args[]) throws Exception {
int port = Integer.parseInt(args[0]);
ServerSocket ss = new ServerSocket(port);
Socket s = null;
System.out.println(\"Servidor escuchando en: \"+port);
while((s = ss.accept()) != null){
System.out.println(\"Conexion recibida\");
OutputStream os = s.getOutputStream();
InputStream in = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = br.readLine();
int espacio;
espacio = line.indexOf(\" \");
String uri = line.substring(espacio+1, line.indexOf(\" \", espacio+1));
uri = uri.substring(1, uri.length());
File f = new File(uri);
FileInputStream fis = new FileInputStream(f);
os.write(\"HTTP/1.1 200 OK\r\n\".getBytes());
os.write(\"Content-length: \".getBytes());
os.write((fis.available()+\"\").getBytes());
os.write(\"\r\n\".getBytes());
os.write(\"Content-type: text/plain\r\n\".getBytes());
os.write(\"\r\n\".getBytes());
int size = fis.available();
for(int i=0; i<size; i++)
os.write(fis.read());
os.close();
fis.close();
s.close();
System.out.println(\"peticion finalizada\");
}
}
}
Ejecutas por ejemplo
java Servidor 8080
Y escribes por ejemplo: http://localhost:8080/Servidor.java en el navegador.
Verás el propio código fuente del programa.
Voy a añadir alguna cosilla, como que liste el contenido de un dirctorio
y lo mandaré a la sección “Código útil” de javaHispano.
» Leer más, comentarios, etc...
Gimenoblog
Un servidor HTTP en cinco minutos
Marzo 24th, 2004 - [Enlace local]
Estaba el otro dÃa haciendo el friki con la tarjeta inalámbrica de mi portátil en la cafetarÃa de la universidad y un compañero también tenÃa un portátil con wireless. Asà que montamos una red de ordenador a ordenador. Una vez conectados y verificando que podemos acceder el uno al otro pienso... voy a pasarte unos archivos. ¿Pero cómo? Tengo un ibook desde hace poco y no sabÃa como compartir mis archivos, asà que ni corto ni perezoso le dije a mi compañero: "¡Espera que hago un servidor web!". Y aquà está el código:
import java.io.*;
import java.net.*;
public class Servidor {
public static void main(String args[]) throws Exception {
int port = Integer.parseInt(args[0]);
ServerSocket ss = new ServerSocket(port);
Socket s = null;
System.out.println("Servidor escuchando en: "+port);
while((s = ss.accept()) != null){
System.out.println("Conexion recibida");
OutputStream os = s.getOutputStream();
InputStream in = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = br.readLine();
int espacio;
espacio = line.indexOf(" ");
String uri = line.substring(espacio+1, line.indexOf(" ", espacio+1));
uri = uri.substring(1, uri.length());
File f = new File(uri);
FileInputStream fis = new FileInputStream(f);
os.write("HTTP/1.1 200 OK\r\n".getBytes());
os.write("Content-length: ".getBytes());
os.write((fis.available()+"").getBytes());
os.write("\r\n".getBytes());
os.write("Content-type: text/plain\r\n".getBytes());
os.write("\r\n".getBytes());
int size = fis.available();
for(int i=0; i<size; i++)
os.write(fis.read());
os.close();
fis.close();
s.close();
System.out.println("peticion finalizada");
}
}
}
Ejecutas por ejemplo
java Servidor 8080
Y escribes por ejemplo: http://localhost:8080/Servidor.java en el navegador. Verás el propio código fuente del programa.
Voy a añadir alguna cosilla, como que liste el contenido de un dirctorio y lo mandaré a la sección "Código útil" de javaHispano.
» Leer más, comentarios, etc...
Mi primer robot (java inside)
Marzo 23rd, 2004 - [Enlace local]
Mis primeros pasos en el mundillo de la robótica van dando sus frutos. AsÃ, os presento el primer robot que he construÃdo:

Bueno, la construcción no tiene mérito, es el rover que viene como primer ejemplo en la Contructopedia de R.I.S., dotado con el sensor de luz dirigido hacia el suelo con el objetivo de seguir una lÃnea negra. Voy poco a poco aprendiendo los truquillos de construcción con Lego y espero ir complicando los diseños con el tiempo.
Pero claro, a mà lo que más me gusta es la programación, y sobre todo la programación en Java, asà que sustituà el firmware original de Lego por leJOS, y tras leer un poco la documentación y ver un par de ejemplos sencillos, en apenas media hora hice mi primer programa en java para el robotito: un sencillo programa que hace que el robot siga una lÃnea negra que forma un circuito ovalado (la pista que viene incluÃda en el kit R.I.S.). Asombrosamente el robot recorre perfectamente el circuito con un código tan sencillo como éste:
import josx.platform.rcx.*;
// Programa para recorrer una linea negra que forma un circuito ovalado
public class Circuito implements SensorConstants {
public static void main(String[] args) throws InterruptedException {
// Configurar sensor de luz
Sensor.S2.setTypeAndMode(SENSOR_TYPE_LIGHT, SENSOR_MODE_PCT);
Motor.A.setPower(2);
Motor.C.setPower(2);
while (true){
Sensor.S2.activate();
int valor = Sensor.S2.readValue();
if (valor > 50) {
// El robot esta fuera de la linea negra, hay que rectificar la direccion
Motor.A.stop();
Motor.C.stop();
rectificar();
}else {
// el robot esta sobre la linea negra, seguimos adelante
Motor.A.forward();
Motor.C.forward();
Thread.sleep(100);
}
}
}
public static void rectificar(){
Motor.A.backward();
Motor.C.forward();
}
}
Evidentemente, el código esta poco trabajado, pero da una idea de lo sencillo que es la programación y de los resultados que se pueden conseguir. Ahora a seguir leyendo la documentación de leJOS y a trastear con las piezas de lego para construir nuevos robots y jugar con otros sensores. Os tendré informados de mis avances …
» Leer más, comentarios, etc...
Y si hablamos de...
… charlas y CHARLAS
Marzo 20th, 2004 - [Enlace local]
Leyendo el informe de domix sobre los Sun Tech Days de la Ciudad de México celebrados hace unos dÃas, no puedo evitar sentir un poco de envidia al leer las personas que estuvieron dando charlas. Me hubiera encantado escuchar, entre otros, a Sang Shin.
Digo yo que en parte tendrá que ver con la cercanÃa geográfica, pero el caso es que se podrÃa considerar que en España hay cierta escasez de personajes de este nivel en las charlas que se organizan. No digo que no haya gente importante, pero faltan esas estrellas demasiado a menudo. Lamentablemente.
Pero bueno, esperamos que sentando precedente, se comenta (sé) que para la Java Expo 2004 van a venir unos cuantos visitantes ilustres del otro lado del charco. Este año, a diferencia de los anteriores, solo será un dÃa, el 12 de Mayo, pero id reservando el dÃa libre, pues promete ser interesante.
Y por cierto... si hay suerte, incluso algún vecino este barrio tendrá su rato de gloria.
» Leer más, comentarios, etc...
código escrito
La cortina del IDE
Marzo 18th, 2004 - [Enlace local]
Muchas veces he leÃdo comentarios sobre esto en los foros que visito: la nueva moda de programar, hacer programas, crear ejecutables, o como quiera decirse, está generando programadores cada vez más dibujantes y menos codificadores. Me refiero a las nuevas...
» Leer más, comentarios, etc...
Y si hablamos de...
… el move 04 y la gente de este barrio
Marzo 18th, 2004 - [Enlace local]
La semana que viene es el Move'04 de Vodafone, el miércoles y jueves en Madrid. Al final no daré una charla principal (se lo he pasado a mi compañero Molinos), sino que realizaré una demo en el track de Plataformas de información y comunicación llamada Información one to one. El miércoles por la mañana en la sala demo a las 13:00. Dice la ley de Murphy (ma'o'meno) que cualquier demostración en vivo esta abocada al desastre, pero bueno.
Yo andaré por allÃ, asà que todos los vecinos que quieran pasarse espero que me saluden. Si quereis una invitación solo teneis que decÃrmelo. Para los que no me conoceis personalmente, supongo que mal que bien, a través del stand de mi empresa (NHT-Norwick) deberÃa ser fácil localizarme, ellos tienen mi número.
Y si no podeis pasaros por el Move04... ¿qué tal una reunión de vecinos el miércoles por la noche?. Aunque lasterra se enfadé porque aquà nunca lo hago... la primera ronda la pago yo :-D.
» Leer más, comentarios, etc...
código escrito
Arrays para campos: ventajas a corto plazo
Marzo 6th, 2004 - [Enlace local]
Una técnica que hasta ahora me ha gustado mucho a la hora de programar es utilizar arrays para almacenar en ellos los datos de un registro, utilizándolos de forma cómoda en los formularios de interacción con el usuario. Si un...