elearn · Empreendedorismo

Boas novidades, não tão brevemente depois

Eu havia deixado de lado esse blog depois de me envolver muito com as outras coisas que estavam acontecendo.

Engraçado voltar aqui 8 meses depois e ver que  já havia plantado a sementinha de uma idéia que floresceu a poucas semanas, engraçado porque me parecia ter tido essa idéia a pouco tempo mas a verdade é que demorei muito até conhecer um pouco do que precisava saber para construir essa idéia em aplicação. Isso somado a bastante procrastinação..

No entanto, finalmente:

As boas novidades:

Estou desenvolvendo o protótipo de uma sala de aula virtual da maneira que gostaria que uma sala de aula virtual fosse: rápidas, interativas e empática.

Acontece que eu até pouco, eu só conhecia ExtJs 4 para desenhar minhas aplicações web, daí fiz algo que ficou assim:

Como se parece uma aplicação web quando o desenvolvedor não conhece nenhum framework mobile.
Como se parece uma aplicação web quando o desenvolvedor não conhece nenhum framework mobile.

Você pode acompanhar o desenvolvimento desse protótipo visitando o seguinte endereço: mendesc.com/alpha

Quero ainda transformar esse protótipo em uma boa experiência mobile e por isso estou estudando HTML5 e um framework para desenvolvimento de aplicações mobile chamado Sencha Touch,  podendo depois transformar ele num MVP e também..

Estou, junto ao Gustavo,  trabalhando no desenvolvimento de um produto mas, sobre isso, acredito que é melhor conversar com ele antes de publicar detalhes. Espero ter mais para contar, em breve!!

elearn · Uncategorized

E-learning

Estou muito envolvido com o e-learning.

É engraçado eu dizer isso pois a um mês atrás eu não não era de forma alguma envolvido com isso e só pensava em conseguir um estágio bacana já que a universidade estava em vias de entrar em greve.

Criei o blog com isso em mente, era pra ser uma boa apresentação profissional da minha pessoa mas antes que eu pudesse usá-lo assim eu consegui o estágio, e deixei aqui de lado! Não quero abandonar o blog, então vou contar um pouco sobre as coisas com as quais eu tenho me envolvido profissionalmente.

Trabalho em uma companhia que é uma instituição de ensino a distância. Dá pra afirmar que os sistemas de e-learning são o motor da empresa.

A educação a distância é uma área que ainda vem sendo explorada e o mercado ainda se prepara para atender as demandas, que estão crescentes. Eu percebi que quase todas as soluções para streaming ao vivo hoje existentes ignoram o fato de que temos problemas de infra-estrutura em TI, principalmente quando se fala de largura de banda. Não vou entrar em detalhes mas tenho estudado nos últimos dias a integração de tecnologias modernas pra construir um ambiente online de aprendizado em tempo real que seja moderno, dinâmico, e que atenda as necessidades de um país em desenvolvimento.. A cada dia que passa estou mais otimista quanto as possiblidades (elas vêm se mostrando reais)!

Espero postar boas novidades em breve.

Empreendedorismo

Ideias gigantes

Já conhecia o YCombinator? É uma empresa que ajuda startup’s a nascerem. Funciona assim, se você quer iniciar uma startup, você pode inscrevê-la no YCombinator e eles poderão escolher sua startup junto com algumas dezenas de inscritos para receberem um pequeno investimento e se mudarem para o Vale do Silício, onde os escolhidos desenvolverão e refinarão suas startups por 3 meses, para que no final desse período eles a promovam ante uma plateia de investidores.

Recentemente, Paul Graham, que faz parte do time do YCombinator, publicou isso em sua página pessoal.

No artigo que linkei acima, Paul conta que a maioria das startups realmente ambiciosas, propunham ideias que mais assustavam que atraiam! Depois ele lista algumas ideias que ao mesmo tempo em que parecem beirar o impossível, podem tornar bilionária a pessoa que as trouxer à realidade, vou falar sobre as que eu achei mais interessantes:

Ideias que podem ter tornar um bilionário

  • Criar um novo motor de busca

Paul está insatisfeito com o google e sente falta do look-and-feel que ele tinha antigamente, concordo quando ele diz que hoje em dia, se você acidentalmente colocar o mouse no lugar errado, qualquer coisa pode acontecer hahaha. No meu entendimento ele propôs uma search engine cujos resultados sejam menos baseados no perfil do usuário e mais personalizáveis ao estilo argumentos de programas do linux, malícia.

  • Substituir o email

Paul diz que hoje o email é utilizado de uma maneira muito diferente da qual foi proposto, ele diz que hoje o email é usado como uma to do list. Mais ou menos assim: Quando você recebe um email, é como se alguém estivesse adicionando um item à sua lista de afazeres, se você ler o email, é como se você tivesse aceitado e cumprido essa tarefa que lhe foi delegada por quem te enviou. Quando não podemos riscar uma tarefa da lista, utilizamos de artifícios como “Marcar como não lido” ou mantemos na lembrança o afazer. Concordo com Paul, uma todolist abordaria essa forma de utilização do email de maneira matadora, imagine, você tem a sua todolist e alguém adiciona um item: Se o item for uma publicidade, pode ser considerado como feito no momento em que você leu a propaganda, certo? Então: o “item” era uma propaganda e a “tarefa” era: leia. Se você leu, menos um item na lista de afazeres de hoje. Se o item fosse uma atribuição delegada pelo seu chefe, você o marcaria como feito no momento em que realmente tivesse feito essa tarefa. Hoje, o que é feito? Bom, quando você abre um email que o seu chefe te enviou, o email já “retira da lista”, se você quiser o destaque que uma tarefa incompleta teria dentro de uma to do list, você marca esse email como não lido. Viu?

Consegue imaginar as possibilidades? Consigo imaginar isso sendo usado por todos no mundo, por empresas e escolas… Criar isso? Aí já é outra história.

  • Trazer de volta a Lei de Moore

Você sabe, a Lei de Moore é aquela que diz que a densidade dos circuitos dobra a cada ano e meio. Até 2002, se o seu software executasse de forma lenta, bastava esperar que o progresso no desenvolvimento das CPU’s aumentasse o poder de processamento e então você poderia obter melhor performance, era apenas questão de tempo.

Hoje, a Intel não consegue fornecer CPU’s com mais transistores, apenas um maior número delas, portanto, melhorar o desempenho depende de habilidades ninjas para reescrever o software de modo a distribuir o processamento de forma paralela entre as CPU’s, muito mais trabalho do que apenas esperar.

Escrever um software que possa fazer que um grande número de CPU’s aparentasse como apenas um processador bem rápido. Paul ainda dá a dica: um compilador que paralelize o código dado como entrada certamente é uma ideia ambiciosa (e bilionária!).

  • Diagnóstico em tempo real

Paul revela um truque que ele usa para ter ideias para startup’s: Ele imagina a forma como as futuras gerações vão lembrar e pensar a respeito de coisas que acontecem hoje. Algo que certamente será piada é: As pessoas iam no médico quando já apresentavam sintomas das doenças!! Exemplo: Em 2004, Bill Clinton estava com dificuldades para respirar e os doutores descobriram que várias de suas artérias estavam bloqueadas em mais de 90% (!). É razoável considerar que Bill Clinton dispunha do melhor tratamento médico disponível e mesmo assim algumas de suas artérias ficaram mais de 90% bloqueadas até que notassem algo de errado. Paul diz que em algum ponto no futuro nós conheceremos esses números mais ou menos da forma como conhecemos nosso peso. “Imagina só, antigamente as pessoas tinham que esperar por sintomas físicos até procurarem um médico por um diagnóstico!”. Sacou? Ele também alerta sobre o risco da inundação de falsos positivos que poderia acontecer, mas nos relembra que isso é por causa de uma limitação de hoje.

Uma tática de empreendedorismo:

Paul termina o artigo ensinando uma tática: Não abordar esses problemas de frente, não se deve dizer que sua startup vai substituir o email, isso vai criar expectativas gigantes e você será cobrado por isso além de criar uma platéia de hater’s que torcerão para ver a startup morrer em sua própria pretensão. É melhor lançar algo que pretende ser pequeno e vai se expandindo junto com o resto do mundo. Uma visão muito sólida de um objetivo futuro pode ser algo ruim ao invés de bom. Legal, né?

Computação

Git e auto-crítica

Hoje vou finalmente aprender a usar um sistema de controle de versões. Nos últimos dias me vi enviando atualizações de código por email e tendo que sincronizar o desenvolvimento usando isso. É ridículo né? Eu já planejava aprender o Git a um tempão, mas a falta de um computador próprio tem me obrigado a preparar o ambiente de programação sobre o ambiente de uso doméstico alheio, isso é bem ruim, mas tem sido pior gastar um tempão checando se está tudo sincronizado entre os vários computadores que eu tenho usado para programar (Os de casa e os dos laboratórios do IC).

Eu sempre soube da importância de se aprender a usar um Sistema de Controle de Versões, mas de fato nunca havia precisado tanto antes. Vou aproveitar que tenho de aprender agora e publicar como foi essa experiência aqui.

Escolhi aprender o Git.

Criei uma conta no GitHub, que é “um Serviço de Web Hosting Compartilhado para projetos que usam o controle de versionamento Git.” segundo a Wikipedia Brasil. Acho que é isso aí que quero mesmo.

Como eu disse, uso ambiente doméstico alheio para programar, por isso nada de Linux..

E daí? E daí que sou tenho que usar Windows (que não é o meu sistema preferido quando quero programar) e não posso sair instalando tudo o que quiser pois isso não se faz. Mas vamos lá, não posso evitar de instalar o Git.

Então, deixa eu seguir as instruções daqui: http://help.github.com/win-set-up-git/

*If you don’t already know what Git is, take a crash course.

Ok eu sei o que é, seguindo..

Git baixado e instalado, próximo passo:  Set Up SSH Keys

Ok, feito, hora de criar um novo repo. Jriarei um repositório privado pra um projeto aí.

O QUE?? SÓ PAGANDO? Sim, 7 dólares por mês. Se quiser. 😦 Então vou criar um repositório free (e conseqüentemente, público), pelo menos até eu poder resolver esse problema.

—-

Aprendendo a usar o git, já fiz um tanto de bagunça, quando tentei remover os “untracked files” da lista de commit do git, acabei removendo eles do diretório em que estava trabalhando, ainda bem que tenho backups… Tem que tomar cuidado com o “git clean –d –f”  hehe.

Pra quaisquer dúvidas existe o http://progit.org/book e as mans pages do – – help

Se não entende nada, veja isso aqui, que já me ajudou muito.

Eu demorei muuito pra começar isso e vejam só, nem é um bixo de sete cabeças e agora basta que eu tenha o Git instalado nos ambientes que uso pra ficar tranquilo quanto ao controle das versões. Próximo passo: Aprender a usar o MVC proposto pelo Sencha, depois falo mais sobre isso. Eu já sei que vai ser algo muito compensatório, basta agora que eu já “mate” esse leão antes que eu o precise fazer para depois “matar” um dragão.

Computação · Links

Links interessantes e Aplicações de Grafos

Isso aqui vale ouro, se tem alguém lendo isso aqui que não for eu.

Tutoriais do thenewboston:

http://thenewboston.org/tutorials.php

Um segredo pra derrubar ‘qualquer’ site:

http://www.behind-the-enemy-lines.com/2012/04/google-attack-how-i-self-attacked.html

Eu estava lendo o Hacker News e como é de lei, sempre tem algo muito dez, o que eu aprendi hoje foi…

Grafos aplicados como regras para descobrir divisibilidades.

No caso, a divisibilidade por 7, no link que segue aqui, você pode ler o artigo. Mas se você tem preguiça eu resumo:

É assim: dado um número n (por exemplo, n = 128), quero saber se ele é divisível por 7. Então, começando no nó branco lá embaixo, para cada dígito d de n, devo seguir as setas escuras d vezes e então seguir 1 seta branca para cada próximo dígito e repetir o processo, até não ter próximo dígito (aí não deve-se andar uma seta branca). E se zero, não mova.

Caso, no final esteja no nó branco, o número é múltiplo de 7!

Faça o teste aí com n = 128. Agora calcule com n = 133.  🙂

A publicação ficou bem famosa no site e depois o rapaz publicou uma versão melhorada da imagem, que ainda informa o resto (seja onde for que você pare no final de tudo, nesse nó está informado o resto) e deixa a compreensão de como o grafo funciona bem mais clara. Vejam:

Computacionalmente falando, imagino que seja muito mais barato para o computador, se o programador estruturar um grafo dessa forma, quando precisasse conferir a divisibilidade por 7 de um número bem grandão, ao invés de tentar a divisão. Ou talvez não, não tenho certeza.

Seria bem legal, escrever uma aplicação que mostrasse como se checa a divisibilidade por 7 de um número n usando esse método. De qualquer forma esta aí a idéia pra quem quiser.