Posts

Showing posts from 2011

Colorify your Eclipse

Yesterday, while I was watching a video about the Play! framework, I realized that I was contemplating TextMate's colors. So, after some googlings, I discovered a "color plugin" which changes the text theme (it doesn't concern the overall look and feel but just the text apparence here). It is so nice so I put here the update-site url :
http://eclipse-color-theme.github.com/update

Spring saved my day on an UTF-8 encoding problem

I'm working on Jasig CAS (an SSO server) and I had an issue with special chars. For example, it was impossible to log in with a password like &é"'(-.
I checked my jsp file :it was encoded in UTF-8I checked the encoding directive (<%@ page contentType="text/html; charset=UTF-8" %>) : OKThe idea was to force the request encoding with something like :

request.setCharacterEncoding("UTF-8");

But I was in Spring MVC and I didn't want an ugly hack. Fortunately, Spring saved my day with a builtin servlet filter to declare in the web.xml.

<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<par…

Ubuntu 11.10 with classic gnome shell (like gnome 2)

I discovered that there's a port of gnome indicator applet which allows to have Ubuntu 11.10 with a gnome 3 which looks like gnome 2. It could be nice if you don't like gnome-shell.

http://www.webupd8.org/2011/11/indicator-applet-ported-to-gnome-3-can.html

Common Linux shell commands

Kill Oracle session after a JVM was killed

For the moment, I'm playing with Spring Batch. In development, it appends that I need to kill my JVM. The problem is that C3P0 is not allowed to acquire another connection on Oracle on next restart. It's just because the previous one is still there. If you have an Oracle account with the required privileges, the you can see your old session in v$session and destroy it :
select * from v$sessionalter system kill session 'sid,serial#'

Ubuntu 11.10 : how to disable the startup sound

The quickest way is to simply rename the login sound file from a terminal :
mv /usr/share/sounds/ubuntu/stereo/desktop-login.ogg /usr/share/sounds/ubuntu/stereo/desktop-login.ogg.disabled

Ubuntu 11.10 : install OpenJDK

Open a terminal (Ctrl+Alt+T) and execute the following command ;
sudo apt-get install openjdk-7-jdk

Ubuntu 11.10 and ATI radeon problem : fan always on

Since I migrated my laptop (HP 4720s) to Ubuntu 11.10 with gnome-shell, I have the following issue :
the open source ATI drivers works well but my fan is always spinningthe additional drivers proposed by Ubuntu don't work and make gnome-shell unusablethe drivers (11.9) from AMD is very slow

So, for the moment, the best deal for me is to keep the open source drivers. DON'T INSTALL ANY OTHER DRIVER THAN THE ONCE INSTALLED BY DEFAULT. What we will do is to underclock the GPU to keep the temperature acceptable and avoid any problems with the fan. Let's open a terminal :echo -e '#!/bin/sh\necho low > /sys/class/drm/card0/device/power_profile' | sudo tee /etc/init.d/ati-power-savesudo chmod +x /etc/init.d/ati-power-savesudo update-rc.d ati-power-save defaults 99By the way, we will increase FPS by disabling vertical sync.

echo 'export vblank_mode=0' | sudo tee -a /etc/environment
Reboot and enjoy the silence!

Ubuntu 11.10 : you should try gnome-shell

Ubuntu 11.10 is provided with Unity, the graphical user interface from Canonical. Compared to the previous release (Ubuntu 11.04), you can now swith to Gnome Shell. But, why should you swith from Unity to Gnome Shell that you could consider as very similar? My opinion is that Gnome Shell is more pragmatic and beautiful than Unity.
So, how to activate Gnome Shell ? Go to the software center and activate the patner repositories in the software sourcesIn a terminal, run sudo apt-get install gnome-shellActivate it by default with sudo /usr/lib/lightdm/lightdm-set-defaults -s gnome-shellReboot and enjoy!Now that you have almost a prefect shell, you should install some addons : sudo apt-get install ubuntu-restricted-extras (for flash, java and dvd features)enable dvd decryption with sudo sh /usr/share/doc/libdvdread4/install-css.shsudo apt-get updatesudo apt-get install chromium-browsersudo apt-get remove firefoxsudo apt-get install smplayerA good thing is also to enable numlock on lightdm : …

Another Software Crasftmen Club

I found it today and I read some interesting stuffs about SCRUM and software development :
http://elegantcode.com/

PL/SQL interroperability

My company uses an ERP mainly developed in PL/SQL. And we need to deal with external systems. Today, I found a project. It could really help :
http://code.google.com/p/plsql-utils/

Java Persistence Performance Blog

I found this today : http://java-persistence-performance.blogspot.com/. It has some good tips about JPA tuning.

Recover your disk after a WUBI crash

This is what I had today. After some two weeks long holidays, my Ubuntu distrib installed with WUBI refused to start. This is the solution I found to get back my files :

sudo fdisk -l
sudo mkdir /win
sudo mount /dev/sdxy /win
sudo mkdir /vdisk
sudo mount -o loop /win/ubuntu/disks/root.disk /vdisk

(Source : http://neosmart.net/forums/showthread.php?t=5004)

A Java VNC Server implementation

I found this code today and I really have to test it.

Sources are here : http://ramshacking.blogspot.com/2009/07/server-class-for-vnc.html



import java.awt.AWTException;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import java.awt.event.*;

public class JVNCserver{

private final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
private final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
private final Rectangle screenRect = new Rectangle(0, 0, WIDTH, HEIGHT);
public Socket socket;
public ServerSocket s;
private CaptureThread capturethread;
private CaptureEvents captureevents;
private Robot robot;
private O…

VMWare is not the only one to virtualize desktops

Today, as I was looking for some information about Ubuntu 11.04, I discovered Edubuntu weblive. This solution allows to open a real linux session over internet. Just go here and enjoy this revolution : http://www.edubuntu.org/weblive

By the way, I had to understand what kind of technology there is under weblive. I first found Stephane Graber's blog : http://www.stgraber.org. Then, I understood that it's a Linux terminal server with a FreeNX java agent. I realized how it is a real concurrent of the vmware solution.

If (like me), you want to "virtualize" desktops in your company, you have to :
understand how LTSP Cluster works (https://www.ltsp-cluster.org)understand what is LTSP of course (http://ltsp.org/)know things about the open source freenx implementation (http://code.google.com/p/neatx/)have a look to this lauchpad link : https://launchpad.net/~weblive-devunderstand what is LXC (http://lxc.sourceforge.net/)If you have legacy Microsoft applications such as Outlook,…

A french article to understand JGroups

As I had some troubles while I was integrating an eh-cache distributed by jgroups, I found this :
http://jetoile.blogspot.com/2010/12/jgroups-tour-d.html

Maven war overlay and debugging

I'm currently working on a project which uses the maven war overlay feature. In such condition, I didn't succeed to start my a Tomcat instance from Eclipse WTP. That's because the war is built to late in the maven process and the Maven integration with WTP never calls the appropriate building step. Thus, I decided to start my server from the command line. With 'war overlay', I need to do :
mvn tomcat:run-war
But, what about debugging? Here I found two solutions.
Solution 1 : the standard mode
Just use :
mvnDebug tomcat:run-war
But it's a pre-configured solution and you should want to precise some specific options according to your environment.
Solution 2 : customize your debugging options
This is very simple. Ensure that you correctly declared your JAVA_HOMESet the debugging options which will be used by the JVM
For example : export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
Then, just start y…