Lenguajes de Programación: Ruby

Ruby

Ruby es un lenguaje de programación relativamente nuevo (se hizo publico en 1995) que se hizo famoso gracias al auge que tuvo Ruby on Rails, un framework para desarrollar paginas web del cual no quiero hablar todavía hasta comprender bien que es Ruby.

Se dice que Ruby es un lenguaje dinámico enfocado a la simplicidad y a la productividad. No quiero entrar en la eterna batalla de si Ruby es mejor que C++ o que Python, Perl, etc. De hecho el creador de Ruby, Yukihiro Matsumoto, dice que Ruby es una mezcla de varios de sus lenguajes favoritos. Así que no hay bronca si alguien encuentra mas útil un lenguaje que otro. Uno siempre puede programar en el lenguaje que se le facilite mas y si ninguno le convence, puede seguir los pasos del japonés.

Una de las principales características de Ruby es un lenguaje Orientado a Objetos (OOP). No me voy a meter en definir que es la Programación Orientada a Objetos (todavía), pero si es necesario comprender que la Programación Orientada a Objetos es una “filosofía” que plantea técnicas para el desarrollo de aplicaciones.

La página oficial del lenguaje de programación es: http://www.ruby-lang.org donde encontrarás una comunidad, documentación y algunos buenos tutoriales para empezar en el mundo de Ruby.

Enlaces (en ingles)
Prueba Ruby desde el navegador: http://tryruby.hobix.com/
Aprende a programar con Ruby: http://pine.fm/LearnToProgram/
Descarga Ruby: http://www.ruby-lang.org/es/downloads/

Nota: Ruby viene instalado de fabrica en MacOS X Leopard.

Proposito de 2009: Ruby

Mientras fuí estudiante de la Facultad de Telemática semestre a semestre tuve clases de programación. Nunca me llamó mucho la atencion. Estudiamos Pascal, C++, Visual Basic y Ensamblador, y muy poco de PHP. Ensamblador fue el lenguaje que menos se me dió, y los demás, aunque si los entendí y si hacía las tareas y pasaba examenes, no les dediqué el tiempo necesario para poder decír que sé programar. Para no hacer el cuento largo solo diré que me dediqué mas al área de redes en Linux y Windows.

Poco mas de 3 años despues veo que estuvo mal hacer eso, no me gusta mucho la programación, pero quiero aprender. Tengo muchas ganas de hacerlo. Y aprovechando que se acerca el 2009, me puse como proposito de año nuevo aprender a programar bien.

Creo que una de las razones por las que no me gustaba programar era por las sintaxis usada en los lenguajes que vimos en la Facultad. Hace casi dos años leí de un lenguaje de programación que prometía hacer mas facil la programación de proyectos en internet, Ruby on Rails, leyendo un poco más me dí cuenta que Ruby on Rails es solo un framework para un lenguaje de programación que se llama Ruby. En aquel entonces intenté hacer un proyecto web con malos resultados. No tenía las bases para empezar a programar en Ruby on Rails sin haber estudiado Ruby primero.

Así que hoy comienzo a estudiar Ruby, aprenderé a programar ese lenguaje, e intentaré ir publicando lo que vaya aprendiendo. Despues aprenderé Ruby on Rails. Y posiblemente algun día pueda finalmente sacar alguno de los muchos proyectos que no he hecho por la falta de saber programar decentemente.

Nota: Tal vez muchos no consideren un reto lo que me propongo para el 2009, pero si supieran que tengo un gravisimo problema de deficit de atencion, que no puedo concentrarme en una sola cosa, que me gusta estar leyendo blogs en Google Reader, revisar mi correo cada 5 minutos, chatear, diggear, etc…. la cosa cambia…

Se aceptan palabras de aliento. :D

ExtractNow

Cada que me topo con alguna computadora con Windows casi por instinto tengo que instalar ciertos programas para sentirme mas agusto. ExtractNow es uno de ellos. Es EL programa para descomprimir archivos. Si, solo descomprime. Pero es tan sencillo como hacer doble click en el archivo comprimido y ExtractNow se abre, descomprime el archivo, se cierra el programa y abre la carpeta donde dejo los archivos extraidos.

ExtractNow

Tal vez a algunas personas se les haga algo sin chiste, pero desde que trabajo con una Mac, me dí cuenta de que cosas tan sencillas como descomprimir un archivo no debe de requerir ver una ventana en la que hay que darle siguiente – siguiente – finalizar.

ExtractNow ExtractNow

Enlace: ExtractNow
Formatos soportados: ZIP, RAR, ISO, BIN, IMG, IMA, IMZ, 7Z, ACE, JAR, GZ, LZH, LHA, TAR, SIT.

ShutdownGuard

Si hay algo que odié cuando usaba Windows era cuando al instalar una actualización se reiniciaba automaticamente o al instalar algun programa, sin siquiera preguntar, reiniciaba la computadora. Ahora, por medio de lifehacker encontré un programa muy util que evita que esto suceda.
Lo que hace es que cada vez que el sistema quiera reiniciar, apagarse o cerrar sesión aparece un mensajito en la barra de tareas pidiendo confirmacion para apagar. Así de facil.

ShutdownGuard

Enlace: ShutdownGuard

Usar OpenDNS para bloquear pornografía

Ya expliqué como usar OpenDNS en lugar del DNS de Prodigy y mencioné que se podía usar para bloquear pornografía o algunas páginas que no querramos que nuestros usuarios vean. Y como en el otro post hice una introducción larguisima, hoy vamos al grano.

Antes que nada hay que configurar nuestro router 2Wire (o cualquiera que uses) para usar OpenDNS. Ya que lo tenemos configurado hay que crear una cuenta en la página de OpenDNS. Como supongo que cualquier persona sabe crear una cuenta, no voy a explicar los datos que hay que llenar.

A continuación hay que descargar un cliente que notifique nuestra IP publica al servidor de OpenDNS. Hay algunos routers se pueden configurar para notificar estos cambios de IP, y no es necesario bajar ningun programa. Yo por ejemplo tengo un WRT54G v2. con el firmware Tomato que facilita este proceso. Sin embargo si no tienes un router que haga esto, como la inmensa mayoria que usan solo los 2Wire, tienes que descargar el cliente de OpenDNS e instalarlo en una computadora que esté encendida (y conectada a internet) la mayor parte del tiempo.

OpenDNS Client

Aunque yo instalé la version para Mac, no hay mucha diferencia con la versión de Windows. Ahí pide tres datos. Usuario, Contraseña y Red (Network). Si solo usas el OpenDNS en un solo lugar, o en una sola empresa, no es necesario rellenar el campo Network, en cambio si lo usas en mas de un lugar, tienes que crear diferentes redes en tu cuenta.

Pero bueno, supongamos que solo quieres usar tu cuenta para tu empresa, tu casa, o algo así. En tal caso solo pones usuario y contraseña y listo. OpenDNS ya sabe tu IP todo el tiempo. A continuación regresamos a la página de OpenDNS y le damos click en Sign In e introducimos nuestro usuario y contraseña.

OpenDNS Iniciar sesion

Cuando hayamos iniciado sesion nos aparecerá el Dashboard de OpenDNS. En el Dashboard, si tienes la paciencia de leer, puedes encontrár todas las opciones que tiene disponible OpenDNS (que realmente son muchas).

OpenDNS Dashboard

Pero lo que realmente nos importa, se encuentra en la pestaña de Settings.

OpenDNS Settings

Que es donde se encuentra la opción que nos interesa, bloquear páginas web.

OpenDNS Content Filtering

Como pueden ver, ya nos presenta algunas opciones un poco generales, pero utiles, si no queremos meternos en mas detalles. Sin embargo, en la opción de Custom, podemos seleccionar especificamente que generos podemos bloquear, por ejemplo, los que yo tengo bloqueados son:

OpenDNS Custom Filtering

Y para las personas mas quisquillosas, en la parte de abajo podemos filtrar contenido por dominios, ya sea que siempre este bloqueado un dominio, o si queremos que aunque este bloqueado un genero, no se bloquee un dominio, también se puede.

OpenDNS Block Domains

Y con eso termino mi tutorial para bloquear contenidos usando OpenDNS. En lo personal les recomendaría ver a fondo todas las opciones que OpenDNS nos ofrece, son tantas que de solo pensarlo me da flojera hacer un tutorial de cada una, sin embargo, está funcion, es realmente util en un ambiente laboral.

No soy muy bueno explicando (se nota?) pero si tienen alguna duda, haré lo mejor posible por resolverla. Alguna tema del que les gustaría que hablara?