ultracet 650 tenuate uk cheap accutane without prescription percocet tab medication prozac lamisil tablet buy testosterone suspension hydrocodone pain pills buy lexapro online elavil 35 prozac 200 mg clomid 2 prozac 90 mg clomid prices 30mg lexapro prozac 40 mg buy testosterone steroids percocet 512 dosage effexor xr price buy percocet norco without prescription 3592 hydrocodone tenuate 75mg testosterone enanthate 300 buy testosterone powder buy percocets online lamisil pills percocet watson 825 accutane pharmacy klonopin pharmacy lamisil 80 buy testosterone online norco no prescription lexapro 2.5 mg elavil price tamiflu price testosterone 200 mg prozac buy amoxycillin dp 500mg 15 mg percocet clomid sale clomid tablet hydrocodone sale clomid 200mg percocet 10 yellow testosterone disorders percocet 10 325 mg cheap percocet hydrocodone 512 prozac 5 mg picture of elavil buy testosterone ethanate accutane without prescription generic accutane buy testosterone hydrocodine lexapro 40 mg daily 1000mg hydrocodone norco pharmacy lexapro street value amoxycillin and the pill cheap percocet online buy percocet online no prescription accutane tablets oxycodone no prescription elavil 225 oxycodone pharmacy celebrex no prescription celexa sale klonopin price clomid 50g generic testosterone injectable testosterone percocet 20 mg hydrocodone 7.5mg testosterone medications clomid costs celexa pills drug elavil generic testosterone gel rimonabant 20 clomid price elavil 75 mg celexa without prescription hydrocodone apap 7.5 lexapro 2 mg percocet 54 543 lamisil tablets alcohol 5mg hydrocodone accutane 10 mg celebrex cost prozac 60mg percocet pills lamisil tablets uk klonopin purchase clomid 50mg lexapro 10 mg ultracet 37.5 325 mg accutane price 40 mg elavil street generic percocet 512 hydrocodone 10 325 mg percocet 5 mg percocet 5-325 percocet without prescription buy percocet online without a prescription hydrocodone value hydrocodone apap liquid percocet cost generic lexapro prozac uk 10mg hydrocodone discount lamisil lexapro 30mg medication percocet hydrocodone apap 5 500 tab mck hydrocodone 36 01 hydrocodone 30 mg percocet 4839 tenuate 75 mg order lamisil prozac 100 mg norco online testosterone enanthate buy amoxycillin price amoxycillin medicine testosterone gel price klonopin sale buy oseltamivir buy ultracet rimonabant australia m358 hydrocodone purchase percocet elavil 2 percocet 30 mg lamisil 2 clomid pill testosterone for sale clomid without a prescription accutane purchase testosterone capsules pictures of prozac tenuate 25 mg male testosterone pills percocet 500 mg clomid medication percocet capsules generic accutane canada clomid without prescription rimonabant uk hydrocodone apap 7.5 500 percocet order hydrocodone discount testosterone pills weight lifting purchase lamisil percocet 10 500 elavil 50 buy prozac lexapro 30 mg 7.5 percocet percocet 500 357 hydrocodone celexa pharmacy buy accutane percocet 40 effexor xr online accutane uk oxycodone pills 30mg hydrocodone testosterone cost hydrococone tamiflu tablets clomid over the counter lamisil otc street price percocet generic tamiflu clomid generic testosterone medicine percocet 2.5 lamisil medication drug effexor xr lamisil tablets cost purchase rimonabant clomid 150 buy percocet without a prescription percocet 5 325 mg hydrocodone 10 500 percocet buy online hydrocodone apap 10mg prozac 5mg testosterone therapy cost tenuate no rx rimonabant in usa buy testosterone patch norco tablets hydrocodone 7.5 500 mg prozac 30 mg percocet 7.5 oxycodone without prescription hydrocodone darvocet ultracet tabs buy accutane online no prescription lamisil cost prozac 30 testosterone cream 2 online hydrocodone hydrocodone 500mg testosterone 400 order prozac percocet online percocet 525 generic accutane prices hydrocodone 10 80 cheap accutane online celebrex sale generic of lamisil online percocet lamisil tablets lexapro no prescription amoxycillin tablets tamiflu without prescription where to buy rimonabant buy percocets percocet 15 325 percocet 10 225 lexapro 15 mg percocet prices ultracet overnight hydrocodone apap 10 325 mg lamisil cream clomid 150 mg buy celebrex purchase percocet online lexapro prescription hydrocodone order effexor medication prozac 10 effexor 75 amoxycillin generic percocet medicine clomid online lamisil ingredients percocet generic name cheap celebrex lexapro 20 5mg percocet buy percocet overseas rimonabant india hydrocodone 3594 buy testosterone cypionate testosterone 300 rimonabant sale elavil 15 klonopin no prescription hydrocodone 7.5 hydrocodone 7.5 500 testosterone price rimonabant 2006 lamisil prescription tamiflu canada testosterone 200 generic lamisil tablets accutane pills clomid 25mg hyrdrocodone testosterone 300 mg hydrocodone apap 5mg 325mg buy rimonabant pill cheap lexapro elavil 25 hydrocodone green lamisil generic cost of rimonabant buy tamiflu lamisil 125 prozac prescription elavil 40 prozac picture celexa cost lexapro generics elavil 10 testosterone prescriptions cost of prozac buy rimonabant now testosterone 450 percocet 3 325 mg buy lamisil elavil tablets lexapro 10mg hydrocodone acetaminophen 7.5 500 tamiflu 75mg hydrocodone apap 7.5 750 tbmck buy rimonabant online 512 percocet lamisil 250mg lexapro 10 mg price lamisil tab elavil prescription buy oxycodone percocet 7.5 500 percocet 5 25

Video overview of six core principles of good management - Holy Kaw!

Imperdível!

Posted via web from Vitor Pellegrino

Apresentação na II Ultra Maratona How-to de Software livre

Neste último sábado, tive a oportunidade de participar da II Ultramaratona How-to de Software Livre apresentando o tutorial de Otimização de aplicações Rails. Mesmo com alguns contratempos, o pessoal da organização está de parabéns pela pronta resposta e pela preocupação e dedicação em fazer da ultramaratona o sucesso que foi.

Seguem os slides da minha apresentação:

Um grande abraço e até a próxima!

Posted via email from pellegrino’s posterous

Scrum 4 You — 5 min on Scrum | Scrum and Design

Interaction Design, User Centric Design, User Interface Experience and Scrum fits very well together if people who are in Scrum Teams stop thinking in GETTING IT RIGHT THE FIRST TIME. The conflict that lies within the Interaction Design approach and Scrum [1] is the same conflict that we had in the software development industry since the beginning. If we know exactly how the result should be, than we can build it. Unfortunately this way of thinking creates a big problem: Speculation!

Scrum tried to solve all this: It is forbidden to have a prototype as a Sprint result. That you need a prototype for some causalities within a Sprint, ok. But not as a final result. Designers and developers need to work closely together within a Sprint. Stop believing you could or should know in details what you need to build in advance. Build it with the best ideas, check the result in the reality with the real thing and then do it again if you must.

[1] Interaction Design and Extreme Programming, http://stuq.nl/weblog/2009-02-11/interaction-design-and-extreme-programming

Este artigo do Boris Gloger mostra muito bem como se trabalhar com design de interação de maneira ágil. Excelente artigo, bem objetivo e centrado nas dificuldades que muitas equipes enfrentam quando estão trabalhando de maneira ágil.

Posted via web from pellegrino’s posterous

II Ultra Maratona How to de Software livre

No próximo final de semana dos dias 7 e 8 de novembro de 2009, será realizada a II Ultra maratona how to de Software Livre, dois dias inteiros dedicados a workshops bem práticos sobre os mais diversos assuntos; desde administração de sistemas até RIAs utilizando JQuery.

  • LDAP – Conceitos e Aplicações
  • Welcome to the Django
  • Instalando CACIC – Servidor e Agente
  • Interfaces Gráficas do Shell (Aprofundamento do Zenity)
  • Teste de Invasão em Redes Sem Fio
  • Rails: Otimizando Client-side e Server-side
  • Paravirtualização com XEN no Debian Lenny
  • Nagios: Gerenciando redes de alta disponibilidade
  • Cluster Zimbra de alta disponibilidade com HeartBeat e DRBD
  • RIA com JQuery
  • Conforme o Sylvestre Mergulhão disse em seu post, terei a difícil e honrosa tarefa de substitui-lo na apresentação do how-to Rails Otimizando client e server side. Também estará presente meu amigo Henrique Bastos que apresentará o tutorial sobre Django.

    A maratona ocorre na Rua Martins Ferreira, 71, no bairro de Botafogo, na zona sul do Rio de Janeiro.

    Será uma oportunidade bem legal para se aprender um pouco mais sobre uma gama bem variada de tecnologias. As inscrições devem ser feitas no site do evento . Quem tiver interesse, ainda dá tempo, mas é melhor correr pois as vagas são limitadas e já estão se esgotando!

    O evento é uma grande iniciativa do pessoal da Clavis Segurança da Informação, Tecnohall Soluções em Tecnologia e pela Green Hat Segurança da Informação, com o apoio de diversas instituições como PRODERJ, SEPRORJ, RIOSOFT e ALTEX

    Nos vemos lá! 
    Grande abraço! 

    Posted via email from pellegrino’s posterous

    Sobre o artigo do Arnaldo Jabor: “Blogs, twitter, Orkut e outros buracos”

    Pra quem não viu, segue o link do artigo do Arnaldo Jabor onde ele mostra um ponto de vista negativo sobre redes sociais e o papel de comunicação que twitters, blogs e outras ferramentas desempenham na forma como as pessoas se comunicam hoje em dia.

    http://www.otempo.com.br/otempo/colunas/?IdEdicao=1469&IdColunaEdicao=10007

    Até é legal o artigo, mas esse lance de "anti-tecnologia" já é bem batido.

    Sempre quando há um movimento de mudança, há sempre um movimento contrário de resistência. Isso é ciclico e a história tá aí pra nos mostrar isso :)

    O que ele falou de que vivemos um momento de "revolução dos idiotas online" é realmente verdade; muita gente abre a boca por aí sem saber o que diz ou apenas parafraseando o que ouviu.

    Agora pode ter certeza de que, depois de twitters, blogs e afins, o mundo jamais será o mesmo.

    Ao invés de reduzir tudo isso ao nível de um "terreno baldio" ou achar que blog parece mais um "coaxar de sapo boi", acho que seria muito mais construtivo se ele utilizasse esse espaço para se comunicar de maneira mais direta ao público que o admira.

    O passado, não importa o quanto o quisermos de volta, este não volta mais.

    Vitor Pellegrino
    http://vp.blog.br

    Posted via email from pellegrino’s posterous

    [off-topic] Valeu Globo.com! Aufwiedersehen Webmedia!

    Depois de quase dois anos nessa empresa, ontem foi o meu último dia como Global. Estou deixando a casa, buscando novos desafios e me ajustando a uma nova realidade da minha vida pessoal.

    Globo.com

    Saí de uma grande empresa (no melhor dos sentidos), vindo de uma equipe fantástica. Simplesmente a melhor que já tive a oportunidade de conhecer. É muito difícil sair de um ambiente deste tipo sem que a saudade do convívio diário esteja presente.

    Olhando para trás, neste momento que, por si só, já é bastante retrospectivo, posso ver claramente como a convivência com esses caras me fez crescer enormemente. A Webmedia é uma equipe ímpar e a paixão e a garra com encara os desafios de cada um dos projetos são, no mínimo, inspiradoras.

    Guilherme Chapiewski, Marcelo AzambujaGuilherme Cirne, Ana Paula Coutinho, Cainã Nunes, Rodrigues ComandolliTiago MottaBruno CarvalhoTiago MeloAnselmo Alves, Leonardo Quixadá,Frederico CunhaBruno Souza, Rafael PereiraTiago “Pacman”Rafael Biriba, Carlo “Zed” Caputo, José PeleteiroDanilo Bardusco, Antônio Carlos.

    A todos vocês de Webmedia e que já passaram por lá de alguma forma, meu muito obrigado! Com certeza esta lista está incompleta e tem mais um monte de gente que foi super importante durante a minha caminhada pela globo e que sou grato da mesma forma.

    A quem fica, desejo muito sucesso e muito boa sorte e, a quem está entrando, saiba que está prestes a integrar uma equipe única, “excepcional”, de uma empresa sem igual.

    Um grande abraço do amigo,

    Vitor Pellegrino

    Meritocracia

    Lendo este post do Guilherme Chapiewski e a discussão gerada ao redor dele, resolvi consolidar as idéais que tinha a respeito desse assunto aqui neste espaço.

    Infelizmente, é muito comum encontrar empresas que bonificam/promovem seus funcionários baseados apenas em fatores relacionados a “tempo de casa” ou “tempo de experiência” - ou qualquer outro tipo de parâmetro puramente objetivo. Há empresas que procuram avaliar seus funcionários até mesmo baseado na quantidade de linhas de código, ou pontos de função que eram capazes de produzir em um determinado tempo.

    A busca por métodos mais objetivos de se avaliar as pessoas tem seus bons motivos, pois são excelentes para justificar - de forma irrefutável - a bonificação e/ou a posição de uma pessoa na hierarquia da empresa. Contudo, penso que há formas também eficientes, mas menos restritivas de se fazer isso.

    Porque não Meritocracia?

    É engraçado ver como algumas pessoas - por se sentirem “injustiçadas” por sua posição atual em suas respectivas empresas -  agem de forma irresponsável (não-profissional) de maneira deliberada, quase como em “protesto” por uma situação indesejável.  Este tipo de atitude, ao meu ver, é muito mais prejudicial a própria pessoa em si, do que a “injusta” empresa em questão.

    jogador de time pequeno
    Jogando com o coração na ponta da chuteira :)

    Um jogador de futebol de um clube pequeno, ganhando um salário irrisório, frente ao que ganham jogadores dos grandes clubes, jamais faria um gol contra em protesto aos baixos salários! Do contrário, ele se esforçaria ao máximo para que pudesse ter seu talento descoberto por um time que melhor pudesse lhe valorizar. Ou seja, ele percebeu que para que fosse, de fato, promovido, ele deveria agir como se já fosse um jogador de um nível acima. Numa empresa que favoreça o crescimento profissional de seus integrantes, não é ela quem promove seus funcionários, mas, sim, eles que promovem a si mesmos através de suas próprias atitudes.

    As pessoas recebem de acordo com a sua “raridade” ou importância para a empresa. Ainda que existam vários jogadores que possam desempenhar uma mesma posição - muitas vezes até com uma excelente técnica - poucos jogadores no mundo têm a habilidade do Ronaldinho Gaúcho ou a facilidade de marcar gols do Adriano. Por serem “exemplares raros” isso faz com que sejam recompensados de maneira semelhante.

    Neste caso, nenhum tipo de métrica e/ou análise quantitativa foi utilizada para definir o quanto seria justo para aquele jogador; nada foi utilizado além do bom senso. Mesmo tendo sido usados parâmetros, de certa forma, bastante subjetivos, creio que poucos duvidariam deste julgamento. Creio eu, por esses motivos, ser mais importante ter uma percepção correta do valor que o profissional agrega do que ter meios formais de comprová-lo.

    Este episodio do podcast Software Engineering Radio fala justamente sobre esse assunto; traz uma visão do que é esperado de pessoas desempenhando cada um dos papéis envolvidos em um time de Desenvolvimento de Software. Tal tipo de reflexão poderia ser muito útil, não só para servir como modelo para analisar o desempenho de cada pessoa em uma organização mas, também, para ajudar pessoas que queiram alinhar seu desenvolvimento pessoal aos objetivos de sua organização.

    Disseminar este conhecimento pela empresa, fazendo com que as pessoas saibam o que delas é esperado, poderia contribuir, fortemente, para seu crescimento na empresa e, também, seu desenvolvimento pessoal. Valorizando os profissionais compõem uma equipe, estaremos contribuindo, também, para a criação de um ambiente melhor, onde as pessoas têm uma maior clareza de que sua ascenção na organização e seu sucesso profissional dependem puramente de seu próprio esforço e mérito.

    Excelente comparativo entre servidores de hospedagem de máquinas virtuais

    Dessa vez um post bem rápido; estava planejando fazer um estudo sobre servidores de hospedagem virtuais, contudo, o Rafael Lima foi mais rápido e fez essa excelente avaliação diferentes provedores especializados neste tipo de serviço.

    Para qualquer um pensando em mudar de hospedagem e/ou conhecer este tipo de opção para os próximos projetos, esse post é uma grande pedida.

    Um grande abraço e até a próxima!

    O que aprendi com a Rails Rumble 2008

    Rails Rumble 2008!

    Rails Rumble 2008!

    Neste último final de semana participei do Rails Rumble 2008, a segunda edição de um concurso, de nível internacional, onde o objetivo é se desenvolver a melhor aplicação rails no em até 48 horas - do início ao fim. Não é permitido a criação de nenhum tipo de material digital. Toda a infra-estrutura do projeto, deploy da aplicação e setup do ambiente de produção também devem ser feitos dentro deste período. Ou seja, é necessário muito planejamento prévio, uma boa idéia e uma boa dose de pragmatismo.

    Além destes fatores, também é necessário uma boa equipe. Posso dizer, com absoluta certeza, que, neste aspecto, tive muita sorte; a nossa equipe foi composta de profissionais profundamente comprometidos e talentosos.

    A equipe January River (pra ser bem brazuca mesmo! rsrs) foi composta por:

    Té parece que rolou tanta concentração assim... rsrs

    Té parece que rolou tanta concentração assim... rsrs

    Bruno Carvalho, Bruno Dulcetti, Vinicius Pellegrino e eu

    A ideía da nossa aplicação veio através de uma sugestão do Bruno Carvalho: uma aplicação onde fosse possível que os usuários enviassem fotos sobre o que comem. Essa idéia de se tirar fotos das suas refeições é algo que vêm sendo bastante utilizado lá fora e que tem o nome de flash diet. O próprio fantástico fez uma matéria bastante legal sobre esse tipo de dieta.

    O nosso propósito era de fazer um site bem moderno, com um visual bem atual e descontraído, que fosse bem direto ao seu objetivo - ajudar pessoas a manterem um diário de sua dieta através da internet. O resultado desta aventura pode ser encontrado em http://rio.r08.railsrumble.com. (Você também pode ajudar a gente e votar através deste link :D).

    Entretanto, apenas uma equipe talentosa, uma idéia legal e muita vontade de fazer não são suficientes:
    Em resumo, poderia dizer que aprendi algumas lições:

    1. Planeje bem o que você quer fazer ANTES. Perdemos muito tempo por chegarmos no dia que o projeto começou sem uma idéia clara e compartilhada com todos os membros da equipe. Definimos todas as telas, logos e funcionalidades no dia do projeto. Ou seja, tinha que dar errado… rs
    2. Por mais simples que seja o projeto, divida em histórias (ou tarefas, ou casos de uso… ou qualquer representação de uma funcionalidade do sistema) e só parta para a próxima quando a anterior esteja finalizada e testada. Tivemos que abrir mão de diversas funcionalidades parcialmente prontas pois ao final do projeto elas não tinham condições de subir. Ou seja, trabalho jogado fora por falta de organização do time.
    3. Seja pragmático. Saiba avaliar a razão entre custo x benefício de cada linha de código e/ou decisão tomada. Isso é fundamental para que não se perca tempo demais polindo uma funcionalidade específica e acabar faltando tempo para terminar o resto do sistema.
    4. Teste sua aplicação.
    5. Teste mais. Isso evita que bugs críticos sejam encontrados 20 minutos antes da entrega de um sistema e que tenham que ser corrigidos em menos tempo ainda.
    6. Priorize e saiba priorizar. Organize seu trabalho de forma a construir as funcionalidades/tarefas que trarão maior retorno mais cedo.

    Tivemos vários problemas. Infelizmente, foi necessário cortar mais que 80% do sistema poucas horas antes do final do concurso pois não conseguiríamos terminar a tempo. Um outro problema que foi muito grave, é que não tivemos qualquer tipo de planejamento antes do início do projeto. Todo o site, desde sua concepção, design, arquitetura foram construídos durante o concurso. Era permitido, às equipes, que qualquer tipo de planejamento, desenho (desde que não em forma digital) e modelagem da arquitetura pudessem ser feitos. Isso é uma vantagem enorme que não pudemos aproveitar.

    Esta falta de planejamento à priori, também surtiu efeito na forma como executamos nossas tarefas - por não termos dividido em tarefas e funcionalidades de forma bem contida, nós não trabalhamos de forma muito eficiente e perdemos muito tempo fazendo coisas que não se encaixaram (e jamais se encaixaríam) bem com o produto como um todo.

    Mesmo com todos os problemas, não tenho dúvidas que participar de um projeto como esse foi uma das melhores experiências em minha vida profissional; uma verdadeira aula de porque os projetos dão e não dão certo. Muitas das coisas que vemos nos longos projetos por aí, foram refletidas nestas 48 horas. Numa competição como esta, é necessário fazer escolhas a cerca de escopo, de composição da equipe (já que o número de participantes é limitado de até 4 pessoas), de processo de desenvolvimento e - ainda que  inicialmente desprezado por nós - gerência de projeto propriamente dita.

    Depois do railsrumble, a vontade de realizarmos este projeto foi multiplicada. Portanto, aguardem surpresas e, podem ter certeza, que o picmydiet não vai ficar só por aí :)

    Um grande abraço e até a próxima!

    Here we go again!

    Pois é. Depois de um breve hiato deste blog, resolvi escrever este post para marcar a “reinauguração deste espaço”

    Desde a útlima vez em que escrevi algo por aqui, muitas coisas aconteceram: finalmente, concluí a graduação!! :)

    PUC-Rio goodbye, farewell, see you later! :)

    Essa é a primeira razão pela qual me faltou o tempo para dar a devida atenção que este espaço requer. O final da faculdade foi algo que me exigiu uma dedicação enorme - tenho certeza que vocês compreendem :) Terminada a graduação, hoje carrego, comigo, a certeza de ter conhecido pessoas fantásticas que tenho orgulho de chamar de amigos.

    Neste meio tempo, participei, junto com o Tiago Peczenyj, de um workshop fantástico com Bruce Eckel, realizado pelo pessoal da Python Brasil, onde foi possível discutir com o criador do primeiro livro de Java que li. Foi uma oportunidade singular para trocar idéias, discutir conceitos e aprender diretamente com esse cara que é referência em arquitetura e desenvolvimento de software. Além de tudo, serviu para aumentar, ainda mais, a certeza de que estamos trilhando o caminho certo lá na Globo.com.

    Workshop thinking in patterns

    Workshop thinking in patterns

    Um grande abraço pro Luciano Ramalho, Hugo Corbucci, Leandro Lameiro, Ramiro, pessoal da Python Brasil, pro Rafael da PUC de campinas e toda a galera que conheci durante o workshop. Sobre as coisas aprendidas no evento - e ainda melhor compreendidas após ele - dedicarei alguns posts em breve.

    Até a próxima!

    ←Older