Curso de verão da USP

Æ!!

ime-usp

Com o fim do curso de verão de 2009 da USP, resolvi postar minhas impressões sobre o mesmo!

O curso realmente foi muito bom e me ensinou muita coisa! Eu já tinha feito o curso no ano retrasado, mas não cheguei a terminar, por que o professor da época era muito foda e assumia que todos os alunos já sabiam do que ele estava falando, e para mim não significava tanto assim, portanto chegou um momento que eu simplesmente já não estava entendendo mais nada, e o professor já estava jogando matéria loucamente, portanto abandonei.

moto_0366Esse ano, assim como no ano retrasado, não fui sozinho. o Rodrigo foi comigo também, apenas de ele não cursar algo relacionado a programação ( cursa redes ), ele resolveu fazer o curso. Lá também encontrei a Suelen, que participou do curso no ano retrasado também! Tudo isso sem contar que ainda reencontrei outras pessoas que fizeram o curso junto comigo em 2006, e que resolveram aparecer agora. :D

Esse ano tivemos um professor muito gente fina chamado Wanderley Guimarães que explicou a matéria muito bem durante todo o curso, ensinando até coisas que não faziam parte do curso para quem não entendia o suficiente, e indo além do que o curso previa para quem sabia muito mais do que o normal. O professor é realmente muito legal, e a aula realmente se tornava bem divertida de ser assistida, pois sempre tínhamos certeza que viria um conteúdo interessante além dele estar sempre disposto a conversar no final da aula.

O que foi abordado no curso:

  • Iteração, indução e recursão
  • Prova de invariantes
  • Análise de tempo de execução de algoritmo
  • Vetores
  • Listas encadeadas
  • Pilha e Fila
  • Buscas simples e busca binária
  • Ordenação
    • Insertion Sort
    • Selection Sort
    • Merge Sort
    • Heap Sort
    • Quick Sort
  • Arvore
    • Binária
    • Binária de Busca

No final do curso ainda tivemos uma introdução a Programação Dinâmica e a algoritmos de enumeração! :)

moto_0417

A cada tópico passado tínhamos um estudo utilizando os outros tópicos já aprendidos. Exemplo: Vamos estudar o MergeSort, então provamos as invariantes / indução, fazemos ele tanto recursivo quanto iterativo, vemos a quantidade de tempo e memória que o algoritmo utiliza e outras coisas mais.

As aulas se tornaram bastante interativas pois o Wanderley sempre dava bastante liberdade para a classe intagir com o conteúdo, as vezes até propondo algoritmos interessantes “On the fly” na aula. :D

O curso é baseado em 2 provas e um EP ( exercício programa ) para avaliação. Eu não fui muito bem na primeira prova, e espero ter me saído razoável na segunda, e empenhei uma boa parte do meu tempo noturno no EP para ver se no fim das contas eu ainda consigo sair com o certificado. ;)

moto_0411

Como é de praxe, no final do curso tínhamos menos da metade da sala com participantes ativos, pois muitos não se adéquam ao curso ou acham muito difícil e desistem. Nesse momento do curso o Rodrigo já não estava indo mais ( o que eu já tinha previsto, não sei por que, e aí está a foto com minha moto sozinha em frente ao prédio do IME ), e eu permaneci aprendendo tudo o que eu podia antes do fim do curso, mesmo que minhas notas não estivessem como eu gostaria. :P

O EP desse ano foi bem interessante, deveríamos receber uma quantidade indeterminada de palavras, sendo que elas seriam informadas uma por linha pela entrada padrão, e o programa deveria imprimir todas as palavras que eram anagramas umas das outras na mesma linha, e as que não eram anagramas na linha seguinte…Algo como:

teste marrocos futebol pothix bolfute eetts socorram

Ia retornar:

teste eetts marrocos socorram pothix futebol bolfute

A princípio parece fácil, mas quando você começa a fazer percebe que não é tão simples assim. ;) Só uma dica…Dá para fazer com lista encadeada. ^^

Espero sair com o certificado desse curso, pois me empenhei o máximo que pude, mesmo com todos os transtornos que aconteceram, e com a terrível falta de tempo. Mesmo querendo sair com o certificado, ele não é o mais importante do curso, o que mais importa é a quantidade de conhecimentos que eu consegui agregar, a quantidade de pessoas interessantes que eu conheci, e a quantidade de experiência que isso me trouxe. :D

Pretendo fazer vários posts sobre os conceitos que eu aprendi no curso por que eu acho que será bem interessante passar esse conhecimento para outras pessoas.

Eu tenho uma recomendação…Aproveite suas férias de janeiro do ano que vem e vá fazer um curso de verão! ;)

Há braços

Tags: , ,

Thursday, February 19th, 2009 Courses, Development 4 Comments

VIVO online agora funciona no Firefox / Safari

vivo1

Æ!!

Boas novas!

Eu tinha feito um post sobre os usuários dos serviços da VIVO que tiveram que desenvolver uma extensão para conseguir acessar os serviços do Vivo on line, e agora a vivo anunciou oficialmente em seu blog que o Vivo on line funcionará bem em outros navegadores diferentes de Internet Explorer! :)

Tudo bem que isso é um direito nosso e já deveria funcionar em todos desde o começo do serviço, pois prejudicava os usuários de outros sistemas operacionais diferentes do Windows, mas temos que parabenizar a VIVO por trabalhar em cima do problema que tinham e resolver assim como prometeram em novembro do ano passado !

Que a VIVO seja a primeira de muitas empresas a refatorar o seu site e sirva de exemplo para muitas empresas que estão aí na internet prestando maus serviços.

Há braços

Tags: , ,

Friday, January 30th, 2009 Development 8 Comments

Usuários resolvem os problemas da VIVO

Æ!!

E ae pessoal! Primeiramente quero parabenizar o Diogo Santos pelo seu add-on para Firefox , que faz com que o botão “entrar” do site da Vivo funcione sem que você tenha que usar javascript para manipular pela barra de endereços. Parabéns Diogo, é uma ótima contribuição para a comunidade.

Agora vem a hora da crítica…Como que os usuários tem que ficar desenvolvendo formas alternativas para acessar os serviços que deveriam funcionar para eles, mas por descaso e serviço mal feito não lhe são concedidos? Eu acho impressionante o descaso de tais operadoras por determinadas coisas.

O pior de tudo é que quando você entra em contato pelo suporte a resposta que te dão é a seguinte:

“Não damos suporte a outro navegador que não seja o Internet Explorer”

Ou seja…Caso você esteja no Linux ou no MacOs o problema é seu…Eles não estão nem aí se estão simplesmente excluindo essas pessoas.

A nossa sorte é que a comunidade é auto-suficiente, e temos pessoas que trabalham a favor da comunidade ( e não a favor da VIVO ), sempre ajudando para que os serviços mal feitos funcionem, e o Diogo é um ótimo exemplo disso.

Após acessar o site da Vivo com o plugin do Diogo, eu percebi que ainda tem vários serviços que ficam indisponíveis, mas quem sabe a comunidade dá um jeito nisso com o tempo, ou até mesmo a VIVO toma vergonha na cara e resolve prestar um serviço de internet de qualidade.

Fica aí a minha crítica a VIVO e a parabenização ao Diogo!

Há braços

Tags: , , ,

Tuesday, January 13th, 2009 Development 3 Comments

Fora IE6

Æ!!

Fala Galera!

Já está mais do que na hora de eu fazer um post sobre isso, e acho que não há momento mais propício do que esse afinal, até o Google já está dando alertas sobre isso no Gmail . Sabemos que o Gmail é não é o serviço mais acessado do Google, mas isso já é uma grande ajuda para alertar os desavisados que esse navegador já passou da hora de deixar de existir, e quem sabe num futuro talvez distante ( espero que não tão distante assim ) o google resolva fazer algo parecido com o Orkut! :)

Há muito na internet sobre o quanto o IE6 é ruim, e minha opinião não difere muito da opinião dita em posts como o do Fabio Akita, ou do Canha por exemplo ( O logo ao lado foi tirado do blog do Fabio Akita todos os créditos para ele! ).

Muita gente que me conhece pode dizer:

“Ahhh….vc não gosta da Microsoft e fica fazendo propaganda de browsers Open Source”

Mas na verdade não é somente por isso…Mesmo que vc vá continuar com o IE ( não recomendado, mas menos mal ), pelo menos atualize para uma versão mais recente, pois usar o IE6 hoje em dia é completamente inaceitável!

Alguns ainda tem a audácia de me perguntar o por que de eu ser contra o IE6 e aqui vão alguns argumentos completamente lógicos para o fato:

  1. É um produto desatualizado que já tem uma versão mais nova lançada e outra no forno para sair sei lá quando
  2. É um produto que foi lançado numa época em que ele precisava estar na frente para bater outros navegadores, portanto não estava nem aí para padrões, bom desenvolvimento ou qualquer outra boa prática que pudesse existir.
  3. Você que usa IE6 não sabe o mal que está fazendo para tantas pessoas que trabalham com internet e precisam perder preciosas horas do seu dia para ficar fazendo hacks para que seu site ( que segue os padrões de desenvolvimento para internet, bem documentados aqui ) funcione num produto desatualizado que deveria ter sumido já.
  4. Ele dá um grande break na evolução das tecnologias, pois muitas das coisas legais que os desenvolvedores querem fazer ( transparencia por exemplo precisa colocar Hack bizarro para funcionar no IE6 ) devem ser pensadas e repensadas, pois pode não funcionar legal no IE6, e seu chefe com certeza não vai deixar você colocar no ar algo que não funcione legal no IE6, por que ainda tem uma grande massa que usa isso.

Já ouvi argumentos de pessoas que gostam do visual do IE6, que é totalmente aceitável, afinal, qualquer pessoa pode usar o que acha mais legal, bonito, fácil.,ou sei lá o que consideram, mas se for somente por isso você pode seguir a dica que o canha deu no post dele:

” No Firefox, inclusive há um tema que se parece com o IE6 para você não se sentir perdido. E o melhor: todos estes navegadores possuem versão em português.”

Eu estou fazendo a minha parte para começar o ano bem e estou instalando aqui no meu blog um plugin para alertar os toscos usuários desse browser software antigo para atualizar para algo melhor.

Não sabe como fazer? Veja aqui os links para instalar um browser diferente:

Acho que consegui dar motivos o suficiente para você trocar de browser, se ainda tem alguma coisa que você usa não terá em outros browsers, me avise que farei o possível para encontrarmos uma boa solução para isso.

Há braços

Tags:

Monday, January 12th, 2009 Advice, Development 16 Comments

Configurando seu git para começar a usar

Æ!!

Meu ultimo post foi sobre como subir um projeto para o GitHub, mas me veio agora uma vontade repentina de falar como deixar seu git legalzinho para começar a criar repositórios e contribuir com códigos! Serão apenas configurações básicas, mas que são bem úteis quando você estiver usando o Git ativamente!

Antes de mais nada precisamos instalar o Git, portanto é só baixar ele no repositório oficial e fazer a instalação referente ao seu sistema operacional.

  • No meu Slackware já veio o Git instalado belezinha, portanto foi moleza! No máximo eu atualizei com o SlackPkg.
  • No Ubuntu se eu não me engano eu precisei instalar, mas foi moleza, só baixar o .deb oficial e usar o dpkg -i :)

Vamos as configurações:

Primeiramente precisamos de configurar o nosso nome e e-mail:

git config --global user.name "PotHix" git config --global user.email "PotHix@pothix.com"

Algora alguns Alias para facilitar:

git config --global alias.st status git config --global alias.co checkout git config --global alias.ci commit git config --global alias.br branch

Agora algumas cores para facilitar a leitura quando digitarmos os comandos:

git config --global color.status auto git config --global color.branch auto git config --global color.diff auto

Podemos já criar um projeto simples e enviar para o GitHub assim como eu fiz no post anterior mas agora já usando os nossos alias para ficar mais fácil! :)

Com Git podemos fazer várias outras coisas que vou falando aos poucos em outros posts, esse aqui é só para mostrar como deixar seu git mais legal para começar.

Há braços

Tags: ,

Saturday, December 20th, 2008 Development 2 Comments

Iniciando seu primeiro projeto no GitHub

Æ!!

Hoje estou aqui para postar um pouco sobre o GitHub! =) Minha idéia hoje é apenas mostrar como você inicia um projeto por lá, ou seja, enviar um pequeno repositório git e deixar no GitHub, e conforme os meus progressos eu postarei mais coisas por aqui! ; )

Antes de começar tudo isso você precisar ter cadastro no GitHub ( obviamente ) e já ter uma public-key cadastrada.

Para cadastrar uma public-key é só logar no GitHub, clicar em account ( no canto superior direito ) e clicar em “add public key” que vão aparecer os campos para inserir a mesma.

Você pode encontrar a sua public key no diretório ~/.ssh com cat id_rsa.pub

Caso ele não exista basta acessar sua home (~) e cria-lo com: ssh-keygen -t rsa

OBS: Eu tenho um post com mais informações sobre chave e SSH

Depois pegar o conteúdo do arquio id_rsa.pub e colocar lá no GitHub. Voltando a criação do repositório…Primeiramente crie um diretório por aqui:

Depois de criar você já terá um local acessível para enviar seu código, que por sinal ainda não existe, portanto….Vamos criá-lo! :)

Primeiramente crie um diretório qualquer: mkdir codes

Acesse o diretório: cd codes

E vamos iniciar o git nesse repositório: git init

Coloque aqui seu arquivo de código ( Não necessáriamente código, mas nesse caso vamos usar código ;) ) e vamos adicioná-lo ao git: git add mycode.rb ( Obs: Ruby o/ )

Agora vamos dar um commit do que fizemos usando “-m” para deixar uma mensagem do motivo do commit: git commit -m “Meu primeiro commit”

Agora vamos adicionar como origem o nosso projeto criado no GitHub: git remote add origin git@github.com:seu-usuario-no-GitHub/nome-do-repositorio-criado.git

E depois é só dar um: git push origin master

E lá está o seu código no GitHub! :) Tudo que eu falei aqui está no tutorial do GitHub quando você cria um diretório:

http://github.com/guides/setting-up-a-remote-repository-using-github-and-osx

Por enquanto é isso! Algo bem simples só para você não se assustar quando lhe falarem de GitHub.

Há braços

Tags: ,

Saturday, December 20th, 2008 Development 6 Comments

My last Tweet

Search