Personal/Activities

From Cristiano da Cunha Duarte

Jump to: navigation, search

Contents

Informática

Belo Horizonte

Nasci em Belo Horizonte, cidade que guardo no coração e onde vivi boa parte da minha vida.

Em 1984, aos 11 anos, fui transferido para o Colégio Anchieta, onde vi pela primeira vez um computador, era um TRS-80, de 8 bits que, quando muito, rodava CP/M. Normalmente, a única opção disponível era criar alguns programas em BASIC e perdê-los ao terminar a aula de informática ou o intervalo do recreio. Meu primeiro programa em BASIC, assim como o de muitos naquela época, foi:

 10 PRINT "CRISTIANO    ";
 20 GOTO 10
Em dezembro de 1985, enquanto passeava com meu pai por uma loja, vi um MSX Hotbit da SHARP, rodando um jogo chamado "Magical Tree", e fiquei extasiado.

Naquele natal, minha mãe gastou boa parte das suas economias e comprou meu primeiro computador, um MSX HB-8000 HOTBIT!!!

Naquela noite fui dormir às 4 horas da manhã, após digitar diversas linhas de codigo de examplo do manual do MSX-BASIC(lógico que fiz as minhas modificações também). E foi nesse momento que comecei a gostar de verdade de informática e, principalmente, de programação. Nessa época, eu comprava revistas Micro-sistemas, Info, e algumas outras que vinham com código em BASIC e, algumas vezes em linguagem de máquina, e digitava-os no MSX. Como não possuia gravador, perdia todos os programas ao desligar o computador. Em fevereiro de 1988, finalmente comprei o meu gravador HB-2400 da SHARP. A partir daí, não perdia mais os códigos digitados, o que me incentivou a criar códigos maiores.

Quando meus programas em BASIC começavam a ficar muito grandes, ou quando precisava executar operações muito demoradas, como capturar blocos do vídeo, o BASIC ficava lento demais! Foi então que passei a me interessar pela linguagem ASSEMBLY do processador Z80. O que o BASIC demorava 2 minutos para realizar, o assembly fazia em 1 segundo !!! Comprei meu primeiro livro de assembly: ASSEMBLER PARA O MSX. E foi com ele que comecei a conhecer a aquitetura do MSX, como funcionavam a CPU, a ULA e o acesso aos periféricos. Esse conhecimento foi muito importante para mim quando fiz as disciplinas "Eletrônica Digital" e "Arquitetura de Computadores" na PUC/MG, onde foi exigido o trabalho com Circuitos Integrados e programação em Assembly.


Em 1988, comecei meu curso Técnico em Processamento de Dados pela UTRAMIG, onde aprendi Algoritmos, PASCAL, CLIPPER, Eletrônica Digital e Contabilidade.


Em 1989, fiz estágio na TELEMIG(agora TELEMAR) e, em dezembro do mesmo ano, o vestibular para Ciência da Computação, passando na PUC/MG. Em fevereiro de 1990, entrei para a universidade, e como havia uma constante necessidade de se criar programas em C e PASCAL, acabei comprando uma unidade floppy de 5 1/4 " com capacidade de 360Kb e uma interface para o Slot do MSX. Com isso comecei a fazer os meus programas no TURBO PASCAL 3.0 e no AZTEC C, que rodavam sobre o MSX-DOS, e os levava para a universidade, onde rodavam no TURBO PASCAL 4.0 e no TURBO C++ para IBM-PC.


Também editava meus documentos no MSX-Word 3.0 e os imprimia em uma máquina de escrever Olivetti Praxis 20 com impressão tipo "margarida", na qual foi instalada uma interface Centronics paralela(através de um kit que era vendido no mercado). Ela conseguia imprimir 5 CPS(Caracteres por segundo) o que levava a aproximadamente 6 minutos por página... uma eternidade!


Comecei a trabalhar em Janeiro de 1994, como Oficial Temporário, na Seção de Informática do CPOR/BH. Nessa época, não havia rede local e o computador mais avançado era um 386. Nesse mesmo ano, o Colégio Militar de Belo Horizonte(CMBH) foi reativado e, como a estrutura administrativa do CMBH era provida pelo CPOR/BH, passei a trabalhar, também, para essa nova unidade.


Em meados de 1995, tive a minha primeira experiência com Linux, em uma máquina com Slackware e que funcionava como Proxy.


Até 1998, trabalhei com programação em MS-Access, Visual Basic e Visual C++, Servidores Novell Netware, Windows NT e Linux além de manutenção de microcomputadores, onde aprofundei os meus conhecimentos em Hardware. Meus grandes amigos dessa época, e profissionais excelentes de informática, foram o Ten Art Fábio(da minha turma) e o Ten Int Alessandro(codinome chefinho).


Fiz o concurso público para a Escola de Administração do Exército(EsAEx) no final de 1998 e fui aprovado. Ao deixar o CPOR/CMBH, estes estavam providos de acesso à Internet em toda a Rede Interna, dois servidores Windows NT gerenciados através de um servidor Novell Netware(que centralizava todas as contas de acesso à rede), uma rede interna com mais de 1Km de extensão que abrangia todo o CPOR/CMBH e diversos sistemas desenvolvidos para o apoio à atividade de ensino. Senti a minha missão como cumprida e fui rumo a EsAEx com a certeza de deixar muitos amigos e um trabalho bem feito.

Salvador

O ano de 1999 foi de muitas novidades mas, também, de muito sacrifício. Na EsAEx, fiz vários cursos da Oracle, do SQL básico até Forms, Reports e Designer 2000. Além disso, operei pela primeira vez um Sistema Operacional AIX.

Brasília

Sempre me falaram mal de Brasília. Diziam que a cidade era muito "fria", que era tão seca que eu não aguentaria, etc. No entanto, hoje, não pretendo sair daqui. Brasília tem eus encantos, basta passar o choque inicial que você percebe essas belezas por trás das grandes vias, da simetria de suas superquadras e da amplidão do planalto.

Comecei a trabalhar, em dezembro de 1999, no recém criado 7º CTA e tínhamos que cumprir a missão com o que possuíamos. Nesse período em que fiquei no CTA, conheci o Yellow Dog Linux, uma distribuição para PowerPC, pois possuíamos duas antigas RS/6000 da IBM e um desktop RISC onde o Yellow Dog foi instalado com sucesso e funcionava como roteador/firewall. Nas RS/6000, consegui instalar diversos serviços sobre o AIX, graças aos softwares disponibilizados pela Bull no site Bull AIX Freeware, tais como Apache, PHP, PostgreSQL, DNS, DHCP e Samba. Com isso, a rede mista Windows/Linux/AIX funcionava perfeitamente.

Em 2001, fui nomeado para servir no Gabinete do Comandante do Exército, onde encontrei o melhor ambiente para trabalho na área de informática. Foi no Gabinete que me aprofundei em Linux, PHP, PostgreSQL e Oracle. Fui a três edições do Fórum Internacional de Software Livre(FISL), ao III Seminário de Desenvolvimento em Software Livre(SDSL), entre outros, onde conheci grandes personalidades do Software Livre no Brasil e no mundo.

Durante o desenvolvimento do meu primeiro software no Gabinete, percebi que muitas atividades eram repetidas em cada página. Comecei a agrupar essas atividades em arquivos tipo "biblioteca de funções", o que diminuiu consideravelmente o tamanho de cada página PHP. Mesmo assim, as atividades vinculadas a cadastro em banco de dados eram, também, repetitivas. Por isso, resolvi criar um framework baseado em XML, onde eu poderia passar o XML contendo a estrutura da informação que gostaria de ler/gravar no banco e ele faria o resto. Foi assim que surgiu a primeira versão do RADFrame. Ainda incipiente, cheio de "remendos" e baseado no PHP4, ele não possuia praticamente nenhuma orientação a objetos e, muito menos, padrões de projeto.

Foi um amigo meu, o Ten QCO Hednilson, que me chamou a atenção para Design Patterns(ou padrões de projeto) que nada mais são do que um agrupamento de soluções consolidadas para problemas cotidianos em projeto/desenvolvimento de sistemas. A partir daí, comecei a me interessar ainda mais pela Orientação a Objetos e Padrões de Projeto, onde esbarrei no PHP5, CORBA e PHPPatterns. Foi então que decidi recriar o framework em PHP5, com utilização extensiva de padrões e com suporte a CORBA, para que pudesse criar verdadeiros servidores de aplicação em PHP5. Surgiu, então, um problema: a extensão CORBA para PHP4(Universe) não funcionava em PHP5.

Em 2002, comecei a minha especialização em Projeto e Aplicação de Redes de Comunicação(PARC) na Universidade de Brasília(UnB). Foi um dos melhores cursos que fiz. Grandes professores como Alba Cristina(Plataformas e Sistemas de Informação) e João Gondim(Redes) fizeram o curso valer a pena. Durante o curso, percebi que poderia desenvolver um suporte CORBA para PHP5 como trabalho de final de curso. A minha proposta foi aceita e comecei a desenvolver o IDL2PHP.

O projeto consistia em um compilador IDL para PHP5 e uma extensão em C++ para criar uma interface entre a linguagem PHP e o ORB MICO. As extensões para PHP5 são desenvolvidas em C ou C++ e, com isso, vários problemas surgiram, principalmente a falta de conhecimento do funcionamento da Zend Engine 2(que é o coração do PHP5) e de como criar extensões para o PHP5. Grande parte desses problemas foram resolvidos no newsgroup php.internals onde encontrei pessoas fabulosas, dispostas realmente a ajudar. Entre elas destaco Marcus Börger, que me ajudou muito, principalmente no "pontapé inicial".

Em 2004, comecei a trabalhar com o Debian, já que o haviam instalado em vários servidores do Gabinete. Achei bem interessante: para servidores. No entanto, ainda prefiro o Fedora Core para estações de trabalho.

Mergulho

Personal/Activities/Diving

Trekking e Escalada

Personal/Activities/Trekking_Climbing

Navigation