Segunda-feira, 30 de Agosto de 2010

 

Há uma sala nova cá no SAPO; tão nova que ainda nem tem tudo o que é suposto ter.

 

O acesso é reservado; é uma sala de refúgio para a equipa técnica.

 

Geek Room poster

 

Serve para ler um livro.

 

Livros

 

Serve para ter discussões técnicas.

 

Precision

 

Serve para fazer apresentações.

 

Publicidade Digital, por João Pedro Gonçalves

 

Serve para ver apresentações online.

 

Ted Live

 

Serve para relaxar um pouco.

 

Serve para muita coisa.

 

Wii e outras coisas interessantes

 

Já lá estão a Arcade, a Wii, o sistema de vídeo e áudio, o armário com os livros que não estão em uso e mais uma série de coisas engraçadas.

 

Caixa do Spacebits

 

A vista da sala também é agradável.

 

Vista da geek room

 

Nas próximas adições à sala prevêem-se uma mesa com material de soldadura (osciloscópio incluído) e alguns plasmas para efeitos diversos.



publicado por jac às 10:00
link do post | comentar | ver comentários (4) | adicionar aos favoritos |

Segunda-feira, 23 de Agosto de 2010

O Dovecot 2.0.0 já foi lançado.

 

Entre outras coisas, esta versão traz melhoramentos a nível do formato dbox (estabilidade) e suporta o novo formato mdbox, que servem como suporte para uma funcionalidade muito aguardada: guardar apenas uma instância de cada attachment.

Sem uma funcionalidade como esta, basta uma pessoa enviar um vídeo de 2 megabytes para 20 pessoas que também têm conta no SAPO Mail e de repente há um gasto desnecessário de 38 megabytes.

Tendo em conta que o serviço tem mais de 1 milhão de contas activas, qualquer estimativa que se faça atinge valores interessantes.

Para além do ganho de espaço em disco que esta funcionalidade representa vai ser também um prazer para nós poder partilhá-la com a comunidade.


O SAPO tem um grande apreço por este projecto.

E não somos os únicos.

Nessa thread, várias pessoas aproveitaram já para congratular a equipa (de uma pessoa) e agradecer o trabalho desenvolvido ao longo destes anos. Muitos chegam a descrever a situação antes de migrarem para Dovecot.



publicado por jac às 11:04
link do post | comentar | adicionar aos favoritos |

Quarta-feira, 4 de Agosto de 2010

Tem hoje início a YAPC::EU::2010, a maior conferência de Perl a nível Europeu.

 

Durante 3 dias, centenas de programadores de Perl encontram-se em Pisa, Itália, para mais de uma centena de apresentações e muita troca de ideias.

 

As palavras chave para este ano incluem Catalyst, CPAN, bases de dados, Git, LaTeX, Moose, MySQL, performance, Perl 5.12, Perl6, Rakudo, testes e Web.

 

pelo menos 6 10 portugueses presentes, 4 deles colaboradores do SAPO.



publicado por jac às 10:00
link do post | comentar | adicionar aos favoritos |

Segunda-feira, 2 de Agosto de 2010

Em Fevereiro tornamos público um problema que foi usado nas entrevistas no SAPO durante 2009.

O problema, orientado a candidatos com um background forte em ambientes Linux/UNIX, consistia no seguinte:

"Encontras-te sozinho num Data Center e tens que resolver este problema sem recurso a meios exteriores (nada de telemóvel, nada de internet; o objectivo é resolveres tu o problema). Tens um servidor que não pode ir abaixo. Nessa máquina, alguém teve a brilhante ideia de executar um `chmod -x chmod`. Resolve o problema."

O primeiro ponto a apontar é o objectivo deste problema.

O objectivo não é avaliar se o candidato consegue resolver a situação, mas sim a sua reacção. O ideal seria um misto de excitação, pânico e um olho a saltar fora.

A pergunta serve, no entanto, para avaliar o conhecimento que a pessoa tem sobre estes sistemas e a capacidade de improviso/imaginação.

Durante alguns meses, a cada 3 entrevistas em que usávamos este problema, surgia uma resposta nova.

Hoje vamos abordar algumas delas.

Começamos por soluções que não se aplicam às circunstâncias descritas, como tirar o disco e levá-lo a outra máquina que ainda tenha o chmod operacional.

De seguida, partimos para outras soluções curtas e viáveis:

perl -e 'chmod 0755, "chmod"'

python -c "import os;os.chmod('testing', 0777)"




Algumas soluções semelhantes mas com ligeiras nuances:

cat /bin/chmod > new_executable

tar --mode 555 -cvf - chmod | tar xvf -

echo chmod | cpio -o | perl -pe 's/^(.{21}).../${1}755/' | cpio -i -u

 

Depois começam a surgir soluções que são dependentes da distribuição:


E há mais (getfacl, setfacl, chflags, etc.), cada uma mais inovadora que a anterior (como um `alias chmod='/lib/ld-2.11.1.so /bin/chmod`, ou o exemplo mais abaixo).


Convém neste ponto explicar o que se sucede quando se coloca uma questão destas numa entrevista.

A interacção em torno deste problema não se cinge a uma pergunta e uma resposta, mas sim à exploração do conhecimento e capacidade inventiva da pessoa.

Eis um exemplo baseado numa entrevista verídica:

Candidato - Tenho perl na máquina?

Entrevistador - Tens.

C - Então uso o chmod do perl, que é built-in!

E - Certo. Agora vou-te tirar o perl da máquina.

C - Hum... Tenho cc?

E - Tens.

C - Então posso fazer um programa em C que usa a system call do chmod para alterar as permissões ao chmod.

E - Certo. Agora vou-te tirar o compilador.

C - Hum... Disseste que não tenho acesso à net, mas não disseste nada sobre os outros servidores no Data Center. Abro um socket para outro servidor, faço um tar do chmod de lá preservando as permissões, trago-o para a máquina a faço untar.

E - Certo. Agora vou-te tirar as outras máquinas do Data Center.

C - OK... Bem, posso sempre lançar a BusyBox, que deve estar na máquina e que tem o chmod lá dentro!

E - OK, mas agora vamos-te tirar a BusyBox. Consegues arranjar outra maneira de resolver o problema?

[o candidato pensa um pouco, olha para cima e fala como se estivesse a falar consigo próprio]

C - Eia... Esta é mesmo rabuscada... Faço um attrib ou um ls extendido para forçar o inode para a cache; agora só tenho que editar o inode que está em cache sem que o kernel se aperceba, e posso usar o sed para isso, desde que seja root; vou ao kcore procurar as estruturas do VFS e altero-lhe o bit de execução; vou é ter que ler documentação; depois é só usar o chmod para lhe repor as permissões.


[breve pausa para recuperarmos]


(já agora, e a título informativo, o candidato do texto acima encontra-se hoje em dia a trabalhar no SAPO)


Para além de todas estas (e outras) soluções (e tentativas de solução) que nos foram aparecendo, surgiram também alguns comentários interessantes como:

- Resolver o problema? Qual problema? A máquina continua a funcionar!

 

E questões como:

- Mas porque raio é que a bin de um servidor estava writable?



publicado por jac às 10:00
link do post | comentar | ver comentários (1) | adicionar aos favoritos |

Autores
pesquisar
 
Janeiro 2012
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6
7

8
9
10
11
12
13
14

15
16
17
18
19
20
21

22
23
24
25
26
27
28

29
30
31



follow saposessions at http://twitter.com
posts recentes

Integração do Blog de Dev...

Vídeos da LXMLS

Evento HTML5 PT - 3 de No...

Prémios SAPO 2011

Extensão de prazo de subm...

Candidaturas SAPO Labs

Portuguese Perl Workshop

16 anos

Fun with Dead Languages -...

CPA 2011

arquivos

Janeiro 2012

Dezembro 2011

Outubro 2011

Setembro 2011

Agosto 2011

Julho 2011

Junho 2011

Maio 2011

Abril 2011

Março 2011

Janeiro 2011

Outubro 2010

Setembro 2010

Agosto 2010

Julho 2010

Junho 2010

Maio 2010

Abril 2010

Março 2010

Fevereiro 2010

Janeiro 2010

Dezembro 2009

Novembro 2009

Outubro 2009

Setembro 2009

Agosto 2009

Julho 2009

Junho 2009

Maio 2009

Abril 2009

Março 2009

Fevereiro 2009

tags

todas as tags

últ. comentários
Boas, Apesar deste post já ser um pouco antigo gos...
Por sinal já foi desenvolvido e encontra-se neste ...
A informação que faltava está agora aqui: http://d...
A informação já está aqui: http://developers.blogs...
Boas,Onde é que isto vai ser? Há algum critério pa...
blogs SAPO
subscrever feeds