Necesito algo de ayuda sobre mi LAN

— [ edit | raw ]
migrated from node/1065
Soy muy nueva en esto y no se si estoy en el sitio adecuado,agradeceria mucho si alguien pudiera ayudarme.Mi pc da pantallazos y segun el sondeo que he podido hacer Atheros me da problemas.Si lo desabilito no hay error.Pero tengo una LAN en casa y quiero que funcione todo bien.Si podeis ayudarme...GRACIAS

Copyright amazing adventures

— [ edit | raw ] migrated from node/1064

Decía Einstein que «hay dos cosas infinitas: el universo y la estupidez humana…». Yo añadiría unas cuantas más: la inmoralidad, la codicia y la ausencia de escrúpulos de la industria del copyright. ¿Hasta dónde serán capaces de llegar? Manipular niños: HECHO. siguiente?…

Por si necesitabas algún motivo más para sentir vergüenza de ser español

[Visto en Barrapunto]

Alsa: audio loopbacks (o cómo capturar el audio que reproduzco)

— [ edit | raw ] migrated from node/1063
Llevaba ya mucho tiempo sin escribir por aquí algo... y para desengrasarme un poco voy con una recetilla muy simple pero que puede ser de mucha utilidad: supongamos que entras en una página que reproduce audio mediante streaming y que quieres capturar ese audio. Si abres un programa de captura comprobarás que no se captura ese sonido... necesitamos algún tipo de tarjeta "virtual" que nos permita capturar lo que reproduce, esto es: audio loopback.

Instalando (quick'n'dirty)

Los señores de ALSA crearon hace tiempo un modulito que permitía justamente esto, el aloop, pero lamentáblemente no se compila por defecto, esto hace que distribuciones como Debian no lo traigan de serie, por tanto, nuestro primer paso es compilar el modulito. Empezamos descargándonos el archivo alsa-drivers de ALSA FTP (el link es FTP pero el drupal lo cambia a HTTP porque es muy listo). Lo suyo sería que fuese el de la misma versión que tengamos en nuestro sistema. Si no sabéis qué versión usáis, ejecutad lo siguiente:
$ cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.16.
De todas formas, yo tengo la versión 1.0.16 y me he instalado el módulo en su versión 1.0.17 (porque era la que tenía a mano) y no he tenido warnings ni nada por el estilo... Una vez descargado, descomprimimos y compilamos:
$ unp alsa-driver-1.0.16.tar.bz2
$ ./configure --with-cards=loopback --with-sequencer=yes
$ make
Ahora podríamos hacer un make install pero yo no lo hago por una sencilla razón: instala más módulos de los estrictamente necesarios. Para no "tocar" más de lo necesario hago lo siguiente (como root):
#  cp drivers/snd-aloop.ko /lib/modules/$(uname -r)/kernel/sound/drivers/
# depmod -ae
Y ya está... ahora a saber cómo usarlo...

Instalando(Debian way)

[TO-DO]

Usando aloop

Lo primero es cargar el módulo:
# modprobe snd-aloop
Ahora configuramos la tarjeta (realmente este paso no es necesario para ciertas aplicaciones: las que usen alsa-lib, pero nunca está de más), para ello debemos saber qué tarjetas tenemos funcionando (esto ya lo podemos hacer como usuario):
$ cat /proc/asound/cards
 0 [A5451          ]: ALI5451 - ALI 5451
                      ALI 5451 at 0x8400, irq 9
 1 [pcsp           ]: PC-Speaker - pcsp
                      Internal PC-Speaker at port 0x61
 2 [Loopback       ]: Loopback - Loopback
                      Loopback 1
Como podemos ver, la tarjeta virtual Loopback es la 2, esto nos permite escribir lo siguiente en el archivo ~/.asoundrc (si no existe lo creáis) y añadimos lo siguiente:
pcm.aloop {
	type hw
	card 2
}

ctl.aloop {
	type hw
	card 2
}
Con esto ya tenemos listos dos canales PCM, que en este caso serían (en nomenclatura ALSA): hw2,0 y hw2,1. Lo que reproduzcamos por uno de ellos, lo podremos capturar por el otro, lo único que hay que tener en cuenta es que el formato de captura debe coincidir con el del audio que se está reproduciendo. Si queréis un ejemplo podéis hacer lo siguiente: capturamos uno de los extremos del loopback:
$ arecord -D hw:2,1 -c 2 test.wav
Y ahora podemos reproducir cualquier archivo (en estéreo, puesto que estamos capturando 2 canales), seleccionando dispositivo de reproducción hw:2,0:
 $ aplay -D hw:2,0 music.wav
Y ya está.... así de fácil! :)

Rizando el rizo: múltiples tarjetas loopbacks

Bien, ya sabemos crear una tarjeta virtual con sus 8 subcanales PCM listos (si, no lo he comentado antes, pero mezcla hasta 8 canales), pero... ¿qué pasa si queremos más de una tarjeta loopback?. La solución es fácil: al cargar el módulo podemos especificar cuántas tarjetas virtuales queremos (hasta un máximo de ocho):
 # rmmod snd-aloop
# modprobe snd-aloop index=2,3 enable=1,1 pcm_substreams=4
En el ejemplo anterior primero descargamos el módulo y después lo volvemos a cargar de la siguiente manera:
  • index: índices de las nuevas tarjetas a crear, esto es: las tarjetas loopback serán hw:2.x y hw:3.x.
  • enable: tarjetas virtuales a habilitar. Un 0 la deja deshabilitada y un 1 la activa (realmente no se para que sirve esto ya que no entiendo porqué alguien va a crear una tarjeta virtual que no pueda usar. Simplemente poned tantos unos como tarjetas vayáis a añadir).
  • pcm_substreams: número de subcanales que tendrá cada tarjeta virtual. En este caso serán 4 subcanales por tarjeta.

Enlaces

Aunque está un poco anticuada... la página de aloop module puede ser útil...

DlxView: Un emulador para arquitecturas DLX

— [ edit | raw ] migrated from node/1059

Quien haya intentado hacer alguna práctica para alguna asignatura de Arquitectura de Computadoras o similares utilizando éste simulador, habrá observado que es una auténtica pesadilla utilizarlo: NO FUNCIONA. De ninguna de las maneras.

El Robo del Milenio: cómo Internet llegó a ser libre, y porqué es importante

— [ edit | raw ] migrated from node/1058

JOSÉ CERVERA: CIUDAD REAL. 9 DE DICIEMBRE DE 2008. 20 HORAS.

Conferencia: “El Robo del Milenio: cómo Internet llegó a ser libre, y por qué es importante”.
Lugar: Salón de Actos. Escuela Superior de Informática.

Ayuda con máquina virtual para ubuntu

— [ edit | raw ] migrated from node/1057
Hola, me gustaria que me aconsejarais una makina virtual para instalar en mi pc con ubuntu, estilo Virtualpc que me deje ejecutar programas de windows sobre esta distro. Lo que mas me interesaría es montarle varios AV para crear mi propio laboratorio de firmas, para ejecutar sobre mi pc con ubuntu los .exe de win, al igual que los AV.Alguién que me eche un cable con esto?? Gracias. Saludos.

Tslib: librería para la pantalla táctil del Chumby

— [ edit | raw ] migrated from node/1056

Cuando tienes un dispositivo con pantalla táctil y quieres programar algo para él siempre puede ser de ayuda tener un método de entrada tan fácil como la propia pantalla del dispositivo. Si nuestro aparato tiene, como en el caso del Chumby, un Linux metido dentro y tienes forma de compilar software para él, Tslib es tu respuesta.

Los ilegales intentan engañarte... ¡No te dejes manipular!, para que nadie te time

— [ edit | raw ] migrated from node/1055

El título de este post es el slogan de la campaña Si eres legal, eres legal del Ministerio de Cultura, pero perfectamente podría ser el de cualquier ciudadano que quiera preservar su derecho a acceder libremente a la cultura. Porque mentir a la población diciendo que la ley dice cosas que no dice no debe ser muy legal, no? Al menos parece bastante inmoral.

El sistema de 3 avisos "funciona" en UK

— [ edit | raw ] migrated from node/1053
Al parecer, en el Reino Unido están realizando una prueba piloto, parecida al sistema de 3 avisos que ya funciona en Francia y que quieren imponer en España. El experimento ha durado unas 10 semanas, en las que mandaban advertencias a los usuarios de P2P que descargaban contenido protegido, junto con abundante publicidad de tiendas de música on-line.

Mapnik - Visualizador GIS para Python y C++

— [ edit | raw ] migrated from node/1051
Mapnik es una librería que permite generar y manipular mapas obteniendo los datos de diferentes fuentes (archivos .shp, PostGIS, .tif). En esta receta se muestra como utilizar mapnik en Python.

Ingredientes

  • mapnik (por ahora nos vale con el paquete debian)
  • libmapnik0.5
  • mapnik-plugins
  • mapnik-utils
  • python-mapnik
  • postgis
  • postgresql
  • ogr2ogr (opcional)

Map

Mapnik permite crear y manejar mapas a partir de diferentes fuentes de datos. Esta librería se basa en el objeto Map que contiene varios atributos que permiten personalizarlo. Los atributos mas relevantes son:
  • background - Establece el color de fondo del mapa.
  • height - Ancho del mapa.
  • width - Alto del mapa.
  • style - Define cómo se visualizan de los distintos componentes del mapa.
  • layers - Capas que contiene el mapa. Es decir cada una de las fuentes de datos que queramos que muestre el mapa.
Además esta clase permite manejar el mapa por medio de diversos métodos.
  • pan - centra el mapa en la posicion indicada (x,y).
  • pan_and_zoom - centra el mapa en la posicion indicada y hace zoom sobre ella.
  • zoom_all - realiza el zoom a todas las capas, es decir, visualiza el mapa entero.
  • zoom_to_box - realiza el zoom a todas las capas en un determinado area.
  • envelope - obtiene el area de las capas del mapa.
También existen algunas funciones que no pertenecen a ningún objeto en concreto.
  • render_to_file(Map, archivoConExtension) - Renderiza el mapa a un archivo.
  • render(Map, CairoContext) - Gracias a este método se puede integrar con GTK. No disponible via paquete debian, solo bajando el .tgz y compilando.
  • save_map(Map, archivoConExtension) - Almacena el mapa en un archivo.
from mapnik import *

#Creacion del Mapa
width = 790
height = 590
map = Map(width,height,'+proj=latlong +datum=WGS84')
map.background = Color('white')

Style

Para visualizar el objeto Map se le debe asociar una serie de objetos Style que permiten definir como se debe representar cada elemento del mapa. Un Objeto Style se compone de reglas (Rules) para elementos del mapa, siendo posible definir filtros para cada una de dichas reglas. Por ejemplo podemos crear dos Rules en las que en una los puntos que cumplen una determinada condición se vean de color rojo mientras que los demás se vean de otro color. Para ello se debe asociar a la regla un objeto Filter que realize el filtrado deseado. Elementos del mapa:
  • PolygonSymbolizer - Establece el estilo de los poligonos.
  • LineSymbolizer - Establece el estilo de las lineas.
  • PointSymbolizer- Establece el estilo de los puntos.
  • RasterSymbolizer - Permite que se visualizen las imagenes raster.
#Creacion del Estilo del Mapa
styleShp = Style()
r = Rule()
r.symbols.append(PolygonSymbolizer(Color('#f2eff9')))
r.symbols.append(LineSymbolizer(Color('rgb(50%,50%,50%)'),0.1))
r.symbols.append(RasterSymbolizer())
styleShp.rules.append(r)

#Filter
# Acepta <, >, <>, not, or, and
# En teoria tambien puede filtrar por expresiones regulares
# pero tras probarlo no he obtenido resultados satisfactorios
# Ej.- [id].match('^ascensor')

style = Style()
rVerde = Rule()
rVerde.symbols.append(PointSymbolizer('img/puntoVerde.png','png',10,10))
rVerde.filter = Filter("not [id]='escalera0_up' or not [id]='escalera1_up'")

rRojo = Rule()
rRojo.symbols.append(PointSymbolizer('img/puntoRojo.png','png',10,10))
rRojo.filter = Filter("[id]='escalera0_up' or [id]='escalera1_up'")

style.rules.append(rRojo)
style.rules.append(rVerde)

map.append_style('styleShp',styleShp)
map.append_style('style',style)

Layers

Hasta el momento puede obtener datos de diferentes fuentes, para ello se crean objetos Layer con la fuente de datos necesaria (datasource) a partir de varias clases.
  • Raster - Permite crear una layer a partir de imagenes (.tif). Puede ser util la herramienta ogr2ogr para convertir imagenes normales a imagenes con formato geográfico.
  • Shapefile - Crea una layer a partir de un archivo .shp de descripción de figuras geométricas.
  • PostGIS - Crea una layer a partir de la información de una tabla de una base de datos Postgres con campos PostGIS (geometry). Es posible realizar un pequeño filtrado de la tabla pero solo se puede trabajar con la tabla en cuestión nada de hacer joins ni comparaciones con campos de otras tablas.
  • Gdal - Todavia no lo he probado :-)
#Layers del Mapa
#---------------
#A cada layer hay que asociarle:
# Una fuente de datos
# Un Style para representar la informacion
# Finalmente hay que asociarla al mapa

lyrImg = Layer('raster')
lyrImg.datasource = Raster(file='img/pbaja.tif',lox='0', loy='0', hix='50', hiy='50')
lyrImg.styles.append('styleShp')

lyrGeo = Layer('GIS')
lyrGeo.datasource = PostGIS(host='localhost',
                            user='mapnik',
                            password='mapnik',
                            dbname='mapnik',
                            table='mapnik')
lyrGeo.styles.append('style')

lyrShp = Layer('shape')
lyrShp.datasource = Shapefile(file='shp/salas')
lyrShp.styles.append('styleShp')

#El orden de aplicacion de las capas es relevante
map.layers.append(lyrImg)
map.layers.append(lyrShp)
map.layers.append(lyrGeo)

#Importante ajustar el zoom para ver el mapa
map.zoom_all()

render_to_file(map, "MapNik", "png")

Anexo - Crear una base de datos con soporte GIS

$ sudo su - postgres
$ createuser -s -P -e usuario
$ createdb -O dueño databasename
$ createlang plpgsql -d databasename
$ psql databasename -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql
$ psql databasename -f /usr/share/postgresql-8.3-postgis/spatial ref sys.sql
$ psql -d databasename -f db-schema.sql
Ejemplo de esquema SQL.
CREATE TABLE mapnik (
    id    varchar(100) PRIMARY KEY,
);

SELECT AddGeometryColumn('mapnik', 'geom', -1, 'GEOMETRY', 3);

CREATE INDEX mapnik_idx ON mapnik USING GIST(geom);
Finalmente hay que poblar la base de datos:
INSERT INTO mapnik (id, geom)
VALUES ('escalera0_up', GeomFromEWKT('POINT(45 56 0)'));

INSERT INTO mapnik (id, geom)
VALUES ('escalera1_up', GeomFromEWKT('POINT(66 59 0)'));

INSERT INTO mapnik (id, geom)
VALUES ('entrada', GeomFromEWKT('POINT(32 45 0)'));

INSERT INTO mapnik (id, geom)
VALUES ('salida', GeomFromEWKT('POINT(30 43 0)'));

Referencias