Julio 2007

Está navegando por los artículos de Julio 2007.

Finalmente, se encuentra disponible el disco de aplicaciones libres OpenApps. En su versión 2.4 “Pandora”, han cambiado muchas cosas, la interfaz ha sido adaptada al sistema de Kmeleon; Se ha incluido una sección de documentos especialmente enfocados a la cultura libre. Además de actualizaciones, rotación de aplicaciones y nueva documentación, todo esto para hacer de OpenApps una herramienta para lograr una migración a las tecnologías libres. Para conocer el contenido. Para acceder a descargas.

Desde que tengo digitel no me había preocupado por configurar una conexión a Internet con el celular.

pues leyendo wikis, blogs y documentación lo logre, mi teléfono es un Sony Ericsson z530i y un dispositivo bluetooth por usb.

primero que todo necesitamos instalar:

  • bluez-libs
  • bluez-utils
  • bluez-firmware
  • bluez-hcidump
  • ppp
  • wvdial

primero a configurar el bluetooth:

editar: /etc/bluetooth/hcid.conf

en la parte de Security Manager mode colocar: security auto;

en passkey va la clave, se recomienda una clave numérica, algunos celulares no soportan texto en las claves. quedaría algo como: passkey “1234″;

iniciamos o reiniciamos el demonio bluetooth, en archlinux es: /etc/rc.d/bluetooth start ó /etc/rc.d/bluetooth restart

desde el celular activamos el soporte bluetooth y agregamos el dispositivo que seria nuestra PC, colocamos la clave 1234.

hasta este punto el teléfono se puede comunicar con la PC, transferir archivos, etc.. para eso recomiendo kbluetooth.

pero falta hacer que el teléfono funcione como modem, y para eso tenemos que hacer lo siguiente:

en una consola/terminal como root, escribimos:

hcitool scan

debe salir algo así:

XX:XX:XX:XX:FB:2C jhuss

ahora, no todos los teléfonos son iguales, debemos buscar en que canal esta el modem, escribimos:

sdptool browse XX:XX:XX:XX:FB:2C

hay que buscar solo esto que nos importa:

Service Name: Dial-up networking

Channel: 2

el canal puede ser otro, eso depende del equipo.

luego editar: /etc/bluetooth/rfcomm.conf

descomentamos ó creamos la parte de: rfcomm0

rfcomm0 {
# Automatically bind the device at startup
bind yes;

# Bluetooth address of the device
device XX:XX:XX:XX:FB:2C;

# RFCOMM channel for the connection
channel 2;

# Description of the connection
comment “Example Bluetooth device”;
}

en bind se coloca yes para que cree el dispositivo rfcomm0 enlazado al modem del teléfono.

ahora esta el caso que se puede hacer manual:

rfcomm bind rfcomm0 XX:XX:XX:XX:FB:2C 2

tambien puede ser necesario:

ln -s /dev/rfcomm0 /dev/ppp

ahora a configurar el wvdial, también pueden usar pppconfig para usar el comando pon

para wvdial, editar /etc/wvdial.conf:

[Dialer digitel]
Modem = /dev/rfcomm0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 = AT+CGDCONT=1,”IP”,”gprsweb.digitel.ve”
Area Code =
Phone = *99#
Username = guest
Password = guest
Ask Password = 0
Dial Command = ATD
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 3000
DialMessage1 =
DIalMessage2 =
ISDN = 0
Auto DNS = 1

teniendo esto, ya podemos conectar, escribimos como root: wvdial digitel

en cualquier caso que no coloque los dns en /etc/resolv.conf comentamos todo y agregamos:

nameserver 57.67.127.195

nameserver 57.73.127.195

pueden contratar cualquiera de los planes navegafull de digitel.

algunas fotos que tome con mi celular (salen malas pero era lo que tenia) en el cnsl3 en Maracaibo.

el sábado en la noche me fui casi a las 12am, ya mis primos me estaban esperando.

carito.jpg
Ishtar, excelente persona.

sortadi.jpg
camino al hotel, el aviso dice “hare krishna” la religión de sortadi

apostols.jpg
apostols y su ronald Mc Donalds

willigulip.jpg
willigulip

dayana_y_daniela.jpg
Dayana (matica) y Daniela

betamax_taged.jpg
betamax taged xD

buda_del_sl.jpg
julioh el buda del SL

miss_tr0n.jpg
miss tr0n en una entrevista con phenobarbital

actualizado:
mas fotos: http://0×29.com.ve/pics/20070720_CNSLv3_Mcbo/

bueno todavía estoy practicando python en consola y después sigo con pygtk :D
pero todavía falta.

que hay de nuevo esta vez? …se llama curses

no tiene nada que ver con cursos(esta bien escrito) curses, es un modulo de python para manejar algo como una terminal virtual.
quien ya maneja ncurses sabe de que hablo. para quien a usado conio.h es algo parecido pero no igual (yo no he usado “eso”)

curses permite controlar el entorno de la consola virtual que crea. No me voy a poner a explicar todo acá, dejo los enlaces que encontré, en ingles, en español no encontré algo con bastante información.

documentación oficial sobre el modulo curses de python:
http://docs.python.org/lib/module-curses.html

una pequeña guia:
http://www.amk.ca/python/howto/curses/curses.html

de resto en google se encuentra mas

ahora un ejemplo que hice de como funciona:

archivo: pymats.py

#!/usr/bin/env pthon
# -*- coding: utf-8 -*-

import sys
import curses
from primos import primo

try:
    stdscr = curses.initscr()
    curses.echo()

    i = 0
    while i < 1:
        stdscr.addstr(“=== scripts de matemáticas en python ===\\n\\n”)
        lista_menu = ["nprimo" , "mcm" , "mcd"]
        cont_menu = 0
        for n in lista_menu:
            cont_menu = cont_menu + 1
            stdscr.addstr(“%d - %s\\n” % (cont_menu, n))
        stdscr.addstr(“0 - Salir”)
        stdscr.addstr(“\\n\\n introdusca una opción: “)
        opt = stdscr.getstr()
        opt = opt.lower()

        if opt == “nprimo” or opt == “1″:
            primo()
        elif opt == “mcm” or opt == “2″:
            stdscr.clear()
            stdscr.addstr(“mcm\\n\\n”)
        elif opt == “mcd” or opt == “3″:
            stdscr.clear()
            stdscr.addstr(“mcd\\n\\n”)
        elif opt == “salir” or opt == “0″:
            curses.endwin()
            sys.exit()
        else:
            stdscr.clear()
            stdscr.addstr(“error-menu\\n\\n”)
            curses.flash()
except:
    curses.endwin()
    sys.exit()

archivo: primos.py

# -*- coding: utf-8 -*-
import sys
import curses

def primo():
    try:
        stdscr = curses.initscr()
        stdscr.clear()
        stdscr.addstr(“=== Numeros primos ===\\n”)
        stdscr.addstr(“\\n introdusca un numero: “)
        numero = int(stdscr.getstr())
        nprimo = True
        for i in range(2,numero):
            if numero % i == 0:
                nprimo = False
                break
        if nprimo:
            stdscr.addstr(“\\nes número primo\\n\\n”)
        else:
            stdscr.addstr(“\\nNO es número primo\\n\\n”)
    except:
        stdscr.addstr(“\\nerror-primo\\n\\n”)
        curses.flash()

nota:
para pasar el código de python a html utilice Source-highlight
http://www.gnu.org/software/src-highlite/

acá esta el código fuente para bajar y probar, bajo licencia GPL :P
descargar: pymats.tar

no-fumar

esto es una campaña para que matica deje de fumar

http://blurringimages.blogspot.com/

te queremos matica, no fumes