quarta-feira, 19 de novembro de 2014
Wearable Wednesday
As "Wearable Wednesdays" foram idealizadas pela Wearable World, cuja sede fica em San Francisco, Califórnia. Os encontros giram sempre em torno do ecossistema das tecnologias vestíveis (wearables) e da Internet das coisas (IoT - Internet of things). Este evento acontece em outras cidades ao redor do mundo como Barcelona, Londres, Nova York e Dublin, além de São Paulo e San Francisco, claro. Nesta edição, o tema geral foi o movimento maker no Brasil.
Minha palestra foi sobre "Acessibilidade e hardware livre" e falei sobre projetos de tecnologias assistivas em hardware livre que desenvolvi no laboratório em que trabalho. Como o público era diversificado, tratei dos conceitos de Acessibilidade e hardware livre, além de mostrar alguns dados do Censo 2010 sobre pessoas com deficiência.
Veja abaixo a apresentação que usei:
terça-feira, 5 de agosto de 2014
Advanced Learning - parte 2
Há algum tempo atrás, falei sobre um capítulo de livro que escrevi. O tema é bastante relacionado à minha dissertação de mestrado e trata, essencialmente, do processo de desenvolvimento de software para plataformas móveis, dando atenção especial para o projeto One Laptop per Child (OLPC).
Volto a falar neste assunto porque recebi um e-mail da editora dizendo que o capítulo atingiu 6000 downloads. Achei bastante impressionante e resolvi compartilhar.
O capítulo, assim como os demais do livro, estão sob licença Creative Commons. Fique à vontade para ler e compartilhar também!
terça-feira, 21 de maio de 2013
Utilização de aplicativos em sala de aula
Há algum tempo atrás, Nathalia e eu fomos convidados pelo SINSESP (sindicato das secretárias e secretários de SP) para ministrar um mini curso sobre uso de aplicativos em sala de aula.
O sindicato oferece uma série de cursos de aperfeiçoamento profissional para professores interessados, e um dos temas solicitados foi justamente como tirar proveito de tecnologias da informação e comunicação em educação. O público foi relativamente diversificado em termos de fluência digital, e quando nos passaram esta informação, resolvemos estruturar o curso de maneira mais introdutória.
O curso aconteceu no dia 18/05 /2013, teve duração de aproximadamente 3 horas e meia, e três partes, basicamente. Na primeira, fizemos uma introdução nos conceitos de pedagogia de projetos e aprendizagem com mobilidade (mobile learning), além de um glossário de tecnologias da informação e comunicação.
Na segunda, mostramos alguns recursos digitais disponíveis para uso em sala de aula, como canais de vídeo, repositórios de conteúdo e redes sociais. Outro tópico abordado foi o de como fazer melhores buscas na Internet (um tópico que parece óbvio, mas não é tanto assim). Além disso, abordamos alguns jogos e aplicativos para celular com potencial de exploração em aprendizagem.
Por último, propusemos uma atividade prática. A atividade consistiu em modificar um plano de aula, a fim de incluir o uso de recursos tecnológicos. Foram formados grupos de trabalho, com disciplinas distintas.
O material usado no curso está disponível neste link. Aproveito também para agradecer o convite e também a participação do público durante a apresentação. Foi uma ótima experiência para mim.
sexta-feira, 11 de janeiro de 2013
Django simple captcha no Ubuntu 12.10
Esta aplicação Django tem uso bastante simples, mas eu não conseguia fazer a exibição das imagens corretamente. Eu usei a ferramenta
virtualenv para montar meu ambiente de desenvolvimento, e as bibliotecas estavam instaladas lá via pip. A biblioteca PIL é uma dependência de Simple Captcha, justamente por permitir a criação de imagens por código. No meu formulário, ficou assim:captcha = CaptchaField( label = 'Repita os caracteres a seguir')Mas a exibição do formulário continha apenas o texto alternativo. O comando
manage.py runserver mostrava um código 500 para a URL das imagens do captcha. Acessando a imagem da URL em si, pude verificar o seguinte erro: The _imagingft C module is not installedUm erro que já tinha me deparado antes, mas nunca registrei a solução. Essencialmente, a instalação via pip compila a bilioteca PIL, e o uso do Simple Captcha requer o suporte a Freetype2 no momento da compilação para poder gerar as imagens corretamente. Para corrigir isso no Ubuntu 12.10, basta colocar as referências certas antes da compilação:
# ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/ # ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/ # ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/
Depois, basta instalar a biblioteca PIL:
pip install pilA mensagem final da compilação deverá mostrar algo como
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------E deverá funcionar! Encontrei a solução neste link.
quarta-feira, 4 de abril de 2012
Avaliando pessoas
Agora, como saber quais são os melhores entre todos os que foram submetidos? Sem dúvida, este é o maior desafio conceitual para a avaliação da feira. A abordagem comum para este problema é definir um conjunto de critérios de avaliação e um conjunto de observáveis. A partir disso, chega-se a uma lista ordenada dos projetos. Não acaba aí, mas já dá para captar a ideia. Eu quero falar das dificuldades.
A FEBRACE é uma feira nacional com diversas áreas do conhecimento, e isto implica em alguns filtros para a seleção de finalistas. Seleção esta feita à distância, por sinal.
Os projetos submetidos são frutos de um processo conduzido por meses pelos estudantes. Mas se você não tiver acompanhado o desenvolvimento do projeto em si, como saber se ele cumpre requisitos mínimos de qualidade? É difícil saber, ainda mais pelo fato dos avaliadores terem poucos observáveis disponíveis. São formulários, relatório e eventualmente um vídeo disponíveis.
O que quero dizer é: o processo de seleção nem sequer permite selecionar os melhores projetos de fato. Só é possível capturar os mais bem relatados. Um avaliador não acompanha os estudantes no dia a dia, logo a avaliação tem que se basear no material entregue. É a única coisa disponível.
Dessa forma, projetos mal documentados tem muito mais chance de ser mal avaliados que outros bem relatados. Sempre é bom lembrar, a submissão é o momento no qual o estudante descreve o projeto. Olhando assim, é como contar o projeto para quem nunca ouviu falar dele, portanto o estudante tem de prover elementos observáveis capazes de fazer o avaliador entender o projeto. Sem os observáveis fica mais difícil, e a culpa nem é nossa.
sexta-feira, 30 de março de 2012
Das peripécias de ser tutor
Agora, o projeto já está rolando, e sou um dos tutores do programa. Antes do projeto entrar na fase de seleção dos candidatos, era difícil ter ideia de quais seriam as demandas de ser um tutor. Claro que já tínhamos um conjunto de conteúdos para trabalhar, mas ajustes são necessários de acordo com o público. O andamento do projeto, e eu sou responsável por isso, deixa claro: selecionamos cerca de 90 candidatos com projetos diferentes, com formações mais diferentes ainda. E nosso objetivo é dar condições para que cada um se desenvolva.
O grande desafio de ser tutor é o da diversidade. Nós somos responsáveis por orientar vários projetos diferentes dentro de um mesmo cronograma, com participantes de origens e conhecimentos diversos. No caso do Campus Mobile, praticamente tudo isso é feito à distância.
Para mim, estas condições reforçam o papel de orientação dos tutores. Além do fato de não termos nenhuma autoria nos projetos, o compromisso do programa é possibilitar a cada um dos participantes aprimorar seus conhecimentos, é mostrar novas possibilidades, é questionar, é propor alternativas, enfim, é orientar.
terça-feira, 6 de março de 2012
Da (ir)responsabilidade social
Li um texto muito interessante no Blog do Sakamoto, sobre responsabilidade social:
Em ano de Rio+20, o verde lava mais branco
Eu sempre julguei ter um certo preconceito com esse lance de responsabilidade social, mas lendo o argumento dele, meio que reforço meu pensamento.
Parte do cotidiano de trabalho moderno é mostrar resultados, parte é fazer os resultados disponíveis parecerem extraordinários. Eu tenho a impressão de que isto é mais acentuado no mundo "corporativo", onde as empresas dependem muito da imagem de seus próprios resultados. No caso da responsabilidade social, toda grande empresa vai querer afirmar que pratica a tal da responsabilidade.
O Sakamoto apontou uma diferença nos tipos de ações normalmente chamadas de responsabilidade social. Uma coisa é o investimento social privado, outra coisa é ser socialmente responsável. Investir em creche, ou ajudar instituições de caridade, é investimento social privado. Investir na formação de pessoas, ou capacitar comunidades carentes para ter autonomia financeira, é investimento social privado. Não há dúvidas de que ações como estas fazem bem para a imagem de uma empresa.
E quanto a analisar/prever/minimizar os impactos causados pela própria organização? Isso sim é ser responsável. Isso sim mostra o quanto uma organização se preocupa com a sociedade na qual está. Um exemplo desta preocupação seria garantir que os processos produtivos não geram efeitos colaterais nocivos, como trabalho "escravo", desastres ambientais, corrupção ativa ou grilagem.
Pode parecer meio absurdo um comentário assim, mas vira e mexe a gente fica sabendo de roupa fabricada em condições degradantes sendo vendida normalmente. Por isso, concordo com o Sakamoto: responsabilidade social é muito mais que investir em projetos sociais.
sábado, 1 de outubro de 2011
Diversidade e programação
Ontem começou a Pycon Brasil 7. Momento de rever colegas da comunidade e aprender truques legais, sem dúvida. O pessoal prometeu colocar vídeos e slides das apresentações à disposição. Assim que souber de novidades, passo o link.
Me chamou a atenção uma palestra do Steve Holden, da Python Foundation, sobre comunidade. Dentre as várias coisas que ele falou sobre manter uma comunidade funcionando bem (sim, é subjetivo mesmo), ele tratou sobre diversidade. Aliás, muitas das coisas tratadas na palestra dele eu abordei no meu texto de mestrado :).
De qualquer forma, achei muito legal como a comunidade python internacional aborda a diversidade. Eles criaram até um parágrafo para tratar do assunto. Além disso, ele mostrou um levantamento da composição da comunidade em si, indicando a presença baixa de mulheres. Abaixo, inclusive, dos números da indústria. A partir disso, ele propõe estabelecer como meta uma participação feminina parecida com a da indústria para os próximos anos. E ele espera ser apoiado pelos outros membros da comunidade, claro.
Na verdade, o assunto me levou a refletir o quanto a comunidade python brasileira é diversa, que é uma pergunta difícil de responder sem dados concretos. Uma observação no evento em si permite afirmar que há poucos negros e poucas mulheres, por exemplo, mas nada que chegue a ser exclusividade desta comunidade em particular. Pessoalmente, considero essa uma boa meta a ser cumprida, pois acredito na diversidade como um meio para expandir os horizontes, neste caso.
Sendo assim, me pergunto: como aumentar a diversidade da comunidade? E, por este motivo, fui falar com ele hoje à tarde. Dá,para imaginar que ele não tem a resposta, mas tem algumas ideias, cujo cerne é criar privilégios diferenciais. Exemplo do próprio Steve: baixar preço de inscrições em eventos para mulheres. Ou incentivar grupos como PyLadies.
Vamos ver no que isso vai dar.
segunda-feira, 26 de setembro de 2011
Menu de navegação horizontal
Para começo de conversa, as implementações desse tipo de menu usam listas (tag
ul e li) com atributos de estilo para tornar a listagem horizontal. Pode ser display: inline ou float: left. O código fica assim:HTML:
E o CSS para deixar horizontal pode ser:
ou
Aí podemos colocar a imagem para a listagem com o atributo
list-style-image e colocando a URL da imagem:Mas isso só funciona para o
float: left, tá?Agora o pulo do gato: cada navegador coloca um espaçamento diferente do lado esquerdo desta nossa imagem! Qual propriedade ajusta isso? Nenhuma!
Contornei este problema usando esta mesma imagem como fundo do elemento de lista e ajustando o espaçamento do lado esquerdo (
padding-left) com o mesmo tamanho da imagem de fundo. O código final ficou assim:Atualização: coloquei os códigos nos meus Gists do Github para colocar aqui. Temos destaque de sintaxe, agora!
sábado, 3 de outubro de 2009
Brincando com o Django
Enfim, o fato é que usamos Django para implementar o sistema de submissão de projetos, avaliação e outras partes internas de gerenciamento. Por motivos de políticas de acesso, em diversos momentos precisamos de campos exibidos com uma permissão de "somente leitura" dentro do sistema Admin.
Pesquisando um bocado por aí, conclui que deveria criar um campo específico para este fim e usar nos formulários conforme precisássemos. Aí vai a minha ideia:
- Criar um arquivo "fields.py" (no meu caso, ele já existia)
- Inserir o trecho de código a seguir
- Usar os campos "ReadOnly" em formulários como qualquer outro Field do Django
from django.utils.encoding import force_unicode
from django.utils.safestring import mark_safe
class ReadOnlyWidget(forms.Widget):
def render(self, name, value, attrs=None):
if value is None: value = ''
if value != '':
# usa necessariamente Unicode
value = force_unicode(value)
return mark_safe(u'' % value)
class ReadOnlyField(forms.Field):
widget = ReadOnlyWidget()
class ReadOnlyChoiceField(forms.ModelChoiceField):
widget = forms.Select(attrs={'disabled':'true'})
O ReadOnlyField pode ser usado para campos "normais"; os que estabelecem relacionamento do tipo ForeignKey, devem usar o ReadOnlyChoiceField. O primeiro exibe o valor armazenado usando a tag HTML "label" e o segundo exibe um "select" desabilitado.
Faça bom proveito e deixe seus comentários!
domingo, 26 de julho de 2009
Em terras estrangeiras
Diga aí o que achou!
terça-feira, 7 de outubro de 2008
Participação Especial: BBC
BBC - Radio - Podcasts - Digital Planet: "How digital technology affects our lives around the world."
e outra matéria, por escrito, desta vez.
Nave Mário Schenberg no tubo!
Há uma versão em alta definição também.
domingo, 16 de março de 2008
Pós Febrace
A Febrace é uma feira de Ciências e Engenharia na qual estudantes (do último ano do Ensino Fundamental ao Ensino Médio) do Brasil inteiro apresentam seus projetos e estudos. Eles são avaliados por especialistas na área do projeto (geralmente mestres ou doutores professores de universidades). Há diversos prêmios na feira, entre eles a escolha de projetos para uma feira internacional, a ISEF. O trabalho é árduo, mas é bem legal ver o resultado. Na verdade, a Febrace (bem como outras feiras de Ciências) traz(em) à tona o prazer de buscar o conhecimento, que é justamente o princípio das Ciências, querer saber mais ;)
terça-feira, 19 de fevereiro de 2008
Campus Party
sexta-feira, 21 de dezembro de 2007
Entrevista com David Cavallo e um pouco mais
A entrevista está legal e tudo mais, mas não vai fundo na questão da licitação do UCA, vencida pela Positivo. Ao invés disso, David critica a política de desenvolvimento do governo, tentando investir em fabricação/produção e não em projetos de Pesquisa e Desenvolvimento em Engenharia, onde está a inteligência da coisa toda. No caso específico do projeto UCA, esses investimentos até existiram no ano de 2007, mas foram bastante modestos comparados às possibilidades. Além disso, o foco da pesquisa tecnológica foi em testes. Como um mero engenheiro, acho que havia mais a ser explorado nesse sentido.
Para dizer a verdade, nunca soube distinguir claramente as responsabilidades de Estado e as da iniciativa privada. Em pesquisa e desenvolvimento, a iniciativa privada é talvez até mais importante que o Estado. Pelo menos dentro das premissas do capitalismo neo-liberal, eu acho. Por outro lado, quando o assunto é Educação, a participação do Estado é fundamental. Aí vem a dúvida: pesquisa em tecnologia na Educação fica na mão de quem? Se eu encontrar uma resposta menos confusa, eu publico. Se você tiver uma, comente aqui, por favor.
quarta-feira, 19 de dezembro de 2007
Enquanto isso no pregão...
É bastante provável que eles vendam o Classmate. Se for isso, não acho a melhor das opções, o Classmate não tem uma proposta educacional do porte do OLPC-XO. De repente, se for possível instalar o Sugar nele, até dá uma melhorada...
Confesso que estou surpreso com o resultado, não esperava ver o preço da OLPC superado por alguém. Tudo bem, o pregão estipula atendimento, entrega e garantia, mas o fato de haver lucro "mínimo" na fabricação pareceu-me um fator bastante favorável à queda do preço final. Engano meu, pelo jeito; a logística ou algum outro fator deve ter mais peso que a própria produção.
Bem, a Positivo venceu, mas isso não quer dizer que o Governo Federal vai comprar. A licitação pode ser revogada caso os preços não caiam. No encerramento, o pregoeiro disse o seguinte: "... pedimos ao licitante que apresentou o melhor lance que adote as providências de sua competência que lhe permita revisar os seus custos, de forma a ofertar preço compatível com a meta prevista pela Administração, pois o valor do último lance não permite a Adjudicação. Obrigado!"
É esperar para ver.
terça-feira, 18 de dezembro de 2007
Pregão do UCA
Vou ter que esperar para saber mais...
quarta-feira, 5 de dezembro de 2007
Mobile Fest
Os XO não estarão sozinhos lá: Irene Ficheman irá compor uma mesa para discutir o tema "A tecnologia móvel como ferramenta de educação e transformação" neste dia 5. Ou seja, dá-lhe UCA ;). Uma pequena observação, a Irene é minha "chefe" no laboratório e está concluindo seu doutorado em tecnologia na Educação.
Embora a Mobile Fest dure até dia 6 de dezembro, os laptops ficarão expostos até o dia 6 de janeiro do próximo ano. Se você tiver condições de ir, recomendo, mesmo sabendo que minha opinião é suspeita...
segunda-feira, 3 de dezembro de 2007
PyConBrasil 3
Enfim, propusemos duas participações: uma palestra e um treinamento. O treinamento ("desenvolvendo atividades para o OLPC-XO") não foi como esperávamos, o público participante não era composto por programadores; mas foi muito legal mesmo assim. A palestra foi na manhã do sábado, último dia do congresso. Nela, falei um pouco das experiências com o XO em São Paulo, dando uma visão geral (e superficial, apenas) do projeto UCA. O que isso tem a ver com Python? Hehehe, o ambiente gráfico do XO (batizado de Sugar) é feito em Python... ;)
Assista e se divirta.
Essa foi minha primeira palestra; logo, deixei de falar algumas coisas e não respondi tão bem quanto poderia. Valeu a experiência, de qualquer forma. Caso não consiga visualizar o vídeo acima, tente pelo link.
ps: é bem estranho se ver num vídeo, né?