quarta-feira, 17 de setembro de 2008

Crise internacional

Depois de tanto tempo, estou de volta, e hoje pra expôr minha opinião sobre o fantasma que se aproxima da economia mundial.

Primeiro, gostaria de deixar clara minha indignação quanto a dependência que o mundo inteiro demonstra. Como pode um soluço na economia dos nossos "amigos" do norte causar tanto rebuliço no mundo afora? Quer dizer que se os caras forem para o buraco, eles arrastam o mundo com eles? Para pensar, não?

O perigo de uma recessão generalizada pode minar esforços de países como nossa pátria amada salve, salve em se tornar uma nova potência, porque convenhamos que o Brasil não está tão ruim das pernas. Mas se esse fantasma estender sua sombra para nosso continente, nossas indústrias vão ter que frear a produção, levando a um aumento de preços, alta da taxa de juros e inflação. Tá certo que posso estar falando besteira, pois não sou um expert em economia.

Agora vem a grande questão: ajudar os Estados Unidos a se reerguer ou jogá-los de vez no abismo do esquecimento? Uma chance como essa pode não aparecer duas vezes (que maldade, não?).

Acredito que algumas mudanças nas políticas econômicas e comerciais de todo o mundo se fazem necessárias frente a um problema que afetará a todos. Por que não dar mais espaço àqueles que tem capacidade? O Mercosul está aí para provar que podemos ser ruins, mas pelo menos estamos tentando melhorar. Talvez a alteração de algumas rotas comerciais e quebra de algumas barreiras ajude a todos. Já passou o tempo do protecionismo econômico e se queremos realmente uma economia globalizada, que todos tenham direitos iguais de comércio.

Quanto ao Brasil, precisamos aprender a negociar. Uma nação com a riqueza que tem exportar matéria prima e importar industrializado é o fim da picada. Para crescer é necessário investir AQUI, não lá fora (aprende lulinha), nem inventar estatais para aumentar as já gordas e cheias tetas do governo.

Na minha humilde opinião, já foi o tempo da grande potência: todo grande império nasce, cresce, atinge seu auge e despenca, oferecendo espaço para outros. Assim é o ciclo da história. Abram alas para os próximos.

sexta-feira, 25 de julho de 2008

Mobilidade - Dádiva dos homens!!

Olá novamente,

Estou na primeira semana com meu novo brinquedinho, um Qtek 9090, e vou aproveitar para escrever um pouco sobre mobilidade.

Para mim não existe preço que pague o benefício de levar meus arquivos, trabalhos, projetos, etc., para todos os lugares. Essa dádiva que a cada dia evolui mais permite permanecer "in touch" o tempo todo, seja pelo celular, notebook, pda ou qualquer outro dispositivo móvel.

Para pessoas que não tem tanto tempo de parar em casa e usar o PC, dispositivos móveis são uma ótima opção, até porque o custo vem reduzindo drasticamente de uns tempos pra cá. Fora a facilidade de continuar um projeto em qualquer lugar, parar num cyber café, plugar o notebook e pôr a "mão na massa" naquele difícilimo projeto sem perder o fio da meada.

Sem contar a tecnologia desses brinquedinhos. Os dispositivos estão chegando na escala nanométrica e prometem ficar cada vez menores (porque será que todos do meio tecnológico tem síndrome minimalista?) e melhores.

Ah, não nos esqueçamos dos ramos de trabalho. Cada vez mais aumenta a procura para desenvolvimento de aplicações mobile, soluções de conectividade, etc.

As opções para estar conectado tornam bem interessante o uso de um dispositivo móvel. Opções como GPRS (não tão bom, mas quebra um galho) e EDGE permitem estar online o tempo todo e por um custo até razoável.

Bem, vou parar por aqui e pra vocês fica a dica: stay in touch and keep walking!!!

Até

terça-feira, 22 de julho de 2008

BPO - Até onde é possível?

Esse dias recebi a última edição da Info Corporate e me deparei com mais uma sigla para a sopa de letrinhas de TI: BPO.
BPO significa Business Process Outsourcing (algo como Terceirização de processos de negócio).

Pela tradução já começaram a aparecer inúmeros questionamentos e ressalvas da minha parte.

Imaginem vocês, donos de empresas, terceirizando processos críticos da sua empresa, como contas a receber, crm ou até mesmo produção? Não sei se sou antiquado demais mas venho de um tempo onde a empresa tinha que "rebolar" para administrar a si mesma.

Tá certo que se alguém sabe mais que você em algum setor, não custa nada pedir uma consultoriazinha para colocar o trem nos trilhos novamente mas entregar o processo inteiro para outro?

A área de TI já passou por outras fases de terceirização, como terceirização de hardware, datacenters, etc, e de processos menos críticos, como help desk e suporte (o nome Atento lembra alguma coisa?) mas a terceirização de processos críticos é quase como admitir que não se é capaz de tocar a própria empresa e de que outros façam aquilo que não conseguimos. Nesse caso, não seria melhor uma fusão?

Sei que é muito díficil às vezes implantar padrões internacionais, como ITIL, PMI, CMMI, etc, e que as contínuas tentativas costumam gerar frustrações irreparáveis e a desistência de adotar padrões de qualidade. Nisso sem dúvida o BPO ajuda, pois seu "parceiro" terá essas certificações e poderá prover um serviço com qualidade comprovada (imagino, claro). Mas existe o outro lado da história, onde o "parceiro" pode não trazer os resultados esperados e você pode ser obrigado a trazer o setor terceirizado para dentro de sua organização novamente. Nesse caso, o caos será completo, pois se não conseguia-se administrar antes, agora, totalmente desprevenido, será impossível.

Existem casos de sucesso utilizando essa nova prática, mas ainda apoio a capacidade organizacional de manter as coisas críticas coesas e bem planejadas, de forma a se ter o maior controle possível sobre elas.

Help desk é terceirizável, mas seu faturamento? Sei não...

E só para terminar, o BPO esbarra num fator totalmente inerente ao meio organizacional: PESSOAS!!! Se o controle de dados confidenciais dentro da empresa já é difícil, imagina com sua base de dados todinha na mão de um "estranho"?

Sempre existirão pessoas mal-intencionadas capazes de transformar uma idéia aparentemente inocente numa arma de destruição em massa.

Até a próxima

quinta-feira, 3 de abril de 2008

ClientDataSet: Heaven or hell?

Para todos os delpheiros de plantão, essa classe é com certeza a mais idolatrada (tanto que a microsoft copiou.. hehehe)

Um componente capaz de manter em memória um "micro bd", com indices, ordenação, agrupamento, etc.

Mas, apesar dos pesares, não é perfeito. Já encontrei alguns empecilhos com esse cara e de vez em quando, quando lembrar de algum, posto aqui.

1 - Em caso de erro de um reconcile erro, ele engole a exceção e passa direto como se nada tivesse acontecido. :)

2 - Aggregate fields: nunca tente interpretá-los como AsFloat. Sempre da problema. Faça um cast StrToFloat e trate valores como '' para conseguir o que quer.

3 - Utilizando o commandtext do componente: você pode passar parâmetros no commandtext e depois dar um fetchparams para criá-lo. Mas, se você troca o commandtext, dê um clear nos params da query senão da m#r#a!!


Bem, num lembro mais de um... Quando aparecer eu posto

quarta-feira, 2 de abril de 2008

Release management

Aproveitando a deixa de um colega de trabalho, vou postar aqui algumas coisas sobre Release Management.

Mas que diabo é isso?

Resumindo, é como você controla as versões (releases) do seu software.
Existem alguns métodos para isso. Por exemplo, lançamentos de betas e RCs (Release candidates) para o pessoal testar e quando tiver estável, lançar um versão final.

Outro jeito é lançar uma versão e depois SPs (Service Packs - eita Microsoft) ou updates para corrigir bugs.

Bem, seguem alguns links para os curiosos e um pdf.

http://en.wikipedia.org/wiki/Release_Management_method
http://en.wikipedia.org/wiki/Release_Management
http://www.becta.org.uk/tsas/docs/fits_release.pdf

segunda-feira, 31 de março de 2008

Dicas de delphi - Parte I

Começando uma série de dicas rápidas de delphi, aqueles códigos que você sempre precisa mas nunca lembra. Se quiser alguma coisa, dá um toque que eu posto. Vou tentar colocar dicas que eu mesmo desenvolvi, mas se eu não conseguir, o google me ajuda. ;).

Fazendo download de arquivos:

Declare no uses a unit UrlMon.

procedure TForm5.Download(AFileSource, AFileDestiny: String);
begin
URLDownloadToFile(nil, PChar(AFileSource), PChar(AFileDestiny), 0, nil);
end;

Beleza, chame essa procedure passando a url do arquivo (AFileSource) e onde será salvo (AFileDestiny).

T+

sexta-feira, 28 de março de 2008

Ferramenta para atualização de banco de dados

Tive uma idéia brilhante ontem (que com certeza não é minha).

Quando precisamos atualizar um banco de dados muito grande, passamos por um problema: tempo. Rodamos um update e esperamos uma vida pra obter resposta. Fora quando o banco não cai, ou tinha problema e corrompe, etc. Os ossos quebrados do ofício.

Mas será que é possível atualizar de poucos em poucos registros, aumentando assim a velocidade e diminuindo o perigo de inconsistência?

Há algum tempo atrás desenvolvi uma classe de pool de thread (p.s: thread é um processo do programa que roda em paralelo com ele. Pool de thread é um conjunto de threads) que permite que eu passe um procedimento e ela cria uma série de threads, dividindo a tarefa, e executando mais rápido.

Essa classe foi pensada pra ser utilizada com relatórios muito pesados, e faria o seguinte: numa das threads retorna os registros, por exemplo, de 1 a 100. Em outra thread, do 101 a 200. E assim por diante. No final, todos os registros seriam juntados na máquina do usuário e o relatório seria montado.

Acredite, é muito mais rápido para o banco executar pequenos selects ou updates do que um monstro de uma vez.

Mas queria algumas idéias, de como começar, ou se é útil. Além disso, outras aplicações para o pool de threads.

Não vou postar aqui o código, mas quem quiser, só me dá um toque que eu mando.

E se tiver alguma correção, ai é legal postar aqui.

Até