I just received my CEJUG T-Shirt.
Front view

a Java logo in the arm

and CEJUG website in the back

You can buy yours at CEJUG Store.
Thank you Rafael!
I just received my CEJUG T-Shirt.
Front view

a Java logo in the arm

and CEJUG website in the back

You can buy yours at CEJUG Store.
Thank you Rafael!

Ejr actual officer
These days I visited the junior enterprise of my course (computer science, UFC). They are just starting and now have they own room.
The Junior Enterprise article at Wikipedia says:
This is an opportunity for students to develop self confidence and experience entrepreneurship at an early stage in their careers, to add practical experience to the theoretical skills and to provide private business with state-of-the-art knowledge from universities.
For my big surprise I found that they have also have an machine with Opensolaris installed for testing they softwares in multiples platforms. Very cool! If they continue to study and improve their skills in Opensolaris they can have an very special differential and goods business opportunities.
Very cool, keep going guys! 😀

Source: python.at.sun.svg
Good news. Two important Pythonistas, Ted Leung (Apache Foundation member) and Frank Wierzbicki (Jython lead) joined Sun Microsystems.
It’s one important step in the recognition of the Python language and certainly will bring benefits for the Python Community. Some things I’d like to see:
It’s really a great moment for Sun and Open and Free Software. I’m happy with all that? You can bet on it. 😀
Sources: Tim Bray Blog and Cnet news.
More books to my shelf.

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. 😉
Netbeans have a modular architecture that permits plug and unplug functionalities easily using the Plugin Manager.
It’s also easy create new plugins using Netbeans itself.http://silveiraneto.net/wp-admin/media-upload.php?post_id=705&TB_iframe=true
For a while I’m thinking about this hardware project idea and now I’m opening here to get some opinions. After that maybe I’ll submit it for the Sun SPOT Open Grant Program.
What is Walker Sphere? Walker Sphere is a project to made an robot capable with a diferent aproach, without heels, mats, propellers or wings. The main idea is to move only changing its center of gravity.
How change its center of gravity?
It’s a sphere

with some compartments

and a Sun Spot.

One compartment is filled with a liquid. The liquid is pumped to another compartment and so the compartment got heavier and the sphere moves towards its direction.

Why a sphere? We can distribute the mass uniformly in a sphere and it’s shapes make it easier to roll. A sphere can encapsulates all components and protect them from the outside world and at the same time all sensors can work, especially using some transparent material for the bark.
Why Sun Spot? The Sun Spot have some advantages that fits perfectly in this project:

It will be free? Yes. I’d like to know more about open and free licenses for hardware projects.
How to pump the liquid into the compartments? I don’t know. Have you some good idea?
Some random ideas:
I’m open for ideas, critics and suggestions. 😉
An side-scrolling game attempt.

I used two images, this mountain background made with Gimp (xcf sources here) and that ship above made with Inkscape (svg sources here).
import javafx.ui.*;
import javafx.ui.canvas.*;
var scroll;
scroll = [1..800] dur 60000 linear continue if true;
var mountains = Clip{
transform: bind translate(-scroll,0)
shape: Rect {x:bind scroll, y:0, width:400, height:200}
content: [ImageView {
transform: translate(0,0)
image: Image { url: "http://silveiraneto.net/downloads/mountains.png"}
},
ImageView {
transform: translate(800,0)
image: Image { url: "http://silveiraneto.net/downloads/mountains.png"}
}
]
};
var h = 50;
var ship = ImageView {
cursor: HAND
transform: bind translate(0,h)
image: Image { url: "http://silveiraneto.net/downloads/jfx_plane.png"}
onMouseDragged: operation(e) {
h += e.localDragTranslation.y;
}
};
Canvas {
content: [mountains, ship]
}
An simple color picker that can be also used as a gadget.
import javafx.ui.*;
import javafx.ui.canvas.*;
var colors = [red:Color, orange:Color, yellow:Color, green:Color,
cyan:Color,blue:Color, magenta:Color, gray:Color];
var chosenColor: Paint;
chosenColor = black:Color;
var x = 120;
var y = 70;
Canvas{
content: Group{
transform: bind translate(x,y)
content: [Star{
points: sizeof colors
rin: 30
rout: 50
fill: bind chosenColor
onMouseDragged: operation(e) {
x += e.localDragTranslation.x;
y += e.localDragTranslation.y;
}
},
foreach (i in [1..sizeof colors]) Circle {
var: self
transform: [rotate(i*360/sizeof colors,0,0), translate(50,0)]
radius: 10
fill: colors[i%sizeof colors]
onMouseClicked: operation (e){
chosenColor = self.fill;
}
}]
}
}
Two simple JavaFX code handling onMouseDragged event.
import javafx.ui.*;
import javafx.ui.canvas.*;
Canvas {
content: Circle {
var x = 50
var y = 50
transform: bind translate(x, y)
radius: 30
fill: red
onMouseDragged: operation(e) {
x += e.localDragTranslation.x;
y += e.localDragTranslation.y;
}
}
}
import javafx.ui.*;
import javafx.ui.canvas.*;
Canvas {
content: Circle {
var x = 50
var y = 50
var radius = 30
transform: bind translate(x, y)
radius: bind radius
fill: red
onMouseDragged: operation(e) {
if (e.button == 1){
x += e.localDragTranslation.x;
y += e.localDragTranslation.y;
}
if (e.button == 3) {
radius += e.localDragTranslation.x;
}
}
}
}
import javafx.ui.*;
import javafx.ui.canvas.*;
Canvas {
content: [
Rect {x: 50, y: 50, width: 50, height: 50, fill: orange },
Circle {
var x = 50
var y = 50
var radius = 30
var color = red:Color
transform: bind translate(x, y)
radius: bind radius
fill: bind color
onMouseDragged: operation(e) {
if (e.button == 1){
x += e.localDragTranslation.x;
y += e.localDragTranslation.y;
}
if (e.button == 3) {
radius += e.localDragTranslation.x;
}
}
onMousePressed: operation(e){
color = Color {blue: 0.0, green: 0.0, red: 1.0, opacity: 0.5};
}
onMouseReleased: operation(e){
color = red:Color;
}
}]
}
You can test this examples with thhe JavaFX Pad or using Netbeans with the JavaFX Plugin.