Hidden Simplicity

A traditional line of thought from those refraining to migrate to Linux is that it has a steep learning curve. “It takes time to learn how to install it; it takes time to learn how to use it”, they say trying to convince you that Linux is this kind of cryptic and unreachable entity.

My way of seeing this issue is simple: everything new is apparently complex or, phrased differently, everything different is apparently complex. Linux is different if you have spent most of your life on Windows. This is the same as saying that driving a Porsche is different than driving a Chevy. This difference does not mean that driving a Porsche will take you a lot of time to learn. It can even look complex at first - those cool, different gouges on the dashboard and all - but you’ll sure get the hang of it in no time.

Underneath this initial argument though, there is a huge misconception. Most of the time Linux is simpler than Windows and not the other way around. Problems get solved at their root and not by weird contraptions as their Windows counterparts.

Take as an example my Internet surfing routine. Differently than most people, my Internet traffic is mostly encrypted. I do it on Windows and on Linux but the complexity level and efficiency rate are worlds apart. On Windows I have to log in to an HTTPS router which will authenticate me against an Active Directory. During the log in process a previously installed host checker application is started on my computer which authenticates itself against the router. A small screen is presented to me allowing me to choose an option to start a second application. This time it is a virtual network device simulator which will finally route my traffic to the web - if I’m lucky.

On my Linux box the process is as simple as connecting my encrypted SSH host and binding some dynamic ports which get then routed from my browser. With some extra ingenuity, I can even selectively decide what to encrypt and what not to, speeding up my surfing while still maintaining security for those addresses I really need. All of this transparently, natively and without any useless paraphernalia.

To achieve selective routing on my Windows setup, an expensive content manager system has to be acquired and installed somewhere. Not necessarily a simple task.

PS: It is important to mention that the same setup achieved on Linux could be reproduced on Windows but with an interesting twist: using Linux software ported to Windows.

Tiago Luchini · 21 Sep 2009 · technology

Santo Google Maps

Phone

Na minha vida acdêmica havia um certo indivídio extremamente relaxado que levava a vida sob o slogan: “A chave do sucesso é o total despreparo.”

Para ele, incrivelmente, sempre funcionava. Indo por esta linha mais por pura falta de tempo e atencão do que despreparo proposital, acabamos viajando para a Inglaterra com uma quantidade incompleta de mapas impressos. Ademais, imprevistos aconteceram e precisamos mudar os planos originais.

Neste exato momento saquei do meu bat-cinto o meu bat-dispositívo-móvel e acessei o Google Maps pela Internet. Robin exclamaria certamente: “Santo Google Maps”.

Fato é que não só utilizamos o sistema para coisas rápidas e pequenas como também para extensas e complexas rotas com uma acertividade e praticidade além do esperado. Principalmente para um sistema totalmente gratuito.

Claro que ainda vimos algumas dezenas de turistas fazendo o mesmo nas ruas.

Iniciativas assim explicam o real interesse da Google em atacar definitivamente o mercado móvel.

Tiago Luchini · 28 Nov 2007 · technology

Vista? Só se for para o mar

O boom da microinformática comecou lá pelo início dos anos 90, fim dos anos 80. Todos queriam entrar na nova onda da tecnologia. A Microsoft era o suprassumo adorado e almejado pela grande massa de seus seguidores - os micreiros.

Seu sistema operacional, o DOS, era uma cópia porqueira de outros sistemas operacionais disponíveis na época. Mas funcionava. As pessoas corriam para atualizar nos saltos quasi-quânticos que aconteciam muito rapidamente. DOS 5.0? Uma revolucão: suporte a mouse, memória extendida, undelete, unformat e tantos outros utilitários fantásticos para a época. DOS 6.33? Ajuntaram tudo que não funcionava no DOS 5 e fizeram funcionar mais ou menos: outro produto matador para a época.

Vieram os Windows. Primeiro o 3.0 para computadores monocromáticos, depois o 3.1 que funcionava em até 256 cores até chegarmos rapidamente no 3.11 que tinha um conceito bizarro batizado “rede” (que nossos irmãozinhos do mundo Unix já aproveitavam há décadas).

Sem titubear muito chegou o Windows 95. Em 1994, cópias e mais cópias já eram distribuídas. O primeiro sistema operacional da Microsoft “totalmente” gráfico.

Então a coisa comecou a desacelerar. O Windows 98 foi um sucesso vagaroso. Nada como o estrondoso 95. A sacada foi prender ao uso da web e do Internet Explorer. Mas foi devagar. A linha profissional, a partir do obscuro Windows NT 3.51 evoluiu para o NT 4.0 e depois para XP. Demorou muito. Uma eternidade se comparado com a velocidade da antiga geracão.

O XP também foi entrando devagar. Demorou a virar produto realmente de linha. Muita gente preferia a estabilidade e seguranca do Windows 2000 por exemplo (evolucão do Windows NT 4.0).

Os benefícios agregados entre migrar de uma versão para outro dos sistemas passou a ser cada vez menor. Na verdade, as pessoas passaram a ficar satisfeitas com seus resultados nas plataformas atuais e, para migrar para uma mais nova, é preciso agregar um valor muito grande que as grandes, como a Microsoft, não conseguem fazer acontecer.

Embora as diferencas de funcionalidades e capacidades de uma geracão de sistemas operacionais para a outra era extremamente palpável no passado, hoje já não é tão simples assim. Desde 1995, muitos têm migrado mais de forma orgânica (pela pura necessidade de suporte e drivers) do que necessariamente a partir de uma necessidade funcional.

A Microsoft agora tenta empurrar o Vista para os seus clientes. Não fosse o massivo investimento no mercado OEM talvez ela não tivesse conseguindo alcancar os resultados de venda atuais. Valores agregados em relacão a plataforma XP atual? Poucos: uma procura mais eficiente, telas mais bonitinhas e um melhor suporte à nova geracão de ferramentas de programacão. Claro, com um novo universo de bugs para ser resolvido também.

A própria estratégia de marketing da Microsoft teve que mudar. Ela hoje ataca o consumidor caseiro como nunca atacou. Transformou suas campanhas de marketing em enormes video-games fazendo até uma sinergia com seu console para jogos. Amarrou os revendedores ao seus sistema com contratos milhonários e que motivam a cadeia a vender seus produtos.

É só aí que você vai encontrar o Vista entretanto. As empresas acabaram de migrar para o XP com relativo sucesso. Muitas ainda aceitam o Windows 2000 ou 2003 de forma mais do que satisfatória. Necessidade para migrar? Existem poucas por enquanto mas elas chegarão de forma orgânica assim como chegaram para o XP.

A Microsoft continua vencendo a batalha até porque entende muito bem o que está fazendo tanto em termos tecnológicos mas principalmente em termos de mercado. Ela entende como o mercado funciona, percebe suas oscilacões e se adapta aos costumes e, em última instância, ao gosto do usuário.

Mas ela já não avanca como avancava na década de 90. A coisa é mais complicada hoje em dia. Existem usuários conscientes que não se deixam enganar pelos apelos comerciais da gigante de Redmond. Eles percebem que a empresa funciona com um conteúdo oco. O mundo Unix em sua personificacão de baixa-plataforma Linux simplesmente alcanca os iguais, senão melhores resultados que a caríssima plataforma Windows.

Qual o custo de uma plataforma Linux? Paciência e vontade de aprender. Tudo é diferente e, como sempre, o diferente incomoda. A Microsoft sabe disso e reinveste em conceitos já estabelecidos (muita gente reclama que o Vista é praticamente um XP de outra cor - a Microsoft acertou ao não assustar demais os usuários que interessam para ela: aqueles que não querem mudar muito).

Para aqueles que querem mudar, o universo Linux tem as portas abertas. Escancaradas na verdade.

Portanto, Vista para mim, por enquanto, só se for para o mar…

Tiago Luchini · 16 Nov 2007 · technology

Computador? Hein?

Sou da época que os computadores tinham tela verde e apenas 25 linhas por 80 colunas. Em cada uma dessas “caixinhas” cabia um e apenas um caractere.

Foi tudo muito rápido: monitores com fósforo branco, depois 4 cores, 16 cores e, de repente, tudo comecou a ficar mais e mais colorido, as resolucões maiores e tudo menor - mais bem definido.

Ria do meu velho quando ele reclamava que não estava conseguindo enxergar as “letrinhas naquela porcaria de monitor novo”. Pensava: “tem que ser velho mesmo para não apreciar a beleza dessas novas maravilhas”.

Fato é que esta semana peguei um novo notebook e, para minha surpresa, as malditas letrinhas estavam pequenas demais. Ajustei de todos os lados, apertei o óculos, aproximei a cadeira da mesa e nada.

Acho que já entrei na fase de reclamar da “porcaria do monitor novo”!

Tiago Luchini · 13 Nov 2007 · technology

A Google Esticando os Tentáculos

Para os apocalípticos de plantão: a Google está dominando o mundo mesmo.

Semana passada me apresentaram o Google Maps para celular. Uma solucão simplesmente matadora. Vou resumir a idéia com uma história “fictícia”.

Sou uma pessoa muito perdida. Vou repetir: muuuuuito perdida. Quem já tentou chegar em algum lugar comigo sabe do que estou falando.

Nos anos últimos anos da onda dos PDAs eu tinha um Microsoft Pocket PC com um processador até que bom. A Microsoft, na época, tinha um programa pesadíssimo chamado Pocket Maps que, não bastasse ser comercial, você também tinha que se virar para encontrar ou comprar mapas dos lugares que desejava usar e, pior ainda, ter espaco - e muito espaco - de memória para guardar estes mapas (só a cidade de São Paulo eram 4 arquivos de 8MB cada e ainda tinham lugares não cobertos).

Outras solucões vieram mas sempre com as mesmas características: “pague mais e leve o mapa de Zâmbia de brinde”, “esse integra com o GPS”, “aquele roda no seu celular”, “aquele outro ocupa ‘apenas’ 2GB de memória”. Enfim, um grande problema para alguém que não quer gastar com tecnologia e é ao mesmo tempo perdido como eu.

A Google pegou toda a base de ruas e fotos de satélites online que ela tem no Google Maps e disponibilizou para qualquer dispositivo que acesse a internet e rode Java (J2ME). Isso inclui praticamente todos os celulares desenvolvidos nos últimos 5  ou 6 anos. São milhares de cidades nas bases de dados do Google (até Oulu está lá!) disponíveis na palma da sua mão de graca e com a instalacão de um pequeno aplicativo Java. Se você tiver um GPS, prepare-se para ter inclusive integracão com o mapa!

Perdido? Eu? Depois dessa nunca mais.

Tiago Luchini · 23 Oct 2007 · technology

Flex Chart - High-Low and Dashed lines

Recently I came across what should be a quite simple scenario but, thanks to Adobe, it provided me with some interesting challenges.

My main target was to port a simplified version of the following MS Excel chart into Adobe Flex:

Chart Excel

Nothing very complex here: two axis, a couple of series, different rendering styles, choose some nice colours and voi la! It should be simple enough.

But although quite powerful, Adobe Flex sometimes lacks a direct way of doing very basic things. Two major show-stoppers were on my hands: Flex does not render high-low connecting lines and, amazingly enough, Flex does not natively implement dashed lines on charts. A source-code download and live demo are available at end of the article.

First Challenge: high-low line or up/down bars

I am not a huge fan of Excel but I must confess its charting capabilities are most of the times very well designed. To produce those vertical lines connecting the “diamond-shaped” series to the main trend lines there is a simple and direct check on Excel’s series’ option tab called “high-low line”. Impressively enough, another option called “up/down bars” have a very similar effect (I just don’t appreciate its bulky default style):

High-low lines

Adobe Flex charting does not have anything of the kind. A workaround was to use an HLOCSeries setting properties openField and lowField to the Trend value and setting closeField and highField to the “diamond-shaped” value. It is not a perfect scenario but the source code for that series looks clean:

<mx:HLOCSeries openField="Trend" closeField="Real" lowField="Trend" highField="Real" displayName="Actuators">

Second Challenge: dashed lines

You probably noticed my source chart from MS Excel had two series rendered with dashed lines. This was mandatory for the the Flex port at stake. Altough it should be as simple as setting an style (setStyle("dashed")=true for example) it seems that people at Adobe are not very keen on dashed lines: they simply did not implement this “optional” feature.

The solution was to implement my own dashed line series. I started by extending class LineRenderer into my very own DashedLineRenderer. LineRenderer happens to the default renderer when using a LineSeries.

This subclass has a property called pattern that will be used later for creating different dashing styles. I also overrode method updateDisplayList and, instead of calling the superclass implementation I decided to re-implement the line drawing process of the basic LineRenderer.

The default LineRenderer implementation delegates its drawing intelligence to an utilities class called mx.charts.chartClasses.GraphicUtilities. Before trying to decode its internal mathematics, I googled a little and found Ely Greenfield’s implementation of a very similar GraphicUtilities with dashing lines support which I adapted into class DashedGraphicUtilities.

With that in the bag, my implementation of updateDisplayList became very simple:

var stroke:IStroke = getStyle("lineStroke");
var form:String = getStyle("form");
var pattern:Array = getStyle("dashingPattern");
pattern = (pattern == null) ? _pattern : pattern;

graphics.clear();

DashedGraphicUtilities.drawDashedPolyLine(graphics, stroke, pattern, _lineSegment.items);

The dashingPattern style was implemented on an auxiliary extension of the LineSeries class which I dubbed DashedLineSeries and is supposed to contain an Array specifying the dashing “rythym”. The idea here is to make everyday usage as simple as possible and, instead of having to instantiate the specialized dashing renderer for every series to be dashed, you simply use an instance of DashedLineSeries like this:

<local:DashedLineSeries yField="Target" displayName="Target">

Finally

After all these challenges my chart finally ressembled what was initally required:

Flash Chart

Tiago Luchini · 17 Oct 2007 · technology

A quarta tela

Fantástico vídeo promocional da Nokia.

Via: Marcelo Eduardo

Tiago Luchini · 24 Sep 2007 · technology

Usabilidade

Tenho uma série de amigos que têm “Usabilidade” como foco central em seus trabalhos. Para quem não sabe, esse pessoal tem a importantíssima tarefa de fazer com que as coisas que utilizamos no dia-a-dia sejam fáceis, simples e claras de usar.

Respeito muito a importância do trabalho desse pessoal e consigo mensurar palpavelmente muitas das evolucões dos últimos 10 anos. Mesmo adverso ao fato que, na minha tenra juventude, imaginava que cada designer de produtos deveria ter o bom senso de se preocupar com usabilidade. Com a experiência, notei que os designers são tão estúpidos como imprevisíveis.

A Nokia, por exemplo, é bem conhecida pelo formato de operacão dos seus celulares. A usabilidade deixa a desejar em muitos pontos mas ainda é considerada uma das melhores do mercado.

E aí nota-se o como o pessoal que estuda usabilidade ainda tem muito trabalho pela frente. Hoje eu tomava banho e meu celular tocou. Meu filho trouxe o celular até a porta do banheiro e pedi para ele atendê-lo ao que recebi a pergunta: “Como eu atendo?”. “Aperta o botão verde”, esbravejei. “Qual botão verde pai?”

Perdemos a ligacão neste processo. Quando peguei o celular para mostrá-lo qual seria o botão verde, notei que todas as teclas ficam azuis quando o teclado acende. Ele não teria como saber qual era o botão verde.

Meus amigos em Usabilidade com certeza ainda têm vários anos para garantir suas aposentadorias.

Tiago Luchini · 19 Sep 2007 · technology

Encha o Tanque. Com água do mar

Essa notícia não pode passar desapercebida. Um pesquisador descobriu acidentalmente como quebrar as moléculas da água salina e liberar o hidrogênio utilizando um gerador de rádio-frequência.

Em outras palavras, se a diferenca marginal de energia for positiva (e aparentemente é) estamos com o descobrimento mais importante na área energética do século na nossa frente.

Os únicos que não gritaram “hooray” foram aqueles das indústrias petrolíferas.

Fonte: Associated Press

Tiago Luchini · 13 Sep 2007 · technology

Getting the Job Done

Computer Frustration

Most software solutions we use in our computers are just bloated, resource-consuming monsters that eventually reach the expected result. Studies show that more than 95% of Microsoft Word users use less than 10% of its features. It is an well-known situation.

But this scenario really annoys me. My Windows XP machine once recently took around 45 minutes just to return from a hibernated state. The reason? Probably the anti-virus plus a very ineffective memory paging system were fighting for Hard Disk usage while I (the one sponsoring this interesting process with my time and money - two very important resources) was patiently waiting. (OK “patiently” might not be the exact word to represent my true feelings).

When my computer is doing something I do not want it to do I feel my money is just going down the drain. But it seems that software providers really enjoy making our lives miserable. It is simply too hard the get a job done sometimes.

I recently decided that DVD players were not the kind of home appliance I would be investing my precious money on (lots of reasons saved for a future post). I could simply use my Windows XP notebook which plays DVDs quite well and just plug its S-Video output onto a regular TV. I had already invested in the notebook with a DVD player and a S-Video output and on a TV with S-Video input. By the way, I also had an S-Video cable just laying around. Why would I spend 50€ on a fancy DVD player?

But Microsoft decided to make my life miserable with its bloated software. Microsoft’s media player was incredibly slow just to start up. It would then insist into looking for crazy things on the internet. First it would look for a “home” screen full of ads that I refuse to call “home”. Then, under some circumstances, it would look for codecs and additional software to update itself - again something I did not want it to do. It is important to remember I was just trying to watch a movie.

Every time Media Player insisted on checking something on the internet, it would ask for permission for my internet security subsystem, firewal, and etc and just then it would need to connect to the Wi-Fi network which was not exactly something I wanted to configure with all my family members waiting to watch a movie. And the popcorn was already finishing even before the show had started!

I was simply not getting to job done with the system at hand.

I hate spending valuable resources (money and time) on things I don’t necessarily need (be that driving to the electronic store and buying a redundant DVD player or spending time on my living room trying to cope with Microsoft’s eagerness for computer’s and user’s resources).

This weekend I tried something different. I downloaded a couple of Linux distributions targeted to media usage. Even tough I still did not find the perfect scenario, I was amazed by the simplicity and effectiveness of GeeXboX. It is an 8MB image that can be dumped onto a Live CD, HD or USB pen drive and that simply plays every single movie I tried so far.

GeeXboX not only played my DVDs requiring a procedure as simply as just inserting them in the drive but also recognized my external HD and allowed me to play recorded videos encoded with a really diverse array of formats. Simple, easy and straight-forward. No crazy internet access or virus scan. I finally got the job done… with only 8MB of well-done software.

Tiago Luchini · 11 Sep 2007 · technology