Are you a compulsive reloader?

Several months ago I started working on Appcelerator Titanium, mainly in Javascript, the same language as the previous position but with a little difference: the IDE now takes 1-2 minutes to compile while on the web re-starting the project is just a matter of hitting the reload button.
I realized that I was compulsively hitting that button even for small changes.
When re-starting the project is a cost in terms of time – like in Titanium (consider the compilation and the time needed to navigate to the right feature) – it’s mandatory to write more code between reloads.
It turned out that now I write better code.
How many lines of code do you write on average between a reload?

July 16th, 2013|0 Comments

Quitting a Web Agency

I’m quitting from the web agency for a new adventure.

Working here was pretty much different from a startup where – usually – the founders/investors/employees are also the early adopters of the product they’re developing.

Most of the projects developed in this business suffer a very vicious flaw: who pays the project is not who is going to use the tool/app/website he paid for.
This is sad, since the main goal of the project suddendly become praising the ego maniac manager of BigWealthyCompanyThatSpendsLotsOfMoneyInMarketing and not developing something that the users will really love.
And because of that, it’s inevitable that project will fail the reality check once completed.

How can you tell if your project is failing the reality check?

  1. You don’t have server load problems
  2. The mockup of your app is something like this

    Instead of this

October 30th, 2012|3 Comments

JsDuck tag for Deferred methods

I started working with the awesome JSDuck to document my projects (do you like the doc system on Sencha Touch?) and, since I’m a great fan of Deferred object, I saw the lack of support for this kind of pattern.
Setting the @return tag with something like @return {jQuery.Deferred} is not enough since the returned value that matters is that passed through the .resolve() method of the deferred object.

Would be nice to mark a method as “deferred” and use the @return tag to document the value passed with .resolve(), keeping in mind that the actual value returned by the function is a just e promise.

Luckly JsDuck supports custom tags:

require "jsduck/meta_tag"
module JsDuck::Tag
  # Implementation of @deferred tag
    class Deferred < JsDuck::MetaTag
    def initialize
      @name = "deferred"
      @key = :deferred
      @signature = {:long => "deferred", :short => "DEF"}
      @boolean = true

Put this somewhere, for example ‘jsduck/deferred.rb’ and remember to call JsDuck with the param “–meta-tags=jsduck/deferred.rb”.

October 12th, 2012|0 Comments