
O Netbeans.org anunciou a disponibilidade do NetBeans IDE 6.5 Beta. Abaixo a tradução do anúncio:
O NetBeans IDE 6.5 introduz várias novas funcionalidades, incluindo uma IDE robusta para PHP, deputação de JavaScript para o Firefox e IE, e suporte a Groovy e Grails. Esse lançamento também inclui várias melhorias para o desenvolvimento em Java, Ruby e Rails, e C/C++. Dentre as melhorias no Java destacam-se: suporte nativo ao Hibernate, importação de projetos do Eclipse, e compilação no salvamento.
Links:
Outros destaques:
- PHP
- Completação de código
- Consertos rápidos e checagem semântica
- Suporte a FTP
- Depuração com Xdebug
- Suporte a Web Services populares
- Ajax/JavaScript
- Suporte a depuração no Firefox e IE
- Monitoramento cliente de HTTP
- Vêm com as bibliotecas mais populares de JavaScript
- Java
- Suporte a Groovy/Grails
- Compilação/Deploy no momento do salvamento
- Importação e sincronização de projetos do Eclipse
- Suporte nativo a Hibernate
- Gerador de CRUD JSF agora com Ajax
- Banco de Dados
- C/C++
- Melhorias na completação de código e destaque de erros
- Desenvolvimento remoto
- Ruby
- Suporte aos Testes Ruby
- Melhoria no suporte a Rake
- GlassFish V3 “Prelude”
- Menor tamanho, inicialização e deployment mais rápido
- Suporte a scripting, inclusive jRuby
O NetBeans IDE 6.5 final está planejado para ser lançado em Outubro de 2008. Como sempre, é bem vindo e nós encorajamos seu feedback sobre sua experiência usando a IDE NetBeans. Visite nossas listas de email ou faça uma postagem no seu blog.
A really cool piece of code I read today in the book Ruby on Rails: Up and Running.
class Talker
def method_missing(method)
if method.to_s =~ /say_/
puts $'
end
end
end
t = Talker.new
t.say_hello
t.say_something
t.say_goodbye
And running
$ ruby Talker.rb
hello
something
goodbye
But why do that when we have parameters? Because you can do some methods really dynamic with a clear semantic, just looking for them you know are they are doing.
JRuby is a Java implementation of the Ruby interpreter, with an tightly integrated with Java. In this examples you will call swing components.
On Ubuntu you can get it installing the package jruby (a meta package for jruby1.0 or jruby0.9 packages).
To test it save this code as test.rb and invocate it with the jruby interpreter:
require 'java'
frame = javax.swing.JFrame.new()
frame.getContentPane().add(javax.swing.JLabel.new('Hello, JRuby World!'))
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
frame.pack()
frame.set_visible(true)
$ jruby1.0 test.rb
ps: We did not define a close method, so to close this windows you’ll need to kill its process or press Ctrl+C in your terminal.

Creative Commons image from Flickr.
From days 15 to 20 from April, I’ll be in Porto Alegre. I’ll participate on FISL (an old dream) with the presentation “Netbeans: beyond Java”. I’d like to talk about how you can use Netbeans as a great IDE for languages others than Java like Ruby, PHP, JavaFX, Javascript, Python, etc.
Probably I’ll be able to participate also on two events before FISL (about Opensolaris and Java ME).
So … how chimarrão tastes?
More books to my shelf.

- Ruby On Rails, Executando. Desenvolvimento Rápido para a Web. Bruce A. Tate & Curt Hibbs.
- Ruby, conhecendo a linguagem. Eustáqui Rangel de Oliveira Jr.
- JavaFX Script. Dynamic Java Scripting for Rich Internet/Clien-Side Applications. James L. Weaver.
First I’ll take a look … JavaFX, of course.
ps: The JavaFX book I win as a prize for naming the SDN Channel podcast, CampusCast. Thanks Edu that bring it to me from USA.
Muitas vezes para resolver uma única instância de um problema é mais rápido ataca-lo com força bruta do que encontrar um algoritmo geral com uma boa ordem de complexidade. Permutações são de grande utilidade nesse tipo de abordagem.
Permutações em Prolog:
Esse é um código em Prolog que o Wladimir Araujo passou na cadeira de IA.
select(X, [X|Xs], Xs).
select(X, [Y|Ys], [Y|Zs]) :- select(X, Ys, Zs).
permutar([], []).
permutar(Xs, [Z|Zs]) :-
select(Z, Xs, Ys),
permutar(Ys, Zs).
Permutações em Python:
Esse é um código de um certo Michael Davies que eu tirei daqui. Ele gera uma lista com todas as permutações de uma lista. Muito bonitinho.
def all_perms(str):
if len(str) <=1:
yield str
else:
for perm in all_perms(str[1:]):
for i in range(len(perm)+1):
yield perm[:i] + str[0:1] + perm[i:]
Um exemplo de uso:
>>> for p in all_perms(['a','b','c']):
print p
['a', 'b', 'c']
['b', 'a', 'c']
['b', 'c', 'a']
['a', 'c', 'b']
['c', 'a', 'b']
['c', 'b', 'a']
Outras implementações:
Em outras linguagens o código para gerar permutações geralmente é muito grande, então eu preferi deixar alguns links.