Intel XDK New

É recompensador quando a tecnologia cumpre a sua função e nos mostra resultados no tempo esperado.

“The Intel® XDK NEW development system is designed for developers who want to use their HTML5 expertise to build hybrid HTML5 apps for mobile devices (e.g., phones and tablets) and other platforms that host HTML5 web apps (such as a Google Chrome* extension or a mobile web site).”

No caso deste Intel XDK New demorou mais uns minutos: embora a interface de instalação (install_GUI.sh) diga que apenas o Ubuntu 12.04 é suportado, no arquivo vem um rpm.

O download pode ser feito no site oficial. Depois de descomprimir o arquivo, encontrarão o rpm no directório “rpm” (será qualquer coisa como intel-xdk-0154-2.0-0.x86_64.rpm, sendo que o nome do arquivo depende da versão)

A instalação decorrerá sem problemas: basta executar na linha de comandos

$ sudo yum install intel-xdk-0154-2.0-0.x86_64.rpm

Depois disto são precisos mais dois pequenos truques:

  1. corrigir permissões:
    $ sudo chmod 0755 /opt/intel/XDK/
  2. corrigir o symlink libudev.so.0: no meu caso a correcção passou por
    $ sudo unlink libudev.so.0; sudo ln -s /usr/lib64/libudev.so.1 /opt/intel/XDK/libudev.so.0

Depois disto, a oferta da Intel cumpriu.
Arrancou
interface principal do Intel(R) XDK Newe em poucos minutos deu frutos (Sapo A5)

Screenshot da aplicação a correr num Sapo A5

Varnish + WPML

Um nota mental sobre a utilização simultânea destas duas ferramentas:

  • WPML (WordPress Multilingual) – É um plugin para o conhecido motor de publicação WordPress;
  • Varnish (caching HTTP reverse proxy) – Uma ferramenta open source, dita “web application accelerator”.

Mesmo usando domínios diferentes por língua (configuração do WPML), o plugin usa ainda um cookie (_icl_current_language) para controlo.

Daí ser necessária alguma atenção aquando da manipulação dos cookies na configuração do varnish.

Depois de algum esforço na identificação do problema, acabei com:

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
32
sub vcl_recv {
    if ( ! (req.url ~ "wp-(login|admin)"))
    {
        set req.http.Cookie = ";" req.http.Cookie;
        set req.http.Cookie = regsuball(req.http.Cookie, "; +", ";");
        set req.http.Cookie = regsuball(req.http.Cookie, ";(_icl_current_language)=", "; \1=");
        set req.http.Cookie = regsuball(req.http.Cookie, ";[^ ][^;]*", "");
        set req.http.Cookie = regsuball(req.http.Cookie, "^[; ]+|[; ]+$", "");
 
        if (req.http.Cookie == "")
        {
            unset req.http.Cookie;
        }
    }
}
 
sub vcl_fetch {
    if ( ! (req.url ~ "wp-(login|admin)"))
    {
        set req.http.Cookie = ";" req.http.Cookie;
        set req.http.Cookie = regsuball(req.http.Cookie, "; +", ";");
        set req.http.Cookie = regsuball(req.http.Cookie, ";(_icl_current_language)=", "; \1=");
        set req.http.Cookie = regsuball(req.http.Cookie, ";[^ ][^;]*", "");
        set req.http.Cookie = regsuball(req.http.Cookie, "^[; ]+|[; ]+$", "");
 
        if (req.http.Cookie == "")
        {
            unset req.http.Cookie;
        }
 
    }
}

Sendo que as linhas 6 e 22 podem ser modificadas, permitindo a especificação de mais do que um cookie que pretendam preservar:

set req.http.Cookie = regsuball(req.http.Cookie, ";(cookie1|cookie2)=", "; \1=");

CSS Only Tabbed Navigation

Toda a gente reconhece que a web está mais airosa com todo o poder que o JavaScript e um (não tão) novo paradigma assíncrono lhe confere. Isto tudo potenciado por browsers mais poderosos, com motores de JavaScript poderosíssimos e computadores, sejam eles portáteis ou de secretária, com processadores de fazer inveja a alguns servidores com meia dúzia de anos.

Embora um defensor acérrimo e contribuinte da filosofia/movimento opensource, não aceito que a solução seja simplesmente importar um plugin jQuery UI. Desde logo, porque acabamos por obrigar os utilizadores a descarregar mais dados, ficamos a lutar contra algumas limitações dos browsers (i.e. número de pedidos concorrentes) e por fim, mas não por último, porque a maioria desses plugins não tem em consideração questões de acessibilidade.

Lembro os mais distraídos que também o CSS tem evoluído e com apenas uma das novidades do CSS3, consegui uma solução de navegação por separadores, com um DOM muito limpo e poucas linhas de CSS.
Continue reading

Ensaio – Inovação aberta: quão aberta com patentes

Um segundo ensaio para a disciplina de Gestão de Inovação do Mestrado em Inovação e Empreendedorismo Tecnológico, subordinado ao tema Inovação Aberta.

Inovação aberta é um paradigma que assume que as empresas podem e devem usar ideias/caminhos internos e externos tendo em vista a progressão tecnológica e a sua projecção no mercado. Por seu lado as patentes permitem a divulgação pública de uma invenção, garantindo aos
inventores ou mandatários um monopólio legal. Podemos usar as palavras “aberto” e “monopólio” juntas, quando se fala em conhecimento?

Lembro que os conteúdos são publicados ao abrigo da licença licença Creative Commons byncsa 2.5 Portugal.

Download

Ruby e RubyGems em CentOS

Sem segredos:

# yum install -y ruby
# yum install -y ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc

Prevendo que pode mesmo acontecer:

# sudo yum install httpd-devel\
  openssl-devel\
  zlib-devel\
  gcc\
  gcc-c++\
  curl-devel\

e depois sim

# passenger-install-apache2-module

The Apache 2 module was successfully installed.
Yupi!

Firefox e o pesadelo dos add-ons

A Mozilla, numa manobra arriscada com relação aos developers independentes de extensões para o browser Firefox, publicou um ranking dos Add-ons pelo impacto que estes têm no deterioração da velocidade do browser da raposa:

“Add-ons provide many useful features and functions, but they can also cause Firefox to become slower. Some add-ons can even slow Firefox to a crawl and make it difficult to use for regular web browsing. If you think add-ons might be the reason Firefox is lethargic, check the list below for some of the biggest bottlenecks. And remember, for best performance you should disable add-ons that you no longer use regularly.”

in Slow Performin Add-ons

Facilmente se encontra por essa World Wide Web fora, técnicas para aumentar a velocidade do Firefox, algumas delas (senão a maioria) obrigando a mexer nas configurações (about:config).
E que tal se atacarmos o problema na sua génese? Continue reading

Firefox 4 Stable

Estão prometidas para este ano as versões 5, 6 e 7 deste browser da mozilla.

Para terem tempo de testar/usar a fundo as novas funcionalidades da tão recente versão 4, podem instalar a mesma a partir dos repositórios da mozilla.
Seguem-se as instruções:

$ sudo add-apt-repository ppa:mozillateam/firefox-stable
$ sudo apt-get update
$ sudo apt-get install firefox