About.me, más sobre tarjetas de presentación

About.me, interesantes tarjetas de presentación

Hace algún tiempo ya hice un post acerca de hacer tarjetas de presentación elegantes mediante Dooid, y hoy aquí les presento una alternativa muy buena que se adapta a tus servicios usuales, y quien te encuentre puede enterarse de toda tu vida 2.0 desde la misma tarjeta.

Así pues hoy les traigo a about.me, un sitio web de tarjetas de presentación muy interesante, consiste en colocar tu información personal, y también los servicios en los que participas (Facebook, Twitter, WordPress, etc) y éste mediante logueos o simples links puede enlazarlos, algo que me fascinó de esto es su interesante acople con los servicios, que aparte de colocar un simple link uno puede enlazarlos mediante sus API’s y asi cuando el visitante entre a tu tarjeta de presentación vera información relacionada.

Cuenta con un dashboard para monitorear visitas, clics, links, o estadísticas generales de uso…

Además, el link da mucha presencia y sigue el concepto de la web 2.0 con el formato <link>/<nombre de usuario>, interesante herramienta.

link | http://about.me/

Hackeando la educación universitaria

El problema

Escribí hace tiempo que hoy un título universitario no te garantiza nada . Es una consecuencia inevitable de la “universidad para todos”: cuando todo el mundo puede ser titulado, ser titulado no te diferencia del resto, y por lo tanto no te asegura un puesto de trabajo y mucho menos de directivo, como podía hacerlo hace 50 años.

Las estadísticas del tipo “los universitarios ganan x% más que los que tienen estudios primarios” son ridículas, porque la correlación no implica causalidad. Ahí se mezclan categorías profesionales diferentes en las que el título sí habilita la diferencia (un médico gana más que un celador) con situaciones socioeconómicas previas (el niño que será jefe en la empresa de papá estudia siempre una carrera, pero no será jefe por universitario sino por hijo; el hijo de un fresador tiene menos probabilidades de estudiar y muchas menos de llegar a un puesto directivo). Y se puede triunfar sin carrera, si queréis un ejemplo podéis aprender con este vídeo de José Cerdán en Iniciador .

Ya sé que hay quien hace una carrera “para aprender”, “por la cultura”, pero este post no va de esto. Si te gusta la literatura búlgara del siglo XII puedes estudiar Filología, pero ya sabes que eso es una afición que muy difícilmente te conseguirá un empleo en ese campo.

Hay otro problema más profundo, que explica muy bien Seth Godin en su manifiesto “Cerebros Lavados” : en realidad la educación universitaria está pensada para crear empleados que encajen como engranajes en grandes empresas, siendo piezas previsibles de una maquinaria previsible que funciona con rígidos procesos determinados desde arriba. Ahora el mundo ha cambiado, las fábricas están en China, no hay nada previsible y tu formación para encajar en el mundo del siglo XX cada vez tiene menos valor en el siglo XXI. Seguir leyendo …

Buscaminas con Java

Buscaminas en Java

En una rapida reunión sobre programación que tuvimos en la UPAO con Alex(de javatutoriales.blogspot.com) que estaba de visita por el congreso, nos dio un ejercicio de como resolver un buscaminnas, donde:

Te daban: Tenias que devolver
**.*
..**
*.**
**4*
35**
*2**

o sea remplazar los puntos por el numero de asteriscos que tienen alrededor.

Gracias a eso, se me dio por pasarlo a una aplicación de escritorio con Swing, al estilo de Windows, pero mas simple, y aunque aun esta incompleto(porque le falta decir cuando has ganado) se puede estudiar el codigo, y entender como generar botones dinámicamente, y como funciona el buscaminas a grandes razgos.

Bueno a continuación adjunto tanto el codigo fuente como el jar, espero que haya sido de su utilidad.

Codifo fuente / Jar Ejecutable

PD: Este es mi primero post, disculpen si hice algo malo =).

Wikileaks, Cablegate y las Ciberguerras

WikileaksHace unos días teníamos, posiblemente, la noticia más importante de este año que se va acabando. Wikileaks, destapaba los secretos mejor guardados de la Secretaría de Estado de los Estados Unidos. Una filtración de aproximadamente 250 mil documentos comprometedores de esta agencia, relacionado a la política exterior del país del norte. Todo esto remeció no solo a la comunidad mediática internacional, si no que también  se vio reflejado en sonados problemas políticos y por así decirlo, reacciones colaterales. Luego de esta filtración de documentos, el fundador de wikileaks, Julian Assange fue considerado como terrorista por EEUU y fue perseguido por una denuncia de acoso sexual. Gente pro-wikileaks y anti-wikileaks desataron en las ultimas horas una ciberguerra, cobrando entre sus victimas a grandes empresas de la banca.

Seguir leyendo …

Speedy ya no dará servicio de internet ilimitado en Perú

Este post quizás sólo sea para difundir información de otros blogs o sitios webs que tienen la noticia, pero al menos daré una síntesis de lo que pasa, nuestro proveedor de servicios de internet, Speedy, ha modificado los términos de sus contratos de usuario afectando a todos los planes de internet y limitándolos con una cuota mensual de descarga, quizás no entiendas estos términos, pero el caso es que actualmente Speedy nos brinda una cuota ilimitada de descarga…

Recordemos que de Speedy se sabe que:

  • El servicio de Speedy es secundario al del teléfono, no puedes contratar internet de Telefónica si no tienes teléfono.
  • El teléfono, tarifa básica, es de 40 nuevos soles.
  • El Speedy más barato cuesta 110 soles más el teléfono (40 soles) = 150 soles al mes.
  • Para gran parte de peruanos es muy caro así que prefieren pagarle mensualmente a un revendedor de internet (los famosos WISP) por 30, 40 o 50 soles (una tarjeta inalámbrica económica cuesta 40 soles).
  • A Telefónica no le cuadra el negocio, sacaron Speedy 50 y 60 con el valor de soles respectivos (pero la información no la encuentras ni en su página web www.telefonica.com.pe/speedy/) Sólo se puede navegar un máximo de horas al mes, no es una conexión continua… resultó ser un fracaso…

Tomado de Menéame.

Y ahora la nueva controversia se arma al anunciar sus nuevos planes para limitar la descarga. Como dije, no voy a dar más detalle de esto, porque el tema se viene debatiendo en la capital más que por aquí en provincia, pero solamente quería hacer de difusor con este post.

Aquí las fuentes:

Espero esto se solucione pronto, en verdad no estoy para nada de acuerdo con que nos limiten el internet a los peruanos.

Recomendaciones para Bloggers: El hotlinking

Parar el hotlinkingDesde tiempos inmemoriables, siempre tenemos en la bloggosfera una adicción por compartir información y extender nuestro conocimiento, siempre hablamos de que compartir hace que estemos mas informados e informantes, pero muchas veces caemos en temas un poco escabrosos y exageradamente puntuales (consecuentemente malos) cuando de compartir se trata, y uno de ellos es por ejemplo el hotlinking.

¿Qué es el hotlinking?

Bueno, el hotlinking no es sino la  toma de recursos desde algún site externo, lo que quiere decir por ejemplo, que bien yo podría tomar el url de una imagen (que es donde más repercute esta práctica, las imágenes) e incrustarla en este post, haciendo que parezca que pertenece a esta página. Por ejemplo:

Vamos a considerar a imagen.jpg como el archivo causante de un hotlinking, y tenemos dos servidores, servidor1.com y servidor2.com, asumiendo que ambos servidores tienen un blog, y que la imagen.jpg está en el servidor1.com, el hotlinking vendría a ser cuando el servidor2.com toma esa misma imagen y la pone en un post de su blog, dándose uno cuenta cuando al examinar el código html encontramos a la imagen en esta linea:

<img src="http ://servidor1.com/imagen.jpg" />

Entonces cada vez que abrimos el post en el blog en el servidor2.com, automáticamente nos cargará la imagen.jpg desde el servidor1.com y tomará el recurso haciendo un coste en el ancho de banda del servidor1.com, dado a que las llamadas siguen siendo hacia el mismo archivo.
Seguir leyendo …

Buenas practicas de programación y convenciones Java

Cuando empieza a programar, el desorden de nuestro código es impresionante, es decir, nombramos variables con nombres inentendibles tipo:

mVar, suel_emp, atX_W

Hasta el día de hoy sigo viendo algunos códigos como esos. Yo digo, nunca han pensado que otra persona necesitará revisar su código?, pues creo que la respuesta a eso es NO.

Ahora, en todo lenguaje de programación existen ciertas convenciones para hacer nuestro código mas prolijo y entendible. A continuación adjuntaré un pdf escrito por Angel Castiglia, el cual me parece buenísimo porque te da excelentes consejos de como tener buenas practicas en programación para programar en Java, siguiendo los estándares de java.

Buenas practicas de programación Java

Además, aquí adjunto el link de un post muy bueno del blog Java Tutoriales, el cual describe las convenciones de java para nombrar a las clases, métodos, atributos, etc.

http://javatutoriales.blogspot.com/2010/10/sun-certified-java-programmer-6-cx-310_10.html

No me queda nada mas que decir, que por favor pedirles que sigan esas recomendaciones, por el bien de los que alguna vez tenemos que revisar códigos ajenos =)

El hallazgo de la NASA: Vida con Arsénico

Saliendo un poco de temas informáticos, todos estos días previos al de hoy han sido de expectativa para la ciencia y para los astrónomos con el anuncio de la NASA acerca de un hallazgo astrobiológico importante y que cambiaría un poco algunas nociones que se tenían en cuanto a la vida tanto dentro como fuera de este planeta (y que además algunos piensan que fue una cortina de humo por el caso Wikileaks).

La noticia es que un Grupo de investigadores dirigidos por la astrobióloga Felisa Wolfe-Simon (en la foto) descubrió en el Lago Mono (California, Estados Unidos) un tipo de bacteria que vive en un entorno de Arsénico, pero lo resaltante de la noticia es que esta bacteria es capaz de “estar constituida de Arsénico”, que para quienes no sepan, es mortal para los mamíferos. Y cuando digo que está constituida de Arsénico me refiero a que ha sido capaz de tener Arsénico en vez de fósforo (como la mayoría de seres vivos que están compuestos además de oxígeno, carbono, hidrógeno, nitrógeno y azufre) y con eso complementa su crecimiento y vida…

La bactería se llama GFAJ-1 y está dentro de la familia Halomonadaceae, un tipo de protobacteria.

Para resumir, el descubrimiento en términos generales trata de que es posible que existan seres vivos en formas de composición muy diferente a las que ya conocíamos, y que bien podrían tomar otros elementos de la tabla periódica para cubrir su cuota de existencia, esto abre una vasta posibilidad de encontrar seres vivos en el universo que no precisamente se rijan con las normas de vida hasta ahora establecidas en cualquier libro de biología. Y  considerando que el universo está compuesto de rarezas, como los lagos de Titan, o la nube de Oort por ejemplo… Las posibilidades de encontrar vida se amplían aún más…

PD: Cabe resaltar que en 2008 se hizo el descubrimiento de que habían seres capaces de habitar Arsénico, pero lo diferente de esta nota es que son capaces de estar compuestos de Arsénico..

Pueden leer el hallazgo desde la nota oficial de la NASA desde el siguiente link: http://www.nasa.gov/topics/universe/features/astrobiology_toxic_chemical.html

Actualización: Pueden leer adicionalmente las notas de ABC.es y del propio sitio web con las publicaciones de la Astrobióloga y PhD Felisa Wolfe-Simon, directamente desde la fuente del hallazgo.

Vía | Alt1040 y La nota Oficial de la NASA

Instalar XAMPP en Ubuntu

Desde hace algún tiempito corto acá he retomado el uso del sistema operativo Ubuntu, en su versión 10.10, y una de las cosas que no pude migrar así de facil fue mi trabajo con el PHP que siempre en Windows había realizado con el servidor típico WampServer, el cual como ya muchos sabrán, lo que hacía era juntar el servidor Apache y el servidor MySQL en un fácil instalador que no pasaba los 20MB, por lo que me evitaba de estar bajando paquetes y así. El problema es que sólo existe una versión para Windows y al momento de estar operando en Ubuntu necesitaba algo que al menos se asemeje a eso. Obviamente no iba a instalar Apache y MySQL por separado y andar levantando servicios y eso , que más que desconocimiento, resulta un fastidio. Para esos casos, me vino como anillo al dedo XAMPP.

¿Qué es XAMPP? … Pues si vamos a Wikipedia encontraremos esto

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.

Y bueno, cabe resaltar que es un proyecto de Apache Friends, subido a Sourceforge y que cada cierto tiempo es actualizado a una nueva versión (contra la versión de WampServer que se actualiza cada ciertos meses, XAMPP se actualiza mas rápido).

Entre otras características que me gusto de XAMPP es la posibilidad de montar un servidor con SSL y el uso de Perl (Que yo de Perl no se nada, pero quien te dice si no aprendo de la manera como aprendí PHP, instalandome un servidor y probando) un poco más que ofrecer que el WampServer. Pero no os preocupeis, que también existe una versión para Windows mucho mas intuitiva y con más posibilidades que muchos otros servidores.

Cómo Instalo XAMPP en mi PC con Ubuntu?.

Bueno, primero que nada hay que descargarse el paquete, actualmente la versión estable es la 1.7.3a, pero por si las moscas yo colocaré aquí el link de descarga general, para que puedan descargar la última versión en cualquier momento que vean este post.

XAMPP, proyecto en SourceForge -> http://sourceforge.net/projects/xampp/

Como podrán ver, el archivo principal a descargar, es un archivo tar.gz el cual es un archivo de compresión clásica en UNIX, vamos que una versión clásica equivalente al RAR que usamos en Windows, pero entonces, como lo instalo desde un archivo compreso que sólamente tiene archivos… pues aquí viene la parte buena.

Primero, tienes que descomprimir el archivo y copiarlo automáticamente a la carpeta /opt del sistema. Para eso simplemente lo que haremos es escribir esto en la terminal (recomiendo hacerlo con permisos de root para evitar problemas):

tar zxvf /<ruta-donde-esta-ubicado-el-archivo>/xampp-linux-x.x.x.tar.gz -C/opt

Donde x.x.x es la versión actual del XAMPP. Con esa línea lo que haces es descomprimir automáticamente el archivo en dicha carpeta y prácticamente ya tendrías instalado XAMPP en tu sistema. Si, así de fácil.

Ahora, como ustedes sabrán, esto es un servicio que no siempre queremos que esté activo, porque consumirá recursos en el sistema y queremos que actue como un programa que se active cuando querramos y desactive cuando terminemos de trabajar. Pues bien, el proceso de activación y desactivación de XAMPP server es sencillo:

Para activarlo. Deben ejecutar esta linea en terminal

/opt/lampp/lampp start

Entonces nos deberá salir algo como esto:

Starting XAMPP for Linux x.x.x…
XAMPP: Starting Apache with SSL (and PHP5)…
XAMPP: Starting MySQL…
XAMPP: Starting ProFTPD…
XAMPP for Linux started.

Para desactivarlo, es el mismo proceso, pero escribiendo esto:

/opt/lampp/lampp stop

Y entonces el sistema detendrá el servicio

Stopping XAMPP for Linux x.x.x…
XAMPP: Stopping Apache with SSL…
XAMPP: Stopping MySQL…
XAMPP: Stopping ProFTPD…
XAMPP stopped.

Bueno, mientras tengas activado tu servidor XAMPP puedes acceder a él mediante el link clásico http://localhost/ automáticamente y subir tus proyectos mediante el FTP con el usuario “nobody” en localhost, además de usar el phpmyadmin con http://localhost/phpmyadmin

Adicionalmente recomiendo agregarle la seguridad respectiva al servidor, entonces tendrás passwords en todos tus servicios y tus conexiones serán seguras (ya que, en un entorno de red por ejemplo, cualquiera podría entrar mediante tu IP a tus servicios web). Deberán escribir esto en la terminal:

/opt/lampp/lampp security

Automáticamente en la terminal se iniciará un Wizard para colocar la seguridad respectiva en todos los servicios de tu instalación de XAMPP, como los passwords en tu usuario de MySQL, de FTP, y de acceso a la web.

Pueden encontrar información al detalle acerca de XAMPP, sus comandos, sus archivos (osea, los que podreis editar a tu conveniencia para, por ejemplo ampliar el límite de subida de archivo en tamaño) entre otras especificaciones en el siguiente link:

http://www.apachefriends.org/en/xampp-linux.html

Espero este sea el comienzo de una serie de post dedicada al servidor XAMPP y como operar y hacer más facil la vida de quienes llegan a estos posts, si hay alguna duda, quizás pueden comentarla acá, podremos debatir y aportar, ya que yo también estoy empezando a usarlo.

Saludos!

Bibliotecas en C/C++ [Actualizado]

Cuando uno empieza a programar, la forma de modularización del nuestro código es bien pobre; es mas!, tanto así que hasta a veces metemos todo en el main. Luego que superamos la fase de meter todo el main, comenzamos a modularizar mediantes funciones, las cuales las ubicamos dentro del mismo archivo. Hasta aquí ya sabemos programar; y pues ya no aparecen los errores en tiempo de compilación, pero nos falta algo aun para hacer proyectos mas grandes, ese algo, es aprender a usar y crear bibliotecas o librerías.

En C++ y en algunos otros lenguajes de programación, se pueden crear 2 tipos de bibliotecas: dinámicas y estáticas. En Windows, las primeras toman la extensión *.dll y las segundas *.lib o *.a. En linux cambia la extensión de estas por *.so y *.a, respectivamente. Si quieren saber mas sobre el uso de bibliotecas en linux, pueden pasarse por el site de chuidiang.com (sitio que, cuando empecé a programar, me sacó de muchos apuros).

Ahora, para comprender un poco mas de las bibliotecas hay que comprender un poco como funciona el proceso de hacer un programa en un lenguaje de programación compilado, desde su codificación hasta su ejecución. Repasando un poco de teoría, hay que saber que cuando creamos un fichero fuente, este al compilar crea ficheros objeto con extensión .o u .obj. Haciendo un paréntesis, quisiera decir que cuando comencé en la programación me malacostumbré a que con un botón “Build all” o “Make all”, me tuviera listo todo el proyecto y listo para ejecutar y distribuir. Es por eso, que antes de usar cualquier IDE –creo yo- hay que conocer que sucede al hacer clic sobre estos botones. Como había dicho líneas atrás, al trabajar con un lenguaje compilado, al compilar se crean ficheros objeto y NO ejecutables. Los ejecutables son creados recién por el linker, el cual junta todos los ficheros objeto -que no es mas que código de maquina- para poder crear un ejecutable. Si alguna vez han programado en lenguaje ensamblador, se podrán dar cuenta que el proceso es parecido, solo que en lugar del compilador, esta el ensamblador(MASM, TASM, NASM, etc.). Como dijo mi profesor del curso de arquitectura de computadoras, ya con los ficheros objeto tenemos una pista para poder comunicar varios lenguajes de programación, pero ese es otro tema. Por ultimo, también está el no menos importante “librarian”, que es el que se encarga de extraer los ficheros objeto de las bibliotecas, para que así el linker pueda crear el fichero ejecutable apropiadamente.

image

Figura 1. Proceso de compilación

 

image

Figura 2. Proceso de creación de un ejecutable en C no detallado

Seguir leyendo …