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é

Até onde vão suas idéias?

Hoje tá boa a coisa aqui.. hehehe

Muitas vezes temos idéias que julgamos maravilhosas, que mudariam o mundo, mas que no fim das contas nunca saem do papel. Seja por falta de apoio, seja por boicote ou qualquer outro motivo, uma idéia que se posta em prática poderia trazer muitos benefícios acaba sufocada.

Mas, sinceramente, até onde você iria com sua idéia? Você teria coragem de aguentar as consequências que ela pode trazer?

Se a resposta para essa pergunta for não, então sua idéia não é tão maravilhosa assim. Mas, se não é, pode ficar!

Precisamos expressar aquelas idéias mirabolantes, porque as vezes você consegue adesão de algumas pessoas e as coisas ficam mais fáceis. Então, quando você percebe, o que era uma idéia passou a ser praticado por outras pessoas e está sendo cada vez mais aprimorada.

Até onde vão nossas idéias e até onde estamos dispostos a ir?
Às vezes, a solução para um problema horrível está nas nossas mãos e nem sabemos porque temos medo.

Até a próxima

Fim do mundo

Olá de novo (hoje estou inspirado, aliás, ontem tive várias ideias.. hehehe)

Conversando com o pessoal que estuda comigo, é muito interessante ouvir a opinião que eles tem sobre o mundo e sobre o destino da humanidade.

Geralmente, a visão é uma catástrofe. A maioria está totalmente descrente na humanidade e nas ações do homem. Mas por quê? A tecnologia avança a passos largos, a medicina daqui a pouco será até mesmo capaz de ressucitar os mortos, as pessoas estão mais "próximas". O que está errado?

A visão geral é: somos parasitas. Consumimos os recursos das coisas que estão próximas até a sua total extinção.

Mesmo com toda essa balbúrdia na preservação do ambiente, efeito estufa, aquecimento global, continuamos comprando mais carros. A venda de carros aumentou horrores nos últimos anos. Continuamos presos a velhas premissas mesmo sabendo que isso está na verdade acabando com o todo. O que importa, afinal, é o conforto..

C#r#l#o, por que ao invés de comprar mais carros não cobramos melhores meios de transporte? Além de mais econômicos, diminuem os congestionamentos, a poluição, propicia a interação entre as pessoas, até pra ler um bom livro.

E não só com os carros. Isso foi só para exemplificar. As nossas "más" ações está por toda parte, desde maltratar algum subordinado até aceitar propinas para realizar um trabalho.

Enquanto continuarmos presos às nossas velhas premissas, tendemos a continuar parasitas e não pensar no que está acontecendo. Tudo interage entre si, mas não conseguimos enxergar. Isso é um problema de quem? Nosso?

Não. E sim. Acredito piamente na influência da sociedade sobre as nossas opiniões. Mas acredito também sobre o poder que temos de nos questionar e refletir sobre o que acontece.

Enquanto formos incapaz de pensar, estaremos condenando o mundo ao nosso redor.

A cena que prevejo para o futuro é a mesma que termina o filme "O Exterminador do Futuro 3".
O filme termina com um vírus de computador tomando conta de todos os computadores do mundo (inclusive os militares) e disparando as ogivas nucleares que os países deixam bem escondidinhas nas "áreas 51" da vida.

Até a próxima.

Automação ou alienação?

Estes dias estive pensando: uma empresa que desenvolve um sistema (como a empresa em que trabalho, a Softland) recebe uma série de pedidos de melhorias de funcionalidades e facilidades, para permitir um trabalho mais ágil.

Mas será que o que estamos fazendo é mesmo deixar o trabalho mais ágil ou estamos simplesmente alienando o trabalho do usuário?

Quantas requisições absurdas já recebemos que falavam quase para o sistemas "tocar" a empresa sozinha.. rs...

Quando uma empresa possui um sistema, os funcionários geralmente não querem saber como as coisas são feitas porque o sistema faz "sozinho". Se dá algum problema, a culpa é sempre do sistema. Mas como a culpa pode ser sempre do sistema?

Concordo que o software possui bugs. Óbvio, foi feito por um ser humano, e se um ser humano está sujeito ao erro, o software também está. Mas o sistema não funciona sem a entrada de dados. Dizer que o sistema "errou o processo" é como dizer que uma arma de fogo é capaz de matar as pessoas. Lembro até de uma cena de um desenho animado onde o protagonista (um agente do fbi se não me engano) coloca uma arma na mesa e diz: "Vamos arma, mate! Vamos lá, mate!". Sem reação da arma (obviamente) ele fecha dizendo: "Guns don't kill people. People kill people" (Armas não matam pessoas. Pessoas matam pessoas).

Não sou contra o desenvolvimento de recursos que facilitam a vida do usuário. Ao contrário, eles devem existir. Se o computador é capaz de acelerar tarefas cotidianas, por que não utilizar esse potencial?

Sou totalmente contra o uso alienado de qualquer ferramenta.

Conhecer no minimo como as coisas acontecem, além de melhorar os processos também enriquece a sua experiência profissional e pessoal, porque aprendemos a pensar melhor nas relações que existem entre cada acontecimento.

Fico por aqui com um desabafo contra o descaso e alienação aos quais nós mesmos nos submetemos.

Até

quinta-feira, 27 de março de 2008

Corrupção em bancos firebird

Nossa, segunda em duas semanas!

Dois clientes com problema de banco na mesma coisa. Duplicação de chave primária!

Por algum motivo o banco parece que grava transações do limbo no banco, ferrando tudo!

Perguntei para especialistas e a mesma resposta: o banco possuía algum tipo de corrupção. Wow! Ajudou bastante.

É, acho que está na hora de repensar a estrutura do sistema pra acabar com esses problemas, porque de tempos em tempos os bancos começam a pipocar, hehehe.

Até

quarta-feira, 26 de março de 2008

Estreando

Nossa, nunca pensei que fosse fazer um blog!
Antes eu achava que isso era uma perda de tempo total mas, como muitas coisas, a gente aprende que pode ser útil!
Quem faz a ferramenta é o usuário. Você pode usar um grampeador pra matar alguém! hehehe

Bem, aqui vou tentar colocar as coisas que acontecem comigo, pessoalmente e profissionalmente, porque ninguém é totalmente profissional nem totalmente pessoal. A gente passa boa parte no trabalho pra desconsiderar esse tempo, mas ficar no trabalho o tempo todo mata!!!

Tenho muita coisa pra falar: música, programação, tecnologia, psicologia, filosofia, etc...

Sintam-se à vontade para postar opiniões, requisições, etc, etc, etc.

Até a próxima!