emprender es la mejor forma de protestar – despotricando un poco

May 16th, 2013 antonio elena No comments


Viendo esta presentación, que probablemente sin escuchar la charla en sí, tenga poco sentido y cueste un poco intuir el flujo de ideas, voy a robar algunas capturas de pantalla sin rubor para esbozar un pequeño desahogo y fantasía sobre cómo podría cambiar nuestra sociedad, o cómo sería si nosotros cambiásemos algunas cosas, empezando por nosotros mismos, sin echar balones fuera y asumiendo nuestra cuota de responsabilidad en formar nuestro entorno.

Ahora que el clima en la calle es de protesta y contestación (bastante estériles y carentes de ideas, más bien rabia ciega y mal encaminada), me pregunto ¿cómo cambiaría el país si asumiéramos la frase como nuestra? Si interiorizáramos el mensaje y actuáramos en consecuencia, en vez de tanto quejarnos y asumir siempre, que es más cómodo, claro, que tenga que ser el gobierno o el estado quienes de alguna manera (pensamiento mágico) tienen, deben o pueden crear empleo.
Esta claro que tenemos muy metido en la cabeza todos un modo de pensar que queda perfectamente ejemplificado en la siguiente imagen.

Se podría casi escribir un ensayo sólo con esta imagen, pero centrémonos en unos cuantos puntos, los más obvios, que saltan a la vista de manera más hiriente:

  • Un personaje, conocido por no haber hecho nunca nada notable para empezar, que se auto-erige en representante de la clase trabajadora de un país, cuando no representa a prácticamente nadie, ni a autónomos ni a gran parte del colectivo trabajador que pasa de sus sindicatos.
  • Que además persevera en la mentalidad socialista-colectivista de que sea el Estado el que se ocupe de las vidas de los ciudadanos y les consiga un empleo (en una empresa pública, a ser posible)
  • Y que además tiene muy confundidas las nociones de emprendedor / empresario -> creación de puestos de trabajo
  • Y, consecuentemente, le pide a una ministra de trabajo, tan incompetente al respecto como cualquiera de sus predecesores que se centre en “crear empleo”, como si los puestos de trabajo se creasen por Real Decreto y al publicarse en el BOE mágicamente se materializan.

Que estos personajillos sean los “portavoces” de la sociedad española que vemos (padecemos) a diario en las noticias con sus diarreas mentales, refleja el modo de pensar mayoritario de la sociedad. Ergo, así nos va.

Pero yo creo que estos tíos en realidad no son tantos y saben que

y que cuanta más gente hubiera emprendiendo y dando forma a sus iniciativas, menos caso y menos papel social iban a tener. No es casualidad que los sindicatos y los partidos en el poder prefieran siempre dar cancha a lo público. No están más que asegurándose seguir en el terreno de juego, con sus “planes de estímulos”, sus subvenciones, sus constantes reformas (¿alguna vez conseguirán hacer algo que ni haya que reformar a los cuatro días?). Asumir el rol contrario es desaparecer, perder relevancia. Si en vez de recaudar vorazmente para repartir subvenciones, planes etc (y perdiéndose la mitad del dinero por el camino), simplemente se quitasen de en medio y dejaran a la sociedad organizarse libremente, ¿no sería mejor?

Los puestos de trabajo los crea la sociedad, los crea las iniciativas de la gente. No los crea el Gobierno. Al menos no directamente. El Gobierno tiene en su mano crear un clima propicio o poner trabas. En este país somos más de poner trabas, de fragmentar el mercado con regulaciones localistas al gusto de los picores ideológicos de cada Comunidad Autónoma. No hay ningún partido “business friendly”, ni siquiera el PP actual, que no es sino un partido socialista.

Las mal llamadas “élites” (ya que carecen de las connotaciones positivas del término) españolas están en contra, indiscutiblemente, de todo eso porque va en contra de sus intereses como casta (self-preserving).  En cierta manera, es el mismo modo de pensamiento que alienta a los talibanes. Ellos son plenamiente conscientes de que una sociedad más libre, rica, próspera, donde la gente esté ocupada y con esperanza en el futuro, trabajando día a día, no les necesita en absoluto. Y eso les da miedo, claro.

Por eso siempre escuchamos ese mensaje repetitivo de intervencionismo, de que es el Estado el que lo tiene que solucionar, y estamos más que adocenados creyéndolo. Una sociedad así no crea empleo, ni tampoco el gobierno que la dirige. Y las pruebas están ahi. Basta ver las cifras españolas para entender que algo debemos estar haciendo mal con un mercado laboral tan hiperregulado. Y sin embargo, la renuencia de todas las partes a cambiar nada de unas leyes laborales venidas esencialmente de la época franquista, cuando el mundo era muy distinto, demuestra que la sociedad española es esencialmente muy conservadora, incluyendo en esto a sus fuerzas supuestamente denominadas “progresivas” (un término que da asco de pervertido que está). Pero, no, no queremos tocar ni una coma. Por tanto, 26% de paro oficial. Es evidente en esta cifra que un gran número de personas sobrevive bien en empleos en negro (de nuevo la sociedad crea el empleo, aunque sea de esta forma, aprovechando los resquicios que deja la ley) o bien gracias al tejido social existente (vivir con los abuelos, etc.).

Ahora se nos llena la boca a todos hablando de emprendedores, pero sin actuar nadie en consecuencia. No es que esto sea algo exclusivo de nuestro país (rara vez inventamos algo), pero si que choca este discursito con la realidad social y política. En esto se parece al rollo de lo “verde”, otro meme corporativo adoptado porque mola, el “must” de varias temporadas seguidas, pero que no siempre se actúa en consecuencia con él (este ya es tema para otra digresión, así que lo vamos a dejar).

Dejando de lado el tema de como ahora todos las escuelas de MBA se han apuntado al carro de la “emprendiduría” (puag) para seguir facturando (otra prueba más de cómo se ha extendido el meme por todos los sitios – como si de “ola ke ase?” se tratase -), volvemos a ver la misma idea de creacion de riqueza, libertad, y empresa privada. Creo que el eje está claro. La riqueza la crea el individuo, la sociedad, la iniciativa privada. Muchos no quieren verlo porque va en contra de sus ideas cuasi-religiosas o de sus propios intereses como actor cómodamente instalado en el seno de una sociedad a la que perjudica más que otra cosa.

No asumimos que el individuo y la sociedad deben tener un papel inspirado y creador, no pasivo. No esperar que el Estado nos lo soluciones todo mientras vemos “Splash” en el sofá. Si no, acabarémos teniendo esto.

Pero claro, ¿estamos seguros de que algunos quieren realmente una “free democracy”? ¿una sociedad libre y próspera? Yo creo que no. Hay un sector muy amplio de la sociedad que quiere dirigismo, intervencionismo y poder ver el partido de fútbol sin que les molesten. Gente dispuesta a entregar una libertad de la que no hacen uso a cambio de que los poderes fácticos tomen decisiones por ellos y a cambio de luego poder echar las culpas así a esos poderes cuando las cosas no van bien.

Luego no tenemos en absoluto una sociedad emprendedora. Y así nos va. Es tan simple como eso.

Termino este “rant” con una viñeta de Hugh MacLeod al hilo de lo mismo, enlazando con lo de que “emprender es la mejor forma de protestar”.

Y sí, el post está en español y todas las capturas en inglés. Si eso es un problema, la primera forma de protesta que puedes hacer es mejorar por tí mismo un poquito y ponerte las pilas con el inglés. Sí, es un esfuerzo, claro, que nadie puede hacer por tí. Pero si cada uno mejoramos un poquito, en ese progreso mejoramos igualmente nuestro entorno. El entorno, social, político, etc. es la suma de nuestras acciones, decisiones y esfuerzo. Dejarlo en manos de quienes no tienen el más mínimo interés en mejorarlo – grititos a la galería aparte – es absurdo.

Categories: personal, rants Tags:

review of Instant Meteor Javascript Framework Starter

May 15th, 2013 antonio elena No comments


Instant Meteor Starter

The kind guys at Packt send me another book to review. This time it was Instant Meteor Starter is a very short book that intends and manages to cover a lot of ground for the absolute novice to the framework. Therefore the pace is very fast and concise.The author really aces the cramming of a lot of important stuff – all that you need for basic medium apps – , including a master class on Meteor internals just on the first few pages, and by page 12 we’re already creating an application. The core of the book is the building of a simplified mindmap tool that reads like a long tutorial and helps understand all the key concepts and put them into practice.

The author clearly has give a lot of thought to putting a lot of content into such a short book. I believe that this book is a very good introduction to Meteor, enough to put you into the right track for reading something more advanced maybe, and for creating your own applications.
I really enjoyed reading it and would certainly recommend it as a first introductory text to the framework, and then move on to something more advanced for further reading.

Happy reading!

Review of Cocos2D-X, beginner’s guide

May 12th, 2013 antonio elena No comments


Cocos2D-X

It’s been a busy week with book reviews. Apart from the meteor book (see next post), I also was reviewing this book, also by invitation of the publisher.

As with other beginner’s books by this publisher, the book starts by indicating the installation process, and the proverbial “hello, world” project. The example is very trivial, but serves the important explanation of project structure, what’s what in the project. Testing gets paid attention, which is nice, and then some recommendations on additional tools for sprites, textures etc. Maybe the absolute beginner can feel a little bit daunted by the amount of info to digest in the first chapter, regarding the many classes and infrastructure that you need to make a simple hello world. Luckily as the book progresses the concepts get clarified and expanded on, and that is what chapter 2 does, because obviously the hints in the chapter 1 are not enough.

I personally prefer books that explain things first rather than other books that expect you to infer things from examples. I like that Chapter 2 explains the pieces that make Cocos tick, the Containers, Nodes, Scenes, Layers, the Director, Caches etc. The author then proceeds to guiding the unexperienced developer to a basic understanding of C++ Classes, header files and all, explaining almost every line, and finishes off by bridging the differences between C++ developers and Cocos2D developers so they are familiar with the common ground offered by the framework.

Without further ado, Chapter 3 sees us create the first game, where we finally start to see some action by adding resources, preloading sounds, targeting retina displays, extending CCSprite, and even adding multitouch. It’s nice because a functional game is created step by step. One also realizes that game dev is relatively complex even when it’s a simple game. The book again follows the way of showing the code and then proceeding to explain it line by line. Chapter 4, builds on the previous chapter to build now a different, more complex game. We’re not just stuck to simple examples.

Chapter 5 continues wit this dynamic, building a different game, this time about rockets, this time introducing some particle physics, as the next level of complexity in your games.

Chapter 6. Different game. The twist comes with the introduction of testing and rapid prototyping using placeholders with the Cocos2D platform. The author now reveals this is how he created every example in the book. Abundant screenshots and lots of code accompany here. I think the chapter is well placed. You’ve followed how to code a couple of simple games, then you’re shown some “secrets” and techniques for testing your ideas before investing lots. After the prototyping, chapter 7 actually builds the game with the real graphics, so you get the whole picture from concept testing to actual implementation.

Chapter 8 introduces Box2D, for adding realistic physics, that would be way too much effort to do on your own. Project creation is a breeze, but you got to take account of the differences between coding a game with Cocos and with Box (different classes, basically). It can look simplistic, in the sense that even when using a game library, a lot of tweaking for the right values of trajectories, where to place things, etc must be done.

Chapter 9 rounds off our game coding by introducing ancillary aspects, like reading/writing data, scenes, transitions, etc, which not being vital, are things every game needs. For me the game in this “level” ;-) is the funniest, but I am a platform buff. Notifications, via the observer pattern, are introduced too. Using the accelerometer in the device.

Chapter 10 closes the book by paying attention to what used to be a hell for me ten years ago when doing games for the j2me platform: portability. You get warned and then led to creating different projects for different devices / platforms and some additional tools. Appendix A then gives you some vector course 101 if you were a bit weak in that aspect.

Needless to say, a book like this is code-intensive, otherwise it would not be much worth. You could say that it reads as a series of tutorials of increasing complexity, the main chapters being self contained in this sense, which is good if you want to complete chapters one by one in easy sittings.

The games cannot be complex production pieces, that would exceed any book’s scope, but I think they are enough to motivate you to start coding some game of your own. In that sense, the book gives you a more than adequate basis. For sure, if you not only read the book but take the trouble to type and make some changes of your own to the book, you will no doubt spend quite some hours engrossed with learning all this stuff. Be sure to check the code download, full of comments not present in the book for obvious reasons.

All in all, I’d say the book in this case is more than a beginner’s guide. Nobody becomes a master of anything with just one book, but this one sets you off handsomely.

Categories: books, coding Tags: , , ,

Book Review: Discover Meteor – the meteor book

May 11th, 2013 antonio elena No comments

Discover Meteor
Sasha Greif contacted me via twitter offering the chance to review this great book on Meteor.js, that just came out officially last Tuesday. I must say I’ve greatly enjoyed reading the book and would greatly recommend it to anyone wanting to check out what this meteor thing is.

The book tries to appeal both to the experienced javascript developer and the absolute beginner, which learning curve notwithstanding is never left out, but always guided on how to achieve things little by little. The book is organized in terms of core and sidebar chapters, and also pays a little bit of attention to what other – shorter – texts about meteor left out, which is some explanations of the architecture and the workings of the framework.

The leading plot, so to say, is the step by step building of a site called Microscope (a redux version of Telescope, also built with Meteor.js). You get led step by step, stuff is explained, and every significant step is tied up to a deployed version of the tool and the corresponding github code. Each of the chapter feels like a good tutorial on the chapter’s topic. This is good because if you’re a bit strapped for time, you can read chapter one by one in easy sittings.

All in all, I think the book opens a whole world where real time application are brought closer to developers with ease and confidence. I think there is a good market for real time enterprise application based on reactive technologies like this (or like SignalR). For me the factor that can somewhat hinder wider adoption is the fast pace of evolution, all the package-like installations, etc. I know plenty of companies use RoR (where to a certain extent the same happens), Node.js (same of the same), and so these would have no issue adopting meteor.js if they haven’t already done so, but for the wider landscape, the framework feels a little bit like a whole set of gears that somehow seem to click into place, but that could derail easily.

In that sense I think a general diagram of architecture, sample folder / project structures, a sample workflow for development would have greatly enhanced the book. Especially taking into account that the book already covers detailed stuff about the DDP protocol, latency compensation, publish and suscriptions and the ever important collections. Maybe the sidebar chapter that covers deploying meteor applications to production can feel like high black magic for the novice. Maybe too arcane, could have been left for the appendix (where everybody can safely ignore, that’s true).

As per the style, I think the book is very far from boring. It’s a pleasant reading. The code follows well, you never get bored and the writing is good. I don’t recall typos either. The additional plus is the format itself. The book is not only the book, it’s a meteor app, it’s complementary videos, updates, not just a pdf set in stone.

THe end result is that you sure get excited with the technology, the immediate changes, the hot code reloads, how info is updated for every client, the simplicity of the pieces, wow. It’s really nice. Once you get hold of the tech, it’s too easy to develop an app. So, basically, go buy it! you will not regret that cash. It saves you to peruse the fragmentary official documentation and explains important stuff clearly.

Review of Using Node.js for UI Testing

April 24th, 2013 antonio elena No comments

Testing Node.Js Web UisTesting Node.Js Web Uis by Pedro Teixeira

My rating: 5 of 5 stars

The first good thing is that the author himself is a good guarantee, as Pedro Texeira is a renowned author already with his popular Node Tuts video tutorials. What we have here is a book about harnessing the power of Node.js but also of Zombie.js (general purpose web test suite) and Mocha to help testing UI, which means the reader gets introduced to several libraries / frameworks in one package.

The premise, as usual with other books from this publisher, is to keep it short and thorough (I hardly have so much time these days for the proverbial exceeding-the-800-page-count books of the past), building an app at the same time we build the test infrastructure around it- The app is trivial, couldn’t be otherwise given the length of the book, but it is a plus anyway since you get a first taste of node.js. Let’s see the chapters one by one.

Chapter 1 kicks off by reviewing Zombie.js as the preferred mechanism to test the UI in an easy way. The most interesting part is no doubt the one devoted to the internal workings of the library, more than the DOM or the “history of testing” sections, even if the explanation of testing (to a very basic level such as unit vs integration) can be useful for teams where a discipline of testing has never taken off and a lot of fud remains. In any case, I’d recommend further reading on the subject of headless testing, because the section may fall short for some.

Chapter 2 introduces the total newbie to installing Node and Flatiron, together with the ever useful npm package manager. The version shown in the screenshots in 0.8.7. When I am reading the book it is already 0.10.4. Also the installation of flatiron (an scaffolding fwk) and couchDB are explained.
Next, the reader is guided through the process of scaffolding the application with all the bits and pieces that speed up development (packages.json, couchDB twitter bootstrap, jquery), and then go on to actually building the app, beginning with the templates. It’s a lot of stuff, but Pedro manages to explain well. The only thing you could say is that the use of a scaffolding framework, as flatiron here, pretty much hides the proper node.js app and its structure.

Chapter 3 covers Zombie.js and Mocha, teaching us how to modify the app so that the headless browser harnesses the app, and how to structure the tests, although Mocha is explained more in-depth in Chapter 4 (“Understanding Mocha”), including a sort of introduction to the discipline of testing, its organization, hooks, assertions, etc.

The nicest about chapter 4 is that test building is carefully guided thru’, and we learn how to call pages, check their DOM structure, fill controls and press buttons with the framework objects. It’s all very very clear, even if testing a big non trivial app soon introduces some serious complexity. This can be quite useful for those who’ve never done much testing, either TDD or BDD.

Chapter 5 is a intro to headless browser library Zombie.js (which I personally had not used before). I think you get a pretty clear idea of the basic options you get, how to start testing and how to grow your tests more organically. It’s really the longest chapter and the more meaty one. Chapter 2 is actually longer but just because it covers node.js installation and so on. So you could say it is the core of the book.

Chapter 6, continues the testing, widening the scope to deal with interactions, that is testing that when select controls, radio buttons and so on, are selected or manipulated, the app reacts in the expected way.

Chapter 7 is devoted to giving the user some advice regarding debugging, including the Mocha reporters, and specific advice for debugging, running only some tests, such as dumping the contents of the Zombie browser object, etc.

We then move on to the last chapter, 8, Debugging Ajax with Zombie.js. The most interesting part here is how to set up testing for triggering events to test different integrations, for example an actual drag and drop. It’s the chapter that maybe feels a bit more rushed. Another example of a different ajax interaction would’ve been nice.

Some of the chapters run a bit short, but I believe that’s a bit of a trade off you need to make if you want to keep the book short, considering that in the end the book reads as a series of tutorials on different libraries with the common goal stated by the title. So, you learn the basics about Mocha, about Zombie.js, a very basic node.js app, etc.

All in all, I should say this is a beginners book. I assume node.js experts already know most of this, or are testing with other libraries. The source code is easy to follow, and only some of the tests get a bit convoluted, but mostly because of javascript’s own syntax, and nested functions.

View all my reviews

Design Thinking workflow

April 16th, 2013 antonio elena No comments

I am getting increasingly curious towards design thinking, service design etc. I created, as part of a learning process on these things that I know next to nothing about, a sort of cheat sheet simplified workflow for the process of design thinking, with the rough phases you have and some of the tools you can use in each. Needless to say in such an “agile and lean” world, phases are iterative, you can move them around, and so on. Click here or on the image to see the .pdf.