Mostrando postagens com marcador Dicas. Mostrar todas as postagens
Mostrando postagens com marcador Dicas. Mostrar todas as postagens

quarta-feira, 21 de maio de 2008

Atualização de segurança do SSH

É bastante comum ter de usar SSH para fins de desenvolvimento; às vezes você programa em uma máquina e precisa testar em outra, e o SSH ajuda bastante nisso. Há algum tempo atrás, foi anunciada uma falha de segurança no OpenSSH, nas distribuições baseadas no Debian (como Ubuntu e Knoppix).

Para quem tem conta no repositório da OLPC, é preciso mudar a chave autorizada. Não se espante também com a mudança de chave do próprio servidor. O que você precisa fazer é:
  • Gerar uma chave SSH2 RSA:
    • $ ssh-keygen
  • Acessar o servidor dos desenvolvedores:
    • $ ssh voce@dev.laptop.org (aqui você ainda usa a chave antiga)
    • Nessa parte, é possível que apareça uma mensagem avisando sobre a mudança de chave do servidor, então apague a entrada no arquivo ~/.ssh/known_hosts (na sua máquina!)
  • Abrir o arquivo ~/.ssh/authorized_keys (no servidor!)
  • Adicionar a sua nova chave pública e remover a antiga (aqui é só copiar e colar o texto da chave pública mesmo)
Desconecte tudo deverá estar normal.

sexta-feira, 4 de abril de 2008

OLPC Game Jam Brasil 2008

Esse blog ainda meio parado há um bom tempo.
Não sei se isso é um bom sinal, porque estamos com muito trabalho a fazer ou um mal sinal... Mas enfim...
Estou postando para avisar a todos que ocorrerá mais uma versão do Game Jam Brasil. Dessa vez vai acontecer em Porto Alegre (na PUC-RS) no dia 18/04 e será durante o FISL 9.0 (Fórum Internacional do Software Livre).

Para ver mais informações e se inscrever basta entrar em http://wiki.laptop.org/go/Game_Jam_Brasil/2008

A gente se encontra lá em Porto Alegre. Até mais!

sexta-feira, 23 de novembro de 2007

o projeto esteve na televisão

Ontem, a profa Roseli de Deus Lopes foi entrevistada no programa do Jô. A entrevista foi bastante interessante; para assistir basta clicar aqui.

sexta-feira, 22 de junho de 2007

Adobe Flash Player

Hoje precisei instalar o Flash Player da Adobe no XO. Fui seguir o tutorial que está na wiki do laptop e não deu certo... Por isso, to postando aqui como se instala (depois vou atualiza lá na wiki também) o Flash Player...

1) Baixar o Flash Player no link: http://linuxdownload.adobe.com/adobe-release/adobe-release-1.0-0.noarch.rpm
2) Na linha de comando, entre na pasta na qual você baixou o pacote e digite:
rpm -i nome_do_pacote
yum install flash-plugin

É isso ai...

segunda-feira, 11 de junho de 2007

Acessando seu XO do seu Desktop

Bem, sei que isso não chega a ser uma novidade, mas é um problema que surgiu aqui no laboratório. Explico: os XO estão conectados em uma rede Wifi, que é isolada pelo firewall do ponto de acesso.

Nosso roteador Wifi impede a transmissão de pacotes da rede dos computadores Desktop para quem estiver na rede sem fio, funcionando efetivamente como um NAT. Funciona como a relação entre seu computador e a Internet: você enxerga o Google, mas o Google não te enxerga. Não é possível mudar essa configuração nele, então, a saída é criar um túnel entre o XO e o Desktop.

O túnel que criei aqui foi feito via ssh, disponível nas maquininhas. A idéia é conectar o XO ao Desktop via ssh e fazer esta conexão habilitar uma no sentido contrário. Bem, vamos aos comandos:

- no XO:
[olpc@xo-00-CB-A7 ~]$ ssh -R 7777:localhost:22 -l seu_usuario_no_desktop IP_DO_DESKTOP

A opção -R é responsável por fazer o serviço do túnel remoto. Em seguida, vem a configuração do túnel, que redireciona as conexões na porta 7777 para a 22 do XO. Claro, ao invés de 7777, poderia ser qualquer outra porta. A opção -l é para indicar o usuário e, depois, o IP do seu Desktop.

Um detalhe, seu usuário olpc no XO vai precisar de uma senha. Se você ainda não colocou uma, digite:
[olpc@xo-00-CB-A7 ~]$ passwd
e escolha uma senha.

- no Desktop:
alexandre@edulivre08:[~]$ ssh localhost -p 7777 -l olpc

O comando acima é equivalente a fazer uma conexão localmente na porta 7777 como usuário olpc. Voilà! É isso. Você pode acessar seu XO do seu Desktop. Obviamente, você não precisa dessa ginástica no caso de já enxergar o laptop na sua rede. Neste caso, bastaria um ssh normal.

Espero que seja útil para vocês.

sexta-feira, 18 de maio de 2007

Vários assuntos

Olá a todos os leitores do blog

É a minha 1ª postagem aqui no blog, quase ninguém deve saber quem eu sou, então vou fazer uma breve apresentação...
Sou a Nathalia, estou no 3º ano de engenharia de computação na Poli-USP e trabalho como estagiária no Nate (LSI).

Primeiramente, vou deixar aqui o link que o Alexandre passou. É uma crítica contra o projeto do OLPC de um professor do IME-USP. É bem extenso, mas vale a pena! Pelo menos para abrir a mente e ver o outro lado, os argumentos contra e tal. Ah, o link:
http://www.ime.usp.br/~vwsetzer/um-laptop-por-crianca.html

Outra coisinha para se pensar... Vai rolar um tal de Game Jam lá nos EUA, que é um evento voltado ao desenvolvimento de jogos para o XO. Olhem só:
http://hackronym.com/olpc/gamejam/
http://wiki.laptop.org/go/GameJam

Através de umas conversas iniciadas pela lista do OLPC-Brasil acabei conhecendo um tal de Roberto Fagá lá da USP-São Carlos e ele está com umas idéias bem legais. Ele entrou em contato com um pessoal de lá do Game Jam e parece que dá para rolar uns esquemas de algumas pessoas participarem aqui do Brasil usando uma web can. Tem mais alguém interessado??? Favor, manifestem-se...
Outra idéia dele foi de nós brasileiros organizarmos o mesmo evento aqui no Brasil... E ai o que acham???

Aproveitando para dar uma notícia para quem não acompanha muitos as listas de desenvolvimento de games: parece que tá quase certo que o Pygame (ahn? http://www.pygame.org ) vai ter uma versão para o XO mesmo. Já estam trabalhando nisso:
http://wiki.laptop.org/go/PyGame_Implementation

Acho que só isso por hoje!

terça-feira, 8 de maio de 2007

IRC Logger

Opa, e ai pessoal , está é minha primeira vez no blogger (e em qualquer blogger), e vou comentar um pouco sobre um logger que criei, em python, com ajuda do pessoal aqui do NATE para armazenar as mensagens do nosso canal no IRC (#olpc-brasil no channel FreeNode).
Bem inicialmente o Rafael Barbolo me passo um código com a base de como conectar num servidor IRC, que foi encontrado em:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/299411/index_txt

Entretando este criava um arquivo em modo texto (txt) que não é muito completo, claro. Então comecei a elaborar algumas modifições para que o arquivo salvo fosse em html.

Para isto simplesmente criei um cabeçalho, aonde é definido o nome da página ([head]), e aonde outras futuras informações podem ser alteradas (cor de fundo, imagem de fundo, e até mesmo o layout da página).

No corpo do texto ([body]), decidimos que seria muito interessante que cada usuario possuíse uma cor, para deixar mais claro quem falou. Para isso criamos um dicionário, que armazenaria uma cor, definida em uma tupla "circular", à um nick_name (apelido). Esta atribuição inicialmente era feita ao usuario efetuar o login no IRC, entretando limitava o código para que o logger SEMPRE fosse o primeiro usuário, senão o programa dava KeyError.
Isto foi facilmente resolvido com o uso da exceção KeyError (óbvio :D), onde seria mais interessante atribuir esta cor ao usuário apenas quando o mesmo enviasse mensagens e se já não houvesse Cor relacionada a este.
Também foi incluído o momento do envio da mensagens através da biblioteca time.

Após esta modificações restavam duas coisas: finalizar o código HTML ([/body][/html]) e enviar o arquivo para um servidor ftp.

Bem a parte de finalizar o código foi feita, inicialmente, através de uma exceção (ow coisinha util viu) KeyboardInterrupt, onde ao se finalizar o programa (com ctrl-C) este finalizaria o HTML terminando assim o log.

Já para enviar o arquivo utilizei como base um arquivo encontrado em:
http://snippets.dzone.com/posts/show/711

Assim ao se finalizar o programa o código era finalizado e já enviado ao servidor, porém achei mais interessante fazer estas duas ultimas ações como um outro processo, assim criei um arquivo send.py.

EDITED: Consegui automatizar a rotina de upload, melhorei o layout da pagina e as cores que são atribuidas aos usuarios, também implementei o replace para mudança dos > e < para não interpretar o html e não sumir os códigos que sejam semelhantes a HTML.

a seguir o código do ircLogger.py:




import socket, string, sys, ftplib, time, datetime, os

#some user data, change as per your taste
SERVER = 'irc.freenode.net'
PORT = 6667
NICKNAME = 'logging_bot'
CHANNEL = '#olpc-brasil'

#open a socket to handle the connection
IRC = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#open a connection with the server
def irc_conn():
IRC.connect((SERVER, PORT))

#simple function to send data through the socket
def send_data(command):
IRC.send(command + '\n')

#join the channel
def join(channel):
send_data("JOIN %s" % channel)

#send login data (customizable)
def login(nickname, username='user', password = None, realname='Logger do Canal', hostname='????', servername='Server'):
send_data("USER %s %s %s %s" % (username, hostname, servername, realname))
send_data("NICK " + nickname)

#for entering more colors to the program see http://www.w3schools.com/html/html_colornames.asp
color = ('#483D8B', '#FF0000', '#00AA00', '#0000FF', '#FFD700', '#A52A2A', '#FF00FF', '#A0A0A0', '#FF8C00')
i=0 #variable to count between colors
nameC={} #declares dictionary for Colors of Nicknames

irc_conn()
login(NICKNAME)
join(CHANNEL)

def makeHeader(): #make the HTML header
filehtml = open('msg.html', 'a+') #open afile to store the messages
filerd = open ('msg.html', 'rb')
if string.find(filerd.read(),'[html]')!=0: #verify if header is alread there
filehtml.write('[html]'+'\n'+ \
'[head] \n [meta http-equiv="Content-Type" content="text/html; charset=UTF-8"]' + '\n' + \
' [title]Log do IRC olpc-brasil[/title]' + '\n' + \
'[/head]' + '\n' + \
'[body bgcolor="#F5F5F5"]' + '\n' + \
'[p][h1] Log do IRC do dia ' + str(datetime.date.today()) +' [/h1][/p]\n' )

filehtml = open('msg.html', 'a+')
makeHeader()
recTime = time.time()

while True:
nowTime = time.strftime("[ %H:%M:%S ] ", time.localtime())

if time.time() >= recTime+60*60*24: #if has passed 24 hours than the last updat
#send routine then wait
date = str(datetime.date.today())+'.html'
print 'Connecting...'
s = ftplib.FTP('ftp.br.geocities.com','olpcbrasil','****') # Connect
filehtml = open('msg.html','a+') # file opened to finish html and to send
filehtml.write('[/body]' + '[/html]') #finish html on file
filehtml.flush()
print 'Uploading...'
fileSend = open ('msg.html' , 'rb')
s.storbinary('STOR %s' % date, fileSend) # Send the file
os.system("rm msg.html") #remove the previous log
filehtml = open('msg.html','a+') #start the new log
makeHeader();
print 'Operation Finished!'
recTime = time.time()
time.sleep(5)

try:
buffer = IRC.recv(1024)
except KeyboardInterrupt:#verify the end of file (ctrl-C)
filehtml.close()
#print 'Type "python send.py" to Upload this LOG to server'
print 'Program Terminated'
sys.exit(0)
msg = string.split(buffer)
print msg
if msg [1] == 'PRIVMSG':
print 1
nick_name = msg[0][:string.find(msg[0],"!")] #if a private message is sent to you catch it
message = ' '.join(msg[3:])
if nick_name != ':freenode-connect': #cancel first msg who comes from IRC
try:
nameC[nick_name]
except KeyError:
if i==9:
i=0
nameC[nick_name]=color[i]
i+=1
textMsg=string.lstrip(message, ':')
textMsg=string.lstrip(message, ':').replace('<','<').replace('>','>') #to not interp html texts
filehtml.write('[font color='+nameC[nick_name]+']' +nowTime\
+ string.lstrip(nick_name, ':')+ ' -> [/font]' + textMsg + '[br]' + '\n' )#write to the file
filehtml.flush() #don't wait for next message, write it now!

elif msg[1] == 'QUIT':
nick_name = msg[0][:string.find(msg[0],"!")]
message = ("saiu do canal")
filehtml.write('[font color="red"]' + nowTime + string.lstrip(nick_name, ':') + \
' -> ' + message + '[/font]' + '[br]' + '\n') #write to the file
filehtml.flush() #don't wait for next message, write it now!
try:
del nameC[nick_name]
except KeyError:
print 'User dont have color because he not send any msg'

elif msg[1] == 'JOIN':
nick_name = msg[0][:string.find(msg[0],"!")]
message = ("entrou no canal")
filehtml.write('[font color="green"]' + nowTime+ string.lstrip(nick_name, ':') + \
' -> ' + message + '[/font]' + '[br]' + '\n') #write to the file
filehtml.flush() #don't wait for next message, write it now!



Os códigos podem ser encontrados tbm em:
br.geocities.com/olpcbrasil/ircLogger.txt e
br.geocities.com/olpcbrasil/send.txt

OBS: As tags do HTML estão entre [] pois o blogger interpreta os comandos em <>

sexta-feira, 27 de abril de 2007

Novo canal de comunicação

O Juliano (da UFRGS) e o Luiz Irber (da UFSCar) criaram um novo canal IRC para os desenvolvedores brasileiros. O canal é o #olpc-brasil e o servidor é irc.freenode.net. É o mesmo servidor usado pelo pessoal da OLPC internacionalmente, então, você poderá falar com eles também, usando o canal #olpc.

Eu deverei estar por lá bastante tempo... meu apelido é alemartinazzo.

Bom feriado!

Mais um vídeo

A Red Hat Magazine lançou na última quarta mais um vídeo da saga OLPC. O vídeo encontra-se em:
http://www.redhatmagazine.com/2007/04/25/inside-one-laptop-per-child-episode-02/

Divirta-se!

quarta-feira, 25 de abril de 2007

Mais um vídeo

Há um outro vídeo (também feito pela Red Hat Magazine) sobre o XO. Ele trata mais da concepção do projeto e dos recursos do XO. Ele foi publicado um pouco antes do outro que o Rafael postou... este seria uma espécie de episódio zero da saga.
Lá vai o link:
http://www.redhatmagazine.com/2007/02/20/up-close-with-the-one-laptop-per-child-xo/

sexta-feira, 20 de abril de 2007

Dicas de Vídeos para o fim de semana

A Joyce nos indicou um vídeo que explica todo o projeto tecnológico por trás dos XO. É uma das palestras TechTalks do google. O palestrante é o Ivan Krstić, responsável entre outras coisas pelos conceitos de segurança por trás dos laptops.
http://video.google.com/videoplay?docid=-4285568518538296189

Outro vídeo interessante é o vídeo feito pelo LEC da UFRGS da sala de aula que eles montaram com os XOs
http://www.youtube.com/watch?v=fRpCmV5zHYo

Os dois próximos vídeos são dicas do Alex. Eu vi uns pedaços deste no micro do Alex no LSI e achei muito bacana. É um vídeo feito pela equipe do EstudioLivre.org no FISL 8.0. Vale a pena conferir.
http://estudiolivre.org/el-gallery_view.php?arquivoId=3653

Eu deixei o melhor vídeo para o final, ele foi feito pela própria equipe da OLPC. Acho que todo desenvolvedor de qualquer aplicativo para os XOs deveria ver este vídeo antes de escrever uma linha de código que seja. Nele nós vemos quem são os GRANDES, mas grandes mesmo, por trás do projeto. E como eles são simples, trabalhadores e apaixonados pelo que fazem. Vou até sugerir para que nós, desenvolvedores do Brasil, façamos um vídeo parecido. Quem sabe o Américo, o pessoal da UFSCAR, do LEC, do LSI e tantos outros não podemos fazer um vídeo destes. Aliás, parece que o Alex Martinazzo, nosso grande amigo, vai aparecer na próxima edição destes vídeos do OLPC Team, certo Alex?
http://www.redhatmagazine.com/2007/03/23/inside-one-laptop-per-child-episode-one/

Enfim, eu gostei muito de todos estes vídeos e estou compartilhando com todos os amigos desenvolvedores.
Bom fim de semana e bom cinema para todos!