Sin titulo

In: Uncategorized

28 Mar 2011

En la mañana decidí publicar, con un título jocoso, que el fin de semana implementé la sección de “leaders” (igual a la de HN) en Noticias Hacker y que me llenaba de gusto que ¡tenemos muchas personas participando! El título de mi mensaje fue: ”50 personas que están revolucionando la comunidad hacker hispanohablante”. Tenia una segunda opción que era: ”Mis 49 personas preferidas del mundo”. Sin duda esto tocó una fibra sensible y causó controversia en Twitter.

Les puedo asegurar que lo único que me interesa es seguir coolaborando para que existan comunidades interesantes donde hagamos cosas productivas, divertidas y que todos podamos crecer para ser mejores y más exitosos hackers y personas.

La mayoría de la conversación respecto a esto tiene que ver con @domix quien tiene un punto de vista muy respetable y que dejaré que exponga de la manera que prefiera.

Sin embargo me gustaría compartir mi visión de porque causo controversia y los temas que hemos tratado en Twitter y Skype:

  • El hecho de que la gente utilice palabras como hacker, geek, ninja, guru, etc abusando del derecho a autonombrarse sin cumplir con ciertos lineamientos.
  • El hecho de que una persona use adjetivos para calificar sus propios proyectos.
  • El hecho de que yo, haya usado el término “revolucionando” para referirme a algo relacionado a Noticias Hacker.

Respecto al primer tema, yo opino que cualquier persona debería tener el derecho a autonombrarse como quiera, hacker, guru, ninja. Creo que no existe una definición en la que todos estemos de acuerdo y no veo nada malo en que alguien se autodefina con cualquier de estos términos.

Obviamente, si alguien me dice que es un ninja rockstar del CSS y la verdad es que no da una, obviamente pierde credibilidad.

Respecto al segundo tema, creo que no tiene nada de malo decir que tu proyecto es interesante y defender por que lo crees. Creo que nos hace falta creer en las cosas que hacemos.

Finalmente, fue un error utilizar un título tan controversial para esta noticia, sin embargo creo plenamente que lo que estamos haciendo, en diferentes grupos y comunidades, es una verdadera revolución y que coincidimos en que la única manera de juzgar esto es con resultados. Por lo tanto lo único verdaderamente importante es utilizar nuestro tiempo y esfuerzos para trabajar por esos resultados¡A darle!

Las ultimas 24 horas han sido realmente increíbles!

Hace 2 semanas decidí que seria una buena idea hacer algo así como Hacker News pero en español. Lo hice, extremadamente parecido y lo libere esta semana. Obviamente no esta perfecto, ni tiene todas las funcionalidades que yo quisiera, pero funciona. Durante la semana empeze a utilizarlo y a invitar a mi red de contactos. Mencionarlo en twitter y tratar de llamar la atención de algunas personas interesantes.

El día de ayer, Armando Sosa(@soska) lo entrego a Hacker News con el titulo “Noticias Hacker, like HN but in spanish” y en cosa de unos cuantos minutos estaba en la portada.

Estar en la portada de HN por mas de 6 horas significo mas de 20k paginas desplegadas en las ultimas 24 horas. Lamentablemente no tenia instalado Google Analytics  como para poder hacer un análisis mas fuerte de esto. (ya lo puse hoy)

Mas importante que contar cada una de esas visitas, me parece mucho mas interesante compartir atravez de este medio la increíble sensación que tengo en este momento.

Durante los ultimos varios años, he hecho una cantidad muy grande de proyectos, hacks, paginas, juegos, apps, y obviamente la fantasía en cada una de ellas ha sido que, al liberarlas al mundo, magicamente encontraran su lugar en los sitios mas importantes y jalara la atención de miles de personas, todo mundo agregara sus comentarios y , si es open source, gente instantáneamente contribuiría para hacer que todo sea mejor. Y eso, nunca, pasa.

Pero paso ayer!

En un par de horas miles de personas visitaron la pagina, cientos de ellas compartieron su opinión tanto en hacker news como en noticias hacker y muchas de ellas expresaron su interes por que un lugar como este exista de la mejor manera posible: usándolo.

Cuando desperte esta mañana, tenia 4 pull request en gihub, donde gente, que el dia anterior no sabian que esto existia, estaban esperando a que yo jalara su código para hacer rss, arreglar el estilo, mejorar el lenguaje y en general, empezar a contribuir para que funcione mejor.

Por lo tanto mi interes principal con este post es compartir la increíble emocion que me da el recibir este tipo de contribuciones, tanto en opiniones, contenido y código. Muchas gracias a todos.

La controversia, el contenido y la tracción

La decisión de hacer un sitio que se vea como Hacker News e incluso ir hasta el extremo de llamarle Noticias Hacker es suficiente razon para causar controversia. Sin embargo esa no fue el centro del debate en los cientos de comentarios que se generaron respecto.

La razon mas fuerte de controversia tuvo que ver con el valor que puede existir de tener una comunidad de este estilo en español. Por un lado existe el punto de vista, totalmente valido, de que los hackers deben de aprender Ingles para poder aprender y colaborar con los demas hackers del mundo. Por otro lado Andres Barreto nos compartió su punto de vista de que una comunidad de este estilo prolonga la comodidad que tenemos en latinoamerica con nuestros mercados internos.

Ambos puntos son totalmente validos, es cierto que es necesario aprender ingles para poder leer manuales, tutoriales y entender el excelente contenido que existe a nuestra disposición en Internet. También es necesario aprender a escribir, bien, en ingles para poder interactuar y poner nuestros productos y hacks en frente del mundo y que nos puedan ayudar a mejorarlos.

Igualmente coincido con el punto de que la comodidad que tenemos en América Latina de poder tomar contenido, traducirlo y retransmitirlo y creer que estamos generando valor.

Entonces, porque lo hiciste?

Mi interes no es hacer una isla donde estemos todos cómodos hablando de lo que sale en techcrunch. Si no simplemente es darle un lugar al chavo en iberoamerica que esta haciendo sus primeros proyectos y esta aprendiendo, donde pueda sentirse agusto de compartirlo con una comunidad que no es ajena a el.

Dejemos esto en claro, si tu eres un emprendedor hacker que esta haciendo un startup que tiene que competir a nivel mundial: tienes que aprender a hacer ruido en hacker news, reddit, twitter, techcrunch, etc

Si eres un hacker que esta creciendo y quieres participar en una comunidad que va a entenderte por tu perfil, cultura etc, espero que Noticias Hacker sea un lugar perfecto para eso.

Finalmente quiero compartir un par de aprendizajes de todo esto:

  • El app engine usa Big Table una base de datos NOSQL, asi que meter todo lo posible en memcache permitio tener todas estas visitas sin que se callera el sitio y sin tener que pagarle un quinto a Google. Optimizar para tener menos RCP un poco el pasado fin de semana valio mucho la pena. [Pienso escribir otro post de esto en el futuro]
  • Tener una plataforma fácil de instalar permitio que gente colaborara muy rapido
  • El hecho de que el html/css estuviera 100% separado de python permitio que gente que no sabe python ayudara fácilmente con el estilo.
  • Liberarlo lo antes posible permitio empezar a generar comunidad y tener este tipo de experiencias aunque todavía faltan funcionalidades básicas. “Release early, release often”

En fin, ha sido un largo largo dia y espero que a todos nos emocione que este tipo de cosas pasen y espero que pasen mas seguido.

PD. Perdon por las faltas de ortografía, el spell checker de FF esta haciendo algo raro y son las 3 am.

Number: 7 of 36 of 2010

Title: It’s not about the bike: My Journey Back to Life

Author: Lance Armstrong with Sally Junkins

Score: Good, Pretty good.

Comment: Second “autobiography with help” that I read this year, also “old” ones. This book was release when Lance had only survived 4 years after hes cancer diagnose and won only (yes only) 2 Tours. The book was pretty interesting to undertand hes point of view about motivation, illness, cancer, fight and life. I really liked the book and the Tour stories, the cancer part is pretty hardcore and I think he was VERY lucky. I was sad to read about the drug related rumors that have been around hes name in the last couple of years and honestly I have no idea how real or not they might be. I take a lot from this book and this persona that he describes of himself, I don’t care how real or not it might be.

Most of all, i take the idea to never give up.

Quote from the book: “Pain is temporary. It may last a minute, or an hour, or a day, or a year, but eventually it will subside and something else will take its place. If I quit, however, it last forever.”

Recommend: Yes, specially if you need some motivation to be #1 in whatever you do.

Number: 6 of 36 of 2010

Title: Just for Fun: The Story of an Accidental Revolutionary

Author: Linus Torvalds (Author), David Diamond (Author)

Score: 0 Failed Test and build successful

Comment: I really like this book, it is worth reading. It taught me a lot I did not know about Linux, the open source revolution and why Linus is not a modern monk(he is just a geek!). Honestly i think that reading that book now(10 years later) is even more interesting. I would love to read a updated version of it and yep i recommend it to everyone!

Recommend: YEA if you are a geek, know anything about code and linux or just want to get a interesting take on the open source revolution and how to live a fun life, take this book out of your local library or used book store on the cheap and HAVE FUN.

Vi un link respecto a este script:  http://echo-nest-remix.googlecode.com/svn/trunk/examples/swinger/swinger.py

Es un poco de python que utiliza el api de echo nest para agregarle swing a una cancion. Este programa sube el mp3 a echo nest y utiliza su api para modificarlo, por lo que el codigo es facil de entender(porque no se preocupa por hacer el analisis del sonido, si no nada mas las cosas divertidas).

Por un segundo pense, esto va a ser muy complicado, pero lo que hice fue(ya teniendo python, si no pues bajen python de http://python.org/):

-> Guardar http://echo-nest-remix.googlecode.com/svn/trunk/examples/swinger/swinger.py en un archivo

-> Instalar la distribucion de http://code.google.com/p/echo-nest-remix/downloads/list

-> Registrarme en http://developer.echonest.com/pages/overview y esperar un correo con el api key

-> Poner mi api key en el .bash_profile.

Con eso puedo hacer cualquier cancion, swing… como ejemplo:
LFC-ContrabandoDeAmor-radio swing+33 by santiago1717

Number: 5 of 36 of 2010

Title: Twitter wit

Editor: Nick Douglas

Link: http://www.amazon.com/gp/product/0061897272?ie=UTF8&tag=tomuni-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0061897272#reader_0061897272

Score: 86 out of 140

Comment: It was a fun and fast book full of random things. It was a good experiment to see twitter from other eyes. It was like reading the timeline (or a good handpicked list) of another user on twitter. But honestly it didn’t feel better than reading my handpicked list. I would say 5-10% of the book is really good and the rest is really random.

Quotes:

Favorite messages “The planning stage is my very favorite stage. It’s so pleasantly distant from the failing stage” By @Maggie

Ideas: Reading twitter without avatars, links and other distractions (like youtube, reddit and hackernews) is not as fun, enriching and addictive.

Recommend: Nope.

Number: 4 of 36

Title: Deathnote L change the world

Author: M

Link: http://www.amazon.com/Death-Note-L-Change-World/dp/1421532255/ref=pd_sim_d_3

Score: Sweet.

Comment:

I am a very big fan of the Death note series. I have read the mangas, seen the movies and read the other book (BB cases) that was published in this format. It might seem like something for teenagers but I think the narrative is interesting and I really enjoy it. I like the fact that I have experienced a whole set of different mediums to live this universe around a great detective and one magical item. Its nothing to crazy and in general the message is clear: you can’t think on only the ends, also the means.

In this case this is an alternate course of events around the same mythology of the other stories in this series. Around the next couple of days after L stops Kira, he has 20 days to live and he realizes he has to save to world from a terrorist group that just got a deadly virus. In general the same “step by step” puzzle and mind-games plot is presented and its just fun to read.

Ideas:

  • If we believe in 10x programmers, or 36x programmers, why can’t we have 10x doctors, lawyers, investigators, juries, etc.
  • Thinking, a lot, and trying to plan a lot of moves ahead is a great way to spend life.

Recommend?

If you already know the series yep go ahead an read it. If not, start with the mangas, they are really worth it, yes even if you have never read one, and if it’s the only one you plan to read.

Seeking for

If you know of a anime, manga, movie or book that is reminds you of L, please let me know.

Number: 3 of 36 of 2010

Title: Head First iPhone Development

Author: Dan Pilone & Tracey Pilone

Link: http://www.amazon.com/Head-First-iPhone-Development-Applications/dp/0596803540

Score: 8 out of i10

Comment:

I love all head first books, I love the way the organize information, how they break complex stuff into simple and understandable things. And of course this books does exactly that. iPhone/iPodTouch/iPad development with the cocoa touch Framework is exactly one of those over complicated stuff that we just want to understand and be able to start hacking.

This book in general does exactly that and believe me, it is not a simple task.

The only “bad” part of it is that the pages 350-450 contain a LOT of detail on how list views work and then in 50 pages you get gps, camera, accelerometer, orientation, and what they mention of quartz, openGL, etc. I would probably liked to see less depth on that view and a lot more on having fun hacking a simple game like this tutorial

This books starts very strong, gets you all exited about iPhone(and your progress creating stuff) and suddenly get very depth on a single thing, if you time it correctly you can probably get much more of it so…

Recommend: If you want to start creating iPhone apps, get this book, read pages 1-350, 450-500 and hack all the examples and then some more. After that if you really want to learn about the “list view” then read 350- 450.

Number: 2 of 36 of 2010

Title:

Coders at work reflections on the craft of programming

Author: Peter Seibel

Link: Amazon

Score: 11 where 10 is super great.

Comment:

This book, for me, was life changing.

Its definitely a very long book, and it contains a couple of controversial point about complex and abstract topics of programming, code, algorithm, systems, platforms and everything related with bits and bytes. Normally this would be “bad” but it comes from some of the top programmers of all times, interviewed by one of them.

The questions are great, and the answers are just incredible interesting. It motivated me to be a better programmer in all the layers that this profession has to offer. From well written code, to testing to algorithm, to life balance and how to change the world.

It would be fool of me to try to explain or summarize everything in this book, the only thing I will do is expose some of my favorite quotes and recommend it to everyone that loves code and programming.

Quotes:

This are the quotes that I marked as interesting, polemic or just worth tattooing to remembering daily, of course they are taken out of context so you know what that means.

About the importance of shipping version 1:

Seibel: Over engineering seems to be a pet peeve of yours.

Zawinsky: Yea. At the end of the day, ship the fucking thing!

About quality and shipping:

(Zawinsky: ) … One of the jokes we made at Netscape a lot was: ‘We are absolutely 100 percent committed to quality. We are going to ship the highest quality product we can on March 31st

About open source and how to approach a community:

(Fitzpatrick: ) I find that is the best way to start a conversation. If you get on a mailing list and you are like ‘hey I want to add feature X’ the maintainer is probably going to be like: ‘ Oh fuck, I am so busy, go away, I hate feature X’. But if you come to them and you are like ‘I want to add feature X. I was thinking something like the attached patch’ which is totally wrong but you say, ‘But I think its totally wrong. I am thinking the right way might be to do X’ which is some more complex way, generally they will be like ‘Holly crap, they tried and look, they totally did it the wrong way. Maybe that pains the maintainer. They are like ‘ Oh man, I can’t believe they went through all that effort to do it. Its so easy to do the right thing,’ and then they reply.”

About code reading (in public) as code review:

(Crockford: ) I think an hour of code reading is worth two weeks of QA

About good code:

(Crockford: ) By good code, I mean it is going to be readable. …. Almost as important as being correct …

About refactoring:

(Crockford: ) Six cycles – whatever the cycle is between when you ship something. If you are on a monthly delivery cycle then I think every half year you should skip a cycle and just spend time cleaning the code up

About focusing in the details(of all the code) after refactoring:

(Bloch: ) I think people who say, ‘Oh it is not worth the time; it is just the name of a variable’ just don’t get it. You are not going to produce a maintainable program with that attitude

About good software:

(Bloch, quoting to a Tony Hoare) One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.

About programming level and knowledge:

(Peter Norvig: ) And part of it is an educational problem, but if you have a bunch of programmers who don’t understand what a monad is and haven’t taken courses in category theory, there’s a gap

About optimizing:

(Steele: ) It is easy to become too fixated on optimizing something just because you can, even though it is not what you need to work on

About academia and industry:

(Ingalls: ) I hate to see computer science departments that feel their role is to prepare people to work in an industry and the industry is going that way and therefore we have to teach our students that way

Some start big (and young):

Seibel: Do you remember at all how you designed?[when you where 15] your PDP-I Lisp

Deutsch: I am smiling because the program was so small. Have you seen the listing? It is only a few hundred lines of assembler

About code reliability down the plumbing:

(Peter Deutsch: ) I do know that the further down in the plumbing the software is, the more important it is that it be build by really good people. That is an elitist point of view, and I am happy to hold it.

About correctness and testing:

(Peter Deutsch: ) My PhD thesis was about proofs of program correctness. I don’t use that term anymore. What I say is you want to have your development system do as much work as possible toward giving you confidence that the code does what you intent it to do

About debugging:

(Ken Thompson: )Mostly I just print values. When I am developing a program I do a tremendous amount of printing. And by the time I take out, or comment out, the prints it really is pretty solid. I rarely have to go back. …. Because when you print you actually see what it is as opposed to it being a particular value, and you print a bunch of stuff that aren’t invariants. It is just the way that I do it. I am not proposing it as a paradigm. It is just what I have always done

About optimizing:

(Ken Thompson: ) Ninety-nine percent of the time something simple and brute-force will work fine. If you really are building a tool that is used a lot and it has some sort of minor quadratic behavior something you have to go in and beat on it. But typically not. The simpler, the better.

About programming principles:

(Cosell: ) I really believed that computers were deterministic, that you could understand what they were supposed to do, and that there was no excuse for the computers not working, for thing not functioning properly. …. Really what I was, was a very careful programmer with the arrogance to believe that very few computer programs are inherently difficult.

About what to do after refactoring:

(Cosell: ) If you knew then what you know now about the fact that this piece of code is broken, how would you have organized this piece of the routine

About programming now:

(Knuth: ) I am worried that it is becoming too boring because you don’t have a chance to do anything much new. Your kick comes out of seeing fun results coming out of the machine, but not the kind of kick that I always got by creating something new.

About reading code:

(Knuth: )don’t only read the people who code like you.

Ideas:

When I look at what Progrium is doing with web hooks and simple APIs as a way to create building blocks that we can all use to create some wonderful, secure and simple  stuff, I cannot stop myself to note Ingalls quote somehow related:

(Ingalls: ) It should be like the Internet all the way down. We worry about where we have security and various sorts of security mechanism in programs and there are all sorts of thing wrong with tem. But the Internet- style separation is a real layer that there is no way around

Peter Norvig explains a very interesting example about how a communication error caused a NASA project to fail. If 1 unattended thing can cause a NASA project to fail, imagine what it can do for a simple startup.

(Peter Norvig: ) ‘Oh, I guess Lockheed-Martin must have solved this problem’ and Lockheed says ‘Oh, JPL’s not asking anymore – they must not be concerned’

Finally I think one of the most motivating, most simple and cool things I have ever analised is Simon Peyton Jones take on how to get into research. I think it applies for open source code, programming, web development, game development and any kind of cool activity:

(Simon Peyton Jones: ) ‘Just start something, no matter how humble’… Once you start the mill turning then computer science is very fractal – almost everything turns out to be interesting, because the subject grows ahead of you. It is not like a fixed thing.

Books (or stuff) I will consider reading after this one(because they where recommended or mentioned and I found them interesting):

  • MJD’s Higher-Order Perl
  • Design Patterns
  • Elements of Style
  • Hackers Delight
  • “Hamming’s advice to young researchers”
  • Purely Funcional Data Structures
  • Compiling with Continuations
  • Discipline of Programming
  • Sally Goldman’s new book about practical take on algorithms
  • Peter Norvig’s Sudoku
  • Peter Deutsch PDP-I List listing

Recommend: If you love programming you must read this book.

Blogging from textmate

In: code

12 Jan 2010

Testing blogging from textmate

Its very funny how an IDE can become a tool so cool that you want to edit ANY text with it. Finally I decided to find out a way to post on my blog and my twitter from textmate.

This is a clear indication that i will be spending a lot of time in this code editor…

About this blog

Code, Ideas and stuff related to DFectuoso's live, technologoy and life.

Hacker of noticiashacker.com


Lucky number: 17
Answer:42