¿Quieres aprender a programar? Empieza aquí

minesw

Con cierta frecuencia amigos, familiares y personas en Twitter y Facebook me preguntan sobre cómo aprender a programar. Algunos me dicen “quiero aprender hacer apps” refiriéndose a las aplicaciones en teléfonos móviles y otros me dicen que quieren hacer un website para su negocio.

Mi respuesta automática es la que creo que muchos otros programadores tienen, enviar unos cuantos enlaces a sites como Codecademy, CodeShool o algún libro online. Lo que nunca he hecho es sentarme y pensar cuidadosamente como fue que yo aprendí y tratar de extraer lecciones de esa experiencia.

Continue reading “¿Quieres aprender a programar? Empieza aquí”

Informe de Progreso

Diseñando Blimp 2

Este año promete estar lleno de cosas nuevas pero antes de hablar de eso quiero contarles un poco sobre donde estamos con Blimp y hacía donde vamos.

Blimp Status Report
Hay más de 8,000 compañías usando Blimp en más de 100 paises. Lograr eso ha tomado mucho tiempo y esfuerzo. No puedo estar más contento con nuestro equipo pero nos queda claro que hay mucho más por hacer todavía.

Trabajar en Blimp nos ha producido muchos momento de satisfacción. Es increíble recibir un email de agradecimiento de alguien en un país que nunca has visitado y en donde no conoces ni a una persona. Esperamos poder seguir cumpliendo con nuestra misión de lograr que el trabajo sea menos malo y que trabajar en equipos a distancia sea igual o mejor que trabajar todos en un mismo edificio.

Si bien es cierto que hemos recibido muchos mensajes positivos por el producto también es cierto que hemos recibido otros señalando errores y lugares donde podemos ser mucho mejor. Son estos mensajes los que nos ponen a trabajar hasta tarde en la noche y los que han ayudado a Blimp a convertirse en un producto de calidad. Este feedback de nuestro usuarios nos ha guiado y nos ha dicho constantemente en que debemos trabajar.

Es basado en ese feedback y todo lo que hemos aprendido de nuestras conversaciones con clientes que hemos decidido re-pensar todo y decidir que es necesario hacer ajustes mayores. A esta nueva etapa la llamamos Blimp 2. Una nueva versión del producto que incluye mejores herramientas para manejar tareas individuales así como tareas las del equipo. Además esta nueva versión enfatizará mucho en habilitar interacciones en tiempo real. Uno de los features que más nos emociona es la idea de tener un chat de grupo para todas la cuentas y como ese chat se integra de forma profunda con los features de manejo de tareas que ya tenemos.

Hace unos días comenzamos el desarrollo de esta nueva versión y pronto tendremos más noticias. Mientras tanto los invito a leer todo lo que hemos publicado del proceso de diseño de esta nueva versión. Nos encantaría recibir aun más feedback.

Proyecto Nuevo
Antes de empezar a trabajar en Blimp me dedicaba principalmente a dar servicios de diseño y desarrollo web a todo tipo de clientes. Desde negocios pequeños que necesitaban una aplicación para manejar temas de inventario hasta agencias de publicidad que querían promocionar alguna marca muy reconocida. He trabajado con muchos clientes.

A pesar de que llevo más de un año trabajando en Blimp todavía sigo recibiendo llamadas de clientes viejos y de gente que ha visto en lo que estoy trabajando ahora. Lamentablemente a la mayoría de estos clientes les tengo que decir que no puedo ayudarlos y termino refiriéndolos a amigos porque no tengo el tiempo.

A esto le sumamos el hecho de que he conocido mucho talento nuevo en nuestra comunidad de startups y en otras comunidades con las que mantengo relación y también le sumamos que en estos últimos años he adquirido mucha experiencia y confianza corriendo un negocio un tanto complicado.

Por todo esto he decidido empezar una compañía nueva con un equipo de trabajo nuevo solo para atender a estos clientes. La idea es montar un equipo pequeño de programación y diseño y además tener un project manager (usando Blimp) que me ayude con la carga del día a día. El equipo tendrá la capacidad de manejar proyectos de todo tipo de complejidad desde el típico website de WordPress, aplicaciones web hechas a la medida hasta aplicaciones móviles para todas las plataformas.

Supongo que eventualmente iremos añadiendo servicios para ayudar a los clientes que lleguen. Copywriting, manejo de blogs, redes sociales y apoyo en estrategias web son mis sospechosos principales para estos servicios adicionales pero empezaremos por lo que ya dominamos y por lo que nos conocen. Los clientes nos dirán si necesitan estas otras cosas.

Ya tengo a algunas personas claves identificadas y muy pronto estaré formalizando todo esto que les cuento. Con este blog post lo que quería era compartir la idea y ver si puedo identificar entre los lectores de este blog más clientes interesados en este tipo de servicio.

Así que si trabajas en una agencia de publicidad o cualquier otro tipo de negocio y usas servicio de diseño y programación web, déjame saber para contarte un poco más sobre este invento. Mi email es [email protected]

Luego comparto más sobre como se desarrolla esta idea. Hasta entonces.

Want to Learn Ember.js? Start Here

learnember

Ember is awesome but it requires some effort to get started with. This is my attempt to make thing easier for everyone trying to learn. Here’s my collection of getting started resources for Ember.js.

 

Intro
Building Web Applications with Ember.js –  Yehuda Katz shows us how Ember can be used to build fast and responsive apps, and shares some nifty aspects of Ember you might not know about.

 

Basics
Ember Guides – Read this! This is the official documentation. If you tried reading it before you should really give it another chance. It’s a lot better than before, that’s why I recommend it as my #1 resource.

Building an Ember.js Application – This screencast will walk you through the process of building a blog reader application using Ember.js 1.0.

An Ember.js beginners tutorial –  Pretty long tutorial covering all the basics of building an Ember app.

 

And then…
Ember without Ember Data – As the title suggests, this is great post on how to use Ember without the Ember Data persistence layer.

Ember 101 – Learn Ember One Video At a Time.

Embercasts – Ember focused screencasts.

 

Getting Help
StackOverflow [ember.js] – Start by searching StackOverflow for questions tagged with ember.js

#emberjs on Freenode – My experience here has been amazing. Just make sure you are polite and if you need to share some code use something like jsbin.

 

Source code to learn from
Discourse
TravisCI
Todo MVC

 

Staying up to date
Ember Hot Seat Podcast – The Ember Hot Seat is be a web series dedicated in bringing you the latest and greatest news from the Ember.js community.

EmberWatch – A great aggregator of Ember-related content.

EmberWeekly – The latest Ember.js news, tips & code delivered directly to your inbox.

 

Meetups

emberjspr
Finally if you want to super charge your learning process you should really go to a local Ember meetup or start your own like I did with Ember.js Puerto Rico.

 

Did I miss something? Share your resources on the comments below.

From DHTML to Node.js

dhtml-to-node

I’ve been using JavaScript since we used to call it DHTML or something like that. Things have changed dramatically for the language we all used to love hating. There’s is a new community, with new platforms and even a refreshed language about to land with the arrival of ES6.

While writing this blog post I remembered a post I wrote on 2009 when I announced that I was going to learn Python. This blog post is basically about the same thing. I’m going to dive into Node.js.

The only difference is that this time I’ve been using the language for years, if you count all the years I used it without really knowing it. I divide my JavaScript experience in two parts before and after JavaScript The Good Parts.  Reading that book made me realize that JavaScript was a real language and not just a thing you had to use if you wanted to get fancy on the browser.

In the past year while working on Blimp I’ve learned a lot about JavaScript and about the new ecosystem that has emerged around things like Backbone.js and Node. Also having an awesome JavaScript developer (@Elving) always around has helped understand the new things a lot faster.

Why node.js?
Simple, the kinds of web apps I want to build in the near future are all going to be using web sockets and trying to do real-time interactions as much as possible. Node was built specially for this kind of thing and seems to be the more performant choice out of the box. It feels like the right tool for the job.

I already have a few projects in mind so my diving into Node should begin pretty soon. I’ll try to keep you posted.

Django Round-Up podcast and a few links

wdb

Yesterday I started listening to the Django Round-Up Podcast hosted by @kennethlove and @bkonkle and it’s really good. I’ve just finished listening to the second episode and I have a bunch of links I wanted to share here.

These are projects I just heard about on the podcast and will definitely try soon. Let me know what you think.

wdb – Web Debugger
wdb is a full featured web debugger based on a client-server architecture.

dj-static
This is a simple Django middleware utility that allows you to properly serve static assets from production with a WSGI server like Gunicorn.

Django-Readonly
Put your website into read-only mode for maintanance. It blocks any POST requests and signs users out.

django-db-readonly
An way to globally disable writes to your database. This works by inserting a cursor wrapper between Django’s CursorWrapper and the database connection’s cursor wrapper. So many cursor wrappers!