Skip to content

Category: english

Integer.MAX_VALUE and Integer.MIN_VALUE

You should know that variable values are cyclic in Java.

public class Test{
  public static void main(String args[]){
     System.out.println(Integer.MAX_VALUE);
     System.out.println(Integer.MIN_VALUE);
     int x = Integer.MAX_VALUE + 1;
     System.out.println(x);
  }
}

This produces:

2147483647
-2147483648
-2147483648

Second certification meeting

Students holding Netbeans CDs

We are meeting every Thursday to talk about Java and certifications (and sometimes about local projects at an operational level). In this moment we are talking about the firsts sections of SCJA and solving mock exams in group.

Our approach is, each week a certification topic, each topic and different person talking. Meetings are free and anyone can join. I’m trying to keep those meeting linked with CEJUG and take we all to the monthly CEJUG meetings.

JEG second meeting

So next Thursday I’ll not talk. Those slides I used aren’t finished yet so I’ll not share them now, but as soon as possible I’ll do that. More photos here.

OpenSolaris SVG Poster

Sometimes we just need an good template for organizing a OpenSolaris event, I didn’t found a good one in a reusable format so I did this empty OpenSolaris SVG Poster.

OpenSolaris SVG Poster
Download the svg file: opensolaris_poster.svg

But why an SVG poster? SVG means Scalable Vector Graphics, an XML specification and file format for describing two-dimensional vector graphics. If you use a typical bitmap format like png, gif or jpg and need to scale the image you will loss image quality.

Example of loss of image quality in a bitmap format

Using a vector graphics format you can scaled the image indefinitely without loss of image quality.

Example of loseless quality in svg image

Additionally is a free and open format and also very reusable. You can edit and use it in a broad set of tools, from a scalable image editor like Inkscape to, believe it or not, Netbeans!

OpenSolaris Vending Machine

Takadonobaba Vending Machines, Creative Commons Photo by Abuckingham, Flickr user
Vending Machines, Creative Commons photo by Abuckingham

Those days I was walking in a college to a tech demo and saw a lot of vending machines for soft drinks, coffees and snacks. So I thought “For a college student can be easier get a soda than a free software copy, like opensolaris”. Wouldn’t be nice if we have an OpenSolaris vending machine?

I sketched this idea:

OpenSolaris Vending Machine
OSVM, Open Solaris Vending MachineBut notice that is not just an CD/DVD vending machine. The OSVM could deliver the newest version of the OpenSolaris distributions to places where internet connections aren’t easy or cheap enough to download entire DVD images. A way to deliver open software to people who would have otherwise not been able to acquire it! Just choose, pay and get your free software.Press button, Receive bacon OpenSolaris.

Conceptual sketch of the opensolaris vending machine

Inside the machine:

  1. Switch
  2. External Internet connection
  3. Touch screen monitor
  4. Coolers
  5. Coolers
  6. Uninterruptible power supply
  7. External power source
  8. DVDs supply
  9. Money chest
  10. Paper money recognition device
  11. DVD Recorder
  12. OpenSolaris computer

Main challenges:

  • It’s necessary an broad internet connection (item 2) so the vending machine can have allways the last builds of each distribution (Indiana, Nevada, Nexenta, Solaris Express, etc). In places where this connection is not available someone should periodically supply the vending machine with more iso images.
  • The idea of using an touch screen monitor (item 3) is having a very usable and rich user interface.
  • The user should pay for using a paper money recognition device (item 10). I don’t know much about those devices but I guess you just buy an money recognition box that do this for you. After payed the money goes to some kind of chest (item 9).
  • The media should come from the supply (item 8 ) to the recorder (item 10) and so be delivered for the user. But how?
  • An technology such LightScribe would just fits perfectly in this machine.
  • The OpenSolaris computer (item 12) should be capable to store and manage all dvd iso images from each distributions. A reliable filesystem like ZFS would help.
  • A software to manage the downloading of each distribution periodically.
  • A software to provide a rich user interface, easy and nice to use. JavaFX should fits well.

Haven’t I see this before?

Someho, yes, some similar idea. IBM did a similar project some year ago and there’s too the cool Freedom Toaster that is similar in some points.

What is all about?

Is just a open idea. You can comment, suggest and I’d love to see that implemented.

Update 20.Out.2008: Thanks for those who are helping this idea and giving more ideas. Specially thanks for Everton Rodrigues. Maybe in some time we have an prototype.

Some useful links

Ruby: A Simple Example of Meta Programming

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.