mercredi 26 décembre 2012

Robot Master

Wired News (08/06/12) Christina Bonnington

Carnegie Mellon University professor Manuela Veloso has spent her career developing autonomous collaborative robots (CoBots).  The CoBots run a combination of C++, Python, and Java, and consist of a camera and laptop on a wheeled base, while a Microsoft Kinect is used for navigation and obstacle avoidance.  Users assign tasks to the CoBot via a Web interface, and once the task is completed, the CoBot can either return to its home base or move on to the next assigned task.  Veloso eventually wants to develop CoBots that can perform daily human tasks alongside their human masters.  "I decided that ... these robots ... need a symbiotic relationship with humans, and they need to proactively ask for help when they need help," Veloso says.  Her research is focused on symbiotic autonomy, in which robots move through the world by themselves, but if they come across uncertainties about their location, or if what they are doing surpasses the threshold of their capabilities, they stop and ask humans for help.  "The reason why I came up with symbiotic autonomy was exactly because I started looking at these robots performing tasks and services for humans as part of a team," Veloso says.

vendredi 14 décembre 2012

A full e-commerce tutorial for J2EE with netbeans

Authenticate web applications BASIC, DIGEST, FORM, and CLIENT-CERT

Securing Web Applications

Web applications are created by application developers who give, sell, or otherwise transfer the application to an application deployer for installation into a runtime environment. Application developers communicate how to set up security for the deployed application by using annotations or deployment descriptors. This information is passed on to the deployer, who uses it to define method permissions for security roles, set up user authentication, and set up the appropriate transport mechanism. If the application developer doesn’t define security requirements, the deployer will have to determine the security requirements independently.

Some elements necessary for security in a web application cannot be specified as annotations for all types of web applications. This post point to links to give you a start for how to secure web applications using annotations wherever possible.

samedi 8 décembre 2012

In Challenge, College Students Pitch Tech Ideas

From ACM TechNews:
In Challenge, College Students Pitch Tech Ideas
(12/06/12) Michael Endler

The College Challenge, a competition cosponsored by the Syracuse University's School of Information Studies and Major League Baseball Advanced Media, offers participants a chance to solve some of's real-world tech challenges, and an opportunity to pitch solutions to MLB representatives. The challenge encourages students from varied backgrounds to participate, serving as a model for helping students find jobs, as well as encouraging technological innovation to flourish in more places. In a previous competition, the winning project presented a way to merge all of the social media documents that a single game might produce, including smartphone photos, tweets, and Facebook status updates, into a single interface. This year's competition, which recently completed its third edition, focused on how could harness the trend of "gamification" to engage fans. The winning project was a novel approach to fantasy baseball with gamification elements and competitive social challenges to share the experience with friends. Syracuse professor Jeffery Rubin, one of the competition's organizers, notes the hackathon is an interdisciplinary challenge. "It's not the most technical project that wins--but the best idea," Rubin says.

View Full Article

jeudi 6 décembre 2012

vendredi 30 novembre 2012

Java Inventor James Gosling Building Smart Marine Robots

From ACM TechNews:
Java Inventor James Gosling Building Smart Marine Robots
Network World
(11/27/12) Ellen Messmer

Java inventor James Gosling is using Java's security framework to design marine robots that can be sent across the ocean to gather weather data or carry out research projects. "I'm using all the crypto [application programming interfaces (APIs)] and the sandbox APIs and the Java DE [development environment] and NetBeans," Gosling says. He is helping design underwater robots that use satellite-based remote controls, as well as cellular signals when close to shore to cross the seas, sometimes for months at a time, to perform tasks such as the collection of weather data or the monitoring of pollution levels. One of the robots is being designed to be more aware about its environment so it can navigate more on its own without remote control or preprogramming. Gosling also notes that work is underway to optimize communications since satellite use can be costly and bandwidth-intensive. "It's all Java code, a new generation of robots that's all Java on the inside," he says. Although the original Java programming language has expanded its security structure over the years, it adheres to its basic principle of the security sandbox set of rules to battle hostile code and offer solutions to implement public-key infrastructure, authentication, and access control mechanisms.

View Full Article

Checkout sub directories in git (sparse checkouts)

//TODO en Français

SVN externals is a really nice feature I used a lot. Switching to git I was really missing it. Of course there is git-submodule but it’s not the same. Now, with version 1.7 git supports so called sparse checkouts which allow you to only include specific sub directories of a repository in your project. You still need to clone the whole repository, but afterwards you can tell git to only show the specified sub directories.
Here is how it works:
  1. clone the other repository (in my case, for a Rails app, I did it in vendor/plugins/)
    git clone <repository_url> <directory>
  2. cd to <directory>
    cd <directory>
  3. enable sparsecheckout
    git config core.sparsecheckout true
  4. add directories you want to have in your checkout to .git/info/sparse-checkout, e.g.
    echo app/models/ > .git/info/sparse-checkout
    echo lib/ >> .git/info/sparse-checkout
  5. run read-tree
    git read-tree -m -u HEAD
ls now shows
app lib
Forgot a directory you wanted to include? Just repeat step 4 and 5.

mardi 27 novembre 2012

Demarche recommendée pour tâches dans LJUG et les sous projets

La forge LJUG et les sous groupes de ljug tel que "Entreprise Environement" hébergés par Nous permet de communiquer et de demander que certaines tâches soient réalisées par un autre membre du groupe.

Pré-requi être membre du goupe rejoindre l'un des projets de la LJUG ( ou

Action: Créer une "tâche" dans "suivi des problèmes" représentant votre requête ou votre soucis

Résultat: Attendre et suivre que la tâche soit résolu, Les tâche sont classé par nombre de vote!

Par exemple dans ljug :
et dans ljuginfrastructure :

Bien sûre tous ces liens sont disponibles sur les pages principales des projets dans

samedi 24 novembre 2012

Why join Lebanese Java User Group

Version française visitez "Lebanese Java User Group à L'ISAE Cnam Liban"

Groupe Utilsateurs Java : Liban
At Cnam Liban university (computer science and software engineerinf departement) students will have to deals in most of their courses with Java technologies. Cnam Liban was an early adopter of java technologies in official syllabus and curiculas

It was decided to create a Java User Group on forge, we call it the  "Lebanese Java User Group" this Java User Group will have at least 3 goals:

  • Portal to all supports and materials concerning  (javacard, javamobile, j2se, j2ee, Android, and others ...)
  • Repository of all documents related to Java published by Teachers, students and members
  • Repository of programms and code for meanfull projects produced by  members of the "Lebanese Java User Group"

LJUG is a Java User Groups (JUGs)

Java User Groups (JUGs) are volunteer organizations that strive to distribute Java-related knowledge around the world. They provide a meeting place for Java users to get information, share resources and solutions, increase networking, expand Java Technology expertise, and above all, have fun. Take a look at the JUGs Community Objectives, to learn how your JUG can benefit from participation in this community!

Joining and Getting More Involved in LJUG Projects

If you want to get involved with LJUG project, you can do a couple of things.
  • You can click the Bookmark link on LJUG home page and instantly get an Observer role. This will add the project and its forum information to your MyPage.
  • If you want to get more involved, start connecting with other members of the project in that project's forums or mailing lists, and get to know how the project is being worked or managed. Once you get to know everyone, try asking one of the project administrators for a higher role in the project like Software Developer, tester or Content Developer.

Possible Roles

AdministratorThe Big Cheese, Head Honcho, King of the Mountain. Owns the project and can do anything they like with it.
Software DeveloperTop level developer. Do what ever you want with the code.
TesterTests the project software to make sure it works. AKA quality assurance (QA) person.
Content DeveloperSecond level developer. We trust you, but not that much
ObserverYou are here to watch, comment, and connect.

jeudi 22 novembre 2012

Generate public/private ssh key for and git use on Windows with putty

Setting up PuTTY and Generating a Key

You can use the free program PuTTY to create an SSH key. To manage and access the key, you'll probably want to download Pageant and Plink as well. You can get them all at PuTTY Download Page.
After installing PuTTY, make sure the install path has been added to your PATH environment variable.
PuTTY comes with excellent documentation on what SSH is and how to generate a key with PuTTYgen. Here are some short instructions:
  1. Start PuTTYgen by clicking Start > All Programs > PuTTY > PuTTYgen.
  2. At the bottom of the window, click SSH-2 RSA to generate the most secure kind of key. Project Kenai requires an SSH-2 key.
  3. Click Generate and move the mouse around until the key starts generating.
  4. When the key is generated, you see the public key listed in the Public Key for Pasting box at the top of the window.
  5. Optionally enter a passphrase for the key, which makes it more secure on your machine.
  6. Click Save public key and save it in a file in your user directory. For example, you might save it in
    C:\Documents and Settings\your-user-name\.ssh\puttypublickey-ssh2rsa
    Note: You can use the Command window to see what your user directory is. On the command line, enter echo %USERPROFILE%.
  7. Click Save private key to save the private key to a file in the same directory as your public key. For example, you might save it in 
    C:\Documents and Settings\your-user-name\.ssh\puttyprivatekey-ssh2rsa.ppk
  8. Keep PuTTYgen open so you can copy and paste your public key to your Project Kenai account. (See next section.)

Copying the Public Key to Project

The public key that you see in the Public Key for Pasting box in PuTTYgen needs to be added to your SSH Keys tab in your Project Kenai public profile. To add the key:
  1. In a browser, log in to Project Kenai.
  2. If necessary, open your My Page.
  3. Click Edit My Profile in the left navbar.
  4. On the My Profile edit page, click the SSH Keys tab.
  5. Copy the public key from PuTTYgen and then follow the instructions at Adding an SSH Key to Your Profile.

mercredi 21 novembre 2012

New Java User Group

A new Java User Group is created at Cnam Liban

It is mainly hosted on at

It still incubating

To join create a account and send me an email with the username and motivation at

This blog will be a complement for essential news about LJUG