Noticias Weblogs Foros Wiki Código
Sponsors:

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

Anunciarse aquí

PlanetaCódigo en inglés

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

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...

» Leer más, comentarios, etc...