Categoría: Programacion

Aprendiendo online: Mi experiencia con PLATZI

En mi anterior post mencioné mi experiencia aprendiendo online con Udemy, ahora les quiero contar mi experiencia con otra plataforma en la que he invertido una buena cantidad de horas, me refiero a Platzi.

Conozco a Platzi desde sus inicios como Mejorando.la, es un emprendimiento hecho por 2 jóvenes latinoamericanos: Christian Van Der Henst y Freddy Vega, a ambos los conozco hace años porque este no es su primer proyecto, a Christian lo conozco desde que creó Maestros del Web porque participé activamente en Foros del Web especialmente en la sección de Linux, pero esa es otra historia, vamos a lo importante, analizar Platzi!!


Platzi es una plataforma de educación online, hasta donde sé es la más grande de habla hispana o por lo menos la más popular, tiene más de 700 mil estudiantes y al ser de habla hispana sin duda el grueso de los estudiantes son latinoamericanos y españoles.

Hace un año decidí pagar por la subscripción de 1 año, como dije antes, sabía de la existencia de Platzi desde sus inicios y sé que tuvieron algunos problemas al principio, pero poco a poco fueron mejorando y miraba como la oferta de cursos crecía y se diversificaba, asi que decidí probarla.

Costos
Platzi funciona con un modelo basado en subscripción, a diferencia de Udemy que por ejemplo te cobra por cada curso, aquí te suscribes y tienes acceso a todos los cursos, te ofrecen la opción de una subscripción anual en la que haces un solo pago, o tienes la opción de pagar mensualmente. Hay ciertas diferencias entre un modelo y otro.

El costo anual es de casi 300 dólares ( 1000 Soles aproximadamente)
El pago mensual es de 39 dólares (131 soles aproximadamente)
Tienen una opción de comprar un solo curso por 99 dólares pero no lo recomiendo.

Ahora mismo tienen una promoción por Navidad que podrías aprovechar para pagar menos 😉

A simple vista puede parecer caro, pero si lo comparas con lo que te costaría pagar por un curso presencial en tu país seguramente te darás cuenta que en realidad es una opción bastante económica y que permite estudiar una cantidad de cursos que no podrías pagar si lo tuvieras que hacer presencialmente. Obviamente hay cursos gratis en internet, pero tener una plataforma especializada tiene sus ventajas.

Platzi te da la opción de pagar en tu moneda local y tiene muchas opciones de pago que hacen que el proceso de subscripción sea sencillo.

Entorno de Aprendizaje
La interfaz de usuario es fantástica, visualmente atractiva y permite llevar con facilidad cualquier curso

En la imagen pueden ver el video embebido con los controles básicos, a la derecha tienen una barra lateral que es de mucha utilidad porque allí es donde la comunidad puede hacer sus aportes, preguntas, colocar marcadores y encontrar todo el material y enlaces sugeridos por el instructor. Hay unos cursos más populares que otros y puedes encontrar una gran cantidad de aportes bastante valiosos, gente que ha resuelto problemas de modo distinto, consejos y experiencias.

La parte de las preguntas también es sumamente útil porque recuerda que las clases no son en vivo, asi si te quedaste con alguna duda o necesitas ayuda lo puedes hacer en esa sección, lógicamente los cursos más populares es donde se encuentran las respuestas más rápidas porque el profesor no contesta todas las preguntas, la comunidad también lo hace. Si haces una pregunta te pueden responder en poco tiempo o si el curso es impopular lamentablemente tendrás que esperar mucho más.

En la parte izquierda hay una columna delgada de color azul que despliega todas los capítulos del curso para que te resulte fácil saltar de uno a otro, bastante útil la verdad.

Ruta de aprendizaje
Una característica fantástica es la opción de seleccionar una ruta de aprendizaje, de esta forma puedes enfocarte en un tema en particular y no marearte estudiando cursos no relacionados.

Otra característica importante es que cuando terminas un curso tienes la opción de dar un examen y si lo apruebas te ofrecen un certificado digital que te puede servir como prueba del conocimiento adquirido.

Variedad y cantidad de cursos
Al momento de escribir este review Platzi ofrece más de 400 cursos, parecen pocos si lo comparas con Udemy pero deben tener en cuenta que en Udemy se ofrecen cursos de cualquier tema en cambio Platzi esta concentrado en Tecnología.

Los cursos estan divididos en varios rubros como:
– Desarrollo e Ingeniería
– Crecimiento Profesional
– Negocios y emprendimiento
– Producción Audiovisual
– Diseño y UX
– Marketing

Sin duda la mayor cantidad de cursos estan en Desarrollo e Ingeniería pero me parece genial que ofrezcan cursos de otras áreas porque eso te permite crecer profesionalmente y aprender cosas que quizás desconocías totalmente.

Cada mes van añadiendo nuevos cursos, actualizando cursos que van quedando obsoletos, en general diría que la variedad es buena y atiende las necesidades de la gente de acuerdo a la demanda actual. En mi caso particular yo tengo un perfil de Sysadmin orientado a DevOps y hay muchos cursos que alguien que se quiera dedicar a ser SysAdmin o implementar DevOps va a necesitar y en Platzi no los va a encontrar.

Idioma
Todos los cursos de Platzi estan en español, hay profesores de distintas nacionalidades y a pesar de tener distintos acentos se les puede entender sin ningún problema, quizás solo tengas problemas cuando usan jerga, este es un detalle que me imagino iran puliendo con el tiempo, pero les diría que el 99% del tiempo se entiende todo lo que dicen los profesores.

Platzi también ofrece cursos en portugués e inglés, pero entiendo que no hay la misma cantidad de cursos que en español.

Pros y Contras
Pros:
– Plataforma sólida y con una buena interfaz para aprender online.
– Tienen app para el teléfono celular, puede estudiar allí e incluso descargar los cursos.
– Tienen un formato establecido para todos los cursos, hay uniformidad en ese aspecto y eso hace fácil acostumbrarse a estudiar en Platzi.
– Muy buena atención al cliente por correo, chat e incluso redes sociales.
– La comunidad es un plus importante, los aportes y la interacción entre estudiantes es muy valiosa.
– Realizan conferencias online y presenciales para los estudiantes, también comparten contenido relacionado en sus redes sociales.

Contras:
– Algunos cursos resultan demasiado básicos, lo cual no estaría mal si ofrecieran el mismo curso con un nivel más avanzado.
– Hay profesores que son unos genios en lo que hacen pero su método de transmitir conocimiento no es muy adecuado, avanzan demasiado rápido en algunos temas o asumen muchas cosas.
– Tienen que mejorar el timing cuando presentan cosas en pantalla como la consola, si el profesor escribe un comando largo o hay algo en la pantalla que necesita ser leído deberían mantenerlo por un tiempo prudencial y no mostrar la cara del instructor a los 2 segundos en vez de la pantalla que uno desea leer. Tuve que usar pausa en muchos cursos debido a esto.

¿Platzi vale la pena?
Sin duda, si lo puedes pagar y tienes el tiempo para estudiar te animo a inscribirte, ya dependerá de cada persona, personalmente inicié casi 50 cursos pero solo completé 19 cursos en un año, muchos cursos sólo tome unas cuantas lecciones porque quería saber de que se trataba. Si bien estudiar online es genial porque no estas atado a un horario, no tienes que transportarte, ni todo lo que conlleva estudiar de forma presencial te aseguro que no es sencillo encontrar el tiempo para estudiar online, se requiere disciplina y créeme que un año se pasa volando.

No es un reemplazo para la Universidad ni donde vas a aprender todo, pero es una buena manera de obtener conocimiento especialmente si no sabes nada o muy poco, si eres una persona experimentada o con conocimientos previos quizás no lo vayas a aprovechar tanto porque los cursos te van a resultar muy básicos. Para mi ha sido una experiencia positiva porque he aprendido mucho en temas en los cuales sabía muy poco o nada.

Si te animas a inscribirte a Platzi te dejo este enlace que te permitirá obtener 1 mes gratis:
https://platzi.com/r/cesarvillegas/

¿Cómo arreglar el problema de las tildes y la eñe en WordPress?

Luego de haber retomado el blog me encontré con un problema: Había un monton de caracteres raros en todo lugar donde antes tenía una tilde o una “eñe”, luego de investigar un poco encontré que le habían cambiado el collation a la base de datos de mi blog.

Así el collation que tenía mi blog decía “latin1_swedish_ci” y yo no entendía el motivo, recurriendo a la documentación pude ver el motivo
https://dev.mysql.com/doc/refman/5.6/en/charset-collation-effect.html

Básicamente mi contenido fué creado con un set de caracteres y al tener la base de datos con un collation distinto pues se hizo todo el embrollo, para solucionarlo tenemos que modificar y poner el set correcto, mi recomendación es utilizar UTF-8

Así que vamos paso a paso con la solución que dicho sea de paso también sirve para MariaDB.

Lo primero es que saques un backup completo de tu base de datos antes de empezar a trabajar, mejor prevenir que lamentar 🙂

Abres una consola de MySQL en tu línea de comandos, PHPMyAdmin o el gestor de tu preferencia y ejecutas este query SQL

ALTER DATABASE nombre_de_la_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Eso te asegura que cuando se cree una nueva tabla se haga con la codificación correcta, ahora nos toca trabajar en las tablas
ALTER TABLE nombre_de_la_tabla CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Ahora nos toca arreglar las tablas de forma individual, el truco es hacer un dump y luego restaurarlas con el set correcto.
mysqldump -p –default-character-set=utf8 nombre_de_la_db nombre_de_la_tabla > tabla_corregida.sql

Y luego la restauramos con
mysql -p base_de_datos < tabla_corregida.sql

Y eso es todo!

Solución alternativa
Si te da miedo manipular las tablas entonces puedes intentar reemplazar los caracteres malos usando UPDATE

Por ejemplo si quieres arreglar todas las eñes de tus posts tendrías que ejecutar algo como esto:
UPDATE wp_posts SET post_title = REPLACE(post_title, "ñ", "ñ");
UPDATE wp_posts SET post_content = REPLACE(post_content, "ñ", "ñ");

En este ejemplo estoy cambiando tanto el título como el contenido del post, hay más campos y puede ser un poco más tedioso pero si te da más confianza hacerlo así pues adelante.

Linus Torvalds habla sobre software de control de versiones

El otro dí­a en el Barcamp Lima estuvimos hablando un poco sobre Software de Control de Versiones y lo importante que esto es para cualquier desarrollador especialmente si trabaja en equipo.

Buscando información sobre Git encontré esta charla que dió Linus Torvalds en Google y que habla sobre el software de control de versiones, obviamente se enfoca en los beneficios de Git pero no deja de mencionar los defectos de CVS y Subversión y de lo feos que le parecieron desde el principio y que fué eso lo que lo llevó a usar BitKeeper, una excelente charla, no se la pierdan 😀

Instalar psycopg2 en FreeBSD

Me ví­ en la situación de tener que trabajar con Postgres sobre FreeBSD y necesitaba un script para jalar datos de unas bases de datos en formato DBF (si, DBF pueden creerlo?) fue asi que encontre un script llamado dbf2pgsql que fue hecho por Hiroo Imaki.

Luego de descargarlo, lo modifiqué un poco para que se adaptara a mis necesidades y cuando lo ejecuté encontré un problema, me hacia falta la librerí­a psycopg2 que es un magní­fica librerí­a que permite la interacción entre Python y Postgres, el problema es que por lo visto da muchos problemas para poder ser instalado.

El primer requisito para poder instalar psycopg2 es tener instalado Setuptools luego de instalarlo trate de instalar pysopg2

python setup.py build

No lo pude hacer porque tení­a el siguiente error
error: static declaration of ‘round’ follows non-static declaration

Luego de mucho buscar por una solución me encontré con este post de Reed Obrien
http://reedobrien.blogspot.com/2008/02/error-building-psycopg-custom-egg.html

Por lo visto es un error para poder hacer el build en FreeBSD, solucion pasa por editar el archivo config.h y comentar las siguientes lí­neas:
#if defined(__FreeBSD__) || (defined(_WIN32) && !defined(__GNUC__)) || defined(__sun__) || defined(sun)
/* what's this, we have no round function either? */
/*
static double round(double num)
{
return (num >= 0) ? floor(num + 0.5) : ceil(num - 0.5);
}
*/
#endif

Luego de esto cruce los dedos:
python setup.py build
Bingo! funcionó sin problemas, y ahora el paso final
python setup.py install

Y ahora ya pude correr con éxito el script dbf2pgsql, tardé mucho en dar con la respuesta, asi que espero que esto pueda ser útil.

Que es UTF-8?

La respuesta corta es: UTF-8 es un formato para codificar caracteres Unicode utilizando secuencias de bytes.

Y qué es Unicode?
Probablemente muchos de ustedes hayan oí­do hablar de los sistemas de codifiación, los que hablamos español estamos muy acostumbrado al famoso ASCII si, ese que nos ayuda a sacar las tildes 😛

Pues asi como el ASCII hay muchí­simos sistemas de codificación que lo usan en otros idiomas e incluso un mismo idioma puede tener varios sistemas de codificación que varí­a por la plataforma en la que se ejecuta. Y como hacemos para arreglar todo este embrollo? como hago para poder ver páginas de anime japonés con sus caracteres reales y no solamente unos cuadrados? como hacen los hebreos para poder leer correctamente algo en francés o ruso? La respuesta a todo es Unicode!

Unicode proporciona un número único para cada carácter, sin importar la plataforma, sin importar el programa, sin importar el idioma.


Creative Commons License photo credit: sillygwailo
Dicho todo esto, volvamos con UTF-8 !

UTF-8 se lo debemos al maestro Ken_Thompson, si uno de los genios detrás de Unix y el creador de Plan 9

UTF-8 usa grupos de bytes para representar el estándar de Unicode para los alfabetos de muchos de los lenguajes del mundo. Es especialmente útil para la transmisión sobre sistemas de correo de 8 bits.

Usa de 1 a 4 bytes por carácter, dependiendo del sí­mbolo de Unicode. Por ejemplo, se necesita un solo byte en UTF-8 para codificar los 128 caracteres US-ASCII en el rango U+0000 a U+007F de Unicode.

Para todos aquellos que tenemos necesidad de programar usar UTF-8 nos ha servido para aliviar muchí­simos dolores de cabeza, especialmente para los que hablamos español y tenemos necesidad de colocar tildes y algunos caracteres especiales, y muchas veces tení­amos que hacerlo con software que no contemplaban esas posibilidades. Ahora casi todo el software que usamos y que tiene que ver con manipulación de documentos soportan este formato.

Para los que son webmasters UTF-8 es especialmente importante porque les ahorrará muchos problemas con los navegadores, webservers y las aplicaciones que escriban.

Si quieres verificar que tú sistema y navegador soportan UTF-8 (lo raro serí­a que no lo soporte) puedes abrir este archivo de texto :
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

Si ves todos los caracteres no tienes problemas, pero si ves puros cuadrados o caracteres sin ningún tipo de secuencia lógica entonces estas usando un sistema de codificación alterno como ISO-8859-1 busca en tu navegador y lo cambias, aunque mi blog esta codificado para UTF-8 y le avisa al browser que deberí­a de utilizar UTF-8 para interpretar todo.

Creative Labs se dispara en el pie

Creative Labs ha sabido ganarse una reputación a través del tiempo con sus tarjetas de sonido, tienen el dominio casi exclusivo en el mundo de los gamers que es quizás la parte mas importante de su negocio. Yo siempre los tení­a en alta estima, hasta que me enteré de que han amenazado a Daniel_K.

Quién es Daniel_K ? pues nada menos que un desarrollador independiente que logró lo que ni los mismos ingenieros de Creative Labs pudieron: hacer funcionar correctamente los drivers para sus tarjetas de video en Windows Vista. El problema es según los señores de Creative que el buen Daniel_K esta recibiendo donaciones (claro seguro ha ganado una millonada) por SU trabajo, esto a ellos no les gusta porque dicen que esta lucrando con su Propiedad Intelectual, aquí­ el mensaje en los foros de Creative:

Daniel_K:

We are aware that you have been assisting owners of our Creative sound cards for some time now, by providing unofficial driver packages for Vista that deliver more of the original functionality that was found in the equivalent XP packages for those sound cards. In principle we don’t have a problem with you helping users in this way, so long as they understand that any driver packages you supply are not supported by Creative. Where we do have a problem is when technology and IP owned by Creative or other companies that Creative has licensed from, are made to run on other products for which they are not intended. We took action to remove your thread because, like you, Creative and its technology partners think it is only fair to be compensated for goods and services. The difference in this case is that we own the rights to the materials that you are distributing. By enabling our technology and IP to run on sound cards for which it was not originally offered or intended, you are in effect, stealing our goods. When you solicit donations for providing packages like this, you are profiting from something that you do not own. If we choose to develop and provide host-based processing features with certain sound cards and not others, that is a business decision that only we have the right to make.

Although you say you have discontinued your practice of distributing unauthorized software packages for Creative sound cards we have seen evidence of them elsewhere along with donation requests from you. We also note in a recent post of yours on these forums, that you appear to be contemplating the release of further packages. To be clear, we are asking you to respect our legal rights in this matter and cease all further unauthorized distribution of our technology and IP. In addition we request that you observe our forum rules and respect our right to enforce those rules. If you are in any doubt as to what we would consider unacceptable then please request clarification through one of our forum moderators before posting.

Phil O’Shaughnessy
VP Corporate Communications
Creative Labs Inc.

Es realmente increí­ble lo que esta haciendo Creative, en vez de darle un trabajo a este hombre que les esta haciendo un ENORME FAVOR lo que hacen es amenazarle con enjuiciarlo, es absolutamente ridí­culo!

Yo espero que se rectifiquen en el corto plazo sino, pues nunca más pienso comprar un producto de Creative Labs, demás esta decir que mucha gente ha protestado y en el mismo foro del mensaje expresan su solidaridad y apoyo a Daniel_K.

Fuente: Message to Daniel_K

Como crear un videojuego con SDL

El mundo de los videjuegos es apasionante y si eres programador, pues crear un videojuego puede ser un desafí­o sumamente estimulante. SDL (Simple DirectMedia Layer) es una librerí­a creada especialmente para poder crear videjuegos, es multiplataforma y permite controlar a bajo nivel nuestro teclado, joystick, mouse, audio, video.

Si quieres aprender lo básico de SDL y crear un juego en 2D rápidamente te recomiendo seguir esta magní­fica guí­a que paso a paso nos mostrará todo el proceso que conlleva la creación de un videojuego:

Guí­a SDL para Videojuegos

Update:
Encontré otro tutorial más en perfecto español:
Como desarollar un videojuego paso a paso con SDL