Java 4-Ever!

En Amarello desde siempre hemos apoyado el Open Source, y en el ámbito profesional siempre nos encontramos con muchas personas que prefieren tecnologías privativas, por lo que a veces nos hemos sentido fuera de lugar en algunos ambientes. Ojalá alguien nos entendiera…

El siguiente video es el trailer de la que podría  ser la mejor película geek del año. Disfrútenlo y tómenlo como lo que es: un chiste.


Java 4-Ever
Via: Koreus

¿Como saber si el ISP o la infraestructura telefónica del lugar son el problema de la conexión de Internet DSL?

Hoy en día la gran mayoría de los Routers modernos cuentan con una consola de información en la cual se indica el status de conexión, así como muchos datos interesantes que luego ignoramos por no saber qué significan.

Mi historia es la siguiente:

Yo era un fiel cliente de cablevisión, contaba con servicios de televisión y de internet en casa. Hasta que decidí cambiarme a prodigy debido a que requería tener una ip pública y estaba un poco cansado de que mi conexión se alentara en horas pico.

Después de contratar prodigy pensé que mis problemas se iban a solucionar, sin pensar más conecté el paquete infinitun que llegó a casa. Después de usarlo unos días me daba cuenta que la conexión era muy inestable, innumerables veces reinicié mi router esperando que se arreglara el problema, muchas veces funcionaba, otras no. En fin, no le di importancia ya que, al ser poweruser, podía reiniciar mi router de manera remota y olvidarme momentáneamente del problema. Algún amigo me comentó que el soporte que da prodigy es de los peores en México y que no perdiera mi tiempo marcando ya que lo único que lograría serían soluciones como “¿Ya reinicio su computadora?”, “Apague y vuelva a prender su router”, “El problema debe ser su computadora, seguro tiene algún virus”, “Algún equipo en su red debe estar consumiendo todo el ancho de banda”.

Después de algunos meses batallando con este tipo de problema empecé a notar que no solo perdía mi señal DSL sino que también tenia limitado mi velocidad ya que muchas veces llegaba ha dar hasta el 70% de la velocidad contratada, y después de unos días el problema se agravó quedando muchas veces horas sin internet y cuando llegaba a tener suerte un 20% de la velocidad contratada.

Llegó mi punto de quiebre y me dediqué a marcar al soporte técnico de prodigy esperando a que resolvieran mi problema. Pero inesperadamente al estar hablando con la persona que me atendía me di cuenta que mi conexión de internet mejoraba notablemente, y después de algunos minutos argumentando que no necesitaba soporte de usuario torpe (“¿Ubica el cable amarillo?”, “De click en el menú inicio”, “MacOSX ¿que es eso? solo damos soporte a Windows”) le comenté que ya estaba en la consola del router y le expliqué que mi problema no era mi red local (ya que no tenía otro equipo conectado), tampoco la red inalámbrica (Estaba conectado vía cable UDP), tampoco los filtros y los teléfonos (tenia filtro en cada teléfono de casa y había corroborado que estuvieran bien conectados antes de hacer la llamada) y mucho menos era mi computadora (tenía cerrado todo y monitoreando que ninguna aplicación hiciera alguna conexión remota).

Después de un rato de charlar y descartar lo que antes mencioné, me levantaron un ticket de reporte explicando que el técnico se comunicaría en los próximos 2 días para ver si el problema era de la calle o la infraestructura de mi casa, al terminar colgué y me dispuse a resolver el problema sin la necesidad de nadie.

Navegando (después de haberme dado cuenta que con la llamada mejoró mi conexión) me topé con una página que explicaba sobre el ruido en la señal telefónica y los síntomas que pudiera generar. Investigué un poco más y me tope con esto:

En la consola del router se pueden checar estos valores: Atenuación máxima y SNR. Por lo que se me ocurrió la brillante idea de hacer la prueba desconectando todos los teléfonos y otra prueba con todos los teléfonos conectados.

- Atenuación máxima: -mejor
Para 256 kbps: 64 dB.
Para 512 kbps: 55 dB.
De 1024 kbps en adelante: 41 dB.
De 6144 kbps en adelante (6 megas): 30 dB.
De 20480 kbps (20 megas): 20 dB.

- Margen señal-ruido (SNR): +mejor
6 dB o menos: Conexión inexistente o con graves deficiencias de estabilidad.
Entre 7 y 10 dB: Es posible que aparezcan problemas dependiendo de otros factores.
Entre 11 y 20 dB: Valor óptimo.
21 o más dB: Valor excelente.

Me di cuenta que si había gran mejora desconectando los teléfonos, entonces el problema era la infraestructura de la casa. En el caso de que no mejorara el problema sería la línea que llega desde la calle a casa y sería tiempo de llamar, de nuevo, al soporte telefónico de prodigy para reclamar por su pésimo servicio. Pero al darme cuenta que mi problema se arregló parcialmente fui descartando teléfonos hasta que di con el problema, uno de ellos generaba demasiado ruido (era marca Siemens) e interfería con la señal del DSL aún con filtro.

Al final concluí que entre más teléfonos conectados más ruido se generaba (en mi casa hay 9) y también influye a que altura de la linea conectes el DSL, pues no es lo mismo conectarlo desde donde llega a la casa la línea o al final de toda la cascada de conexiones telefónicas.

+Telefonos + Ruido = +Problemas de conexión

Si vemos bien la tabla anterior, donde se muestran los dB máximos y mínimos, nos podemos dar cuenta que aunque contratemos una conexión de 6mbps la infraestructura del lugar puede no soportarla debido a:

-la cantidad de teléfonos conectados a la infraestructura
-la distancia entre la central y el lugar
-la calidad de los teléfonos y filtros

Finalmente resultó que mi SNR era muy bajo debido a la cantidad de ruido que generaba un teléfono en particular y la otra razón que no he podido, ni podré resolver, es que tengo demasiada “Atenuación máxima” debido a la lejanía de mi casa con la central. Pero gracias a la tabla anterior puedo saber hasta que velocidad puedo contratar sin desperdiciar el ancho de banda pagado.

Puede ser que cablevisión dé servicios inferiores, pero como el equipo se encuentra dentro de la red interna (de ellos) es mucho más estable, puedes contratar más velocidad y no tener pérdida. A diferencia de una conexión DSL, Cablemodem llega vía cable coaxial desde un repetidor en la calle de fibra óptica, prácticamente no hay pérdida (sólo un poco de la calle a tu casa) y además no usas la infraestructura telefónica que aumenta el ruido por cada teléfono que conectes.

Mis conclusiones finales son:

Si lo que requieres es velocidad en el futuro : Cablevisión
Si lo que requieres es velocidad hoy y hasta que llegue al límite de lo que pueda aguantar la infraestructura del lugar: Prodigy

Por cierto, este problema me recuerda a un post que me dio mucha risa.

Como convertir un sistema de archivos de ext3 a ext4 sin perder nada

Primero que nada booteamos desde el nuevo livecd de ubuntu 9.04

Verificamos si tenemos instalado tunefs con:

$ sudo aptitude install tunefs

Para convertir un existente sistema de ficheros ext3 a ext4 emplearemos el siguiente comando:

$ tune2fs -O extents,uninit_bg,dir_index /dev/nuestro_sistema_de_archivos

Donde nuestro_sistema_de_archivos es la ruta donde tenemos instalado el sistema.

Por ejemplo si lo tenemos montado en /dev/sda1 ejecutamos:

$ tune2fs -O extents,uninit_bg,dir_index /dev/sda1

Despues tenemos que pasar el maravilloso fsck al sistema de archivos:

$ fsck -pf /dev/sda1

El paso anterior es básico dando consistencia al sistema de archivos, ya que sin el ext4 no montara.

Montamos la unidad de la siguiente manera:

$ mount -t ext4 /dev/sda1 /punto_de_montaje

Prey: rastrea tu laptop robada (OSX, Linux, Unix)

Navegando por malas aguas me he encontrado con una solución de seguridad muy buena de un desarrollador al que le robaron su laptop, que al no soportar el coraje de lo sucedido realizo este script que nos ayuda de manera muy completa quien fue, como y donde recuperarla.

Dandonos información valiosa como:

Información de red

  • La dirección IP pública y privada de donde esté conectado el PC.
  • El IP del gateway de la red que está usando para salir a Internet.
  • La dirección MAC de la tarjeta o controlador de red por el cual esté conectado a la red.
  • El nombre e ESSID de la red WiFi a la que esté conectado, en caso que lo esté.
  • Un listado de conexiones activas en el momento en que se ejecute el programa.

Información interna del PC

  • Cuánto tiempo lleva encendido el aparato.
  • Número de usuarios logeados.
  • Un listado con los programas en ejecución.
  • Un listado con los archivos modificados en la última hora (o el número de minutos que tú definas).

Información del ladrón

  • En caso que el PC tenga una webcam, una foto del impostor.
  • Un pantallazo del escritorio, para que veas qué está haciendo.
  • El tatuaje indistinguible de nuestro nuevo amigo.

¿Como Funciona?

Cada cierto intervalo de tiempo (default = 10 minutos) el programa se ejecuta y revisa si en la configuración pusiste una URL de checkeo o no. En caso que no lo hayas hecho, o que lo hayas hecho y la URL sí exista, el programa hará el proceso de recolección y envío de datos. Si definiste una URL que no existe, el programa se apagará para volver a ejecutarse en 10 minutos más.

Ejemplo

Para instalarlo:

  • Bajamos el siguiente paquete
  • Abrimos la grandiosa terminal y ejecutamos lo siguiente:

$ wget http://bootlog.org/downloads/prey-0.1.zip

$ unzip prey-0.1.zip

$ cd prey-0.1

$ chmod +x install.sh

$ ./install.sh

  • Seguimos las instrucciones como muestro a continuacion:
    prey

Los astronautas también van al baño…. y con cuidado.

En el blog de noticias espaciales de Discovery leo una graciosa e interesante cita sobre un astronauta y sobre como un astronauta va al baño; Y es que tareas tan cotidianas para cualquier persona (como lo es ir al sanitario) se vuelven en algo especial o único.

In the space shuttle we have a small room where we have our toilet and there’s a device to collect the urine and then you have another one to dispose of the larger matter. Basically a lot of it works on a vacuum, so we have a hose but it’s a very light vacuum and each person has their own funnel (for) when you have to go ahead and urinate.
When you go ahead to do No. 2, just like you do at home, you sit down, you make sure you have a good seal and that’s important. The last thing we want to have is our commander seeing something floating around the cabin.

La única duda que me queda es, ¿Que pasará con los desechos solidos?..  los liberarán al espacio? y quedaran en órbita? Con los desechos líquidos (orina) se que ya existen sistemas de reciclaje (como el de la ISS, que instalaron hace un par de meses) para obtener agua a partir de ellos.

Despues de todo, nadie dijo que todo seria comodidad para un astronauta.

Via: Free Space

Google Chart API

En estos dias de arduo trabajo es muy reconfortante encontrar utilidades con las que sea posible trabajar de manera comoda y eficaz. Una de las tareas que desarrollamos en los ultimos meses es la generación de graficas dinamicas para un sitio web. Tras varios experimentos con JSChart e investigar con algunas otras tecnologías, dimos con una que se ajustó mas a lo que deseábamos. Esa utilidad (que fue la que nos sorprendió aquí en Amarello) es la API de Google Charts. Esta API, es la mas robusta y completa que encontramos para poder realizar gráficas dinámicas en un sitio web. La maravilla de esta API es su capacidad y su facilidad de manejo.

La idea básica consiste en generar las gráficas(imágenes) mandando los datos de ella por medio de parámetros GET a la API de Google en sus servidores. Esto desde un principio puede parecer una desventaja, pero esto también puede ser una gran ventaja según se vea. Todo se reduce a una etiqueta web de <img> que tiene como “src=” la API. por lo que el hacer una gráfica se reduce a un código HTML tan simple como el siguiente:

 <img src="http://chart.apis.google.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250x100&amp;chl=Hello|World" />

En el, podemos ver los parametros basicos que toda gráfica debe llevar como lo es el tipo de grafica, los valores, y el tamaño de la gráfica. Todos estos datos produce la siguiente imágen:

(más…)

Como acelerar iPhoto 09 en definitivo

Al tener en nuestra librería una gran cantidad de fotos, hace que nuestro iPhoto se alente de manera considerable y mas aun si estamos en el caso de haber pasado nuestra librería por distintas versiones de iPhoto sin hacer una depuración de la base de datos.

Lamentablemente cuando realizamos una actualización, no se hace esto de manera automática, desconocemos realmente el porque apple no se ha puesto las pilas, ni porque se nos habia comentado de esto.

La siguiente serie de comandos que puede ayudarnos a optimizar la base de datos:

  1. Abrimos la terminal, tecleamos cd espacio y arrastramos la carpeta del iPhoto de tal manera que quede asi:
    cd /Users/usuario/Pictures/iPhoto\ Library
  2. Una vez localizados en el directorio ejecutamos:
    for dbase in *.db; do sqlite3 $dbase “vacuum;”; done
  3. Esperamos a que termine, dependiendo del tamaño de nuestra base de datos, y listo.

El comando vacuum limpia la base de datos principal copiando su contenido a un archivo de base de datos temporal y este vuelve a cargar al final la base de datos original. Esto libera las paginas, sumando los datos de las tablas de manera contigua, logrando depurar la estructura de archivos de nuestra base de datos y mejorando el performance.

Recomiendo de sobre manera que se tomen los tiempos antes / después de:

  • Arranque del iPhoto,
  • Reconocimiento de caras.
  • Velocidad de apertura de events, faces y places.
  • Navegación de fotos
  • Edición de fotos

Ya que es impresionante la diferencia, ¿no me creen?, intentelo.

There are two kinds of cryptography in this world: cryptography that will stop your kid sister from reading your files, and cryptography that will stop major governments from reading your files.
- Bruce Schneier

Google Latitude & Maps 3.0

Google acaba de sacar un servicio de geolocalización integrado a Google Maps llamado Google Latitude, aprovechando la salida de Google Earth 5.0 nos encontramos con nada más y nada menos que Google Maps 3.0 para móviles.

Me decidí a probarlo e instalarlo y estos son los resultados que me encontré:

  • Geoposicionamiento por GPS y GPS-A
  • Geoposicionamiento por triangulación de telefonía celular (no necesta tener GPS tu equipo)
  • Sincronización de contactos de Gmail (podremos invitar y ver a cualquiera de nuestros contactos en su posición en vivo; algo parecido a una autorización de Google Talk con tags de posición)
  • Sincronización de imágenes de contactos de Gmail con geoposicionados.
  • Todas las Funcionalidades anteriores de Google Maps, incluyendo Google Street y Trafico en algunos países.

Podemos Instalarlo desde nuestro celular o tecleando google.com/latitude
Un detalle es que necesitamos una conexión wifi, 3G o EDGE (o algún plan de datos) para que suba nuestra ubicación (de manera continua o cuando se lo indiquemos) a Internet, pero no lo veo como un problema, ya que es posible que nos encontremos en la oficina y escuela (donde si tenemos wifi) y queramos compartir nuestra ubicación

Lo he intentado con un N95-3 8gb Symbian 3era edición, pero al parecer soporta mas dispositivos y OS móviles. ¿Alguien se anima a instarlo en algo mas?

Dejo algunas pantallas:

Google Maps 3.0 sobre CU

Google Maps 3.0 sobre CU