Luís Bastião ( few words)

Just another blog in the world

Java Memory – are you in troubles?

Posted by Luís Bastião on November 5, 2011

Are you dealing with large data?
First, don’t use heap to store it.

Read it:

http://dsoguy.blogspot.com/2010/09/little-bit-about-bigmemory-for-ehcache.html

http://www.terracotta.org/products/bigmemory

http://www.kdgregory.com/index.php?page=java.byteBuffer

Cheers!

Posted in Uncategorized | Leave a Comment »

Dicoogle – v0.4 is out

Posted by Luís Bastião on October 14, 2011

“”"
Hi folks,

We’re pleasure to announce a new release of Dicoogle (v0.4).

Most significant changes since last release: http://www.dicoogle.com/?p=509

You can download 0.4 at the normal place:
http://www.dicoogle.com/?page_id=67

Tutorial to index DICOM repositories:

Tutorial to search over DICOM repositories:


Quick guide to end-users: http://www.dicoogle.com/downloads/Dicoogle_QuickGuide_v0.4_2011_10_14.pdf

We’ve been testing Dicoogle and deploying it in real environment. Until now more than 6 million files already indexed in health centres. We want to stress that we have been working in a new version of Dicoogle which will allow to share repositories across multiple institutions via GAE cloud. A new plugging mechanism that will provide an easy way to extend Dicoogle functionalities and many others features. The first BETA version of this version will be available in few weeks. Stay tunned!

Finally, but not least, if you find any bug or missing feature, please report us. We’re available to fix or add new features to the Dicoogle mainstream.

Cheers!
“”"

Posted in Uncategorized | Leave a Comment »

A different point of view – “Debugger in 2011″

Posted by Luís Bastião on September 3, 2011

In Summer kick-off the JVM Language Summit happened in Santa Clara campus. The JVM Language Summit is a conference leaded by Oracle with the main goal to spread innovator ideas related with Java language programming, Java Virtual Machine and other related topics. The presentations of this year were very interesting and more than one presentation discussing jpython, jRuby and few other cool technologies related with Java. But one of them highlighted to me: Debugging in 2011 conducted by Prashant Deva.

In the last few years, I’ve been working mainly with Java. Every day, we tackle a new challenge in programming, trying to figure out a bug, or something that just happen in the way of concurrency. Usually, we use Debugger or Logging to figure out when the bug raises and why exactly it triggered. When you’re working with big projects with several contributors, you never know, if someone else broke a line of the code. Of course, there is contracts and interfaces with the specification, but it doesn’t avoid error in third parties components. Someone can break the contracts anyway. A refactor in a the current debuggers is needed. Why?

Nowadays, our programs are (i’m quoting now):

  • Multithread
  • Flow of execution not 100% sequencial
  • Reproduction bug is (very) tough
  • Programs run for weeks/months/years.
I realize that I tackle this issues every day. There are several solutions to record what application is doing and save exactly the crash error. But it is still missing the actual state of the program. The proposed solution brings several news in debugger context. They record the state of runtime application, allowing the programmer to reproduce the action, they called: “time travel”. They also embrace multi-thread aware instead just a single sequencial execution.
Just two questions rise in my mind:
  • Is it degradate the performance of this debugger in large applications?
  • Can this debugger be embedded in the production environment, in order to record the status of the application?

Finally, I think that kind of concept should be extended to others programming languages. We will see in the next years if it is really going to happen.

Check the presentation:

http://medianetwork.oracle.com/media/show/16998

Posted in Uncategorized | Leave a Comment »

Dicoogle – Open Source PACS (demo)

Posted by Luís Bastião on April 4, 2011

Words? For what?

Posted in Uncategorized | Leave a Comment »

Google Summer of Code 2011 and Umit Project

Posted by Luís Bastião on March 27, 2011

Hi folks!

Google Summer of Code (GSoC) is a program that sponsor student developers to contribute for Open Source projects. Umit Project is an open source organization, which has been involved in GSoC last six years. We have a very high successful rate, and we always encourage all students to get involved with our community.
Google Summer of Code is a bigger program and there is a lot of mentor organizations. Umit Project embolden all students to participate in the program, because there are quite diversity in the involved projects.

This year, Umit Project was accepted as a GSoC mentor organization.
We invite all the community to join us this year in our endeavour to develop the best Open Source Network Monitoring Tools ever!

Apply: http://www.google-melange.com/gsoc/org/show/google/gsoc2011/umit

Check ideas: http://www.umitproject.org/?active=gsoc&mode=ideas

Deadline is 8th April.

Posted in Uncategorized | Leave a Comment »

Java projects towards automatically dependency manager – Maven

Posted by Luís Bastião on March 25, 2011

Hi folks,

I was using Netbeans with manual dependency of libraries (jar files), i.e. ant standalone. However I had several projects, with a significative  dependences. I decided to move to a tool that deals with it automagically.

I started by testing apache ivy which is an ant supplement to automatically download the dependences from maven repositories. Anyway, it has several xml files to configure, and it there is a lack of documentation (samples)

Afterwords, I decided to migrate my projects to maven, a powerful tool to automatically management my dependences. And that’s awesome. Netbeans support it from scratch, it’s really cool.

Hey, stop. How you migrate your projects from ant (Netbenas) to Maven?”

Good question, indeed. But it was quite easier:

project-dir $ rm -rf nbproject

project-dir $ rm -rf build.xml

project-dir $ cd src

project-dir/src $ mkdir -p main/java

project-dir/src $ mv org main/java/

project-dir $ touch pom.xml

Edit it and fill it – take an example





Quite interesting right?

Now: rm -rf ~/.netbeans (If you are not interesting in remove all directory, you can figure out a way to avoid it, try start by remove just .netbeans/$version/var/cache)

Thanks to Adrian Cole, for all tips regarding these automatically tools. Actually, I think that was a good investment and it will increase my productivity.

Cheers!

Bastião

Posted in Uncategorized | 2 Comments »

J2EE/AppEngine – dispatcher

Posted by Luís Bastião on February 22, 2011

Hi folks.

I’m developing with AppEngine. At some time, I’ve to configure web.xml to setup some frameworks. I had some doubts, that I want to clarify:

  • servlet: execute actions
  • filter: middleware, like django. It is executed before servlet. (e.g. authentication)  - pre/pro processor.
  • listener: it is executed, before everything.

Ack: Fred and Rodolfo.

Cheers!

 

Posted in Uncategorized | Leave a Comment »

Netbeans does not create dist/lib

Posted by Luís Bastião on February 22, 2011

Hi folks!

I was using Netbeans 6.9.1 with a Java SE project. I was trying deploy and then, I realize that just “.jar” was created inside the dist/. The external libraries was not copy to the dist/lib.

In order to solve this issue, I upgrade to Netbeans 7.0 Beta2. Now everything works fine!

Note: I know that is not a solution, and it might not be useful for everybody. Anyway, if you’re looking for a proper solution go further in nbproject/build-imp.xml at copylibs methods.

Cheers!

EDIT: Afterwards, I downgrande to Netbeans 6.9.1 and everything was working fine. Just opening the project with Netbeans 7.0 Beta 2 fixed the issue. Cool stuff! :)

 

Posted in Uncategorized | Leave a Comment »

Microsoft Word 2011 (@Mac) – not working properly?

Posted by Luís Bastião on January 31, 2011

Hi guys,

Few weeks ago, I said to my work mates that probably I’ll write my thesis at Microsoft Word. However, I figure out some issues, and I’m ready to refuse my own decision.

When I was generating the TOC (Table of Contents) it does not linking the index to the headings. It is a missing feature of Word at Mac OS. It works at Word in Microsoft Windows. Anyway, one negative point for Microsoft Word. LaTex for the win? Who knows?

Written by Bastiao (31 Jan 2011)

 

Posted in Uncategorized | Leave a Comment »

Developing in AppEngine locally (Java)

Posted by Luís Bastião on December 31, 2010

Hi guys,

Few months ago I started using AppEngine, which is a cloud provider ( Platform-as-a-service). The best way to developing for AppEngine is using Eclipse IDE, but you’ve to install a couple of plugins and SDK.

One issue: upload of applications to appspot.com (free host provider of appengine) was kind of slow. Then I had to find a way to deploy it locally. Following a list of what you should have to install:

  • Eclipse IDE
  • AppEngine Java SDK
  • DataNucleuos – Eclipse Plugin (http://www.jpox.org/downloads/eclipse-update/)
  • Tools for App Engine – Eclipse Plugin (http://appwrench.onpositive.com/static/updatesite)

In eclipse plugins just do: Help -> Install New software and add these links. :)

(Google AppEngine – running locally in Eclipse IDE )

With those plugins you can see what is stored in Datastore, etc. That’s a good one!

Posted in Uncategorized | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.