terça-feira, 21 de dezembro de 2010

3 anos deste blog

Este blog fez 3 anos. Não vamos lançar fogo de artifício nem abrir Champagne, mas não deixaremos passar a ocasião sem uma breve nota.

Começámos a 12 de Dezembro de 2007 com o objectivo de ter um meio de comunicação mais informal para interacção com a comunidade Open Source. A Angulo Sólido, enquanto entidade com fins lucrativos, não se esquece da comunidade que lhe deu (quase) todas as ferramentas que tem e por isso mesmo faz questão de partilhar com todos algum do conhecimento acumulado ao longo de vários anos de existência.

Ao longo destes 3 anos tem-se investido algum esforço em contribuir com procedimentos, scripts, tutoriais e pontos de vista. É agora altura de fazer um apanhado informal de alguns factos importantes da nossa interacção com a comunidade.

Top ten
Das quase 30 000 visitas que tivemos até agora, o Top Ten dos posts mais populares é o seguinte:

Top ten de páginas
Pageviews Unique Pageviews
The Linspotting project - Linux video editing workflow ready for action 6689 5235
Firefox 3 GTK+ 2.10 horror show - open question to the Mozilla Foundation 3622 3375
Integrating legacy Windows applications on a Linux Desktop environment 1600 1462
Projecto Linspotting - Workflow de edição de vídeo em Linux Caixa Mágica 998 799
Firefox 3 GTK+ 2.10 horror show - community response 946 863
Overunderdoing: patterns in Microsoft's interoperability stance 915 847
Integrating legacy Windows applications on a Linux Desktop environment - II 741 684
Programas eleitorais vs Tecnologia Aberta 727 642
FOSDEM - the hordes 548 482

Agregando alguns temas deste top 10 ficamos com 7687 visitas relacionadas com o projecto Linspotting, 4569 sobre o problema do Firefox 3 + GTK 2.10 e 2341 da temática de integração de aplicações legacy em ambientes Linux. Todos os posts do top 10, à excepção do "Programas eleitorais vs Tecnologia Aberta" foram referenciados por sites internacionais e portanto acumularam visitas de diferentes países.

As nossas escolhas
Fora do Top Ten apresentado acima existem alguns posts que na nossa opinião têm especial interesse. Fizemos uma selecção informal para a comemoração dos 3 anos do blog realçando posts de diferentes categorias.

Para a categoria de política escolhemos

Things have names, changes have reasons

Este post versa sobre a polémica à volta dos zigue-zagues de European Interoperability Framework 2.0, assunto a que voltaremos brevemente.

Para a categoria de (bom ou mau) humor selecionamos

File sharing em Português Suave - artigo de verão

Para a categoria de primeiro de Abril temos

Internet Explorer 6 disponível para Linux e Mac


E para a categoria de irritações crónicas escolhemos

Gente com fibra
Comunicações em Português Suave - artigo de inverno

Browsers e SOs
No que respeita às estatísticas de browsers e sistemas operativos nada faria esperar que este blog andasse perto dos valores de referência de mercado. No entanto, é sempre interessante observar a análise do Google Analytics. O Firefox representa 55% dos acessos e a plataforma Linux 44% dentro dos SOs.

Análise de visitantes por browser

Análise de visitantes por sistema operativo

Temas futuros
Ainda não temos uma agenda definida sobre o conjunto de temas a abordar futuramente neste blog. No entanto se houver alguns temas em especial que a comunidade gostasse ver tratados, estamos sempre receptivos a saber. Até sempre!

sexta-feira, 3 de dezembro de 2010

Normas abertas em discussão na Assembleia da República

No próximo dia 9 de Dezembro a adopção de Normas Abertas nos sistemas informáticos do Estado irá ser debatida na Assembleia da República. Estão em cima da mesa, propostas de 3 partidos: PCP, BE e um projecto de resolução do CDS-PP.

A ESOP tomou posição em comunicado (PT, EN). A notícia foi publicada no Obervatório Open Source da União Europeia (link) e em diversos sites nacionais e internacionais.

Agora que toda a gente fala de "inovação e competitividade" será interessante ver quem está disposto a tomar uma simples medida concreta que nos empurre nessa direcção. A ESOP apresentou uma compilação de afirmações proveniente de alguns dos países mais desenvolvidos da Europa que vale a pena consultar (link).

Neste momento não é ainda conhecido o sentido de voto dos partidos maiores - PS e PSD - mas é importante ter em mente que a adopção das Normas Abertas é uma promessa eleitoral do PS, conforme se pode constatar na resposta enviada à ANSOL antes das últimas eleições legislativas: "O Partido Socialista defende a utilização de Normas Abertas e a interoperabilidade".

quinta-feira, 18 de novembro de 2010

Bridged mode for dummies

Tem-se verificado recentemente da parte dos operadores de telecomunicações uma tendência mal explicada para apresentar aos clientes equipamentos de rede com as configurações bloqueadas, que os impedem de tirar partido de diversas funcionalidades. No que nos diz respeito, a principal funcionalidade perdida nestes casos é o modo bridged, também conhecido como bridged mode.

Este assunto foi abordado num post relacionado com a Vodafone Portugal, referindo-se a um problema agora em vias de resolução. O presente artigo explicará sucintamente a importância da configuração em modo bridged, importância essa que lamentavelmente tem sido esquecida por diversos operadores. Suspeita-se, ainda que sem bases científicas, que haja na génese destas situações mais dedadas de gestores do que de Engenheiros de redes... Seja como for segue-se a justificação detalhada de quem gere largas dezenas de acessos à Internet com equipamento certificado e baixíssima taxa de falhas.

Para começar uma questão conceptual:

O cliente tem direito ao IP público, a fazer dele o que quiser e atribuí-lo ao equipamento que preferir. O IP público é o ponto central de um acesso à Internet. E o modo bridged já existia muito antes de os routers com NAT serem sequer um equipamento banal de consumo. Se o ISP só fornece o IP público amarrado a um equipamento bloqueado está à partida a oferecer meio serviço!

Passando a questões mais práticas que afectam as empresas fornecedoras de TI, ou pelo menos as que se esforçam por prestar serviços que não falham.

1) Uniformidade

Empresas que fornecem serviços de TI têm a sua performance influenciada pela capacidade de efectuar configurações standard com a menor probabilidade de erro humano possível. No entanto, não podem impedir os clientes de escolherem o seu acesso à Internet da forma que o entenderem. É bom de ver que se cada cliente tiver um modelo de router diferente (seja cabo, adsl, fibra, etc) as configurações que possam ser necessárias para acesso remoto (port forwarding, dns dinâmico, etc) não se conseguem uniformizar. Torna-se virtualmente impossível educar uma equipa e cada configuração/modificação torna-se um processo ad-hoc, que pelos riscos inerentes a tudo o que é ah-hoc, obriga a deslocações de pessoal qualificado.

Resultado: sobem os custos e desce a qualidade.

2) Estabilidade

No mesmo cenário referido em 1), se cada cliente tem um modelo de router diferente como se consegue ter garantias de estabilidade? Qual o tempo médio entre falhas do equipamento? Qual o número de ligações TCP simultâneas que consegue gerir sem esgotar a memória?

Sempre que o equipamento falha o telefone toca e diz-nos "não temos Internet" com as óbvias consequências para a nossa imagem e os inaceitáveis procedimentos de "reset ao equipamento".

Resultado: serviço de pior qualidade com comportamento pouco previsível.

3) Funcionalidade

Ainda tendo em mente o cenário anterior, que funcionalidades terá o router entregue pelo ISP? Suporta configurações de QoS? Podem fazer-se ajustes finos nas regras de firewall? Suporta dns dinâmico? Permite ser cliente ou servidor de VPN? Tem watchdog para o reiniciar automaticamente em caso de bloqueio?

Resultado: limitações de performance, de funcionalidade e segurança.

Todos os pontos referidos deixam clara uma coisa: a única forma de prestar serviços de elevada qualidade é ter sempre o mesmo modelo de router IP/ethernet em uso, independentemente do ISP. Para isso é necessário ter o acesso em modo bridged mantendo como único ponto variável o modem, que traduz do nível físico Ethernet para o nível físico da ligação (ADSL, Fibra, Cabo,...).

Assim, e recorrendo à elementar lógica de inversão, concluímos que todo o ISP cujo equipamento não permite funcionamento em bridged é incompatível com a prestação de serviços do patamar de qualidade pelo qual nos nivelamos. Este patamar é o do uptime medido em anos, não em semanas.

Como nota final, antes que comecem a dizer que isto interessa apenas uma pequena percentagem de clientes, refiro apenas que os ISPs deviam amar-nos, receber-nos em passadeiras vermelhas e pôr hospedeiras de mini-saia a servir-nos canapés. Isto porque os clientes que lhes fazemos chegar são aqueles que nunca lhes ligam antes de falar connosco, seja porque razão for. E nós só abrimos avarias quando sabemos exactamente que a falha está do lado do ISP. E quando o fazemos é com um report objectivo (falha de sincronismo, packet loss, ...). Haverá cliente mais rentável do que o que paga todos os meses, só se queixa quando tem razão e quando o faz vai directo ao assunto? Soma-se a isto não ter aplicações P2P ligadas 24/7 a ocupar largura de banda...

Resta portanto saber como se recompensa os melhores clientes: com equipamentos bloqueados! Talvez um dias as coisas mudem. Se o argumento acima não convence talvez a inspiração do nosso especialista em redes favorito possa ajudar ...

quinta-feira, 11 de novembro de 2010

Linspotting FAQ


The Linspotting project had a great overall reception from all over the world. This is both rewarding and motivating. However, since not all sides of the project were entirely understood we leave here a simple FAQ for reference.

1) What is the Linspotting project?
A meta-package for Linux Caixa Magica, a certification, a video editing workflow manual (EN and PT) and a demo video. See the full explanation here.

2) Is the video a commercial for Linux?
No it is not. The video is an ironic view over the way Linux / Open Source works. It's meant for a niche, not for a general audience.

3) "I don't get the message"
The video has quite some subtleties. To fully get it it helps if:

- you've seen Trainspotting (awesome movie...)
- you are familiar with the Linux "ecosystem"

Bonus points, if you understand Portuguese.

4) Can I install "Linspotting" on other Linux distributions?
You want to install Kdenlive not Linspotting. On other distributions you don't get the formal certification of the package set that is needed for a full workflow (kdenlive, mlt, ffmpeg, etc) but Kdenlive should work nicely. There's nothing stopping other Linux distributions from certifying video editing as well.

5) Is Linux / Kdenlive suitable for professional video editing?
Yes.


quarta-feira, 3 de novembro de 2010

Vodafone ADSL - os trapalhões em Portugal




Este blogue é sereno. Não se exalta. Não perde a compostura. Mede as palavras. Chega até a ser politicamente correcto. Disto decorre, como entenderão, o uso da expressão "trapalhões". Atendendo à sua definição, facilmente concordaremos que, se bem que porventura deficitária na intensidade, a palavra tem pelo menos o sentido apropriado.

Como qualificar quem demora semanas para efectuar um processo de 5 minutos? É tentador disparar um "preguiçoso". Mas seria injusto falar de preguiça já que se trata de trabalhar semanas a fio. Os resultados? Esses tardam e por vezes falham.

A Vodafone Portugal decidiu no seu serviço ADSL presentear os utilizadores com um modem bloqueado (Thomson Speedtouch 516v6) que não faz modo bridged, com a configuração de origem. Ora, o modo bridged (absolutamente essencial para quem quer ter routers IP fiáveis e normalizados ao longo de dezenas de clientes independentemente do ISP de cada um) é algo de configuração trivial em qualquer modem/router normal. Mas não para a Vodafone Portugal. Não só o modem não o suporta de origem como o processo de configuração que a Vodafone Portugal propõe é de tal forma anedótico, que por vezes nos interrogamos se será real.

Claro está, que se optarmos por contornar o referido processo configurando em 5 minutos um modem decente (ex: Huawei Smartax MT882) ao primeiro problema que exista na linha a Vodafone Portugal prontamente se descartará de responsabilidades.

Então como funciona o processo que a Vodafone propõe para resolver o problema?

1. ligar o modem à linha
2. enviar um email à Vodafone Portugal solicitando que configure o modem em bridged
3. sleep (24h)
4. aguardar que nos liguem de volta
5. correr um wizard no interface web do modem por sugestão da linha de apoio
6. testar
7. se não funcionar comunicar esse facto à linha de apoio e voltar ao passo 3.
8. done

Sobre este extraordinário cupcake jazem ainda algumas cerejas.

Para começar, nunca ninguém sabe estimar quanto tempo irá demorar a configuração pela parte da Vodafone Portugal. Isto porque a "ordem" de configuração é enviada por um sistema central que não dá previsões, muito embora "possa demorar até 24 horas" (sic) para enviar um par de kbytes por uma rede da banda larga. Por outro lado, o avançadíssimo computador central que configura os modems parece ser operado por um misterioso departamento clandestino, que não não só não comunica com os clientes como não comunica com os supervisores do helpdesk, com quem os clientes - exasperados - acabam por ter que falar quando se apercebem que vão ficar semanas sem usar a linha. Uma vez concluída a suposta configuração a Vodafone também não sabe verificar se ficou bem feita e pede ao cliente que execute um wizard (mas nem sempre) e depois teste. De cada vez que há uma falha a granularidade da espera para novo teste (presencial!) acaba por ser próxima das 24h. Por vezes "os modems rejeitam as configurações" (sic). Outras vezes o comercial que quer vender o serviço tem contactos internos e resolve o assunto com um telefonema. Outras ainda os clientes desistem do serviço.

Já os funcionários da linha de apoio não fazem melhor porque não podem. Uns até se esforçam para ajudar mas não têm meios para resolver nada. Outros parecem ter saído directamente do youtube.

E tudo isto para fazer algo que demoraria 5 minutos? Sim. A Vodafone Portugal, parece ter querido evitar que os utilizadores configurassem o modem como lhes desse mais jeito. Talvez para poupar em esforço de assistência? E assim, acabou a implementar um processo Kafkiano cuja técnica não domina e deixa a empresa ridicularizada em frente ao segmento de utilizadores profissionais que sabem exactamente o que precisam para oferecer um bom serviço aos clientes. E o que mais chateia é que, uma vez a funcionar, o serviço é bom e o custo é justo.

Cause I like you,
Yeah I like you.
And I'm feeling so Bohemian like you,
Yeah I like you,
Yeah I like you,
And I feel wahoo, wahoo, wahoo!

quarta-feira, 6 de outubro de 2010

The Linspotting project - Linux video editing workflow ready for action

A full Linux video editing workflow is finally ready for production use. The certified solution is based on Kdenlive plus a set of components which allow easy integration with different sources of video (firewire capture, DVD extraction, H264 transcoding, screen capture, etc). The certification and packaging initiative, which was made possible by years of impressive work from several groups of open source developers, comes from Angulo Sólido, Caixa Mágica and the freelance journalist Caroline Pimenta.

The solution includes most features expected in professional video editing packages, such as: multi-track editing, support for a wide range of formats and codecs (mp3, mpeg2, mpeg4, DnxHD, Theora and others) and platforms (eg, Vimeo, Youtube), an important set of effects and transitions, support for screen captures, custom rendering profiles and subtitle support.

It can be installed on Linux Caixa Mágica simply by selecting the package “task-video-editing” on the Synaptic package manager. All the dependencies are handled automatically.

Kdenlive's main window

A workflow manual is available in English and Portuguese.

A simple demo video, which is a remake of the famous and fabulous Transpotting intro, was also released and can be found below.

Linspotting from Caroline Pimenta on Vimeo.


The source RPMs, which may be useful for other distributions can be found here:

ftp://ftp.caixamagica.pt/15/oficial/SRPMS
ftp://ftp.caixamagica.pt/15/contribuicoes/SRPMS

We would like to highlight the high quality work delivered by projects like xine, kaffeine, mplayer, vlc, ffmpeg, mlt and kdenlive which are the building blocks of this easy to use certified solution.

Projecto Linspotting - Workflow de edição de vídeo em Linux Caixa Mágica

Está disponível para sistemas Linux em geral e com instalação particularmente simples em Linux Caixa Mágica 14 e 15 um conjunto de ferramentas que tornam possível a todos os utilizadores o acesso o um workflow completo de edição de vídeo. Esta iniciativa resulta de uma parceria entre a Angulo Sólido, Caixa Mágica e a jornalista Caroline Pimenta e reflecte o trabalho de grande qualidade dos diversos projectos Open Source da área de multimedia que ao longo de muitos anos têm construído componentes que hoje já se consideram indispensáveis. Todos os utilizadores poderão agora ter acesso a esta solução.

A solução disponibilizada centra-se no software Kdenlive e reúne um conjunto de utilitários que permitem a integração do mesmo com diferentes fontes de vídeo (captura firewire, decoding DVD, transcoding de H264, captura de ecrã, etc). Juntamente com o software foi disponibilizado um manual de workflow que reúne um conjunto de procedimentos essenciais ao bom desempenho das referências.


A instalação consiste apenas em seleccionar o pacote task-video-editing no gestor de pacotes Synaptic, garantindo que o mirror “contribuições” está activo. A partir daqui todo o software é instalado de forma automática. Estão disponíveis todas as funcionalidades necessárias a trabalho profissional incluindo: edição multifaixa, suporte para um conjunto alargado de formatos / codecs de entrada e saída (mp3, mpeg2, mpeg4, h264, DnxHD, Theora entre outros) e plataforma (ex: Vimeo, Youtube), conjunto extenso de efeitos e transições, captura de videos do ecrã, profiles de renderização adaptáveis e suporte para títulos / legendas.


Janela principal do Kdenlive


Pode fazer download do manual aqui.


Segue-se um pequeno vídeo de demonstração das potencialidades de edição que foi pela primeira vez apresentado a público no Encontro Nacional de Tecnologia Aberta – Linux 2010 e pretende ser um remake do fabuloso início do filme Trainspotting.



Linspotting from Caroline Pimenta on Vimeo.

sábado, 25 de setembro de 2010

A reentré em 3 actos

Por razões diversas entre as quais férias e picos de trabalho estivais, este blog passou a silly season de forma bastante silenciosa. No entanto, embora as razões deste silêncio não estejam ainda de todo neutralizadas, não queríamos deixar de deixar para reflexão um apanhado das muitas coisas importantes que se têm passado e noticiado ultimamente. Segue-se um resumo, em 3 actos.

Acto 1º - Tirem-me deste filme

A interoperabilidade Microsoft sponsored que tão bem funciona nos Press Releases continua a não mostrar resultados. Vejamos por exemplo a questão Silverlight/Moonlight: já lá vão 3 anos após o anúncio e de para que serve? Experimente-se por exemplo visitar o site Oceanlook para ver o plugin bloquear por completo e levar o browser com ele. Talvez seja devido ao Moonlight estar duas versões atrás do Silverlight! Como é evidente, não há um verdadeiro compromisso com a interoperabilidade. O que existem, são Press Releases, algumas bocas em blogs e um plugin que não dá garantias de funcionar na generalidade dos casos.

Quanto ao OOXML: Alex Brown o grande céptico da oposição ao OOXML e em larga medida promotor da sua aprovação, já veio dizer publicamente que afinal a Microsoft não tem feito nada do que prometeu (surprise!) e aparentemente mesmo antes de adoptar o ISO 29500 strict já introduziu extensões não documentadas no ISO 29500 Transitional.

Entretanto, mais um dia, mais uma vulnerabilidade no kernel. A mais recentemente encontrada é especialmente interessante porque já tinha sido corrigida em 2008 e a correcção foi revertida por razões que não se conhecem. É uma derrota "de secretaria" que nos vem mais uma vez lembrar que independente dos méritos técnicos das equipas a gestão da complexidade de projectos grandes é sempre um dos maiores desafios.

Acto 2º - Faça você mesmo

Richard Stallman, um adepto do DYI, resolveu dar espectáculo numa apresentação do European Patent Office na Austrália, aproveitando para dizer o que pensa sobre as patentes de software. Mais informação aqui.

Por cá, tanto o PCP como BE apresentaram propostas relacionadas com as TIC. Ambos os partidos apresentaram propostas para adopção de normas abertas (PCP, BE) e neutralidade na Internet (PCP, BE). O PCP apresentou ainda mais 3 propostas: uma relativa à criação de um Conselho Nacional para as TIC, outra para correcção da actual Lei do Ciber-crime e outra ainda para regulamentação da qualidade de serviço no acesso à Internet. Todo este trabalho é muito importante e demonstra a capacidade de análise e foco de alguns grupos parlamentares que, no que respeita às TIC, surpreende e impressiona pela positiva.

Acto 3º - Até que enfim

Os amigos do costume que durante anos a fio de teimosia nos brindaram com equipamento wireless que só funcionava via ndiswrapper, finalmente mudaram de ideias. Ao que parece os drivers para placas da Broadcom irão ser incluídos em futuras releases do kernel, podendo então o hardware ser posto a funcionar com mais facilidade.

E o próximo Encontro Nacional de Tecnologia Aberta, Linux 2010, vai ser já a 30 de Setembro contando com a presença da CEO da Canonical, Jane Silber. Terá certamente coisas interessantes para partilhar (mas não estão previstas declarações sexistas :) ). Mais informação aqui.



sexta-feira, 3 de setembro de 2010

Airport wireless nonsense

In a world where flights cost from 60 EUR, where you can do web and sms based check-ins, where broadband is cheap and works well, where network electronics costs next to nothing, where smartphones and netbooks are standard and where 3G data roaming costs arms and legs ... which stubborn old-fashioned airport would try to charge passengers for wifi?

Strangely the answer is: most of them.

Weird as it seems major airports in Oslo, Stockholm, Hamburg, Lisbon, etc... want you to pay for the few megabytes of wifi connectivity you're able to use between flight connections. Others provide clumsy web kiosks to be fed with Euro coins. This is, or should be, a major embarrassment for any developed country as it represents the kind of impolite reception one does not expect from any other service. Speaking for mine: I feel embarrassed. But the problem is global, and deserves a bit of reflection.

For example, what would we think if airports started charging 1 Eur for the usage of luggage carts? Not that expensive but certainly very rude. What if we had to fill a form to open a water tap? Would be surely very inconvenient. Neither of these two situations would be acceptable, by European standards, even if being potentially profitable. That's because we accept certain implicit rules on the limits of what can be capitalized per unit of consumption. The costs of water and power are part of the average running costs of an airport, as they should be. So is the cost of gas, used for heating. But still, the water pressure, voltage and temperature must be kept at the right levels.


Why not the Internet then? Internet access is nowadays as standard as electrical power or running water. That's as everyone should see it. That's what the current generation of consumers expect. Why shouldn't we be able to answer a couple of emails or read some online news while waiting for a flight? Sounds a little harsh not to allow wifi access inside a large and professionally managed structure such as an airport, given the low cost of maintaining such a service. This is not only a matter of price, but also a mixture of convenience and politeness. No passenger wants to spend 10 of his 30 minutes of flight transfer figuring out how to use his credit card for spending a couple of Euros on yet another silly access point service.

So in the end I guess few people end up using these services. Few Euros are spent, few Euros are earned, some bits of work are delayed and a fast growing number of IT capable travelers gets deeply annoyed.

The situation, as it is, doesn't seem interesting to any of the parties: the passenger either doesn't use the service or must go through annoyances to pay for it, the airport doesn't look good in the picture and the service provider... well let's just say that no brand got more sticky in my brain than Telia Sonera in the last days. But that's the kind of brand awareness that wouldn't make their marketing department any happy.

Security may be an issue. Network managers running open networks can surely run into problems if their “anonymous users” are misbehaving on the Internet. However, authentication via First Name, Last Name and Ticket Number must be trivial to implement and enough to ensure that wifi enabled passengers can be identified before connecting.

domingo, 4 de julho de 2010

Adeus Microsoft, Olá bom senso

Em plena crise económica João Paulo Girbal (JPG), ex-presidente da Microsoft Portugal, fez declarações ao Expresso. As declarações, no contexto de um artigo sobre Concorrência, são do mais elementar bom senso e praticamente à prova de crítica. São feitas na figura de representante de uma associação de fabricantes de produtos de marca (a que julgo se contraporem os produtos de marca branca ou marcas associadas a grandes superfícies) que aparentemente se sentem esmagados pela pressão dos preços nas superfícies de venda ao público.

Uma vez que defende a intervenção da tutela na promoção de “desenvolvimento sustentável e criação de valor local” e está preocupado com problemas de concorrência e situações de “produto único”, seria interessante saber o que pensa João Paulo Girbal sobre o acoplamento forçado entre equipamentos e sistemas operativos que a Microsoft tem promovido anos a fio com a cumplicidade de marcas como a Toshiba, HP, Sony, etc, sob a passividade e inacção da nossa Autoridade da Concorrência. Será ficção? Não é. Basta ver que no momento em a força do monopólio foi muito timidamente aliviada (projecto e-escolas apenas uma marca, a INSYS, tinha oferta Linux Caixa Mágica, porque todas as restante se opuseram) logo a oferta “alternativa” vendeu dezenas de milhares de unidades.


Isto para não relembrar o saga ODF / OOXML. Ou a fantochada multiplataforma do Silverlight com a pretensa implementação da Novell que está constantemente desactualizada. Tais situações certamente desagradam a JPG. É que a Microsoft tem perseguido, por todos os meios, precisamente aquilo que JPG actualmente não aprova. E, para satisfação da própria, a tutela não tutela e o consumidor nem sempre se apercebe.




quinta-feira, 1 de julho de 2010

PHP, FCGID and Apache - a confusion of upload related limits

There is a number of web hosting situations where PHP applications appear to misbehave during large upload operations. This may happen, for example, when dealing with attachments via webmail clients like roundcube or during the upload of files to document management applications.

Things get more difficult if we are talking about shared hosting on an apache + mod_fcgid + php environment, as there are several different parameters to be tuned in order for large uploads to work.

As far as we could see, there's a lot of people hitting different limits in their applications and looking for solutions, but no handy summary of where to make the necessary changes.

Architecture recap

Traditionally the PHP interpreter ran inside the apache process. Apache would load the PHP library (mod_php.so) and use it to parse the PHP based pages. Using a wrapper for the execution of PHP opens new possibilities. This is how the mod_fcgid developers see their approach to the problem:

mod_fcgid is a high performance alternative to mod_cgi or mod_cgid, which starts a sufficient number instances of the CGI program to handle concurrent requests, and these programs remain running to handle further incoming requests. It is favored by the PHP developers, for example, as a preferred alternative to running mod_php in-process, delivering very similar performance.

Not going into lengthy performance discussions (performance is cheap these days) we see see security as the main reason for adopting a mod_fcgi based architecture. In fact, it can be combined with SuExec to have each apache virtual host executing PHP as a different user. This is truly a life saver in terms of preventing damage and analyzing evidence from hacking attempts.

A detailed howto can be found here. A very nice tool for web hosting that integrates Apache, PHP and SuExec on RHEL/CentOS can be found here.

Time related parameters

The following PHP variables are involved:

max_execution_time - This sets the maximum CPU time in seconds a script is allowed to run

max_input_time - This sets the maximum time in seconds a script is allowed to parse input data, like POST, GET and file uploads

These variables can be tuned on the vhost specific php.ini file, eg

/home/DOMAINNAME/etc/php/php.ini

The exact path to each php.ini depends on your system.

The following Apache and mod_fcgid variables are also involved and should be appropriately set in the vhost directive in httpd.conf:

Timeout - Apache variable that is used for several different things, including "the length of time to wait for output from a CGI script". This defaults do 300 seconds and is used at apache level regardless of how PHP or other scripts are configured.

IPCCommTimeout / FcgidIOTimeout - This is specific to mod_fcgid and does NOT override any other settings. The default is 40 seconds

Notes: FcgidIOTimeout replaces the initial IPCCommTimeout for the same purpose. See the definition here. There is a bug related to mod_fcgid 2.2.x explained here.

Thus, if, from the client upstream bandwidth and the file sizes to support, the expected upload time is up to 10 minutes, you should set on php.ini

max_input_time = 600

and on the corresponding vhost on httpd.conf

IPCCommTimeout 600
Timeout 600
For example, if the client wants to upload 50MB over an ADSL line with an announced upstream rate of 1Mbps, the upload time in ideal conditions would be:

t = ( 50 * 1024 * 1024 * 8 ) / (1 * 1000 * 1000 * 0.8 ) ~ 524.29 s

In the previous formula 0.8 roughly accounts for the ADSL overhead and it is assumed that traffic on the ADSL "neighborhood" is low enough not to interfere with this file transfer.

As for max_execution_time it is harder to estimate as it's CPU time (ie, only counts when the process is actually running, not waiting for I/O) but you can start using the default which is 30. Depending on the total server load this may or may not have to be changed.

Size related parameters

The following PHP variables are involved:

upload_max_filesize - The maximum size of an uploaded file via PHP (uses HTTP upload)

post_max_size - Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize.

memory_limit - the memory limit for individual PHP scripts

Thus, to support files up to, say, 50M you should set something like:

post_max_size = 51M
upload_max_filesize = 50M

The memory_limit value is harder to estimate as it depends on what the script does with the file. For example for roundcube there was a popular bug regarding the amount of memory consumed by attachments (see here) but generally applications aren't so demanding.

The PHP documentation recomends memory_limit larger than post_max_size, so as a rule of thumb starting with 16 + post_max_size (16M is the default PHP value) should be enough. However, we think the documentation is wrong / outdated. To run things tight one can perfectly start with the default value of 16M and see if anything fails. Examining error_log will make clear if the script runs out of memory:

[warn] mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4864 bytes)...

During our tests we realized that a simple file management web application could upload large files under the default PHP 16M memory_limit without any problems (tested on RHEL with php 5.1 - see similar comments here, here, and here).

Other parameters

The apache directive LimitRequestBody can also prevent large uploads. However, it defaults to 0 and is usually not present on httpd.cond, which means no limit is enforced by default.

References

max_execution_time
max_input_time
upload_max_filesize
post_max_size
memory_limit
Timeout (apache)
LimitRequestBody (apache)
FcgidIOTimeout (mod_fcgid)
PHP File Uploads
.

terça-feira, 29 de junho de 2010

Momento Zen

Momento Zen do dia, via Rui Gouveia. Com actores portugueses este filme teria um toque ainda mais realista.



.

quarta-feira, 14 de abril de 2010

Gente com fibra


Diz-se que a comunicação da malta das comunicações não é famosa. Pode ser verdade (ainda não foi desmentido) mas se calhar não é só isso que conta. Ao que se diz, toda a gente merece uma segunda oportunidade: "já que não é inteligente, ao menos seja bonita" ou "já que não sabe falar, que ao menos tenha bom aspecto". Será esse o caso? Este blog foi ver os enredos e concluiu que rolos maiores do que nas cabeças de helpdesk só mesmo no esparguete de fibra e cabos com que as telecomunicações de última geração adornam as melhores fachadas de Lisboa. E o resultado, naturalmente, não é bonito.

Segue-se uma mini reportagem fotográfica, no coração da capital.

Como destruir uma fachada cinquentista

Pormenor de execução


Ó fibra a quanto obrigas...


Pormenor de execução


Pormenor de execução


O verdadeiro "polvo" afinal era este


Nota: nunca esquecer o significado original da palavra "net"


A expressão de Engenheiro "reserved for future use" ganha aqui todo um novo significado


O verdadeiro cabo "co-axial"

quinta-feira, 18 de março de 2010

Comunicações em Português Suave - artigo de inverno

Na sequência do artigo de verão publicámos em parceria com o tek um novo artigo de opinião. Acompanha com tinto a 18ºC, queixo de cabra e (arrghhh) música de compasso de espera de call-center.

Votos de uma agradável leitura e um breve Inverno sem falhas de comunicação.

terça-feira, 2 de fevereiro de 2010

Firefox 3.6 na Caixa Mágica 12 e 14


Está disponível via Apt / Synaptic / Sofware Updater o Firefox 3.6 para a Caixa Mágica 12. Isto significa que os milhares de utilizadores das escolas (eescolas, Kit Tecnológico da Educação), individuais ou de empresas terão uma forma rápida e simples de fazer a actualização. Está igualmente disponível o Firefox 3.6 para Caixa Mágica 14 desde que o repositório das contribuições esteja activo (na CM14 o update oficial ainda é da série 3.0.0.x).

Como esta versão do Firefox representa um avanço considerável sobre as anteriores (performance, personas e estabilidade...) achamos o facto digno de menção.

upgrade via Synaptic na CM12

Firefox 3.6 com o tema Crystal Chrome


quarta-feira, 27 de janeiro de 2010

testing Gigabit Ethernet networks with Linux laptops

How useful is to contract the implementation of a Gigabit ethernet LAN if we are unable to test its performance? It is well known that performance on LANs is easily affected by bad cabling or connector problems. Besides that, acceptance tests are part of every engineer's life.

Whereas testing a 100Mbit LAN is somewhat of a trivial task, testing Gbe is a bit trickier since harddrive to memory transfers can't keep up with such rates. Fortunately, we can put it to test using two Linux laptops with Gbe network interfaces. The process involves creating a reasonably large ramdisk on each laptop (the default size is not enough) and tranferring information between ramdisks using netcat. One laptop should be connected directly to the switch and the other one will be connected to each wall plug.

Here's a brief recipe of how to perform the test.

Preparing ramdisks on both the sender and receiver

- boot with option on lilo or grub: ramdisk_size=5000000
- login as root and issue:
mknod -m 660 /dev/ram b 1 1
mkfs.ext2 /dev/ram
mount -t ext2 /dev/ram /mnt/ramdisk
cd /mnt/ramdisk

On the sender generate a random file with dd
dd if=/dev/urandom of=/mnt/ramdisk/file.bin bs=1k count=500k
(dd will stop if the ramdisk is smaller than needed and will output the created file size)

Prepare the receiver to accept the file via netcat
nc -lp 1234 >file.bin

On the sender side push the file and measure the transfer time
time cat file.bin | nc RECEIVER_IP 1234

The send+receive steps should be repeated a number of times for each wall plug to check for stability of the measured times. The file transfer rate is then computed easily as
file transfer rate [MB/s] = (FILE SIZE [MB] ) / AVERAGE TIME

The network transfer rate is obtained by taking into account the Ethernet + TCP/IP overhead introduced by netcat, which is around 5%
network transfer rate [Mbps] = [ (FILE SIZE [MB] * 8) / AVERAGE TIME ] / 0.95

In our tests a acheived an average transfer time of 4.5s and a network transfer rate of 934 Mbps.

segunda-feira, 18 de janeiro de 2010

Ser profissional é opcional

Talvez tenha reparado quem recebe por RSS os artigos deste blog que últimamente não tem cá aparecido muita coisa. O que se passa é que o tempo que habitualmente sobra para reflexões e partilha de ideias com a comunidade tem sido ultimamente consumido, perdão vorazmente canibalizado, por uma onda da mais gritante incompetência. Dir-se-ia que neste país ser profissional é opcional.

Vejamos... nos últimos dois meses já tivemos: comunicações interrompidas por causa da chuva (a infra-estrutura não está preparada porque só este inverno é que choveu), jogo do empurra-empurra entre um ISP e o operador incumbente com um problema de packet loss que aparentemente só o cliente é que tinha capacidade de monitorizar (demorou mês e meio a ser resolvido), uma linha ADSL + Voz em que a Voz está há dois meses com ruído extremo e o ISP não resolve, um equipamento que o ISP garantiu fornecer em bridged mas afinal não suportava bridged ao qual se seguiu um segundo equipamento que - esse sim - viria em bridged mas afinal também não vinha, um conjunto de novas impressoras iguais todas, excepto uma, a funcionar bem em que a marca não recebe a impressora defeituosa se o cliente não fizer alterações no firmware (!) e até o upgrade de um ERP a correr da pior maneira possível: tudo ficou lento após o upgrade e o fornecedor atirou as culpas precisamente para aquilo que não tinha mudado, ie, a rede e o servidor.

E o que é que faz uma equipa competente nestas situações? Tenta não perder a paciência. Tenta absorver todos estes impactos e almofadar o cliente, isolando-o da incapacidade generalizada que se instalou no nosso país e continua a "atrapalhar" impunemente tudo e todos. Tenta que o cliente consiga sobreviver o melhor possível. Mas com este (mau) ambiente de trabalho torna-se muito, muito mais, difícil manter os níveis de eficiência que os profissionais devem exigir de si mesmos. Este ambiente é o travão da inovação, um balde inteiro de areia vertido descaradamente sobre as melhores engrenagens.

É tentador para muitos atribuir isto à falta de meios e aos problemas económicos do país, etc, etc. Ora isso é a mais evidente falácia. O país tem excesso de meios tecnológicos e poder económico mais do que suficiente para olear a maioria dos serviços. A dura e politicamente incorrecta realidade é que o estado das coisas se deve aos seres humanos que desenham, participam e implementam os processos. Será que é por falta de CRMs (até os há Open Source..) que os ISPs só tratam dos assuntos por telefone? Será que é por falta de software de monitorização (também os há Open Source...) que não conseguem compreender problemas intermitentes? Será por falta de vergonha que um fabricante acha normal mandar um cliente fazer upgrades de firmware numa impressora avariada que custou algumas centenas de EUR?

Não há mais ninguém a culpar: são compatriotas nossos - portugueses - que originam e perpetuam este estado das coisas. Culpado, é quem contrata pessoas para funções alegadamente "simples" e não lhes dá formação. E quem é contratado e não quer aprender.

Mas a solução é simples: dar formação aos interessados e despedir os desinteressados. A quem não sabe trabalhar não se dê hipótese de atrapalhar.


.