Put Messenger back in the tray in Windows 7 where it belongs

Turns out you can “fix” it. I got a very helpful email today explaining that you can simply run Windows Live Messenger in Windows Vista compatibility mode to move its icon back to the tray where God intended. To do so, quit Messenger. Then, find the executable file, msnmsgr.exe (it’s in C:\Program Files\Windows Live\Messenger by default), right-click it, choose Properties, and visit the Compatibility tab. Under Compatibility Mode, select “Run this program in compatibility mode for” and then choose Windows Vista from the list. Click OK and restart Messenger. Voila!

@http://community.winsupersite.com/blogs/paul/archive/2009/01/04/put-messenger-back-in-the-tray-in-windows-7-where-it-belongs.aspx

Mudar ordem das contas no ThunderBird

A conta pré-definida é sempre a primeira a aparecer (reiniciar depois de alterar a conta pré-definida) mas se quisermos alterar a ordem de todas?
Aqui está a solução:
http://sidvind.com/wiki/Thunderbird:_Change_account_order

Base para portátil home made

Recentemente troquei o fiel ASUS por um potente HP. O HP tende a aquecer, principalmente o disco rígido que chega a atingir os 54º. Sendo que a especificação do disco diz que a temperatura de operação está entre os 0 e os 60º achei por bem arrefece-lo por estar perto do limite.

Dado que tenho pelo menos 3 locais de trabalho não é cómodo andar com uma base às costas sendo que comprar 3 também não tem muita piada.

Solução? Construir as minhas próprias bases :)

Lá fui eu comprar um dossier resistente de modo a que o portátil fique ligeiramente inclinado.

Depois foi necessário ir até aos computadores velhinhos buscar ventoinhas do processador.

Para as ventoinhas funcionarem é preciso energia....ora...energia... USB
Toca a cortar um cabo USB e liga-lo á ventoinha para testar...
Como a ventoinha é de 12V e a porta USB dá 5V ficamos com uma ventoinha a rodar mais lento mas.... mais silenciosamente... 5 estrelas.

Definido o local a colocar a ventoinha (por baixo do disco) passou-se à fase de cortar o dossier e fixar a ventoinha, ligar o cabo USB, fixa-lo....

Abri ainda mais um buraco para que o dissipador do processador respire bem melhor.

Resultado?
Base para portátil a um custo muiiito baixo e silenciosa.
Em termos de temperatura estou agora com uma média de 42º o que é bastante significativo.

Visual Studio não abre com duplo clique na solution

No Windows Vista se definirem o Visual Studio para correr com permissões de administrador irão (muito provavelmente) deixar de conseguir abrir projectos através de duplo clique no ficheiro .sln, .csproj ou .vbproj.

Era de esperar que o UAC (User Account Control) lançasse a janela que permite ao utilizador subir o nível de permissões para administrador. Isto não acontece!

Não acontece porque o programa que está definido como default para abrir estes tipos de ficheiros não é o IDE do Visual Studio mas sim o Visual Studio Version Selector.
Para resolver este problema defina o devenv.exe (…\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe) como programa a utilizar para abrir este tipo de ficheiros.

Microsoft Sync Framework CTP2

Já está disponível a nova CTP da Sync Framework.

Novidades:
http://blogs.msdn.com/sync/archive/2009/06/04/announcing-sync-framework-2-0-ctp2.aspx

Download:
http://www.microsoft.com/downloads/details.aspx?FamilyID=89adbb1e-53ff-41b5-ba17-8e43a2e66254&displaylang=en

Atenção, convém remover a versão anterior, embora as duas possam coexistir, ou seja, remover:
- Microsoft Sync Framework Runtime v1.0 CTP1...
- Microsoft Sync Framework Services v1.0 CTP1...
- Microsoft Sync Services for ADO.NET v2.0 ...

As componentes do Microsoft SQL Server Compact 3.5 NÃO são para remover.

Sinais da Crise ? Estação de Serviço

Após uma folga espero estar de volta ao blog...

Hoje ao entrar numa estação de serviço de uma auto-estrada deparei-me, mesmo à entrada, com uma câmara com infravermelhos… Eh lá... Será que os senhores das auto-estradas já controlam o acesso ás estações de serviço?!? isso aliado ao tempo que determinado condutor demora a percorrer X troço da auto-estrada pode dar mau resultado em termos de controlo de velocidade... humm..naaa

Dentro da actual legislação dificilmente implementariam uma solução destas para controlo de velocidade, ora, resta saber para que serve afinal a tal câmara…

Lá perguntei à senhora da caixa e ela gentilmente explicou que servia para identificar matrículas de veículos que abastecem e fogem sem pagar. Deste modo pode bloquear a bomba (ou não a desbloquear) no caso de ser um cliente desse tipo.

Será isto um sinal da crise, onde existem cada vez mais condutores a fugir sem pagar, ou será a implementação de uma solução tecnológica de identificação de matrículas que dá mais um passo em termos de aplicabilidade? Talvez as duas…

Recomendação da Cruz Vermelha a nível mundial

O pessoal das ambulâncias e emergência médica que presta assistência aos nos acidentes da estrada, constata que os sinistrados têm um telemóvel consigo.

No entanto, na hora de intervir, muitas vezes esse pessoal não consegue descobrir qual a pessoa a contactar na longa lista de telefones existentes no telemóvel do acidentado.
Para tal, a Cruz Vermelha lança a ideia de que todas as pessoas acrescentem na sua lista de contactos o número de telefone da pessoa a contactar em caso de emergência.
Para facilitar, tal deverá ser feito da seguinte forma: Inserir na memória do telemóvel a entrada 'AA Emergência', seguida do nº de telefone para o qual deseja que seja feito o aviso. (As letras AA são para que este contacto apareça sempre em primeiro lugar na lista de contactos).
É simples, não custa nada e pode ajudar muito quem nos prestar assistência.
Se concordar com esta proposta, passe esta mensagem a todos os seus amigos, familiares e conhecidos.
É tão-somente mais um dado que regista no seu telemóvel e que pode ser muito importante.

Revista PROGRAMAR - 18ª Edição

Nesta edição em que se comemora o seu 3º aniversário, poderá encontrar a continuação dos artigos sobre Subversion e Fundamentos de Segurança em Redes, artigos sobre Cloud Computing e Packet Capture em Java, entre outros.

Cloud Computing

Este artigo saiu na edição nº 18 da Revista PROGRAMAR

Introdução


O Cloud Computing é uma das mais importantes tendências tecnológicas dos próximos tempos. Mas o que é afinal cloud computing? Não existe ainda uma definição clara, se quiser um exemplo disso faça esta pergunta a cinco pessoas ligadas à tecnologia e provavelmente irá obter cinco ou até mais respostas diferentes.

Existem opiniões que dizem que tudo o que está fora da firewall é cloud computing, ou seja, um simples webservice pode ser considerado cloud computing. Esta resposta até faz sentido porque na realidade o processamento desse webservice ocorre fora do nosso computador. No entanto, cloud computing é muito mais do que isso.

Essencialmente trata-se de afastar completamente a computação e os dados dos computadores de secretária e portáteis, e simplesmente mostrar ao utilizador os resultados da computação que ocorre numa localização centralizada (grandes datacenters) e é transmitida via Internet para o ecrã do utilizador. Mais ainda, é potenciar a interacção entre o software, que neste paradigma reside na nuvem, através de serviços.

Estaremos então a voltar à época dos terminais “estúpidos”? Iremos tentar perceber a resposta a esta pergunta mais à frente neste artigo, mas neste momento torna-se necessário perceber as mudanças que ocorreram no passado para perceber o porquê dessas mudanças no futuro.

Olhando um pouco para a história dos computadores, não propriamente a partir do primeiro computador no sentido do termo (computador humano, pessoa que realizava cálculos numéricos), mas sim a partir do primeiro computador electrónico, vamos tentar perceber as mudanças nas arquitecturas dos sistemas e as razões que levaram a essas mudanças.

História

Os primeiros computadores eram máquinas enormes, muito pesadas e de elevado custo. Sempre que alguém pretendia realizar alguma computação tinha que se deslocar a esse computador, do tamanho de uma sala, para a poder realizar. O que é importante reter é que a computação começou, por razões económicas, com uma arquitectura de centralização da informação.

Mais tarde surgiram os terminais. O uso de terminais já não obrigava a que o operador se deslocasse ao computador para poder realizar operações e permitia ainda que estivessem várias pessoas a usar o computador em regime de partilha de tempo de computação. A arquitectura continua centralizada, todas as operações são realizadas no computador, sendo o terminal apenas um interface para aceder ao computador.

À medida que a Lei de Moore se vai manifestando, o tamanho e custo dos computadores desce e torna-se prática comum a utilização de computadores pessoais visto que já era economicamente viável ter um computador no escritório ou até em casa. Com o uso de computadores pessoais passa-se a utilizar uma arquitectura completamente descentralizada. Neste momento poderia optar-se pelas duas arquitecturas, a centralizada que ainda oferecia um custo mais baixo em termos de custo por utilizador, ou um sistema completamente descentralizado que oferecia uma maior autonomia e melhor interface aos utilizadores.

Posteriormente surge a arquitectura cliente-servidor em que existem computadores em ambos os lados. Algumas partes do programa correm no computador-servidor e outras correm no computador-cliente. Isto causa um aumento da complexidade do software dada a necessidade de comunicação e sincronização entre as partes. Estamos agora numa arquitectura mista.

Entretanto surge o primeiro Web browser que apenas mostrava texto e praticamente todo o processamento era realizado no lado do servidor. Voltamos novamente a uma arquitectura completamente centralizada. As capacidades deste tipo de aplicações eram muito limitadas. Os Web browsers evoluíram, sendo já é possível correr código de aplicações dentro destes, o que levou e leva a que apareçam cada vez mais aplicações Web em detrimento de aplicações desktop.

Esta arquitectura cliente-servidor oferece algumas vantagens tecnológicas que naturalmente se tornam em vantagens económicas. A centralização de todos os dados no servidor é um exemplo disso, que leva a um aumento da segurança e à redução nos custos de manutenção.

Como pudemos observar, certa parte destas mudanças aparecem por razões económicas. Se uma arquitectura diferente apresenta as mesmas funcionalidades a um preço mais reduzido tende a ser cada vez mais adoptada.

Motivação


Chegamos agora à parte mais importante. Com o aparecimento de Web browsers com cada vez mais capacidades e cada vez mais cumpridores dos standards, e com as capacidades para acesso à Internet que existem, torna-se cada vez mais possível a ideia de afastar completamente a computação e os dados dos computadores pessoais e movê-los para a nuvem.

Na base desta mudança estão, como mencionado anteriormente, a evolução tecnológica que agora existe e novamente as razões económicas, nomeadamente com a redução de custos que essa mudança pode proporcionar. Vamos agora dar uma vista de olhos nas próximas tendências na área das tecnologias de informação para tentar perceber se esta mudança terá ou não condições para acontecer.

Prevê-se que nos próximos anos, três das principais tendências na área das tecnologias de informação sejam a mobilidade, o software como serviço (SaaS) e o hardware como serviço (HaaS).

A mobilidade significa simplesmente que os notebooks vão ficar em casa. Ou seja, vamos passar a levar connosco dispositivos mais leves, mais pequenos e com a mesma eficiência. Esses dispositivos compactos terão preços relativamente baixos e serão munidos de aplicações Web.

Software as a Service


Software como serviço significa que muitas das aplicações de negócios serão contratadas no modelo serviço em vez de licença de software. No modelo SaaS a empresa paga na proporção em que usa o software. Essa é uma diferença fundamental em relação ao preço fixo de uma licença. Com o suporte de empresas como Oracle, SAP e Microsoft e de líderes da Internet, como Google e Amazon, o modelo de desenvolvimento e distribuição SaaS tende a crescer muito nos próximos anos.

Em vez de instalar software nos seus próprios servidores, as empresas contratam o fornecimento desse software como um serviço. E em vez de pagarem uma licença de software, pagam mensalmente um custo por utilizador ou pelas horas em que os seus colaboradores estiveram a usar a aplicação. A interacção com este software é realizada da mesma forma que se realizam as interacções com as aplicações empresariais modernas, ou seja, através de um Web browser. As contas de webmail são um bom exemplo de um software muito utilizado e fornecido como serviço. Hoje em dia, praticamente todas as aplicações podem ser fornecidas como serviço.

Esta ideia não é nova, pois no passado já existiram Aplication Service Providers. No entanto, esta arquitectura não teve grande sucesso porque esses fornecedores dedicaram servidores e programas a empresas individualmente. O custo de operação e manutenção individual de cada um desses servidores impossibilitou o sucesso desta arquitectura. Os fornecedores de software como serviço trabalham com uma arquitectura diferente: existe apenas uma instância do software que serve os vários clientes. Apesar de cada cliente ter apenas acesso aos seus dados e a uma versão personalizada da aplicação, existe apenas uma instância desse software a correr no servidor. Esta arquitectura tem algumas vantagens tais como a redução de recursos ocupados no servidor e a redução dos custos de manutenção. Cada instância de um software por menor que seja requer logo à cabeça alguma memória e algum processamento. Essa necessidade multiplicada por muitos clientes pode tornar considerável esse custo inicial. A arquitectura de que vos estou a falar reduz substancialmente essa necessidade dado que apenas existe uma instância, embora mais “pesada”, do software. Como já foi referido, a manutenção está, neste caso, muito mais facilitada dado que todas as correcções de erros e novas funcionalidades ficam imediatamente disponíveis para todos os utilizadores.

Os fornecedores disponibilizam ainda formas de os utilizadores poderem personalizar a sua “versão” da aplicação e até a partilha dessas personalizações com outros clientes. A maioria dos clientes deste tipo de fornecedores são pequenas e médias empresas, mas a constante complexidade e custo de manutenção de aplicações internamente faz com que o número de clientes destes fornecedores tenda a aumentar e a expandir-se a empresas de maior dimensão.

Hardware as a Service

Hardware como serviço significa que a adopção de novas tecnologias de informação vai deixar de passar por investir grandes quantias de dinheiro com equipamentos, passando a adquirir a sua infra-estrutura como serviço. A banda larga de alta velocidade vai permitir colocar a infra-estrutura em grandes datacenters com a mesma rapidez de resposta que teria com uma solução local.

A possibilidade de adquirir hardware como serviço já existe há muito tempo através dos fornecedores de alojamento. No entanto esta opção enfrenta alguns problemas complexos tais como a escalabilidade. Normalmente nestes casos é alugado um servidor dedicado o que leva a estarmos limitados à capacidade desse servidor.

Vamos agora pensar do ponto de vista empresarial. Imagine que tem uma empresa e compra um servidor para dar resposta às necessidades da sua empresa. Passado algum tempo a sua empresa está a ter cada vez mais sucesso no mercado, o seu servidor já não dá resposta às necessidades e tem que adquirir outro e depois mais outro… Por alguma razão o país entra em recessão e o seu volume de negócios desce bastante. Ora, para além dos problemas que a recessão lhe está a trazer tem ainda que se preocupar em acabar de pagar os servidores que teve que adquirir e que agora já não lhe fazem a mínima falta.

Outro exemplo da mais-valia que o hardware como serviço trás às empresas é a capacidade de resposta a picos temporários. Imagine que a sua empresa tem que processar um grande volume de dados no final do mês e tal não pode ser feito de outra forma. Provavelmente terá que adquirir tecnologia de servidor que estará a dar rendimento apenas no final de cada mês.

Como já pudemos perceber trata-se de uma arquitectura altamente escalável porque permite aumentar ou diminuir a capacidade do hardware numa questão de minutos. Além disso é muito flexível porque dá a possibilidade aos utilizadores de escolher quais as capacidades que cada instância terá. A fiabilidade é outra grande arma dado que tira partido de infra-estruturas gigantes, como por exemplo a infra-estrutura da Amazon ou da Google. Um dos exemplos mais conhecidos deste tipo de serviço é o Amazon EC2 (Amazon Elastic Compute Cloud).

Desvantagens e/ou Preocupações

Até este momento só vimos vantagens neste paradigma, mas naturalmente também existem desvantagens. Algumas podem parecer desvantagens mas tratam-se apenas, até prova em contrário, de preocupações. O primeiro inconveniente tem logo a ver com a necessidade de conectividade, pois sem conectividade não é possível trabalhar. As ligações com baixa largura de banda também poderão limitar bastante o funcionamento deste tipo de serviço caso a informação a transportar entre as partes seja de elevada dimensão.

Outra das limitações a apontar trata-se da privacidade e de toda a segurança que tem que existir. Existe alguma desconfiança quanto a deixar a cargo de outra empresa a tarefa de guardar dados importantes, quer sejam pessoais ou empresariais. Talvez este tema não se trate de uma desvantagem mas, apenas e só, de uma preocupação. Empresas que forneçam estes serviços vão ter o seu sucesso ou insucesso muito intimamente ligados à sua reputação, e portanto os mecanismos de segurança serão uma das suas principais preocupações.

Outras existirão logo à partida mas que tenderão a desaparecer com a evolução, tais como a menor velocidade, menor capacidade e menos funcionalidades que este tipo de software ainda tem em relação ao software desktop. Existem ainda algumas questões muito importantes por resolver. Quem é o detentor legal da informação e da propriedade intelectual? É quem contrata o serviço ou quem o disponibiliza? É possível que o fornecedor negue ao utilizador acesso à sua própria informação? Estes e outros assuntos ainda estão a ser debatido por empresas, advogados e universidades.

Cloud Platforms


Uma das componentes mais importantes desta tendência é a chegada das plataformas na nuvem. Este tipo de plataformas permite aos programadores desenvolver aplicações que correm na nuvem, usar serviços fornecidos pela nuvem, ou ambos. Para compreender esta importância pense como as aplicações são desenvolvidas actualmente. Quando uma equipa de programadores cria uma aplicação, a maioria das coisas que essa aplicação necessita já existem, desde um sistema operativo que fornece o suporte básico para executar essa aplicação a outros computadores que oferecem serviços como, por exemplo, o armazenamento em base de dados. Se para desenvolver um software tivéssemos que criar toda esta plataforma base existiriam muito menos aplicações nos dias de hoje.

Da mesma forma, se todas as equipas de desenvolvimento que pretendessem criar uma aplicação para correr na nuvem tivessem primeiro que criar a sua própria plataforma também não veríamos muitas aplicações a correr na nuvem. Felizmente, os fornecedores estão cada vez mais a responder a este desafio e já existem algumas plataformas de desenvolvimento na nuvem. Para conseguirmos entender melhor as plataformas na nuvem vamos tentar perceber como é que funcionam as plataformas locais.

As plataformas locais

Independentemente de uma plataforma ser local ou na nuvem, pode ser vista como englobando três componentes: um software base para interagir com o hardware existente, um grupo de serviços fornecido pela infra-estrutura e um conjunto de serviços fornecidos por outras aplicações.

Nos primeiros tempos da computação, a plataforma não era mais do que um conjunto de software base. Quase todas as aplicações utilizam algum software base na máquina onde correm, o que tipicamente inclui algumas funções de suporte, tais como um sistema operativo base, armazenamento standard e bibliotecas de tipos.

Nos anos 80 e 90, com a disseminação da computação distribuída, foram adicionados serviços disponibilizados pela infra-estrutura, com o armazenamento remoto em ficheiros e bases de dados, a integração e a identidade a tornarem-se muito utilizados.

Hoje em dia apesar de as aplicações existirem acima de tudo para fornecer serviços a utilizadores finais, com a chegada das aplicações orientadas para serviços, os serviços fornecidos por outras aplicações locais tornaram-se também parte da plataforma.

Não fazendo directamente parte da plataforma, as ferramentas de desenvolvimento são outra importante parte desta história porque ajudam os programadores a construir aplicações usando as três componentes da plataforma.

As plataformas na nuvem

O modelo de plataforma usado na nuvem é muito semelhante ao modelo que acabámos de ver. No entanto, e dada as suas diferentes características, irá funcionar de forma diferente em cada camada. Percebemos facilmente isso se pensarmos na enorme necessidade de escalabilidade. Enquanto as plataformas locais lidam, no máximo, com aplicações de nível empresarial, as plataformas na nuvem terão que lidar com aplicações de uma escala bem maior, onde o número de utilizadores será também maior.

Vamos agora olhar para a camada base e identificar algumas diferenças estruturais. Começando pelo sistema operativo, serão fornecidas instâncias de sistemas operativos a correr sobre máquinas virtuais. A utilização de máquinas virtuais permite que o utilizador possa escolher as capacidades que quer ter na nuvem e, mais importante ainda, permite expandir muito rapidamente essas capacidades em caso de necessidade. Não se esperam grandes limitações quanto ao sistema operativo a utilizar nas máquinas virtuais, e numa primeira fase será Linux o sistema operativo mais utilizado. No entanto a Microsoft já está a desenvolver a sua plataforma para a nuvem, a plataforma Azure, sendo difícil neste momento prever se conseguirá recuperar as desvantagens que parece ter neste momento em relação a Linux.

As plataformas na nuvem actuais não fornecem as mesmas opções que uma plataforma local. Os programadores estão limitados a poucas, ou até apenas a uma, formas de poder obter suporte local. Relembro que ao estarmos a falar de suporte local estamos a falar de, por exemplo, acesso a um servidor de bases de dados a correr na própria máquina ou de frameworks sobre as quais as aplicações correm. Estas limitações também são, de alguma forma, consequências da necessidade de escalabilidade mas também permitem aos fornecedores focarem-se no desenvolvimento e optimização desse tipo de suporte.

Antes de falarmos sobre as características dos serviços fornecidos pela infra-estrutura na nuvem e por outras aplicações na nuvem é importante perceber a interacção que poderá existir entre as duas plataformas.

As plataformas locais poderão tirar partido dos serviços fornecidos pelas plataformas na nuvem, tal como as plataformas na nuvem poderão tirar partido dos serviços fornecidos pelas plataformas locais. A mudança para plataformas na nuvem será em muitos casos uma mudança progressiva. As aplicações locais vão cada vez mais inter-operar com serviços e aplicações que passarão a existir na nuvem até que um dia todas, ou pelo menos a maioria, estarão já a funcionar completamente na nuvem.

Quanto a serviços fornecidos pela infra-estrutura, muitas aplicações locais não tiram partido deste tipo de serviços. Quando falamos de aplicações na nuvem o mesmo poderá acontecer. Dada a normal existência de apenas uma instância na nuvem poderemos ser levados a pensar que funcionalidades como o armazenamento em bases de dados e gestão de identidade passem a ser fornecidos cada vez menos como serviço e passem a fazer parte do próprio software. Isto porque não existe a necessidade de partilhar essa informação com outras instâncias.

Este pode ser um caminho, mas o caminho contrário é ainda mais viável, ou seja, focar o desenvolvimento do software na lógica de negócio e deixar a resolução desse tipo de tarefas a cargo de serviços que ligamos ao nosso software e dos quais tiramos partido. Vamos pensar, por exemplo, no serviço de gestão de identidade. O programador não tem que se preocupar na forma de guardar e verificar a identidade dos seus utilizadores, bastando-lhe apenas saber utilizar um serviço que lhe fornece solução para essa e outras preocupações. É uma mais-valia importante. As plataformas que existem hoje em dia na nuvem têm normalmente um serviço de gestão de identidade associado. Trata-se de uma limitação mas não deixa de ser um serviço muito importante para as aplicações, até porque a interacção com outros fornecedores de identidade é cada vez mais possível.

O serviço de armazenamento de informação na nuvem é um dos mais atractivos, mas mesmo este tem necessariamente que ter uma arquitectura diferente devido às características da nuvem. Isto poderá significar que os programadores poderão tirar partido deste tipo de serviço mas poderá implicar mais algum trabalho no desenvolvimento se o quiserem usar devidamente. Em relação a serviços fornecidos por outras aplicações não parecem existir grandes novidades. No entanto, a cada vez maior adopção de arquitecturas orientadas ao serviço vão potenciar ainda mais a interacção entre as aplicações, sejam elas locais ou residentes na nuvem.

Conclusão


Como se pode constatou anteriormente, as plataformas não mudam muito ao longo do tempo. No entanto, sempre que aparece uma nova plataforma que apresenta reais vantagens em relação às existentes ela tende a ter um impacto muito grande. As plataformas na nuvem ainda não trazem todas as vantagens que as plataformas locais já disponibilizam mas apresentam sérias vantagens competitivas. A adopção destas plataformas fará parte do nosso futuro enquanto programadores ou simples utilizadores de informática. Fica prometido para uma futura edição uma análise mais aprofundada às plataformas existentes.

Referências e Bibliografia


Wikipedia - Cloud Computing

HowStuffWorks.com – Cloud Computing

GigaOM – How cloud and utility computing are different

Cloud Computing Journal -What is Cloud Computing?

Linux Magazine - Computing In The Clouds: Setting Expectations

Chapell & Associates - A Short Introduction to Cloud Platforms

InfoWorld - What cloud computing really means

free Extended Task Manager

The free Extended Task Manager includes various other features that make it a great alternative to the standard Windows Task Manager.



Extended Task Manager features:
* Displays disk input/output activity with information about related applications
* Displays network port activity with IP addresses of external computers
* Displays information about applications that utilized most of the CPU or memory at any time presented on the charts
* Displays all files locked by a select process.
* Finds all processes locking a specified file.
* Includes "Summary" tab for quickly assessing the overall state of the Windows system
* Allows freezing individual Windows processes
* Offer various visual and functional improvements over the standard Windows Task Manager

Top 25 Most Dangerous Programming Errors

Através de um post no peopleware tomei conhecimento que um fórum de peritos liderado pela Agência de Segurança Nacional dos EUA acaba de revelar os 25 maiores erros de programação no que toca à segurança.

Vale a penar ler porque são enunciadas algumas técnicas para os resolver.