Listrando todas as classes do classpath que iniciam com P

Em smalltalk isso já funciona :D


| filtered |
filtered := Behavior allClassNames select: [:cada |
cada beginsWithIgnoreCase: 'P'
].

filtered sort do: [:cada |
cada out.
]


E na sua linguagem preferida, com quantas linhas você reproduz esta funcionalidade?

Smalltalk realmente é uma linguagem poderosa, na minha opnião o problema é a sua arquitetura que deixa a desejar, mas... fica ai a pergunta, porque uma linguagem tão poderosa não vingou?

Oque você faria se soubesse que vai morrer em alguns meses?

Randy Pausch escreveu o livro "A Lição Final" onde ele mostra exatamente a sua experência diante desta pergunta.

O que você deixaria de legado para seus filhos e para o mundo na sua última oportunidade? Randy Pausch, um professor que recebeu o diagnóstico de um câncer no pâncreas, fez com que sua “última palestra”, comum nas universidades americanas, fosse uma comovente e inesquecível ode à vida. Ouça, na voz emocionante de Paulo Betti, as palavras que tocaram os corações de milhões de pessoas em todo o planeta. Plugue-se nessa emoção!

Sobre o Autor: Randolph Frederick Pausch tem 48 anos, é casado, pai de 3 filhos, é professor de computação da Carnegie Mellon University, na Pensilvânia. A palestra que o tornou conhecido mundialmente aconteceu em 18 de setembro de 2007.

Narrado por: Paulo Betti – Ator, produtor de teatro, cinema e televisão, Paulo Betti é um dos grandes nomes presentes na TV brasileira nos últimos 30 anos. No cinema, interpretou personagens históricos como Carlos Lamarca e o Visconde de Mauá, além de ter produzido o filme Cafundó.

Audiobook – A Lição Final – Randy Pausch

Tamanho: 132.79mb | Formato: mp3

MEGAUPLOAD


A palestra com legenda...
http://www.youtube.com/watch?v=T5CiIQgqPjE
http://www.youtube.com/watch?v=6-_D1zUSLJ8
http://www.youtube.com/watch?v=XzdlyYTqgS8
http://www.youtube.com/watch?v=iX04-rVClh4
http://www.youtube.com/watch?v=k93WhvRzih4
http://www.youtube.com/watch?v=oDj6kh3-obs
http://www.youtube.com/watch?v=Lu3mvSeMl5Y
http://www.youtube.com/watch?v=RshX_bYsMMg

A palestra com legenda...
http://www.youtube.com/watch?v=CohJR40-BhM
http://www.youtube.com/watch?v=_Lrqg7FBkiI
http://www.youtube.com/watch?v=oLVF392WL8I



Todo em ingles, (HDTV)
http://www.youtube.com/watch?v=ji5_MqicxSo

Palestras SOA

SOA e Reúso na Prática
http://video.google.com/videoplay?docid=-5249880257239323129&hl=pt-BR#


SOA – Erros Comuns (Anti-Patterns) e Boas Práticas
http://video.google.com/videoplay?docid=8500982291404146742&hl=pt-BR#

Arvore B

Definição de uma arvore B:
http://www.youtube.com/watch?v=qXfPA6xqVlQ
Remoção em uma arvore B:
http://www.youtube.com/watch?v=XxFzd8s2u60
Inserção em uma arvore B:
http://www.youtube.com/watch?v=dBPJAM0Glls

Outro série que fala sobre arvore B
Árvores B - Parte 1
http://www.youtube.com/watch?v=3eJM4FGfUdU
Árvores B - Parte 2
http://www.youtube.com/watch?v=ANZBJw3a944

Balanced Scorecard por Kaplan

Kaplan fala um pouco sobre como o Balanced Scorecard é importante para empresas e para o governo.



Engenharia de software - video aula

Olá pessoal, hoje irei relacionar aqui um conjunto de links que dão uma boa revisão sobre a Engenharia de Software.

Claro que não substitui um aula presencial, mas para aqueles que precisam de uma forcinha antes das provas é bacana assisti-lo. Material, resumido, e bem direto, sem muita enrrolação.

Engenharia de Software I

Aula 01 - Part 01
http://www.youtube.com/watch?v=FmBWDwTqMbo
Aula 01 -Part 02
http://www.youtube.com/watch?v=-7jXQlAWaQQ

Aula 02 -Part 01 - Processo de software, cascata, evolutivo(prototipação e espiral) e baseado em componentes
http://www.youtube.com/watch?v=igeU6B5GmIU
Aula 02 -Part 02
http://www.youtube.com/watch?v=0fRv6o3aakw

Aula 03 -Part 01
http://www.youtube.com/watch?v=2Lh-JH3SfE4
Aula 03 -Part 02
http://www.youtube.com/watch?v=X5hJgvMeoEo

Aula 04 -Part 01
http://www.youtube.com/watch?v=G6yk7fLK3JY
Aula 04 -Part 02
http://www.youtube.com/watch?v=HT_SgcxSfjY

Aula 05 -Part 01
http://www.youtube.com/watch?v=qtbZjwLpvUg
Aula 05 -Part 02
http://www.youtube.com/watch?v=rGsx-WalKj8

Aula 06 -Part 01
http://www.youtube.com/watch?v=ya6eGnnFnrw
Aula 06 -Part 02
http://www.youtube.com/watch?v=uAZyCKs50kQ




Engenharia de Software II

Aula 01 - Part 01 - Fala sobre UML, diagrama de caso de uso,
http://www.youtube.com/watch?v=JkIk9-fgCQ8
Aula 01 -Part 02 - Fala sobre caso de uso, atores, associação e herança entre atores.
http://www.youtube.com/watch?v=jy5DDw0r2bM

Aula 03 - Part 01
http://www.youtube.com/watch?v=2r6VN54d4Lg
Aula 03 - Part 02
http://www.youtube.com/watch?v=2r6VN54d4Lg

Aula 04 - Part 01
http://www.youtube.com/watch?v=4Ul0jh9FICM
Aula 04 - Part 02
http://www.youtube.com/watch?v=z7LTP1A4pIg

Aula 05 - Part 01 - Diagrama de seqüência
http://www.youtube.com/watch?v=LTaDuh87nGk
Aula 05 - Part 02
http://www.youtube.com/watch?v=tB8Il8NMXFA

Aula 06 - Part 01
http://www.youtube.com/watch?v=7MSTQZL_-z0
Aula 06 - Part 02
http://www.youtube.com/watch?v=CjNo059eUpM

Aula 07 - Part 01
http://www.youtube.com/watch?v=f8FE85m3qaw
Aula 07 - Part 02
http://www.youtube.com/watch?v=hvysWO5oRyc

Diagrama de atividades - Parte 01
http://www.youtube.com/watch?v=w4C4cq4HV6U
Diagrama de Atividades - Parte - 02
http://www.youtube.com/watch?v=aBVFWXuYJCU

Projeto e diagrama de classes
http://www.youtube.com/watch?v=5wJQgMo_Qhs

Diagrama de classe e colaboração - Part 1
http://www.youtube.com/watch?v=tB8Il8NMXFA
Diagrama de classe e colaboração - Part 2
http://www.youtube.com/watch?v=LTaDuh87nGk

Programação Orientada à Objeto com AS3

Programação Orientada à Objeto com AS3: Introdução e Conceitos
http://vimeo.com/6911207

Programação Orientada à Objeto com AS3: Pacotes
http://vimeo.com/6984819

Padrões de Projeto

Padrões de Projeto
Motivação, Conceito, Diagramação baseada no jogo de gamão, desenvolvimento do código fonte...
Padrão de projeto lazy load
Parte 1
http://www.youtube.com/watch?v=_n6uruhx5u4
Parte 2
http://www.youtube.com/watch?v=RBSd81LB2os
Parte 3
http://www.youtube.com/watch?v=KcZrX80woN4


Padrões de Projeto: Plugin
Parte 1
http://www.youtube.com/watch?v=fUaDIfTjUYQ
Parte 2
http://www.youtube.com/watch?v=yS5Zmjrsk4A


Padrões de Projeto: Strategy
Parte 1
http://www.youtube.com/watch?v=NV9UmNICU14
Parte 2
http://www.youtube.com/watch?v=FTXn3DLtJII
Parte 3
http://www.youtube.com/watch?v=VGAm1dQb9X4


Padrões de Projeto: Visitor
Parte 1
http://www.youtube.com/watch?v=raSI1A2YwjA
Parte 2
http://www.youtube.com/watch?v=B2ZJXPl-Se0


Padrões de Projeto: Chain of Responsibility
Parte 1
http://www.youtube.com/watch?v=M_JUKwltHJ8
Parte 2
http://www.youtube.com/watch?v=om0WW9BmaZM
Parte 3
http://www.youtube.com/watch?v=a2VDKkmlbGY



Padrões de Projeto: Command
Parte 1
http://www.youtube.com/watch?v=fUEPswyc9YA
Parte 2
http://www.youtube.com/watch?v=WNJYcE2WmLU


Padrões de Projeto: Prototype
Parte 1
http://www.youtube.com/watch?v=FNpZSqclqmE
Parte 2
http://www.youtube.com/watch?v=l17skbbopS4


Padrões de Projeto: DAO
Parte 1
http://www.youtube.com/watch?v=JchwQ3-deDs
Parte 2
http://www.youtube.com/watch?v=Qj8BUMg5X0o
Parte 3
http://www.youtube.com/watch?v=Qj8BUMg5X0o

Padrões de Projeto - Abstract Factory
Parte 1
http://www.youtube.com/watch?v=L25hHRl3Fcs
Parte 2
http://www.youtube.com/watch?v=i4UN9BAnW70


Padrões de Projeto: Decorator
Parte 1
http://www.youtube.com/watch?v=vlaX8gDq3MQ
Parte 2
http://www.youtube.com/watch?v=hzeaUN7Bfjw
Parte 3
http://www.youtube.com/watch?v=cpasdWdDbYs


Padrões de Projeto: Proxy
Parte 1
http://www.youtube.com/watch?v=kz2eUXX5wC0
Parte 2
http://www.youtube.com/watch?v=OSBqSxveB-w
Parte 3
http://www.youtube.com/watch?v=anVssFJwh4M
Parte 4
http://www.youtube.com/watch?v=9cNNamAwR-U


Padroes de Projetos: State
Parte 1
http://www.youtube.com/watch?v=sTBnI-fqWw4
Parte 2
http://www.youtube.com/watch?v=ZNVBE_VEaRs


Padrões de Projeto: Memento
Parte 1
http://www.youtube.com/watch?v=pBrXznoDcuo
Parte 2
http://www.youtube.com/watch?v=1I4PVSch-l0
Parte 3
http://www.youtube.com/watch?v=qTtQ2jsj8TE


Padrao de Projeto: Bridge
Parte 1
http://www.youtube.com/watch?v=0xMcl1aTjrQ
Parte 2
http://www.youtube.com/watch?v=yP-r_Uudp-c


Padrões de Projeto: Mediator
Parte 1
http://www.youtube.com/watch?v=aLyE2visk-k
Parte 2
http://www.youtube.com/watch?v=pNPWoNmnyiM
Parte 3
http://www.youtube.com/watch?v=yEr-_iok3VU


Padrões de Projeto: Builder
Parte 1
http://www.youtube.com/watch?v=C0cK7QENSy4
Parte 2
http://www.youtube.com/watch?v=BNCUbXKMtPc


Padrões de Projeto: Strategy
Parte 1
http://www.youtube.com/watch?v=NV9UmNICU14
Parte 2
http://www.youtube.com/watch?v=FTXn3DLtJII
Parte 3
http://www.youtube.com/watch?v=VGAm1dQb9X4


Padrões de Projeto: Mediator
Parte 1
http://www.youtube.com/watch?v=aLyE2visk-k
Parte 2
http://www.youtube.com/watch?v=pNPWoNmnyiM
Parte 3
http://www.youtube.com/watch?v=yEr-_iok3VU

Videos na vimeo da bluesoft

Palestra de Business Intelligence
Nesta palestra Ismael Soares introduziu conceitos de Bunisiness Inteligence (BI) como DataWare House, Data Marts, Data Minnings, Cubos OLAP, ODS e muito mais.
http://vimeo.com/6962558

Introdução ao Groovy
http://vimeo.com/6850374

Scrum com Pronto!
http://vimeo.com/6735580

Entrevista com Wende Mendes sobre Programação em Par
http://vimeo.com/6935560

Entrevista com Luiz China sobre Testes na Bluesoft
http://vimeo.com/6814228

O que Aprendi no Just Java 2009 - Testes
http://vimeo.com/6753378

O que Aprendi no Just Java 2009 - Automação de projetos Java EE
http://vimeo.com/6754246

O que Aprendi no Just Java 2009 - UOL, Flex, AOP...
http://vimeo.com/6752701

Aulas de redes

Aula 01 - Fala um pouco sobre tipos e topologias de redes, além de alguns de seus componentes, como hub, switch, cabos, fibra ótica, roteador...
http://www.youtube.com/watch?v=V4MZuW1NKkA
http://www.youtube.com/watch?v=xgYdZDtj2Rs
http://www.youtube.com/watch?v=F03iSJFlFgA
http://www.youtube.com/watch?v=ck9S47MgDLA

Aula 02 - Começa a discorrer sobre protocolos de rede
http://www.youtube.com/watch?v=8w8rrcd48qE
http://www.youtube.com/watch?v=WRI7K2MbMHk
http://www.youtube.com/watch?v=3lpvJx2jdTo

Aula 03 - Fala sobre a camada fisica
http://www.youtube.com/watch?v=A_nFCyOh66s
http://www.youtube.com/watch?v=FxNNG43niaE
http://www.youtube.com/watch?v=Y3NZkuAkUgs

Aula 04 - Fala sobre a camada de enlace
http://www.youtube.com/watch?v=OT_Wik5Nb_M
http://www.youtube.com/watch?v=s7m9YgWT5mY
http://www.youtube.com/watch?v=RwCKCrG_8Us
http://www.youtube.com/watch?v=DhpihEf-fzo

Aula 05 - Camada de rede e transporte
http://www.youtube.com/watch?v=DBidehK5m7w
http://www.youtube.com/watch?v=IdVGgPzSLs8
http://www.youtube.com/watch?v=DudehBbQWWo
http://www.youtube.com/watch?v=4TSTQQSV0h0

Aula 06 - Camada de sessão, apresentação e aplicação
http://www.youtube.com/watch?v=N2EQx071IIg
http://www.youtube.com/watch?v=VMUDtKAwGrI
http://www.youtube.com/watch?v=vhPdXU6MMXA

Novo emprego - Dicas para o jovem profissional

Encontrei um video bacana que fala sobre como se portar em um novo emprego...

No geral ele fala que devemos manter um equilibrio em todos os sentidos, seja coportamento, seja dedicação, seja em situações como reuniões e conversas informais que acontecem no "café".



Gerenciamento de projetos - escopo

Ronnie Maschk fala de forma simples sobre gerenciamento de escopo do projeto
O video é intressante aborda: risco, escopo, wbs, entrega, dicionário da wbs :D
É basicamente um video sobre PMBOK


Video aula interessantes

Hoje vou indicar dois videos interessantes, são na verdade video aulas, ou se preferir webnars, veja a baixo os videos...



Disciplina de Sistemas Operacionais - Ciência da Computação - Professor Rafael Cancian



Como Instalar Linux com VMWare no Windows - Rafael Luiz Cancian

Chucky o agitador

Lendo o livro de James C. Hunter intitulado “Como se tornar um líder servidor”, encontrei logo no primeiro capítulo 1 algo do qual me identifiquei, na realidade identifiquei uma situação da qual vivenciei no passado, mas que não tinha argumentos suficientes para defender minhas convicções.

O autor do livro começa narrando sobre suas experiências profissionais, e na primeira estória conta sobre um personagem que encontra em várias de suas consultorias de nome fictício: Chucky. Chucky é um agitador, vive causando problemas a empresa e os diretores precisam “silenciá-lo” para que as atividades retornem ao normal.

James C. Hunter, conta que em suas experiência profissional, descobriu que nem sempre o “agitador” é o problema, que normalmente, ele é o único que tem coragem de dizer a verdade, e que esta verdade é que seus líderes falham. O difícil era ter coragem de dizer ao líder de que ele era o problema.

Bom, tudo isto que disse foi para introduzi-lo ao meu antigo problema. Que a meu ver cai bem neste cenário. Deixe-me explicar brevemente. Há algum tempo fui notificado de que um colega de trabalho seria demitido, nunca fui muito amigo, ou próximo deste profissional, mas já tinha uma imagem de que os motivos elencados para o seu desligamento não eram condizentes com o que eu vivenciava, e observava.

Diante desta situação resolvi a minha maneira tirar a prova sobre minhas impressões, descobri que estava certo, mais que isto, identifiquei claramente que em algumas situações ele falhou sim, mas que não era o único culpado, que na maioria esmagadora das vezes houve participação do líder envolvido naquele momento, seja por má instrução, seja por omissão.

Na época isto me deixou com o sentimento de que poderia fazer algo para tentar resolver a situação, afinal, a empresa investiu tempo e dinheiro, formando e capacitando tal profissional, esforço este que ao meu ver não deveriam e não poderiam ser simplesmente jogados fora, nós deveríamos encontrar uma forma de resolver esta situação sem que isto culminasse no infeliz “desligamento”.

Meus esforços foram em vão, pior que isto, para tentar resolver a situação e abrir os olhos dos diretores, arrisquei, e muito, até mesmo desobedeci a ordens diretas destes diretores, que por conseqüência me deixou com a imagem de um colaborador insubordinado (mais um Chucky na organização). Mas quer saber? Valeu o risco! Pois hoje, tenho a consciência tranqüila de fiz o certo, pois consegui verificar que minha opinião estava correta.

Demitir este profissional por causa de erros cometidos coletivamente, que incluíam a liderança do momento não é a atitude correta, oque está se fazendo nesta situação é criar um mártir, onde apenas um “paga” pelos erros de muitos, oque está se criando é um exemplo aos que ficam, exemplo este que acaba se voltando negativamente contra a organização.

Ouvi diversas vezes de vários funcionários que eles sentem que seus empregos estão ameaçados, que a empresa não lhe transmite segurança em suas funções. Ouvi até o exato relato: “Na empresa WXYS nós estamos sempre com a navalha no pescoço”. Relatos como este me comprovam que os lideres estão falhando, mais que isto suas falhas estão se tornando um problema contra eles mesmos.

Nesta experiência pude observar e aprender que quando um liderado erra, ele não erra sozinho, nunca. Sempre há a participação ou omissão do líder, e ser omisso é pior que participar do erro, pois não há se quer a possibilidade de aprender com o erro. Mas é possível estragar ainda mais a situação, o líder pode se esconder mais uma vez e eleger um mártir.

Hunter [1] afirma que: “O maior indicador de saúde ou doença organizacional está na liderança ou em sua ausência”. Neste caso em específico acredito que a saúde esta debilitada, os lideres são míopes diante de seus próprios problemas, e sofrem de deficiência auditiva, pois não ouvem seus liderados.


Ditado chinês: “O líder é o responsável pelo crescimento e declínio de qualquer coisa”

“Não há pelotões fracos – apenas líderes fracos” – Autor: General William Creech



[1] Hunter C. J (2006) - Como se tornar um líder servidor – Os princípios de liderança de o monge e o executivo

Calculando diferença entre datas

Hoje coloco aqui disponível a todos um exemplo de classe que utilizo para calcular diferença entre datas




package com.wealthsystems.sim.utils.date;

import java.util.Date;

/**
* Calculate difference of dates
*
* @author Clayton
*
*/
public class DateDiff {
/**
* Get difference in milliseconds
*
* @param data1
* data mais antiga (natal)
* @param data2
* data mais nova (ano novo)
* @return
*/
public static long inMiliseconds(Date data1, Date data2) {
long diffMillis = data2.getTime() - data1.getTime();
return diffMillis;
}

/**
* Get difference in seconds
*
* @param data1
* @param data2
* @return
*/
public static long inSeconds(Date data1, Date data2) {
long diffSecs = inMiliseconds(data1, data2) / (1000); // 604800
return diffSecs;
}

/**
* Get difference in minutes
*
* @param data1
* @param data2
* @return
*/
public static long inMinutes(Date data1, Date data2) {
long diffMins = inMiliseconds(data1, data2) / (60 * 1000); // 10080
return diffMins;
}

/**
* Get difference in hours
*
* @param data1
* @param data2
* @return
*/
public static long inHours(Date data1, Date data2) {
long diffHours = inMiliseconds(data1, data2) / (60 * 60 * 1000); // 168
return diffHours;
}

/**
* Get difference in days
*
* @param data1
* @param data2
* @return
*/
public static long inDays(Date data1, Date data2) {
long diffDays = inMiliseconds(data1, data2) / (24 * 60 * 60 * 1000); // 7
return diffDays;
}

public static String toStringInHour(Date data1, Date data2) {
long hour = DateDiff.inHours(data1, data2);
long minutes = DateDiff.inMinutes(data1, data2);
long seconds = DateDiff.inSeconds(data1, data2);

StringBuffer sb = new StringBuffer();
sb.append(hour);
sb.append(":");
sb.append(minutes - (hour * 60));
sb.append(":");
sb.append(seconds - (minutes * 60));

return sb.toString();
}
}