lunes, 9 de noviembre de 2015

Unboxing del Apple TV 4





Aprovecho para compartir con ustedes el unboxing del nuevo Apple TV de 4ta generación.



A mi parecer, tiene algunas cosas buenas y otras que, pues no me gustan tanto, como el hecho de que Siri sólo este disponible en inglés incluso en Estados Unidos.



Luego del unboxing, traté de configurarlo en español, pero finalmente me ha tocado configurarlo en inglés para poder usar Siri.



En todo caso, será una buena forma de prácticar mi inglés.



Luego grabaré un video del apple TV funcionando con algunas aplicaciones.

lunes, 2 de noviembre de 2015

Why I want to join to Toptal?

For the past 5 years, I have been working on different projects with different programming languages and I enjoy every single project I did in this time.

I had the chance to work with smart people since 2012 when I started to work at www.boost.me with Keith Toh a brilliant engineer from Stanford. He challenges me with every single task and I always tried to accomplish his expectations. In the months I have been working here, I always did my best to meet deadlines and build a good product.

After boost.me I had another great opportunity to work building a real-time application using Django and the python implementation of Socket.io. This was an amazing experience because was my first time as a Lead Developer and Architect for the whole project. This time, the project don't end well because all the team leaves the company before to finish the product, mainly by internal problems in the company. But this was a great lesson for me as a professional and as a leader.

Few months later, I receive an awesome opportunity from www.ginzametrics.com to switch from Python and Django to work as a Full Stack Ruby on Rails developer. I always wished to make this change and I thought this could be funny and also challenging because I had to learn a new framework, new tools and also, be productive in 1 week. I have to admit that the first 2 months were the hardest work I ever did mainly because I used all my free time studying Ruby and Rails. I invested a lot of money in courses, books, and a lot of hours reading blogs and articles about Test Driven Development, Rspec, Unit Test with Ruby, etc. In the end was awesome, because, after a year, I was a good developer using ruby and rails.

After leaves Ginza metrics this year, I have been working in few different projects like www.zlivio.com which is a call center platform that I built from scratch using Django, Twilio, and other tools. Also, working as a part of www.roomhints.com team. 

I really enjoyed this last project, because gave me the chance to work in an interesting idea. I have to admit, I fell in love when I knew the project and that is the reason because I started to study Swift and mobile development because I want to make the best application for roomhints.com.

Finally, this year I received an invitation to an interview from Amazon.com and they invited me to know his headquarters in Seattle. Sadly they don't give me the job at the end of the process, but the experience was so amazing.

The reason because I want to join to Toptal team is because I am good, I have been working hard in the past years and because I love to play hard and work harder and always do my best in all and for that I think I deserve work with the best developers and Toptal have many awesome developers.

viernes, 30 de octubre de 2015

Singleton en Swift 1.2 en adelante

Como les comentaba ayer, estoy aprendiendo desarrollo móvil, especificamente iOS y en el proyecto que estoy desarrollando, quería hacer uso de el patrón de diseño singleton.

Dicho patrón de diseño, se basa en el principio de tener una sola instancia de una clase en todo momento. En el caso de swift 1.2 en adelante, la sintaxis del lenguaje es una delicia.

Podemos crear un singleton con el siguiente código:


Algo que no se ve en la imagen, pero que necesitamos hacer es declarar el inicializador como privado y eso lo hacemos con:

private init() {}

Realmente, me parece genial la simplicidad para poder construir un patrón de diseño que es útil con tan pocas líneas de código. Defintivamente, rivaliza en simplicidad con el patrong Singleton en Ruby.

Como forma de documentación esta es la forma anterior de crear el patron singleton en swift 1.1 y anteriores.


jueves, 29 de octubre de 2015

Aprendiendo desarrollo móvil

Desde hace un par de meses he comenzado a parender desarrollo móvil para iOS. Espero en un par de meses poder publicar sobre mi primera aplicación en la App Store.

Aunque durante los dos últimos años me había comprado varios cursos y video tutoriales para aprender Objective-C, fue hasta hace unos meses que realmente me decidí a estudiar un poco y aprender Swfit que me parece algo más facil y parecido a los lenguajes de programción a los que estoy acostombrado.

Anteriormente, había tomado el curso de Stanford que imparte cada años Paul Hegarty, aunque nunca lo terminaba por diversos motivos.

Con Swift todo ha sido diferente, ya que, estoy avanzando bastante bien. Incluso, ya tengo un par de pantallas funcionando de la aplicación que estoy desarrollando para Room Hints, que es el proyecto que me ha mantenido ocupado los últimos meses.


No voy a negar que ha sido algo complicado pasar de lenguages de scripting a un lenguaje fuertemente tipado, pero al mismo tiempo ha sido bastante divertido.

Algunos links que me han ayudado:


Espero que los enlaces también sean de utilidad para ustedes y me gustaría compartir experiencias con personas que como yo estan aprendiendo y también con desarrolladores con experiencia en esto de las aplicaciones móviles.

domingo, 13 de septiembre de 2015

Cambios en mi vida

Ha pasado 1 año y 3 meses desde mi última entrada en el blog y mucho ha pasado en mi vida que quisiera comentarles y luego seguir con mi propósito de seguir dando vida a este blog.

Aprovecho para contarles que en Enero de este año he dejado de trabajar en Giza Markets y he pasado a trabajar de nuevo como freelance.

Fue un poco complicado el hecho de dejar de ser un empleado con salario mensual para volver al mundo del Freelancing. Por suerte, tenía a viejos clientes entre mis contactos y sólo pasé una semana sin trabajar.

En la semana que tuve libre, aproveché de descansar y de retomar un poco de contacto con Django. Debo aceptar que esto último fue bastante complicado ya que, viniendo de Rails, extrañaba bastante muchas de las cosas de Active Record cuando volví a Django.

También pienso que el hecho de conocer un framework distinto me dio una perspectiva más amplia sobre las cosas que me gusta de Django y las que no. También siento que ahora soy mejor desarrollador y Arquitecto de aplicaciones.

Además de volver a trabajar como Freelance, también he cambiado de País. Hace casi 6 meses estoy viviendo en Estados Unidos y estoy disfrutando mucho mi vida y mi trabajo aqui al lado de mi esposa.

Tiendo a no hablar mucho de mi vida personal aqui, pero he de comentarles que me casé hace más de 2 años. Parte de las razones de mudarme a Estados Unidos se debe a que mi esposa vivía aqui y pues con la situación de delincuencia e inseguridad que se vive en El Salvador, pensamos que era una buena alternativa.

Volviendo al tema, cuando vine, comence a trabajar con un buen amigo en un sistema para Call Center que estoy terminando, pero que ya tiene las funcionalidades básicas para poder funcionar correctamente haciendo llamadas, recibiendo llamadas de muchos usuarios, contestando llamadas, etc. Aún falta mucho por hacer, pero promete ser un excelente producto. Lo liberaré antes de finalizar el año bajo el nombre de Sendito, que significa mensajero en Esperanto.

Además de eso, estoy trabajando en una empresa que tiene una aplicación para iOS que me gustaría que ustedes pudieran probar si necesitan ver que tipo de decoración o muebles son geniales para su empresa u oficina.

Espero sus comentarios y pronto publicar más contenido interesante para todos ustedes.

domingo, 6 de julio de 2014

Novedades en lo laboral

Hola a todos,

Hoy me he dado cuenta que estamos en Julio y que mi propósito de escribir más seguido en el blog no se ha cumplido. Puedo decirles que han habido muy buenas razones para eso. Una de ellas es que cambie de trabajo justo después de mi último post y bueno... he estado bastante ocupado aprendiendo nuevas cosas.

Lo importante no es sólo el cambio de trabajo, sino el cambio de área, ya que nunca había trabajado en el área de SEO y mucho más importante el cambio de lenguaje de programación, ya que, desde en Enero, soy Full Stack Developer en Ginza Markets, contribuyendo con mis conocimientos y habilidades a mejorar un poco el producto de la compañía.

Ginza Metrics, es una aplicación que todo SEO debe tener para manejar sus campañas y para crear reportes a sus clientes. Tiene muchas funcionalidades interesantes y me alegra poder contribuir a mejorar las existentes y a agregar nuevas.

Parte de este cambio, espero que se vea reflejado en este blog, agregando contenido interesante acerca de las nuevas tecnologías con las que trabajo, ruby, rails, rake, rspec, etc.

No puedo negar que en estos meses he extrañado mucho trabajar con mi lenguaje favorito (Python), pero ruby me ha dado gratas sorpresas con muchas de sus herramientas.

Si les gustaría una publicación sobre una tecnología en particular, no duden en escribirme y trataré de publicarlo rápido.

Saludos.

sábado, 11 de enero de 2014

Retomando el Blog

Creo que cada cierto tiempo pasa que encuentro algo que me hace abandonar un poco lo que escribo, pues eso ha sido lo que ha pasado en estos últimos meses.

Justo unas semanas después de mi último post, conseguí un trabajo en Social Dashboard Inc. que es una Startup que existe desde hace rato, pero que, su tecnología no había podido avanzar por falta de las herramientas que hicieran posible desarrollar lo que se pretendía que fuera. Inicialmente, mi trabajo era de desarrollador en Python/Django, pero por esas cosas raras de la vida, terminé como Lead Developer y ha sido algo que ha consumido mi tiempo.

Me ha llenado de muchísimas satisfacciones, porque he tenido la oportunidad de aprender nuevas tecnologías como por ejemplo Socket.io (La implementación en python) que es una capa de abstracción para los Websockets de HTML5 :). De por si, algo para sentirse orgulloso, ya que, tenemos la oportunidad de user las últimas tecnologías como angular.js, webrtc, etc.

Parte de mis propósitos para este año es lanzar la beta de Social Dashboard. Pueden ver una versión de desarrollo (que obviamente puede contener errores) aqui. Y aunque he escrito muchísimo aún no he explicado que es social dashboard.

Bueno para hacerlo corto, el principal producto de Social Dashboard se llama Solomon, que es una especie de Buscador/Asistente personal que pretende ayudarnos en nuestras búsquedas de internet, permitiéndonos crear conexiones entre personas que comparten nuestros gustos.

Pero mi propósito más grande para este 2014 es publicar muchos tutoriales acerca de Python y TDD (Test Driven Development) ya que, es algo que para proyectos grandes como Solomon. Además de cosas como redis, cassandra, socket.io, etc.

Me gustaría que me comenten que les gustaría ver primero.