Archive

Archive for July, 2009

*nix – alterando permissões recursivamente

July 19th, 2009 No comments

Estava lendo o meu antigo blog e achei o post abaixo.

http://ttaranto.blogspot.com/2007/08/to-recursive-changes-with-octal-method.html

Então resolvi colocar o conteúdo deste post aqui:

unix% find . -type f -exec chmod 644 {} \;
unix% find . -type d -exec chmod 755 {} \;

A primeira linha procura por todos os arquivos (type f) e altera a permissão para 644.
A segunda linha procura por todos os diretórios (type d) e altera a permissão para 755.

Categories: default Tags:

Citrix ICA vs Microsoft RDP vs VMwareView

July 13th, 2009 2 comments

Com a necessidade de montar, na empresa, uma estrutura de acesso remoto ao ERP/CRM/BI das filiais na matriz, iniciei um estudo sobre os protocolos RDP, ICA e Vmware View. Apesar de me aconselharem o uso do RDP, achei que seria interessante buscar alternativas e conhecer um pouco mais sobre as soluções atuais.

Como não achei muita documentação em português sobre o assunto,  resolvi escrever este post para esclarecer e ajudar caso alguém precise da mesma informação.

Para começar, segue o significado de cada protocolo:

  • RDP: Remote Desktop Protocol (Microsoft)
  • ICA: Independent Computing Architecture (Citrix)

Hoje todos os terminais da empresa são baseados em Windows XP e os servidores variam entre Windows, Linux e FreeBSD. Mas as aplicações ERP/CRM/BI serão baseadas em Windows, portanto o protocolo de comunicação indicado foi o RDP. Foi justamente quando comecei os questionamentos: se for utilizar thin-clientes, se precisar me conectar de um terminal Linux, será que eu poderia ter acesso a aplicação do meu macbook?

Existem algumas diferenças entre os os dois protocolos, basicamente algumas funcionalidades que o ICA tem que o RDP não tem. Isto tem a ver com a maturidade de cada um deles. O RDP é mais novo que o ICA que possui alguns anos a mais de mercado e é mais maduro.

A limitação mais óbvia do RDP é a lista de clients disponíveis cobrindo a família Windows 32-bits e 16-bits do Windows 3.11. O RDP suporta apenas conexões TCP/IP, já o ICA suporta adicionalmente o IPX, SPC, NetBEUI e Direct Asynch acesso via Windows CE, DOS, OS/2, Macintosh, Unix , Java e Mac OSX.

As principais vantagens do ICA são: suporte a Windows audio (arquivos .wav), acesso as impressoras locais, acesso a porta seriais, administração e mapeamento de drives locais, “copiar e colar” entre as sessões e o suporte a shadowig ou “controle remoto” e conexão discada (dial-up).

Gerenciamento de carga (loadbalancing) de cada protocolo pode ser adicionado ao software permitindo que os administradores criem clientes pré-configurados com aplicações, endereços IP’s, servidor de nomes e opções de conexões. Mas existe uma vantagem do RDP: ele suporta encriptação nativamente. No protocolo ICA existe a possibilidade de encriptar a comunicação cliente/servidor, mas ele requer o pacote adicional Citrix SecureICA Services do MetaFrame.

A VMware também entrou no mercado de desktops virtuais com o VMware  View, um novo nome para o VMware Desktop Manager.  Mas como mostra o último vídeo a performance do produto da Citrix ainda parece ser a melhor escolha.

Separei alguns vídeos interessantes que mostram a diferença entre os protocolos, tirem suas próprias conclusões.

Categories: default Tags:

Google lança uma bomba sobre a Microsoft

July 9th, 2009 No comments

Apesar do atraso, achei interessante postar o anúncio da Google de lançar o Google Chrome OS, anunciado dia 07 de Julho de 2009.

Nove meses após o lançamento do Google Chrome, hoje mais de 30 milhões de pessoas utilizam o browser regularmente. Definitivamente o Google consegue inovar e supreender todo o mundo a cada lançamento. Ninguém ao certo sabe ainda como será esse novo sistema operacional, mas sabemos que ele terá a cara da Internet, como o próprio Google disse:

“Nós desenhamos o Google Chrome para as pessoas que vivem na web — buscando informação, checando e-mail, buscando notícias, comprando or apenas em contato com os amigos”.

Certamente eles irão competir de frente com o grande player do mercado, dominante absoluta no mundo dos sistemas operacionais desktop, a Microsoft. Teremos uma boa e grande guerra pela frente, pois quando o Google entra em um mercado eles o reinventam.

Parece que mais uma vez esta premissa será confirmada, pois como afirmaram: “Esta é a nossa tentativa de repensar como um sistema operacional deve ser”.

Rápido, simples, leve e seguro, são as características chaves do Google Chrome OS. Desenhado para ser também livre de vírus e worms, estará conectado na web em segundos. Voltando ao básico e completamente redesenhado, tem como principal foco a febre dos netbooks que invadiu o mercado nos últimos meses.

Realmente veremos em breve uma mudança radical no que hoje conhecemos como sistema operacional. Vamos aguardar para ver o que nos espera.

Google Chrome

Fonte: http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html

Categories: default Tags:

TI 1.0 vs TI 2.0

July 5th, 2009 5 comments

Após conhecer melhor o SCRUM busquei algumas informações sobre as mudanças que estamos vendo no mercado de desenvolvimento de softwares.

Acabei recebendo um e-mail que ao meu ver traduz perfeitamente os principais paradigmas que estão sendo quebrados atualmente.

Segue abaixo:

TI 1.0

TI 2.0

Fábrica de Software

Uma das raízes de diversos problemas atuais da TI foi tê-la equiparado ao modelo de produção em série de Ford. Daí surgiu o termo fábrica de software e inúmeros processos de desenvolvimento baseados na dinâmica de artefatos de entrada auto-contidos que devem ser processados por um perfil de alta especialização e transformados em artefatos de saída que servirão de entrada para outra etapa do fluxo.

x
Ateliê de Software

Na nova escola de pensamento, a produção de software não é comparada à produção de um carro, mas à construção de uma escultura. Por isso, é preferível falar de Ateliê de Software em lugar às tradicionais Fábricas. Nenhum software é idêntico a outro e, por isso, não faz sentido sua produção em linhas de montagem. Destarte, software feito a mão, artesanalmente e sob medida, deveria ser mais bem vistos que aqueles construídos por fábricas, genéricos, em linhas de montagem seguindo processos inflexíveis.

Recursos Humanos

Na visão tradicionalista, profissionais são vistos como máquinas, com comportamentos determinísticos, produtividade contínua e de fácil substituição.

x
Pessoas

A nova visão, felizmente, já compreendeu que profissionais não são máquinas, mas pessoas que sofrem de alegria, tristeza, motivação, depressão, cansaço, empatia e vários outros aspectos que influenciam em seu trabalho.  Por isso, é tão complexo extrair métricas precisas de sua produtividade. Afinal, cada dia é um dia, cada projeto é um projeto e cada equipe é uma equipe. Na mesma linha, a substituição de profissionais também não é matemática. A sinergia entre os membros de uma equipe são fatores ímpares para sua motivação e produtividade. Trocar seis por meia dúzia pode por toda a dinâmica do grupo abaixo.

Produtividade

Por ver pessoas como recursos humanos, busca-se acima de qualquer coisa o aumento de produtividade individual. Email? Fora. Orkut? Fora. MSN/ICQ/AIM/GTalk? Fora. Almoço de 2hs? Desnecessário.  Não raramente, vemos números absurdos sendo usados para tal medição, como número de linhas de código/classes/métodos/casos de uso.

x
Sustentabilidade

Entendeu-se aqui que o grande desafio da boa dinâmica de produção é a montagem e manutenção de uma equipe em constante alto astral. Alternativas imperativas para forçar a produtividade imediata, apesar de eficientes em curtíssimo prazo, não se sustentam e ocasionam a rotatividade constante dos envolvidos e a difícil consolidação de uma cultura e harmonia corporativa.

Ociosidade

Sob a mesma luz do item anterior, patrões 1.0 entendem toda ação do profissional fora da atividade prevista como ociosidade ou fuga da responsabilidade.

x
Ócio Criativo

Empresários 2.0 compreenderam que, por não se tratar de linhas de montagem, mas produção artesanal, por não se tratar com máquinas, mas seres humanos e por não se tratar de um processo repetitivo, mas de atividades criativas, momentos lúdicos e sociais são absolutamente necessários para a manutenção de um ambiente fértil para a cultura de valores que sustentem o alto astral, a alta criatividade e produtividade das equipes.

Especialistas

Na visão da fábrica, cada indivíduo deve possuir responsabilidades muito específicas cuja complexidade é de seu total domínio. São os chamados especialistas. Nesta filosofia, atribuições de atividades incompatíveis à especialização do profissional, ainda que para o bem comum, não são admissíveis. Por isso, é necessário envolver vários perfis para a realização de qualquer iniciativa.

x
Especialistas Generalistas

No novo mundo, profissionais alienados e indispostos a atividades extras às suas rotinas de especialidade não são bem vindos. Empresas neste modelo não estão mais atrás de analistas de requisitos, projetistas de software ou programadores Java. Parece que o senso comum da nova escola tem sido em favor de profissionais multi-disciplinares, antenados a tudo o que ocorre, e dispostos a se aprofundarem em assuntos específicos quando necessário.

Exclusividade

Como consequência da alta especialização, profissionais 1.0 são radicais quanto ao uso de uma única tecnologia e por ela estabelecem profunda relação de afeto.

x
Diversidade

Aqui, vale o princípio da melhor solução. Geralmente, aquela solução que produzirá o melhor retorno do investimento aplicado. Por isso que empresas 2.0, ao contratarem, buscam profissionais com um bom repertório tecnológico sob a manga, e não xiitas apaixonados.

Mudanças são do mal

Nesta cultura, mudanças são sinais de retrabalho e retrabalho é sinal de dinheiro perdido. Por isso, grande esforço é despendido nas fases iniciais dos projetos a fim de se antecipar ao máximo qualquer decisão crítica capaz de gerar a necessidade de alteração nos planos originais.

x
Mudanças são do bem

Defende-se que nada é mais certo no desenvolvimento de um software que sua mudança. Logo, o verdadeiro desperdício de energia está na tentativa de evitá-las. A nova escola incentiva mudanças para adequação constante dos trabalhos à necessidade do cliente e propõe ferramentas para encorajamento e sua realização sem riscos.

Treine-me

A escola tradicional é baseada no treinamento de funcionários antes da execução de qualquer trabalho. Mais uma cultura vinda do modelo fabril. Não é a toa que a quantidade de treinamentos oferecidos pela empresa tornou-se métrica de cadidatos para avaliação de seus empregadores.

x
Motive-me

Na nova escola, muito mais importante que o treinamento de funcionários é a criação deum ambiente fértil de aprendizado construtivista, espontâneo e permanente. Dessa forma, naturalmente distinguem-se aqueles interessados no crescimento pessoal e coletivo daqueles que apenas pegam carona e se esquivam de responsabilidades sob o mote da falta de capacitação.

Título

Não é por acaso que o indivíduo 1.0 é tão fascinado em treinamentos. Afinal, os títulos obtidos de processos de capacitação formal são a moeda do mercado para qualificação da riqueza técnica de seus profissionais. O maior legado desta cultura é a indústria da certificação.

x
Mérito

Mais importante que o resultado de uma prova é o mérito social que o profissional construiu ao longo de sua carreira técnica. Bons profissionais naturalmente são respeitados em sua comunidade de atuação e não há livros, macetes ou dinheiro que compre este critério. É fruto de trabalho duro e desenvolvimento não apenas de habilidades técnicas, mas também de soft skills, absurdamente importantes pro mercado de trabalho mas timidamente tratada na escola tradicional de formação profissional. O @BrunoPedroso conta uma história interessante sobre a medida de riqueza dos povos africanos antigos. A riqueza do indivíduo naquela cultura não era medida pelo dinheiro possuído, mas pelo número de seguidores que naturalmente acumulava ao longo da vida. A comundiade de software livre sabe muito bem disso.

Processo

Na cultura 1.0, a qualidade do processo de produção é argumento exclusivo para avaliação da qualidade dos trabalhos prestados. Deste pensamento surgem os modelos de qualidade de processo, como ISO, CMMi, MPS.br.

x
Produto

Na cultura 2.0, acredita-se que um bom processo não necessariamente produz um bom resultado. Por isso, o principal critério de avaliação de sucesso é o produto final do trabalho, e não o processo em si.

Processo Cartesiano

Sob a luz do item anterior, busca-se a maior repetitividade possível entre execuções de um processo. Por isso, os processos são extremamente bem definidos e teoricamente determinísticos.

x
Processo Orgânico

Na nova era, entende-se o processo de trabalho como um aprendizado contínuo de toda a equipe. Assim, prima-se pela experimentação e adequação constantes com base na percepção do time sobre sua eficiência.

Planejamento

Nos processos tradicionais, planejamentos são essenciais. Além de se definir o destino a ser alcançado, estabelece-se a rota a ser traçada até aquele destino, e o bom o mau andamento do projeto é medido com base na obediência ou não do plano traçado originalmente.

x
Planejar

A nova escola, por outro lado, acredita que o ato de planejar em si é muito mais importante que um bom plano. Dessa forma, a meta futura também é bem definida, mas o caminho a ser percorrido não. E, em se valorizando a avaliação constante do fluxo dos trabalhos, adequa-se a rota a todo momento, conforme características da equipe, do cliente e do projeto naquele instante.

Cascata

A Engenharia de Software 1.0, por sofrer de todo o legado fabril, não consegue se desvincular do estilo cascata. Cascatão ou cascatinha, mas

sempre cascata.

x
Agile

A Engenharia de Software 2.0, muito maior que os modismos do XP e Scrum, acredita nos valores do Manifesto Ágil, nos modelos Lean e orgânicos.

Gauss

“A média pensa em Gauss.”

x
Pareto

“Inovadores pensam em Pareto.”

Gerente

O gerente tradicional, é o chefe da indústria que a tudo vê, a tudo comanda e a tudo controla.

x
Líder

Em times 2.0, não existem chefes. Existem líderes cuja principal atribuição é servir a seus liderados.

Poder

O gerente 1.0 assim o é ou por título ou por tempo de casa. Grandes engenheiros e programadores de software tornam-se gerentes pela falta de possibilidade de crescimento em sua carreira original. Como dito por aí, geralmente perde-se um grande técnico e ganha-se um péssimo gerente. De qualquer forma, ao tornar-se gerente, o indivíduo torna-se também um grande apreciador do poder que lhe é conferido pela função. Com este poder, ele ameaça, amedronta e consegue tudo o que deseja para satisfação da alta chefia, independente da sustentabilidade. Não gostou? Fired!

x
Autoridade

O líder da era 2.0 não precisa gritar e ordenar. Sua liderança foi conquistada por mérito e não título. Este mérito é orgânico e nascido de sua própria comunidade de convívio. Assim, suas orientações não são seguidas pela força do poder, mas pelo respeito que ele naturalmente conquistou entre os seus. Neste modelo, líderes não são outorgados, mas nascem espontaneamente.

Centralização

Gerentes gostam da centralização de todas as decisões e não admitem o compartilhamento de soluções com seus subordinados.

x
Colaboração

Líderes sempre ouvem seu time, principalmente quando a equipe for a mais impactada pela decisão em pauta.

Complexidade

A cultura aqui relembra os tempos Barrocos, amante da rebuscação e da  supervalorização da emoção sobre a racionalidade. Mais importante que a obra em si é o orgulho por ela gerado. A maior autoridade deste mundo são os arquitetos de software. Seres divinos capazes de projetar modelos genéricos e flexíveis o bastante para contemplar o céu e a terra.

x
Simplicidade

Talvez, pode-se comparar o momento 2.0 com o Realismo. O foco aqui é o objeto em criação. Pra isso, abdica-se do sentimentalismo e busca-se a maior racionalidade possível, a fim de não se permitir que impulsos de ego atrapalhem a razão do trabalho em si, a satisfação do cliente.

Foco no eu

O profissional 1.0 é, por essência, orgulhoso. É prática comum entre indivíduos desta comunidade a discussão calorosa de padrões e ferramentas aplicados na solução. Em geral, antes de satisfazerem seus clientes, buscam a satisfação própria.

x
Foco no cliente

O profissional 2.0 tende a ser prático, e não mais que isso. Para ele, a obra é mais importante que seu processo de construção. Por isso, busca-se ao máximo a tomada de decisões automática. Seu prazer não é a discussão do belo, mas a criação de mais e mais inovações criativas e lucrativas para o mundo.

Configuração

Como a arquitetura da obra é mais importante que a própria obra, seu desenho deve refletir a identidade de seu criador. Para isso, é preciso que as ferramentas utilizadas possibilitem os mais altos níveis de customização possíveis. Como resultado, não há limite para a criação de camadas, voltas e outros detalhes.

x
Convenção

Por estar o foco no resultado final, o máximo de decisões intermediárias são evitadas através do estabelecimento de convenções. Assim, garante-se a padronização da grande maioria das soluções e agiliza-se a disponibilização do produto final.

Palestra

Até a forma de se apresentar conteúdo da escola 1.0 parece obsoleta. Tradicionalmente, usa-se 1 apresentador ativo e onisciente e N espectadores passivos e ignorantes.

x
Discussão

Na escola 2.0, busca muito mais a discussão NxN que a apresentação unilateral 1xN. Prova disso são alguns modelos emergentes (talvez nem tanto assim) de organização de eventos e reuniões, como The World Cafe, Open Space, Unconference e Birds of a Feather.

PowerPoint Style

Mesmo a forma do conteúdo apresentado tem mudado. A velha cultura estabeleceu estruturas hierárquicas para a apresentações de toda sorte. Basta olhar os modelos de slides disponíveis no PowerPoint, todos baseados em tópicos.

x
Presentation Zen Style

Uma outra forma, muito mais simpática e efetiva, de se apresentar conteúdo tem sido aquela defendida pela filosofia Presentation Zen. Nos últimos eventos que fui, me pareceu bem clara a relação entre o estilo dos slides com a escola de pensamento do apresentador.

Categories: Agile, Devel Tags: