chester's blog

technology, travel, comics, books, math, web, software and random thoughts

Eleições 2010 – em resumo: 43, 430, 133, 4340, 13 e 43!

01 Oct 2010

Sei que está um pouco em cima da hora, mas fiz posts sobre meus candidatos em 2002, 2004 e 2008 (em 2006 eu estava ocupado com o Golpe), e, para não perder o costume, chegou a vez de 2010. Para compensar o atraso, dessa vez vou falar de todos os cargos.

Era de se esperar que a idade me trouxesse um pouco mais perto do conservadorismo – o que não aconteceu. A sabedoria popular diz que “se você não foi comunista até os 30, é um insensível. Se continuou sendo depois dos 30, é um insensato”, e creio que meu viés é para o segundo grupo. Claro, marxismo passa longe há tempos, mas ainda acredito que o governo deve atuar coibindo os excessos do capital e, ao mesmo tempo, estimulando-o e gerenciando o caos quando as inevitáveis crises ocorrerem. Centro-esquerda para uns, centro-direita para outros, abraço a primeira alcunha, que me deixa dormir melhor à noite.

Essa visão explica minha relação de longa data com o PT. Sempre admirei duas características nele: o compromisso em ser a “reserva moral” da política (apoiado no baixo índice de denúncias de envolvimento de integrantes com corrupção e afins) e o bom senso de, quando governo, fazer na prática o que o PSDB propõe na teoria, isto é, uma social-democracia com o mínimo necessário de compromisso para permitir a governabilidade. Isso tudo meio que caiu por terra com os mandatos presidenciais.

Talvez eu tenha mudado, mas o partido mudou muito mais do que eu. Não me considero “traído” como tantos, e reconheço que ainda há quadros muito bons. Tampouco nego que foram realizadas transformações profundas, em particular na esfera federal. Mas é evidente que o PT hoje passa longe da reserva moral e que a falta de escrúpulos nas alianças permite até afagos na família Sarney. Fica cada vez mais claro que a continuidade no poder só daria razão aos que defenderam o caminho torpe ali dentro. Continuísmo é ruim para o país, mas é pior ainda para o partido.

Se alguém ainda duvida que o terceiro mandato seria danoso para a legenda, basta observar o que dois deles fizeram com o PSDB – hoje uma sombra decrépita do movimento de reação à crise de valores do PMDB que o originou. A isso posso juntar minha desconfiança da autonomia/capacidade de Dilma, e tenho na a insatisfação com a tal “transferência de prestígio” a cereja do bolo para descartar qualquer possibilidade de votar nela para presidente.

Infelizmente, esse estado de coisas do PSDB (sem contar a aliança com o “Democratas”) tira o Serra da jogada para mim (uma pena, já que minha histórica antipatia por ele cada vez mais se revela puro pré-conceito – muita gente de bem diz que ele, pessoalmente, não é nada do que pregam). Plínio é anacronismo demais pro meu gosto, o que me levou a considerar (e, por fim, votar em) Marina Silva (43), do PV.

O Partido Verde deveria ter sido a primeira opção avaliada, levando em conta minha simpatia pelos verdes no Brasil e no mundo (que, ao contrário do que muitos pensam, não defendem “as plantinhas”, e sim modelos sustentáveis de desenvolvimento, nos quais leva-se em conta sim que as pessoas têm que colocar comida na mesa, mas que isso não pode ser à custa da saúde ou do futuro da humanidade) e também o fato de que eles já oferecem Ricardo Young (430) como uma excelente opção para o Senado. Este último, aliás, complemento com Marta Suplicy (133) – que tem currículo e serve para reiterar que não creio que o PT “se perdeu”, apenas não deveria assumir o terceiro mandato presidencial.

Confesso que declarações ambíguas de Marina sobre assuntos do meu interesse, como a liberdade de culto (em particular dos sem-culto, i.e., ateus), a legalização do aborto, a descriminalização da maconha (dois itens cuja correlação com melhorias nos mais diversos índices sociais me parece óbvia) e o casamento gay (um direito fundamental num estado laico e igualitário) me deixaram com um pé atrás no início. Mas é fato que não se faz campanha no Brasil (país “110% católico”, como disse certa vez João Pedro Stedile) empunhando estas bandeiras com afinco, então relevo um pouco.

No geral o partido tem programa, possui quadros e simpatizantes capacitados para assessorar (isso é tão importante quanto a capacidade do presidente em si), e a candidata tem garra e princípios. Não dá pra pedir muito mais que isso – ainda mais num pleito onde candidato a senador que bate em mulher (Netinho) e candidato a deputado não-alfabetizado (Tiririca) lideram as pesquisas (nenhum preconceito contra analfabetos, mas eles são inelegíveis: é lei, e não é à toa), então fecho com ela.

Para Deputado Federal, o Alê Yousef (4340) foi uma ótima dica do Barba – segue uma linha de transparência online e de botar as cartas na mesa em assuntos como os discutidos acima. Foi chefe de gabinete da Soninha Francine (que eu lamento profundamente não ser candidata) e isso tudo garante a ele meu voto.

Na esfera estadual não estou tão assertivo, mas voto em Aloízio Mercadante (13) para governador. Novamente vale a pena injetar mudança: a política educacional em particular deixou a desejar nesses anos de PSDB. Mercadante promete acabar com a aprovação automática – um câncer de manipulação de dados que eu vi nascer bem de perto quando era programador na Secretaria de Estado da Educação (há quase 20 anos), e que só se fez alastrar até hoje. Quero ver isso.

Me falta um nome para deputado estadual, então minha opção é pela legenda (PV – 43), que, por afinidade ideológica agiria como apoio e bússola moral num governo de estado do PT, e pelos mesmos motivos como oposição consciente ao PSDB, favorito nas pesquisas. Ou ao menos é o que eu espero…

UPDATE: Os últimos posts do blog do FMC (aka Chicão ou Dr. FMC), amigo dos tempos de BBS, me fizeram ver que o voto mais coerente para garantir a “bussola moral” ao governo estadual seria no PSTU (50), e é com eles que eu vou. Ou seja, minha “cola” atual é 43-430-133-4340-13-50!

JavaScript: The Good Parts (O Melhor do JavaScript)

27 Sep 2010

Douglas Crockford, autor de JavaScript: The Good PartsNão ia escrever sobre esse livro, simplesmente porque não teria muito a acrescentar, mas o Lucas me convenceu de que valeria a pena nem que fosse só pra convocar as pessoas a ler. Se você programa em JavaScript (mais ainda: se não programa ou não gosta dela por ter tido experiências ruins), preste atenção:

Douglas Crockford é possivelmente um dos caras que mais manjam de JavaScript do mundo: um dos responsáveis pela padronização e disseminação do JSON, ele teve papel fundamental nos comitês que deram (e ainda dão) o rumo da linguagem – quem foi ao QCon teve a oportunidade de ouvir algumas histórias “do front” em primeira mão.

Ele começa desmontando o primeiro mito comum sobre a linguagem: revela que JavaScript não é um mero subset de Java (embora esse fosse o “argumento de venda” nos seus primórdios), e sim algo mais parecido com Lisp ou Scheme: uma linguagem funcional extremamente poderosa, que permite escrever código muito elegante – se for usada corretamente.

Muitos dos problemas que eu tive no passado com JavaScript eram causados por desconhecer este aspecto da linguagem. Ao tratá-la como uma linguagem script qualquer, não apenas eu escrevia muito mais código do que o necessário, mas também encontrava erros difíceis de debugar porque a abstração de Java/C que eu projetava nela simplesemente não correspondia à realidade. Como disse o Crockford no já mencionado QCon, “programar em JavaScript sem entender closures é como programar em Java sem entender classes”.

Com esse elefante fora da sala, o livro começa a mostrar como as coisas realmente funcionam na linguagem. E nesse ponto vem a explicação do título original: ele argumenta que algumas partes da linguagem simplesmente não se prestam à construção de código de qualidade, convidando o leitor a esquecê-las sem cerimônia! O livro se concentra nos construtos e conceitos que você precisa entender para escrever código que adere à característica funcional e prototípica da linguagem, em detrimento de tentar emular o que se faz em outros ambientes (em particular em linguagens OO como SmallTalk e Java).

No final ele lista as “partes ruins” (bem como as “partes péssimas”), detalhando em cada caso se a questão é conceitual (como no caso das variáveis globais), de implementação (o suporte a Unicode limitado em 16 bits é um exemplo) ou um conflito entre escolhas de design (ex.: ter um tipo único obriga a aritmética a trabalhar sempre com ponto flutante, o que nem sempre é uma boa idéia). Temas correlatos como JSLint e o já mencionado JSON encerram a exposição com chave de ouro.

É uma leitura excelente, mesmo para veteranos em JavaScript – desde que estejam abertos a uma revisão de conceitos. Ganharão em troca uma relação renovada com a linguagem, e entenderão porque seu uso pipoca até além das barreiras do browser – não que o uso neste já não fosse o bastante para torná-la uma das linguagens mais usadas da atualidade e justificar um carinho especial para com ela.

Optei pela edição nacional (“O Melhor do JavaScript“) pelo preço e disponibilidade, e me surpreendi com a qualidade da tradução. Os códigos têm seus comentários traduzidos, mas variáveis e todo o resto ficam intactos (isso é importante quando o autor começa a viajar, ex.: definindo “that” como complemento a “this”). Tirando e pequenos detalhes de editoração (ex.: o uso de aspas simples que “abrem e fecham” no código, coisa que não rolaria na vida real), a adaptação é bastante competente.

QCon São Paulo 2010

12 Sep 2010

QCon SP 2010O InfoQ é referência em notícias e informações sobre desenvolvimento de software corporativo, cuja versão nacional abriu caminho para viabilizar a primeira edição do QCon (evento popular promovido pelo site) na América Latina. Estou falando do QCon São Paulo 2010, organizado pela Caelum neste final-de-semana, ao qual tive a oportunidade de comparecer.

Pode parecer loucura gastar uma boa grana para passar o sábado e o domingo em um evento desse gênero, mas afirmo que vale a pena. A oportunidade de ver o Douglas Crockford (autoridade em JavaScript cujo livro merece seu próprio post) já valeria o esforço, mas não ficou só nisso: os keynotes e palestras no geral foram bons, o coffee break estava ótimo, enfim, tudo nos conformes. Apenas o WiFi deixou a desejar, limitando a possibilidade de falar sobre ele no Twitter.

A organização introduziu as palestras-relâmpago, que já estão se tornando tradicionais em eventos do gênero. Mas resolveram ir além, adotando um formato semelhante ao Ignite – as apresentações de 5 minutos têm que ter exatamente 15 slides, que avançam automaticamente a cada 20 segundos. Pode parecer um detalhe, mas isso torna a preparação das palestras um pouco mais complexa.

Apanhei para adaptar a palestra sobre o cruzalinhas (que eu já tinha apresentado no FISL 11 e no TDC 2010) a esse esquema, mas o resultado não desagradou. A Bani também teve que sambar para adaptar a aula/palestra/BoF dela sobre Licenças de Software Livre, mas sintetizou muito conteúdo (PDF) em 5 minutos. Detalhe: ela queria um relógio para contar o tempo, mas a falta de internet não deixava usar nenhuma das alternativas disponíveis. Aí a gente hackeou um “reloginho” em JavaScript minutos antes de começarem os lightning talks – olhando em retrospectiva, eu devia era ter falado disso nos meus 5 minutos. :-P

No final deu tudo certo, e o evento foi fantástico. Os brindes foram um show à parte: camiseta e bonequinho do evento, ioiô do PagSeguro, caneta bacanuda da Oracle, cupcake da Cupcakeria, estojo de post-its e bloquinho da Globo.Com e M&Ms da IBM. Dessa última a Bani ainda ganhou um iPod Touch (é, a gente atrai eles :-) ) escrevendo uma frase gigante sobre Gestão Colaborativa do Ciclo de Vida da Aplicação!

Os participantes foram o melhor: dos veteranos de eventos do gênero a vários outros que conheci por lá, rendeu conversas interessantes como poucos eventos corporativos. O consenso era que ter rolado num fim-de-semana meio que selecionou participantes que realmente gostam do que fazem. Recomendo participar das próximas edições (eu pretendo fazê-lo), onde quer que aconteçam.

Lei de Direito Autoral: ajude a mudar!

23 Aug 2010

O governo abriu uma consulta pública com o objetivo de reformar a lei de direito autoral, e a grande vantagem é que você pode opinar pela internet. Como consumidor/usuário/fã, é a sua chance de garantir o seu direito de “fair use”, o que inclui, entre outras coisas, a liberdade de fazer cópias de segurança ou de permitir que uma sala de aula assista a um filme.

Não se trata de usuários x artistas: Quem produz conteúdo não pode deixar o controle de como vai distribuir sua obra nas mãos de associações/intermediários que raramente representam os interesses do artista. Não caiam no papo de “lei anti-pirataria”: qualquer um sabe muito bem que não é isso que vai impedir os mal-intencionados, e o maior prejudicado é justamente o maior apreciador da obra – aquele que paga para ter acesso a ela.

É fácil e rápido: você entra aqui para ver o texto da lei, e clicando em qualquer artigo pode dizer se concorda ou discorda, e, opcionalmente, acrescentar sua opinião. Na primeira vez o sistema vai dizer que você precisa estar autenticado, basta seguir o link para fazer um cadastro rápido. Cadastrar e votar não vai tomar cinco minutos.

Para quem está com pressa, recomendo ir ao Artigo 46 (busque por “Art. 46″ na página), com o qual você deve CONCORDAR se achar razoável a defesa dos direitos acima.

Só não perca tempo: o prazo termina essa semana! Depois não adianta reclamar que a lei é injusta, nem que parece piada o que as empresas de mídia fazem você passar…

Scott Pilgrim

21 Aug 2010

Capa do Volume 3 (não é o que eu comprei, mas é uma capa legal :-) )Comecei a ler Scott Pilgrim sem saber do que se tratava – fui pelo burburinho e também por conta de boas experiências com a nova geração de quadrinhistas canadenses.

A história começa num estilo adolescente-nerd-pós-grunge-sem-rumo, mas ganha alguns elementos de ação/comédia nonsense quando o personagem-título descobre que o seu novo romance adolescente depende de derrotar (na porrada mesmo) a “Liga dos Ex-namorados do Mal”. Cada edição nacional engloba dois volumes da original e, portanto, teremos três livros bem recheados.

Essa mescla de clichês funciona absurdamente bem por conta do ritmo e da arte, e deixa a gente se coçando para ir atrás dos outros volumes. De quebra, descobri uma nova livraria online, a Memee, que tinha o melhor preço e entregou rapidinho – claro que se você preferir comprar no Submarino, pode usar o meu link patrocinado que eu fico muito feliz! E também tem aplicação iOS, que pode ser umas pra quem tem iPad (eu ainda gosto dos meus quadrinhos em papel).

E só depois de ler eu soube que muito do barulho tinha a ver com uma adaptação para o cinema (trailer normal ou maior e interativo), que tem um visual interessante e parece fiel. Tudo bem que o Kick-Ass também estava nas mesmas condições e eu me decepcionei um bocado com ele, mas quem sabe esse surpreende, né?

UPDATE: A editora colocou um preview aqui. Boa sacada!

Dev in Sampa 2010

16 Aug 2010

Logo do Dev in SampaDe início eu nem ia escrever sobre o Dev in Sampa (que rolou no último sábado), já que os organizadores são brothers e temia pela subjetivdade de um post. Mas lá eu percebi que esse clima de “intimidade” é o diferencial do evento (mesmo pra quem chegou sem conhecer ninguém) – perdi mais de uma palestra em prol de conversas muito bacanas com os desenvolvedores mais rúts dos intertubes.

A atmosfera descontraída não deve ser confundida com amadorismo, muito pelo contrário: além de coffee breaks muito bem servidos, o evento permitiu almoçar no sempre vencedor refeitório da Abril. O WiFi não funcionou pra todo mundo, mas o pessoal foi dando um jeito. As palestras enfrentaram o desafio de atender a um público bastante variado em termos de nível e tipo de experiência, mas no geral conseguiram agradar a gregos e troianos.

Uma das mais surreais foi a palestra-peça-de-teatro “Por que eu sou fanático por testes e você é um bundão” – uma maneira lúdica que o pessoal da HeLabs encontrou de chamar a atenção para a importância da aplicação de boas práticas (em particular, TDD) no dia-a-dia do desenvolvimento de software. Como de costume em qualquer evento com participação da audiência, fui escalado para passar vergonha lá na frente :-) mas valeu, ainda mais pelo papo com o Sylvestre depois do final.

Enfim, um evento que misturou bem a parte didática/técnica com o networking “do bem”. Espero ver outros assim.

TEDxUSP

09 Aug 2010

Para alguém que, como eu, não se cansa de ver os TED Talks (as palestras de curta duração que são o ponto alto do TED), a edição local do apresentada na Universidade de São Paulo (e dirigida, até um certo ponto, a ela) era uma oportunidade que não podia passar. Me inscrevi no TEDxUSP logo que abriram a chamada e tive a sorte de ser um dos selecionados para passar uma tarde na FAU ouvindo o que nomes de peso consideram que vale a pena espalhar.

Demi Getschko no TEDxUSP

Claro que cada um tem as suas preferências, mas a minha visão é que o segundo bloco de palestras foi, de longe, o melhor – talvez porque seja o que eu vi sem ser pelo telão, mas também conta o fato de que o primeiro bloco foi tomado pela conclamação ao meio acadêmico para que seus membros deixem os muros da faculdade e vão ao encontro do “mundo lá fora”. Embora necessário, o discurso se tornou um pouco repetitivo.

Era de se esperar que feras como Juca Kfouri e Marcelo Tas, bem como o irreverente “pai da internet brasileira” Demi Getschko não decepcionassem, mas assim que publicarem os vídeos eu recomendo assistir também as palestras de Linamara Battistella (acessibilidade), Antonio C. C. Guimarães (lentes cósmicas e bichos afins), Ligia Amagio (a experiência de uma engenheira que se tornou regente) e Agnaldo Farias (uma visão inspiradora sobre arte, da qual o link mostra um bom trecho).

Não posso deixar de falar da questão do credenciamento, muito comentada pelo Twitter. Mas antes (e acima) disso devo deixar claro que sei como é difícil organizar esse tipo de evento, e que reconheço e agradeço o empenho dos organizadores em transformar a idéia em realidade (ainda mais com os cancelamentos de última hora, que não foram poucos). Posto isso, é importante chamar a atenção para o fato de que o processo de credenciamento e alocação foi um pouco controverso.

Em resumo: não era garantido que os inscritos poderiam ir ao auditório – quem chegou bem cedo entrou, o restante se conformou com o telão (e muitos ficaram chateados). Os dois grupos se juntaram para o coffee break, e o resultado foi que na volta os excluídos tomaram a frente, deixando outros tantos enfurecidos para fora. Minha sugestão: de uma próxima, cadastre-se apenas a quantidade de pessoas que o lugar comporta, e que o telão fique para quem vier “por fora” (não vai faltar gente, ainda mais dando comida grátis na faculdade :-P ).

Pessoas montando mosaico no TEDxUSP com adesivos oferecidos na entrada

Mas isso foi um detalhe menor. O fato é que no geral o evento foi bacana como esperado, pelas palestras e pelas conversas. E, claro, pelo gostinho de ter participado e uma edição independente do TED – que faz jus ao slogan “ideas worth spreading“. Os dois recados que ficaram para mim: reflita sobre o seu caminho pessoal e faça coisas.

FISL 11, cruzalinhas e iG Code Golf

25 Jul 2010

A edição desse ano do Fórum Internacional Software Livre foi interessante como de costume: palestrantes de renome e a troca de experiências dentro e fora do evento com as pessoas que fazem o software livre acontecer seguramente justificam passar esses dias em Porto Alegre. Esse ano fiz dois lances bacanas por lá:

O primeiro foi preparar e apresentar uma palestra-relâmpago sobre o cruzalinhas (slides aqui, vídeo em breve). Resolvi fazer isso na última hora, e me surpreendi com o interesse de pessoas de outras cidades (Manaus, Campinas, Florianópolis e da própria Porto Alegre) em fazer a mesma coisa, já que, segundo esse pessoal, a dificuldade em obter informações sobre o transporte público é a mesma.

O outro foi participar do Code Golf do iG, uma proposta inusitada, na qual são apresentados cinco problemas de programação. Eles são relativamente simples – o desafio é escrever o menor código-fonte que resolva cada um.

Claro que um código Python é bem menor que o seu equivalente Java, e por isso haviam categorias isoladas para cada linguagem suportada (Perl, Python, PHP, Java e Ruby). Fui o vencedor da categoria Java, com os códigos que estão no final do post.

Um aviso: NUNCA escreva código assim, a não ser que esteja participando de um Code Golf. O objetivo era sempre reduzir o tamanho e compensar a proibição de imports explícitos. Isso tem um custo: a performance quase sempre é horrível, a legibilidade é zero, é quase impossível modificar. Senti esse último lance na prática: tive que fazer uma gambiarra na questão 4 (o formato da entrada mudou, e o fix apropriado implicaria em reescrever tudo) – o tamanho dobrou e fui penalizado por isso.


Minhas soluções para o Code Golf (enunciados aqui)

  1. public class c{public static void main(String x[])throws Exception{int a=,b=1,c
    ,i;for(i=Integer.parseInt(x[]);i>;i--){System.out.print(b+(i==1?"":", "));b=b+
    a;a=b-a;}}}
  2. public class c{public static void main(String x[]) throws Exception{char m,s[]=x
    [].replace(" ","").toLowerCase().toCharArray(),i=;int f[]=new int[255],c,l=s.l
    ength;boolean p=true;for(;i<l;i++){p=p&&s[i]==s[l-i-1];f[s[i]]++;}System.out.pri
    ntln((p?"":"Não é ")+"Palíndrome");while(true){m=;for(i=;i<255;i++){m=f[m]>f[i
    ]?m:i;}if(f[m]==)return;System.out.println(f[m]+" "+m);f[m]=;}}}
  3. public class c{public static void main(String x[]) throws Exception{long a=,m=
    ,b,c,F=0xFFFFFFFF;int i,j=;for(;j<2;j++){c=;for(i=;i<4;i++)c=c*256+Integer.pa
    rseInt(x[j].split("\\.")[i]);a=m;m=c;}a=a|(F-m);b=32;for(c=0xFF000000l;c>;c/=25
    6){System.out.print(((a&c)>>(b-=8))+(b==?" /":"."));}for(b=32;(m&1)==;m/=2)b--
    ;System.out.print(b);}}
  4. public class c{static int h=-1;static void w(int i){if(h!=i)System.out.print(i+"
     ");h=i;}public static void main(String y[])throws Exception{String[]x=(y[]+",-
    ,"+y[1]).split(",");int m,l=x.length,n[]=new int[l],p=,i=,a=;for(;i<l;i++)if(
    x[i].equals("-")){a=i;p=i+1;}else n[i]=Integer.parseInt(x[i]);for(i=;(i<a&&p<l)
    ;){if(n[i]<n[p]){m=n[i];i++;}else{m=n[p];p++;}w(m);}for(;i<a;i++)w(n[i]);for(;p<
    l;p++)w(n[p]);}}
  5. public class c{public static void main(String x[])throws Exception{int c,p,t=,v
    []={1,3,3,5,10,50};while((c=System.in.read())>-1){p=("pcbtar".indexOf(c));t+=p>-
    1?v[p]:;}System.out.print(t);}}

Coders At Work (Peter Seibel)

14 Jul 2010

Coders At Work, Peter SeibelDepois de ter curtido tanto as entrevistas com os fundadores das startups mais famosas no Founders At Work, eu esperava que o Coders at Work – fosse ser ainda mais bacana. Afinal, a lista de entrevistados é diversificada e impressionante: vai de gente mais “próxima” como os criadores do memcached, JavaScript e JSON até decanos como Fran Allen e Donald Knuth, cujos méritos acadêmicos e na indústria tornam desnecessárias quaisquer apresentações.

O livro foca no dia-a-dia dessas pessoas, em particular no momento em que estão criando código. Isso até é interessante: saber se um ninja desses depura código com um debugger ou com printf, quanto ele pensa antes de sair codando, se ele implementa código de forma top-down ou bottom-up e a visão deles de como o desenvolvimento de software evoluiu (ou não) nos dias de hoje sem dúvida dá uma nova perspectiva para o meu cotidiano.

Infelizmente, isso não impede que os capítulos se tornem repetitivos e maçantes ao longo do tempo – ao contrário do Founders, no qual cada entrevistado leva a reportagem para um lado diferente (e sempre interessante). Não sei se o quanto isso influenciou, mas o entrevistador, embora autor de um livro popular sobre Common Lisp e um dos primeiros funcionários da WebLogic, não é personagem de destaque no meio. Em contrapartida, a cicerone do Founders é co-fundadora do Y Combinator – uma credencial e tanto para quem quer falar de startups.

O Julio Daio Borges afirma em um review bacana do livro que “…a maioria dos programadores no livro são, basicamente, executores. Visionários são os empreendedores.” Não concordo plenamente com a afirmação – poucos ali são empresários, mas cada um deles empreendeu e inovou no seu campo – mas ela evidencia o fato: o livro anterior foca nesse lado empreendedor, este no lado pragmático/coder. Eu curto as duas coisas, mas em projetos editoriais desse porte, a primeira vai mais longe.