hit counter
Unique Visitors

14 November 2008

WPA já era...

Pois é, isto da segurança é cada vez mais relativo. Nem mesmo com o computador desligado da rede estamos 100% seguros.

Todos pensam que lá por terem uns protocolos de protecção todos XPTO e super poderosos estão 100% invioláveis. Nada mais errado.

Já não é propriamente segredo da comunidade informática que as chaves WPA podem ser facilmente quebradas em poucos minutos mas encontrei recentemente um documento na web que explica ao pormenor como fazer isso. 

Como achei interessante decidi partilhar aqui no blog.

Labels:

 

1 September 2008

Ruby on Rails - Gerar Gráficos

Como consequência do projecto que tenho vindo a desenvolver no trabalho, tive de aprender Ruby on Rails. Recentemente descobri umas classes em Java que nos permitem criar gráficos com muita facilidade.

"JFreeChart" é um conjunto de classes grátis que nos possibilitam criar gráficos para as nossas aplicações. Gráficos de barras, 3D, linhas e muitos outros tipos.

Vou falar aqui de algumas classes que usadas em conjunto se podem tornar bastante poderosas.
  • ChartFactory: classe que nos permite criar os gráficos através da definição do eixo das ordenadas e do eixo das coordenadas, definição de legendas, orientação dos dados, etc.
  • ChartUtilities:esta classe permite-nos, entre outras opções, guardar os nossos gráficos em ficheiros de imagens, nomeadamente JPEG e PNG;
De seguida vou dar-vos um pequeno exemplo de como podemos usar esta poderosa ferramenta.
Nota: o código apresentado representa apenas parte de uma solução completa e supõem-se que quem estiver a ler este post já tenha alguns conhecimentos tanto de Java como de RoR.

O funcionamento básico consiste em, termos um controlador do RoR que comunica com uma classe "ChartEngine" criada por nós que por sua vez chama as classes Java do JFreeChart.

graph_controller.rb

include_class Java::com.myrio.qa.chart.ChartEngine
include_class Java::org.jfree.data.xy.XYSeries
include_class Java::org.jfree.data.xy.XYSeriesCollection

def build_jvm_graph()
ce = ChartEngine.new
ce.setUnitsX('occurrence')
ce.setUnitsY('MB')
ce.setSize('small')
ce.setTitle("Client Postaction JVM Free")
ce.setFilePrefix("#jvm")

series = XYSeries.new "Client Postaction JVM Free"
dataset = XYSeriesCollection.new

index = 0
ctas.each { | cta |
index += 1
series.add(index, value)
}
dataset.addSeries(series)

return ce.drawXYSeriesChart(dataset)
end


ChartEngine.java

public String drawXYSeriesChart(XYSeriesCollection dataset) {
String filename = "/" + filePrefix + ".png";
JFreeChart chart =
ChartFactory.createXYLineChart(title,
unitsX,
unitsY,
dataset,
PlotOrientation.VERTICAL,
true,
false,
false);

try {
ChartUtilities.saveChartAsPNG(new File(fChartsDir.getPath() + filename),
chart,
width,
height);
}
catch (IOException e) {
e.printStackTrace();
}
return "charts" + filename;
}


Esta última classe o que faz é inicializar as variáveis da classe ChartFactory como por exemplo as unidades dos eixos X e Y, o título e o tamanho do gráfico entre outras.



Links:

Labels:

 

9 July 2008

It's zero houres!

Existe uma pequena aplicação, chamemos assim, no Mac OSX que nos permite, de tempo a tempo, ouvir uma voz dizer as horas.


Descobri esta "feature" logo nos primeiros minutos de utilização do Mac quando apanhei um susto ao ouvir uma voz tremida e temporalmente deslocada dizer "It's one houre".

De início até pensei desligar isto para não me estar sempre a assustar mas depois decidi deixar estar, meti uma voz feminina mais doce, coloquei os avisos de hora a hora e baixei o volume da mesma. Pois bem, isto já me tem safo de ficar acordado até altas horas da manhã ou de chegar atrasado a qualquer lado. Parecendo que não dá jeito e nem se dá por ele.

Configuração:
Para configurar esta opção o utilizador pode aceder às System Preferences (Preferência do Sistema) e seleccionar "Date & Time", de seguida selecciona "Clock" (no topo da janela) e depois mais abaixo é só seleccionar "Announce the Time". Em relação às opções, o utilizador pode optar por 3 anúncios horarios: de hora a hora, de 30 em 30 minutos ou todos os quartos de hora, pessoalmente uso a primeira opção.

Adicionalmente, e ainda dentro da mesma janela do "Clock", carregando em "Customize Voice" o utilizador pode escolher uma de entre várias vozes bem como a velocidade da mesma e o seu volume.

Acesso:
É possível aceder de forma mais rápida a estas opções sem ter de passar pelo menu das Preferências, para tal basta usar o Spotlight (Cmd+Space) e digitar "Date & Time" (para quem tem o SO em Inglês). Para quem usa o QuickSilver este funciona exactamente da mesma forma.


Apple for Everyone.

Go to: Apple

Labels: ,

 

5 July 2008

Mac OSX SnowLeopard

Muito se tem falado no novo sistema operativo Windows Seven (será que este será mais um pecado mortal) e muito se tem começado a falar também no novo SO da Apple, SnowLeopard.

Há umas semanas atrás, apresentado por Steve Jobs na WWDC 2008, vai ser um sistema operativo na mesma linha visual do Leopard contudo consideravelmente mais leve e com novas potêncialidades onde a que mais se tem destacado e especulado é a framework multitouch e a possibilidade de ser lançado um tablet mac que não seria mais do que um ipod em formato gigante.

O novo sistema operativo será mais leve na media em que muitas das actuais aplicações diminuiram o seu espaço em disco, terá suporte para 64 Bits por forma a lidar com as enormes quantidades de memória que são acrescentadas a hardware avançado, - até um valor teórico de 16 TB de RAM, ou seja, 500 vezes mais do que aquilo que é possível actualmente.

Uma nova tecnologia OpenCL (Open Compute Library), faz com que seja possível tirar partido dos muitos gigaflops de potência de processamento actualmente bloqueados na unidade de processamento gráfico (GPU). Com as GPUs a aproximarem-se de um trilião de operações por segundo, são capazes de fazer significativamente mais do que apenas desenhar imagens. O OpenCL utiliza essa potência e redirecciona-a para processamento de utilização geral.

Compatibilidade com Microsoft Exchange e capacidades multicore com o “Grand Central”, um novo conjunto de tecnologias integradas no Snow Leopard que proporciona suporte inigualável para sistemas multicore no Mac OS X. Mais núcleos de processamento, e não maiores velocidades de relógio, são os responsáveis pelo aumento do desempenho nos processadores modernos. O Grand Central permite tirar todo o partido da capacidade de processamento, fazendo com que todo o Mac OS X aceda aos diversos núcleos e optimizando-o para distribuir tarefas entre diversos núcleos e processadores. O Grand Central também faz com que seja muito mais fácil para os programadores criarem programas que tiram o máximo de partido da potência dos sistemas multicore.


Apple for Everyone.

Original: Apple

Labels: , ,

 

1 July 2008

Mac OSX Screen Capture

Desculpas aos que não usam pc's Apple mas este post é novamente inteiramente dedicado aos Apple user's.

No Windows XP todos estávamos habituados a fazer print screens usando apenas a tecla "Print Screen", nada de especial tendo em conta que se o objectivo fosse apenas capturar uma janela ou uma parte do ecrã, tinha-mos de abrir o paint ou um editor de imagem qualquer, editar e depois guardar a imagem.

Tudo isto muito complicado tendo em conta que a maioria das pessoas não tem conhecimentos sobre editores de imagem ou tem pouco tempo em mãos para todas estas tarefas separadas!

Como em muitas outras coisas em que a Apple está passos à frente do rival, chamemos assim, também nesta matéria a Maçã dá cartas e já desde há muitas versões do seu sistema operativo que é incluída uma ferramenta para capturar o ecrã do computador.

Esta aplicação na sua versão mais recente chama-se Grab e pode ser utilizada sem sequer termos de a abrir, o que é fantástico e que mais uma vez reforça o espírito da Apple em tornar tudo simples nos seus produtos. Para quê mais uma tecla a encher o teclado se podemos fazer o mesmo e muito mais com as teclas básicas existentes?

Pois bem, é mesmo sobre isso que este texto trata, os atalhos para capturar o ecrã no Mac OSX, divirtam-se.
  1. Para capturar por completo o ecrã, carreguem em Command+Shif+3 e o resultado será automaticamente guardado no desktop;
  2. Para capturar por completo o ecrã mas guardar o resultado numa pasta espicífica, carreguem em Command+Control+Shif+3;
  3. Para capturar apenas uma parte do ecrã, carreguem em Command+Shift+4 para aparecer um alvo e depois é só clicar e arrastar o rato pela área a capturar e o resultado será guardado no formato PNG, mais uma vez no desktop (ou em PDF se usarem uma versão anterior ao OSX Leopard);
  4. Para capturar uma janela específica, carreguem em Command+Shift+4 e depois na barra de espaços. O cursor vai mudar para a imagem de uma câmara e depois podem-no mover pelo desktop. Enquanto movem o cursor sobre uma janela essa irá ficar sobressaída não sendo preciso que esteja totalmente visível para que seja toda capturada. Quando temos o cursor sobre a janela que queremos é só clicar e voilá, o resultado será guardado no formato PNG, mais uma vez no desktop (ou em PDF se usarem uma versão anterior ao OSX Leopard);
  5. Se aos dois atalhos anteriores acrescentarem CTRL, o resultado passa a ser gravado numa pasta à escolha pelo utilizador.
  6. Por fim, têm o GRAB, que vem substituir o Capture e que para o acederem basta ir à pasta Applications > Utilities ou para quem usa o Quick Silver basta escreverem Grab. Esta aplicação faz tudo o que os atalhos anteriores fazem e ainda podemos contar com inúmeras outras opções. É só explorar.
Divirtam-se.

Labels: , ,

 

25 June 2008

Rails Framework (RoR)

Por força do trabalho que estou a desenvolver lá vou ter de aprender uma nova linguagem.
Chato? Nem por isso... do que já aprendi sobre Rails estou a gostar imenço e alguns pequenos projectos pessoais começam já a passear na minha cabeça.

Rails é uma framework direccionada para web development e acenta na linguagem de programação Ruby, dai o nome Ruby On Rails.

A framework é super potente e muito fácil de usar/manipular tanto é que em pouco mais de 5 minutos conseguimos colocar a funcionar algo tão complexo como a gestão de eventos...
Esta framework foi lançada a meio de 2004 e desle logo a sua simplicidade e ao mesmo tempo capacidade de ajuste fez com que os programadores por todo o mundo desenvolvessem tanto websites como aplicações web acentes nesta framework.

Rails acenta sobre o modelo MVC (Model - View - Controller) e pode-se dizer que é a unção de outras 5 frameworks, Active Record, Action Pack, Action Mailer, Action Support e Action web services.

Quanto à sua escabilidade, esta é bastante aceitável na medida em que existem casos de sites feitos em Rails que suportaram 5 milhões de visitas em um mês, ou seja, aproximadamente 115 por minuto, uma performance considerada bastante suficiente para 90% das aplicações atuais.

Um facto que abona em favor de RoR é este ser totalmente grátis podendo ser instalado em qualquer sistema operativo, seja ele Windows, Mac ou Linux.

Por acaso recentemente foram descobertos uma série de vulnerabilidades que permitem a um agente levar a cabo ataques DoS ou até mesmo executar comandos remotamente.

Para quem se sentir interessado em saber mais sobre RoR ou até mesmo fazer alguma coisa com esta framework, deixo de seguida alguns links úteis.

Site oficial de Ruby on Rails
Ruby on Rails Security
Ruby on Rails Wikipedia
Livros sobre RoR

Labels:

 

1 June 2008

Calendário Euro 2008

Encontrei na net uma aplicação em Java muito interessante para quem acompanha os jogos do Euro e gosta de escrever os resultados e essas coisas.

Esta aplicação não só nos deixa ir guardando os resultados como nos mostra também automaticamente a cada actualização a classificação das selecções nos respectivos grupos bem como os encontros da fase a eliminar.

Claro que se isto é em Java possívelmente muitas pessoas não vão ser capazes de visualizar a aplicação mas para esses basta sacaram a última versão do Java, instalar e voilá.

Para os que não gostam de tecnologias e preferem o velho papel também vos ofereço o link para uma imagem na qual, depois de imprimirem podem sempre ir marcando os resultados.

Isto sim é serviço "púbico".

Link aplicação
Link Java
Link Calendário

Labels: ,

 

23 May 2008

Desde que uso o ADIUM nao quero outra coisa a nível de Instant Messaging... o Adium para o Mac OSX está 5 estrelas.

Totalmente personalizável, e totalmente significa mesmo totalmente, nada de publicidades chatas, botões irritantes dos quais não nos conseguimos livrar sem ser com programas "extra" que os retiram mas que só ocupam espaço no disco e muitas vezes lixam o sistema todo... suporte para todos os tipos de contas, Gmail, Hotmail, AIM, etc, e uma facilidade na utilização muito boa.

São os pequenos pormenores que fazem os grandes programas e no caso do Adium isso é bem verdade. Recomendo vivamente a experimentarem mas como por pena minha, e porque sou por vezes obrigado a usar wi#&ow$ e para este chamado OS não existe o ADIUM, usem o PIDGIN que utiliza o mesmo motor do Adium e é igualmente muito bom e suporta todos os tipos de contas.

Labels:

 

14 May 2008

Asus WL-600g

Chegou hoje, no fim de semana já me vou entreter a instalar esta coisa toda!

  • Suporte para Portas LAN: Ethernet e 802.3 com Max.Bit Rate 10/100Mbps com função Auto cross-over (MDI-X), 4 port switch
  • Conectores : 4 x RJ45 for 10/100 BaseT
  • Suporte para Antena: 2 (um interno Invertido e um externo dipole antenna)
  • Conector: conector antena Reverse-SMA
  • Suporte USB Interface: USB 2.0 host
  • Suporta:
  • G.994
  • G.992.1 (G.; ite), supporting Annex A and C
  • ANSI T1.413
  • G.992.3(ADSL2)
  • G.992.4
  • G.992.5(ADSL2+)
  • Management Web-based manager
  • Firewall NAT and SPI
  • Transferência de Dados: 802.11g: 6, 9, 12, 18, 24, 36, 48, 54Mbps, 802.11b: 1, 2, 5.5, 11Mbps
  • Alcance: até 40 metros interior/ até 600 metros exterior
  • Sensibilidade: -70 ~ -71dBm @ 54Mbps, -88 ~ -89dBm @ 11Mbps, -95 ~ -96dBm @ 1Mbps
  • Encriptação: 64/128-bit WEP, TKIP, AES, WPA, WPA-PSK, WPA2, MAC address, 802.1x
  • Aplicações USB: Printer Server, FTP Server

Labels: ,

 

Software essencial num Mac!

Eis algum do software que instalei logo nas primeiras horas de Mac User:
  • Gmail Notifier: para quem usa Gmail é indispensável... para quem não usa Gmail… devia usar!

  • QuickSilver: é certo que o Spootlight é dos motores de pesquisa mais rápidos mas o QuickSilver é o mais útil e igualmente rápido na procura de executáveis. Uso constante.

  • Adium: o melhor programa de messaging... ultra personalizável, mega rápido e seguro.

  • MPlayer OSX: leitor vídeo de eleição, é ideal para ver filmes DivX e afins.

  • UnrarX: ferramenta muito simples e útil, equivalente ao Winrar/Winzip.

  • XCode: ferramenta de programação, super completa, rápida, consome poucos recursos... podem sempre usar o Coda.

  • Microsoft Office 2008: podia aconselhar o Open Office mas a versão Mac do mesmo dizem que é muito lenta e o Office 2008 vale bem a pena acreditem. Tomem como aliciante o facto do Mac trazer um comando remoto... que belas apresentações não se podem fazer...

  • Firefox 3 Beta: se não quiserem utilizar o Firefox... o Safari dá conta do recado com toda a perfeicção... mas para os amantes deste explorador da internet... não dispensem a nova versão 3 Beta.

  • Growl: util para nos alertar sobre todos os eventos do estilo Messenger que estão a decorrer no Mac, se alguém nos escreve no MSG vemos uma janelinha a aparecer... o mesmo se aplica a outras aplicações como iTunes por exemplo.

  • Flip4Mac WMV: para quem precia de ver ficheiros WMV ou outros que tais.

Labels: ,

 

2 May 2008

My White vs His Blak


Aqui estão eles, o branco acabadinho de comprar!

Labels:

 

27 February 2008

Learning Python!

Decidi aprender Python, uma linguagem de alto nível orientada a objectos que foi projectada com a filosofia de enfatizar a importância do esforço do programador sobre o esforço computacional. É uma linguagem que prioriza a legibilidade do código sobre a velocidade ou expressividade.

Algumas características:
  • Tipos dinâmicos de variáveis, retornos de funções e parâmetros, que são inferidos pelo interpretador. A tipagem também é forte, pois os valores e objetos têm tipos bem definidos e não sofrem coerções como em C ou Perl.
  • Orientada a objetos ainda que suporte outros paradigmas, como a programação funcional e modular.
  • Coletor de lixo automático, gerência de memória pelo interpretador, semelhante a Ruby, Perl e Tcl.
  • Portável, disponível para praticamente qualquer sistema operacional.
  • Extensível para implementação em conjunto com outras linguagens, como C.

Links
Python na Wiki
Compilador Python
Notpad++

Labels: ,