O Computador no Brasil
03 Novembro, 2007
Em uma aula do meu curso de Engenharia de Computação da USP desta semana, o professor comentou a história do Patinho Feio, nome dado ao primeiro computador desenvolvido no Brasil.
É interessante quando percebemos que com o aprendizado da faculdade você começa a lidar com coisas cada vez mais recentes e atuais. Eis que o responsável pela parte principal do Patinho Feio era justamente esse meu professor, conhecido por Fregni.
A história começa em 69, com a inauguração do Laboratório de Sistemas Digitais dentro da Poli (LSD.. e reparem que foi no ano de WoodStock… nome sugestivo para época…rs). Um dos objetivos que tal laboratório traçara era o de projetar um computador no Brasil.
Assim eles trazem um engenheiro da IBM, Glen Langdon, para ajudar a construir esse computador. Glen soube lidar com a responsabilidade, não limitou-se a dar o peixe, ensinou a pescar. Começou com um curso de pós-graduação de um ano de duração e no qual a prova final foi a especificação das características de um computador.
Glen então escolheu uma das provas e montou a equipe que construiria o primeiro computador brasileiro, utilizando o modelo de um dos alunos. Professores da USP foram divididos no gerenciamento de cada uma das partes do computador. E o projeto caminhava normalmente quando veio um grande incentivo…
Em 1972, época de ditadura, a Marinha brasileira lança um programa de desenvolvimento de um computador para utilizar nos navios que havia adquirido da Inglaterra.
A equipe da USP despontava como grande favorita para o Hardware desse computador, pois era a única com um projeto do tipo já em andamento. Mas a eis que a recém-criada Unicamp traz um profissional do exterior para coordenar um projeto que eles intitularam “Cisne Branco”, em referência à Marinha.
O relato do meu professor é fascinante. Ver uma pessoa que esteve lá, fazendo parte da história, e suas reações. Conta que a equipe da USP ficou toda assustada com a divulgação do “Cisne Branco” feita pela Unicamp. Os professores da Poli até então sem concorrentes viam nascer um campeão estampado nas páginas do jornal. Mas depois do golpe, eles se reergueram e um professor lançou a idéia: “se eles são o Cisne Branco, o nosso Patinho Feio vai lá e vai ganhar essa parada”. A motivação foi tremenda.
A vantagem de uma equipe que já tinha um projeto em fase de testes foi determinante para escolha do Patinho Feio pela Marinha. O Patinho Feio, inclusive, encontra-se ainda hoje nos campos da Poli, ali pelos lados da Administração.
Adoro a sensação de ter aulas com alguém que faz parte da história do Brasil, ou pelo menos do computador no Brasil. É difícil imaginar que poderemos ser nós, um dia, a fazer a história do nosso país… Bacana!
NetBeans e Eclipse
02 Setembro, 2007
NetBeans e Eclipse, para quem não sabe são duas ferramentas para desenvolver código em Java.
No meu estágio uso Eclipse. Muito bom e com boas sugestões de correção de código e muita coisa automática.
Porém eu já havia usado Visual Studio para fazer um programinha, e em termos de criar a parte de visualização o VisualStudio é muito bom. Porém o Visual Studio é para as linguagens do .NET Framework, no meu caso C#.NET
E agora eu descobri o NetBeans. Ele é famoso, porém eu nunca tinha usado. Gostei muito que a parte de criação de interface gráfica é quase tão boa quanto do Visual Studio, e apesar de mais lerdo que o Eclipse, ele tem bons recursos de sugestão de código e as coisas automáticas.
Procurei algumas comparações na internet e a galera gosta mais do NetBeans. Mas eu não sou de confiar na opinião da “galera”. Então em breve talvez algumas conclusões minhas sobre os editores de código.
Eventos em Java
02 Setembro, 2007
Eu procurei recentemente no google sobre como lançar eventos no Java, pois o C# (CSharp) tem uma forma bonitinha de lançar eventos, mas minha pesquisa não obteve muito sucesso.
Eis que um amigo meu sabia e é algo fácil, porém não tão bonito como no CSharp.
Basicamente o lançador de evento deve ter uma List de ActionListener (List<ActionListener>) e um método addActionListener público, para quem quiser “ouvir” o evento.
E quando você quiser chamar o evento, você percorre essa lista chamando o método actionPerformed de cada ActionListener. Simples, Não?
Exemplo:
ClasseLançadoraDeEventos(){
private List<ActionListener> lista = new LinkedList<ActionListener>();
public void addActionListener(ActionListener listener){ lista.add(listener); }
public void metodoQueLançaEvento{
for(ActionPerformed ac : lista) ac.actionPerformed();
}
}
MeuListener implements ActionListener(){
ClasseLançadoraDeEvento lançadora = new ClasseLançadoraDeEvento();
public MeuListener(){
lançadora.addActionListener(this);
}
private void actionPerformed(){
// método a ser executado quando a Classe Lançadora de Eventos lançar o evento
}
No fundo é apenas uma convenção, a classe lançadora sempre chama o método actionPerformed dos objetos ActionListener que ela tiver. Qualquer um poderia criar uma interface com um método próprio e fazer algo análogo ao que foi dito acima.
estranha coincidência
31 Agosto, 2007
notei que, por algum estranho e desconhecido (juro!) motivo, meus últimos posts sempre ocorreram perto de um clássico do Palmeiras…
Melhores Sensações da Vida
30 Agosto, 2007
é algo bem legal de ir lembrando, vou colocar algumas
Estar com uma música na cabeça e a música tocar no rádio.
Tentar lembrar de uma coisa e conseguir!!!
Tirar o sapato quando chega em casa.
Deitar na sua cama depois de uma viagem.
Acordar no sábado de manhã achando que é dia de semana e perceber que é sábado e você poderá voltar a dormir.
Achar um erro em alguma fórmula ou programa (sou programador
) depois de muito tempo procurando.
Resolver um exercício difícil.
Encontrar grandes amigos ocasionalmente.
Caracas… quanto tempo!
25 Maio, 2007
Tanta coisa acontecendo e a vida andando de um jeito que não dá pra manter coisas nerdisticas como um blog, um site ou qualquer coisa semelhante.
Mas eu escrevo de novo após algum tempo porque, primeiro é sexta-feira, tá um puta frio, eu estou meio mal da minha maldita bronquite e não tinha filme bom na locadora. Dae abri a internet entrei no blog de um amigo meu e li um paradoxo.
E como agora tenho tempo pra fazer altas besteiras nos fins de semana, resolvi ler alguns paradoxos. E justamente um deles é o que me traz aqui.
O Paradoxo é que se numa sala estiverem 23 pessoas, a chance de duas delas fazerem aniversário no mesmo dia e mês do ano é maior que 50%!
Considerando, naturalmente, condições ideais como a mesma chance de ocorrer um nascimento para cada dia do ano e como se não existissem anos bissextos e não houvessem gêmeos.. sei lá.. puxando da memória o que eu li há 5 minutos na wikipedia.
Duas coisas legais:
primeiro -> Este site aqui tem um controle estatístico, onde a pessoa digita o nome e dia e mês do ano em que nasceu e ele joga a pessoa aleatoriamente numa das 4 (acho) salas criadas. Dae ele vai fazendo isso até que em alguma sala fiquem duas pessoas de mesma data… aí ele fecha a sala. Olha que legal a média do número de pessoas que havia na sala para que ocorresse uma repetição é de 19,6 pessoas!
segundo -> A segunda coisa que achei legal é que esse não é um paradoxo como a gente pensa que são paradoxos (pelo menos eu pensava). Esse é um paradoxo mas na verdade é algo provado matematicamente. Ele se torna paradoxo pelo fato de que a prova matemática contradiz o senso comum (de que a probabilidade de ocorrer uma coincidência de aniversário em apenas 23 pessoas seja menor que 50%).
Enfim, fiquei empolgado. E domingão, véspera do meu aniversário e dia de Choque Rei estarei eu nos estúdios da gloriosa Ban para participar da gravação de “A Grande Chance”. Nunca estive tão perto da fama… rs
São 4 grupos de 50 pessoas. Após 5 perguntas elimina um time, após mais 5 elimina outro, por fim os dois times restantes farão uma disputa ala passa e repassa, com a líder, o braço direito e mais um participante sorteado disputando.
Torcemos para que nosso grupo vá para as cabeças e eu seja sorteado… já vejo o dinheiro, o sucesso, as mulheres… enfim… adeus vidinha humilde e fracassada..rs
esclarescimento
22 Fevereiro, 2007
sempre achei que a palavra esclarecimento fosse escrita esclarescimento. Eu que sempre me achei imune a esses equívocos literários de vários anos de vida. Mas já vi acontecer até com Jô Soares, como ele mesmo relatou durante uma entrevista (detalhe: ele era o entrevistador). Por anos ele falou Pronto de Socorro ao invés de Pronto Socorro, muito menos grave e não exigia sequer esclarecimento..rs
conhecimentos aleatórios
08 Fevereiro, 2007
é engraçado ver como o tempo passa e certos conhecimentos aleatórios sedimentam na nossa cabeça. No colegial, como todos vêem a mesma matéria isso não significa muita coisa. Mas hoje, após um ano de engenharia elétrica e um mês de engenharia de computação, a facilidade com que interpreto, analiso e construo circuitos digitais, com um conhecimento bem específico da minha área, fez-me refletir sobre esses conhecimentos sedimentados.
Um circuito digital é algo que vai usar tensões elétricas para gerar sinais árbitrários, geralmente de +5Volts ou 0Volts, representando 1 ou 0, respectivamente. O primeiro conhecimento sedimentado é sobre a base binária (por exemplo, 13 em base decimal é 1101, e isso hoje é naturalíssimo para mim, porém não era tão natural assim um ano antes) . Outro conhecimento sedimentado é a forma de criar funções de números binários (por exemplo, a função “E” é aquela que recebe dois algarismos binários, chamados de bits, ou seja, 2 algarismos que podem valer 0 ou 1, e devolve como saída um único bit, que no caso vai valer 1 para ambas as entradas 1 e valerá zero nos três outros casos, a saber: 00, 01 e 10).
Dae qualquer função que você quiser criar basta seguir um algoritmo fácil (eu conheço o Mapa de Karnaugh, mas acho que há outros) através do qual será possível construir qualquer função (no caso do mapa de karnaguh vc crias funções de quantas entradas você quiser e uma única saída, mas perceba que isso faz com que você possa associar funções e criar qualquer função de número variável de entradas e saídas, ou seja, cria uma função para o primeiro algorismo da saída, depois uma para o segundo e assim por diante e associa essas funções). UAU! Parênteses enormes! O legal sobre essas funções que vc pode criá-las usando apenas apenas as simples funções “E” e “OU” (a “OU” retorna 0 apenas para ambas as entradas em 0).
A função “E” na aritmética binária é a multiplicação, e a função “OU” é a soma. Com os conhecimentos citados acima sou capaz de criar qualquer função de números binários, que recebendo um valor na entrada retorna um valor na saída. Ainda aprendi a trabalhar com os chamados circuitos sequenciais, nos quais a saída depende da entrada e da saída anterior! Com isto fazemos as famigeradas máquinas de estado. Um exemplo abaixo:
![]()
Essa lógica ae, é possível de criar com tensões, que representarão números binários, que representarão esses estados (ex.: opened – 00, closing 01, closed 10, closing 11).
O mais legal de tudo é o fato deste conhecimento ser bem prático e foi adquirido meio de repente… com estudo, claro, mas parece-me que muito rapidamente.
Aliás, pensei isso hoje durante uma aula da temida Mecânica dos Fluidos, durante a qual o professor fez deduções que outrora eu acharia cabulosas, usando derivadas parciais, integrais e série de Euler. E engraçado que não foi algo que da noite para o dia eu aprendi… mas um processo longo e durante o qual eu não saberia determinar a data exata de conclusão. Na verdade, foram pequenos conhecimentos que foram sedimentados e acabam dando uma excelente infra-estrutura para entender, por exemplo, uma dedução de Mecânica dos Fluidos.
inaptidões e dois fatos cotidianos
06 Fevereiro, 2007
acho que vou tocar este blog de novo… e quando estiver no estágio eu coloco ele do jeito bonito que eu quero.. por enquanto vou só escrever besteira quando der na telha.. assim como agora
para quem não me conhece, preciso dizer que sempre fui bajulado por me destacar nos estudos na escola. Em compensação, todos sempre me falam: “tão inteligente para umas coisas.. mas tão burro para outras”. Eu classificaria isso como algumas inaptidões minhas…
Uma delas, mas neste caso acho que é uma inaptidão do ser humano (rs) é não conseguir abrir correspondências sem rasgá-las. Abaixo, fotos dos crimes cometidos hoje (veja o que sou capaz de fazer somente em um dia…rs):



Deve existir um meio mais eficiente de se fazer esse tipo de correspondência sem esses “breguetes” (hahahha breguetes é uma bela palavra).
Aproveitando meu espiríto fotão de hoje (não.. não é um grande foton… Rá! Pegadinha… rs infame, é um jeito “mais legal” de falar fotogênico), colocarei mais fotons foto(s):

Essa coisa no centro da foto é um bagulho que eu quero descobrir para que serve. Tem outro dispositivo que parece um foton poste mas que eu não tirei fotons fotos (ainda vou tirar e colocá-las aqui, à espera de um milagre alma caridosa que saiba a função da coisa). Digo isso, porque o leitor atento perceberá que a foto no flick se chama “segunda coisa que desconheço”, e se perguntará: “Mas quem diabos é Ari Pistola? Qual a primeira coisa desconhecida?”. E a explicação eu já lhes antecipei.
Vamos aos dois fatos cotidianos, porque já escrevi o título do post antes mesmo de tê-lo terminado. Um dia escrevei meus textos e passarei semanas revisando antes de postá-lo. Um dia o título será a última coisa a ser feita no meu texto. A cereja do bolo. Um dia.
de volta às aulas
09 Janeiro, 2007
nem teve o ócio.. aquele cansaço de fazer nada… não teve graça
hoje foi o segundo dia de aula… sim… hoje… dia 9 de janeiro
mas vai valer a pena… ah vai…