Resgate de anos de história

No início de 2005, logo antes de começar o Ensino Médio, eu escrevi meu próprio sistema de blog (tipo pra concorrer com o WordPress — só que não) e comecei a blogar no endereço tableless.tiagomadeira.net. Estava empolgado com a ideia de construir uma web semântica, com XHTML e com tableless. Foi um pouco antes do “estouro” da blogosfera que veio com o ascenso do WordPress mais pro final do mesmo ano e pelos dois anos seguintes.

Desde lá e durante todo o ensino médio, eu bloguei muito. No final de 2005, o blog se transformou num WordPress e assumiu o endereço tiagomadeira.net. Além disso, no verão de 2005 para 2006 escrevi um blog-curso de algoritmos para estudar para a Olimpíada de Informática.

Um ano depois, comecei a escrever outro blog em parceria (o Mal Vicioso, com a Carol). E em 2007, passei a participar timidamente ainda de outro (o 1001 Gatos de Schrödinger, do Ibrahim).

Em 2008, quando entrei na UFSC, fiquei um ano completamente sem blogar. Foi provavelmente o meu ano mais longe da internet, devido ao estudo sério de matemática e o treinamento intensivo para a Maratona de Programação (foi nesse ano que nossa equipe se classificou para a final mundial na Suécia).

Quando vim para São Paulo, em 2009, resolvi voltar a blogar. Porém, depois de ter ficado um ano sem dar bola pro meu blog, não me senti confortável em continuar usando ele (além de que fui tentar organizá-lo e acabei perdendo conteúdo sem querer). Aí acabei criando outro no endereço blog.tiagomadeira.com.

O conteúdo do tiagomadeira.net acabou ficando jogado às traças num leiaute terrível com mais publicidade do AdSense do que conteúdo. A mesma coisa aconteceu com o blog de algoritmos, que curiosamente continuou sendo bem visitado (valeu, Google!). E os outros dois blogs (Mal Vicioso e 1001 Gatos) simplesmente morreram.

Vinha pensando há algum tempo em fazer alguma coisa para salvar o conteúdo de todos esses blogs. Até que nesse sábado resolvi botar a mão na massa e toquei esse meu projeto egocêntrico: Escrevi um novo design e exportei/importei os posts de todos os outros blogs para este novo, relendo os posts para corrigir formatação, imagens e links quebrados.

Estou inaugurando este blog com textos dos últimos oito anos, ou seja, que registram acontecimentos interessantes de mais de 1/3 do meu tempo de vida. Encontrei uma porção de coisas legais quando resgatava os posts: angústias, ideias, planos, descobertas. Definitivamente valeu a pena não permitir que isso tudo se perdesse no buraco negro da internet.

Acabei motivado a continuar escrevendo aqui para contar o que ando pensando e para que no futuro eu continue me divertindo com meus velhos projetos. Ansioso para ver se a motivação vai vingar.

Boa nova

Resolvi fazer Ciência da Computação há muito tempo. Faz tanto tempo que eu não lembro quando foi, mas acho que eu tinha uns oito anos. Minha única certeza é que eu não fazia ideia do que era o curso (mas isso não importa — hoje acho que escolhi estudar uma das coisas mais legais que existem).

O tempo passou e cogitei fazer outras faculdades, mas nunca seriamente. Começou o 3º ano do Ensino Médio e comparei os currículos de UFSC, UNICAMP, ICMC-USP e IME-USP pra decidir que curso escolher. Ordenei-os (por motivos teóricos) da seguinte forma:

  1. IME-USP
  2. ICMC-USP
  3. IC-UNICAMP (engenharia)
  4. UFSC

Desde lá minha meta foi entrar no lugar onde hoje, felizmente, estou. Mas não foi fácil.

Passei o último ano do Ensino Médio namorando estudando, li os resumos dos livros exigidos e quando chegou novembro… não passei na primeira fase do vestibular da Fuvest.

(Felizmente passei na UFSC e vivi um ano sensacional. Morava do lado da Universidade, fiz grandes amigos, conheci professores do mais alto nível, me classifiquei pra final mundial da Maratona de Programação e aprendi mais Matemática do que em toda a vida. Mas nem todos têm a mesma sorte.)

O vestibular da USP usa um terrível sistema baseado em carreiras.

Def. Carreiras são conjuntos disjuntos não-vazios de cursos universitários que em geral tem algo em comum (e.g., uma carreira pode ter Engenharia de Produção e Ciência da Computação porque ambos são cursos pra seres humanos — não sei se poderia haver alguma outra razão mais específica, sem ser através da Lei dos Cinco, mas creio que não).

No sistema da USP o candidato escolhe uma carreira, cursos que gostaria de fazer nessa carreira e sua ordem de preferência.

Passam pra segunda fase do vestibular três vezes o número de vagas disponíveis na carreira. Depois da segunda fase, os candidatos são ordenados de acordo com a nota da segunda fase e roda-se um algoritmo assim:

for (int pos = 0; tem_vagas_sobrando() && pos < n; pos++) {
    for (int opcao = 0; opcao < 4; opcao++) {
        if (tem_vagas_no_curso(pessoa[pos].opcao[opcao])) {
            da_vaga(pessoa[pos], pessoa[pos].opcao[opcao]);
            break;
        }
    }
}

Estava com sono e dificuldade de pensar quando postei. Outra hora tento passar pra uma língua menos nerd.

São os institutos que decidem em que carreira seus cursos vão entrar e o negócio fica uma bagunça. A maioria das carreiras têm cursos iguais com diferença apenas de período (diurno e noturno), mas há carreiras de institutos inteiros (a FEA, por exemplo, tem apenas uma carreira onde coloca Economia [diurno e noturno], Administração [diurno e noturno], Ciências contábeis [diurno e noturno] e Bacharelado em Ciências Atuariais), de cursos iguais em diferentes campi (na carreira de Direito, por exemplo, o candidato pode escolher entre o Largo São Francisco e Ribeirão Preto) e, por fim, carreiras como a minha: Engenharia na Escola Politécnica e Computação, que oferece (versão Fuvest 2010):

  • Engenharia Civil e Engenharia Ambiental (poli)
  • Engenharia Elétrica (ênfases: Automação e controle, energia e automação elétricas, sistemas eletrônicos, telecomunicações) (poli)
  • Engenharia Mecânica e Engenharia Naval (poli)
  • Engenharia Química, Engenharia Metalúrgica, Engenharia de Materiais, Engenharia de Minas e Engenharia de Petróleo (poli)
  • Engenharia de Computação e Engenharia Elétrica (ênfase Computação) (poli)
  • Engenharia Mecânica - Automação e Sistemas (Mecatrônica) (poli)
  • Engenharia de Produção (poli)
  • Bacharelado em Ciência da Computação (IME!)

Reza a lenda que essa era uma carreira que tinha todos os cursos que classificam como Exatas (uma classificação ridícula, na minha opinião) e todos eles foram saindo, até que no meu ano sobraram só as engenharias da Poli e o BCC.

(E eu prefiro acreditar nisso porque me doeria acreditar o contrário – aceitar que em certo momento da História algum idiota professor decidiu que Ciência da Computação tem mais a ver com Engenharia Ambiental do que com Matemática.)

Agora veja o problema: Em um ano aqui, aprendi que trabalhar em bancos está na moda em São Paulo. Como se formar em engenharia na Escola Politécnica é garantia desse nobre emprego, fazem um monte de cursinhos (e turmas especiais neles) voltados a destruir o cérebro das ensinar crianças (o link é bom; clique!) pra jihad passar na Fuvest. O resultado é que um catarinense que quer entrar no Bacharelado em Ciência da Computação não consegue nem passar da primeira fase do concurso. Se passa pra segunda fase, ainda assim precisa competir com estudantes que colocaram o BCC na quarta opção para não decepcionar os pais e seu ego caso não passem nas três engenharias que desejam.

E não para por aí.

O BCC abre 50 vagas por ano e neste ano matricularam-se 31 calouros. Os alunos da turma (para a qual dou monitoria da disciplina Introdução à Computação) me contaram que tem 26 pessoas indo assistir as aulas. Enquanto há jovens no Brasil inteiro querendo entrar neste curso, que considero um dos melhores (se não o melhor) do país, a sala da turma de 2010 está com metade de sua capacidade porque gente que queria fazer engenharia marcou a opção do BCC e não fez a matrícula.

A solução imediata é óbvia: tirar o Bacharelado em Ciência da Computação da carreira da Escola Politécnica.

Felizmente, não sou o único que penso isso. Então, após todo esse preâmbulo, informo em primeira mão: a Congregação do Instituto de Matemática e Estatística, em sessão ordinária realizada hoje (29/04) da qual tive o enorme prazer de participar, aprovou por unanimidade essa decisão, que já havia sido aprovada (também por unanimidade) dentro do Departamento de Computação.

Será criada nesse ano na Fuvest uma carreira chamada “Bacharelado em Ciência da Computação”, que a princípio terá 50 vagas, mas para a qual será convidado o Bacharelado em Ciência da Computação do ICMC-USP (São Carlos).

A decisão é fantástica e será fundamental pra vida de diversos futuros estudantes desta faculdade. Já estou ansioso pelo ano que vem…

Passagens em sala

Entidades estudantis têm como costume passar em salas de aula para espalhar eventos, boletins e campanhas. Tenho certeza que fazem isso com a melhor das intenções e concordo que é fundamental que centros acadêmicos e diretórios centrais de estudantes construam seus projetos com todos os iguais que representam. Porém, após pensar um pouco a respeito, cheguei a conclusão que essa é uma péssima modalidade de divulgação (além de um gasto desnecessário de tempo e papel) e aqui explicarei meus porquês.

Antes de mais nada faço questão de lembrar que isso é um blog, portanto sinta-se livre para discordar através da caixa de comentários ou via trackback. Como me ensinou meu amigo Ibrahim Cesar: “A mídia tradicional manda mensagens. Blogs iniciam conversações.”

Iniciarei contando algo que já aconteceu comigo inúmeras vezes, tanto na UFSC como na USP: (e, de cara, peço desculpas porque sou um péssimo narrador)

Estou assistindo uma aula de Cálculo I e o professor acabou de escolher um estranho epsilon para demonstrar o limite de uma multiplicação. Prova finalizada, estou copiando o teorema e contemplando o quadro para buscar compreender de onde o professor tirou o epsilon. Beto, que esteve do lado de fora da sala aguardando o professor acabar a demonstração, entra animado: “Pessoal, eu sou do DCE. Estou aqui para convidar vocês para …”

Você decide:

Possibilidade #0:

Nem ouço o que ele diz. Termino a cópia da demonstração e guardo o panfleto que Beto entregou no fundo da mochila. Mal Beto deixa a sala, o professor continua a aula como se não tivesse sido interrompido, agora escolhendo um epsilon ainda mais estranho para demonstrar o limite de uma divisão. Um mês depois, encontro um panfleto no fundo da mochila e jogo fora sem nem mesmo ler ao perceber que o ato de uma luta que me interessava aconteceu há quase um mês atrás.

Possibilidade #1:

Ouço o que ele diz, mas não entendo direito a ideia da manifestação. É fato que o rapaz do DCE é muito mais politizado que eu. Se o aviso fosse dado num outro ambiente eu faria uma pergunta, discordaria dele, discutiríamos. Na sala, porém, com sua estrutura autoritária e no meio de uma aula de Cálculo, resolvo ficar calado e continuo sem simpatia nenhuma pelos comunistas do movimento estudantil. Também nem paro direito pra pensar, afinal estou no meio de uma aula de cálculo e meu professor não parou um minuto por causa do recado.

Possibilidade #2:

Eu, que não conheço o movimento estudantil (caso contrário já saberia do ato para o qual o rapaz do DCE está me convidando), presto total atenção nele, simpatizo com a ideia, meu professor debate o tema da manifestação logo que Beto sai da sala e depois da aula vou procurar Beto porque resolvi participar do ato e do movimento estudantil.

Se você acha que a possibilidade #2 ocorre, pode parar de ler esse texto que nossos axiomas são muito diferentes pra chegarmos a alguma conclusão comum (i.e., não vivemos no mesmo mundo).

Fato é que a gestão do DCE do ano passado passou em sala inúmeras vezes e eu só dei alguma atenção ao movimento estudantil depois que o conheci com as minhas próprias pernas ao lado do prédio de Letras, na FFLCH. O que prova que esse modelo de divulgação é incapaz de dialogar comigo e provavelmente com a maioria dos estudantes do meu instituto.

Creio que um convite para um debate não pode ser feito num ambiente de missa como as tradicionais salas de aula (o professor falando e os alunos respondendo “Amém” ou “Graças a Deus”), simplesmente porque não combina. Convites pra discussão precisam ser feitos nos corredores, nos gramados, nos intervalos de aula e por meio de uma conversa saudável e não da imposição de uma programação.

É preciso haver muita motivação para um aluno que não se sente diretamente tocado por uma questão e nunca debateu ela resolva participar de uma entidade por causa de uma propaganda na sala de aula. Uma motivação que não existe no mundo que eu considero real. Por isso, acho que as passagens em sala de aula precisam ser repensadas imediatamente por todos que buscam construir um movimento estudantil mais amplo e democrático.

Perfeitamente

Se fazem traduções de qualquer tipo de documento seja, textos, artículos, trabalhos, propaganda, cartas, etc. Falo perfeitamente Espanhol Inglês Português. Estudo aqui na USP.

Cópia precisa de um texto que li num ponto de ônibus da Cidade Universitária. Dispensa comentários.

Ano novo

Aprendo muito na Universidade. Não tanto nas aulas do currículo obrigatório, mas sem dúvidas naquelas que frequento porque realmente quero aprender, principalmente quando essas me desafiam. A falta de desafio nos torna medíocres e foi a falta de desafio que me tirou a vontade de ir para as aulas no semestre passado.

Mais do que na sala de aula, porém, aprendo nas bibliotecas, corredores e gramados. Os espaços de vivência e debates são os locais mais importantes da universidade (e usuários do DaD — diploma a distância — infelizmente talvez nunca experimentem isso). Nestes espaços aprendemos e reproduzimos discursos e ideias que nos fazem pensar e criticar a realidade.

Estes espaços não tem nada de especial e não são exclusivos das universidades, mas acredito que nas universidades é mais fácil criar essas rodas porque há muitas pessoas com interesses em comum. Além disso, eles não se limitam a debates políticos e filosóficos; deles pode surgir um problema puramente matemático.

Sem mais enrolação, vou narrar o fato: Acabou ontem a primeira semana de aulas da USP. Houve recepção aos calouros em todos os cantos do campus e eu passei pelo menos 14 horas todos os dias lá caminhando principalmente entre IME, FAU e FFLCH.

Definitivamente foi uma das semanas mais interessantes que já vivi nesta universidade até o presente momento. Li ótimos livros, participei de ótimas conversas e aulas-debate e conheci várias pessoas muito interessantes. Não vou entrar em detalhes sobre tudo isso, porém, visto que isto foge do assunto que planejei pra esse texto. Pra ser sincero, agora é que percebi: toda essa introdução foi exagerada e criou falsas expectativas para os leitores. Desculpem pelo meu pensamento caótico. Com efeito, sem mais enrolação (agora eu prometo), o ponto que quero chegar é o seguinte:

Sejam a, b e c números naturais. Sejam A e B subconjuntos dos naturais. Seja f : A → B uma função natural bijetora definida por f(x) = a * ⌊x / c⌋ + ⌊(x mod c) / b⌋. Qual pode ser o conjunto A para termos B = ℕ? Qual a função inversa f⁻¹?

Não é um bom problema? Tente resolver antes de continuar a leitura.

Certo. Para manter o texto divertido (e possivelmente confuso, confesso) prosseguirei de trás pra frente.

Tuitei esse problema às 15h de quinta-feira. Antes eu havia passado algumas horas caído por causa do cansaço. Antes eu tuitei que nunca tinha pensado em inversas de funções com módulo. Isso porque eu determinei a inversa dessa estranha função que atribui uma quantidade inteira de dinheiro (em reais) a uma quantidade de cervejas. Cheguei a essa estranha função porque algumas horas antes estava vendendo fichas de cervejas na festa da Calourada Unificada do DCE da USP. Uma cerveja custava R$ 2,00 e três cervejas custavam R$ 5,00.

Simplificando o caminho, agora de frente pra trás: Trabalhar de caixa correndo pra contar dinheiro (havia muita fila) inseriu na minha mente uma estranha função que me permitiu, mesmo com extremo cansaço, criar um problema muito divertido de matemática. (Eu passei o ano passado inteiro no IME e não inventei nenhum problema que eu tenha gostado.)

Agora vem a melhor parte: o problema em linguagem matemática parece assustador para a maioria, mas sua solução é absolutamente trivial se você sabe de onde ele veio e ficar restrito ao caso em que b ≤ c. De fato, concentre-se na venda de cervejas. A pergunta “Qual pode ser o conjunto A para termos B = ℕ?” é equivalente a “Qual os valores que não necessitam troco?” e a pergunta “Qual a função inversa?” é equivalente a “Qual a função que atribui número de cervejas ao seu preço?”

Bem… Não vou me alongar porque escrever recordou-me que preciso resolver o problema pro caso geral. Aproveitem o ano & bons estudos!

© 2005–2020 Tiago Madeira