quarta-feira, 28 de janeiro de 2009

OpenOffice em Portugal - nas bancas

Um facto que parece ter passado semi-despercebido, mas que na nossa opinião tem toda a relevância, é que em 2008 pela primeira vez um dos produtos Open Source mais populares na Internet está disponível nas prateleiras de qualquer centro comercial. É mais uma vez o Open Source a tocar timidamente os canais mainstream.

Falamos do livro de Nuno Rua intitulado "OpenOffice.org - O Office Livre" o qual pode ser adquirido em diferentes livrarias quer directamente na loja quer via web. O livro vem acompanhado de um CD com as versões do OpenOffice 3.0 para Linux, Windows e Mac.

Aqui ficam os links directos para o página do produto na Bertrand e na Bulhosa.

segunda-feira, 19 de janeiro de 2009

Integrating legacy Windows applications on a Linux Desktop environment - II

On the previous article we covered the basics of integrating Windows applications on a Linux workstation network. We explained how an almost seamless integration could be acheived by combining Windows Terminal Services, rdesktop and virtualization.

There is, however, a potential problem to solve should we want to be confident on the smooth performance of the system. The terminal server is a multi-user machine. What happens if one process misbehaves and starts consuming all the CPU power? This is far more serious than having an application crash on a user workstation. Seems that we'd need an automatic way to "punish" misbehaving processes. In other words, we'd need process QoS or CPU shaping.

The solution we found is called Process Lasso. Process Lasso is a proprietary tool written by Jeremy Collake that monitors the CPU activity of each running process and lowers the priority of processes consuming too much CPU.

A proprietary tool on a Linux integration project? Well, if you already accepted running a Windows Server with proprietary applications on top, don't give up on the last mile that will save you from many headaches (one of which would be giving up your stable Linux workstations in case the terminal server solution is not reliable enough). Process Lasso is relatively low priced and the support from Bitsum has been excelent.

Although it supports complex settings like default priorities and CPU affinities, we found that with minor tweaking of the default configuration we were able to considerably improve the system behavior.


The most important window is the ProBalance Settings window, where the thresholds for Process Lasso actions are configured. On a setup with up to 20 users, each of them running the same two applications, we found the above settings to work well.

In the monitoring window we can see the CPU usage and responsivness. We can also see the Action Logs and discover which process IDs had to be de-prioritized and their corresponding users.


Process Lasso is a very useful tool and well worth the money it costs. Combined with the procedures suggested on the previous article it will help you integrating legacy Windows applications on your Linux network.

Note:

As for Linux, the kernel already lowers the priority of CPU intensive processes:

http://www.ibm.com/developerworks/linux/library/l-scheduler/

Watching how effective this is for a multi-user Desktop machine may be the subject of a future article.

quarta-feira, 14 de janeiro de 2009

Proxy transparente

O hype du jour, é nova iniciativa da ANSOL, Transparência na AP. Justiça seja feita: o ruído tem razão de ser.

A situação do Base era de facto anedótica, quer a nível da procura (que não funciona) quer a nível da paginação manual a partir da página 1 e sem acesso directo a páginas intermédias. Isto em mais de 300 páginas... Dado que apontar o dedo por vezes não resulta, a ANSOL chegou-se à frente, e bem, oferecendo o serviço ao país.

E é atendendo aos custos de mercado de desenvolvimento web que melhor se reconhece o valor desta oferta, baseada em tecnologias Open Source como Wordpress, PHP e MySQL.

O site funciona como intermediário para a informação do Base, com um interface de pesquisa que funciona em qualquer browser e sistema operativo.

No topo do bolo ficam as cerejas.

segunda-feira, 12 de janeiro de 2009

The role of ISVs

Retirada da magnífica compilação de textos "Evangelism is war", escrita por James Plomodom, tornada pública no contexto de um caso de antitrust e disponível para consulta aqui, esta imagem ilustra bem o que se passa no panorama nacional dos ISVs tradicionais de software.

O facto é que muitos ISVs, em lugar de promoverem produtos tecnologicamente neutros que se integrem bem em qualquer ambiente, preferem tentar impôr tecnologias específicas e métodos arcaicos, mesmo que ponham em causa infra-estruturas de grande qualidade já existentes. Ora isto nem sempre os ajuda, porque em cada discussão se descobrem sistematicamente as suas lacunas no que respeita a noções de administração de redes e sistemas. E cada vez que isto acontece aumenta a motivação para o melhoramento de soluções alternativas que mais dia menos dia lhes causarão dificuldades.

Os ISVs nacionais não raro compram uma guerra que não é a deles, em vez de se concentrarem a desenvolver e melhorar os seus produtos. Mas a dispersão é geralmente um erro que se paga caro.

Serão peões num campo de batalha? É impossível não nos lembrarmos disto.

terça-feira, 6 de janeiro de 2009

Integrating legacy Windows applications on a Linux Desktop environment

In a ideal world every piece of client software is either:
  • web based, with standards based cross browser development
  • portable, developed with a cross platform language / toolkit (Java, Qt, Gtk+, WxWidgets, ...)
In the real world there's people developing fat clients, where a web interface would be the best way. There's people programming in .NET, delivering solutions to the customers that limit their OS choices to Windows. And there are public and private institutions buying without knowing how this may affect them in the future.

However, the situation has improved considerably with the arrival of fast, low-cost servers and virtualization technologies. Whereas Wine / Codeweavers are excellent solutions for popular applications whose upgrade cycle is very long (ex: MsOffice under Codeweavers) and can thus be certified, the general solution is more complex. In general, one may have to deal with not so popular applications that need frequent updates, or applications that just don't work under Wine.

The 3 key pieces for dealing with such software are:

1) Windows Server - enable remote access to monoplatform Windows applications with a terminal server setup
2) Vmware / Xen / ... - setup the Windows server as a VM on a stable Linux server
3) rdesktop - the wonderful open source terminal services client

The correct interaction of these components will enable transparent access to Windows applications from any Linux workstation without major breaking of a stable setup.

Arquitecture example

Dealing with Windows machines is a troublesome task in many ways . So one may wonder if dealing with a multi-user Windows machine will be a nightmare. It won't if some simple rules are followed:
  • no administration privileges for any regular user
  • minimal software installation
  • automatic startup of the desired applications
The last point is paramount, on preventing users from creating security stability and performance problems. Each user may need a single application or set of several applications. Depending on the case, the application executable or a batch file launching the desired set of applications should be configured on the user properties. With this procedure, the users never get to see the usual windows shell. They only see their applications and each session is terminated when the last window is closed.

Automatic application startup

The session startup can be perfectly integrated with a Linux desktop by creating a shortcut to rdesktop, invoked with the right command line arguments.

Some usage examples:

rdesktop -g 1024x768 -a 16 -k pt 192.168.0.18

Connects to 192.168.0.18 with a window size of 1024x768 pixels, 16 bit color and portuguese keyboard layout.

Server login session
rdesktop -g 1024x768 -a 16 -k pt -u User1 -p MyPassword 192.168.0.18

Same thing but enabling seamless login.

rdesktop -g 1024x768 -a 16 -k pt -u User1 -p MyPassword -r printer:PSC1410='Apple LaserWriter 12/640 PS' 192.168.0.18

Same thing but making the local PSC1410 printer queue available on the terminal server.

This is a great feature of rdesktop: one can forward all locally configured CUPS printer queues without having to install any driver on the Windows machine. That is possible because windows ships with some old postscript drivers, like Apple LaserWriter, and CUPS expects to receive postscript from any application. This can't be done with the Microsoft remote desktop client, which requires the installation on the terminal server of all the windows drivers corresponding to the local printers.

Several printers can be passed on the command line and all of them will be available for the Windows applications. It is also possible to have a local directory available as a Windows share on the server using the right command line arguments.

By using a desktop icon to automate the startup of rdesktop one can seamlessly integrate Windows applications on Linux desktops without even the users noticing that there are two different operating systems in use. With this kind of setup one can benefict from the stability of the Linux desktops without sacrificing access to specific applications that may be needed. Surely the CAL and Terminal Service licences are costly and web / portable applications are the preferred way. However, when using Windows is unavoidable, a terminal server is a much better solution than a network of Windows workstations.

We have used this kind of setup in production with both local machines and VPN clients. The performance and stability are satisfactory.

segunda-feira, 5 de janeiro de 2009

Linux discreto

Pontos de venda automáticos do Jumbo, aparentemente fornecidos pela empresa brasileira ITAUTEC.