Setting up a Scala development environment based on Emacs, SBT & Ensime

In this post, I will quickly show how to get a productive Scala development environment by using Emacs as an editor, with Scala mode and Ensime as extensions, and SBT as a build tool.
The following assumes that you are running a Linux with emacs already installed and a minimal knowledge on them.

1. Installing Scala

Start by downloading the latest Scala distribution from this page. I usually opt for the tar gz version which I then extract in some directory.

Read more of this post

Solution pour: Flash Square 10.2 ne stocke plus les vidéos chargées dans /tmp

La dernière version de Flash, square ou 10.2, apporte enfin une version 64 bits sur Linux (Ubuntu dans mon cas). J’ai donc vite sauté sur l’occasion et installé cette version, histoire de voir si elle serait plus clémente avec mon processeur (un Q6600 figurez vous) et si elle ne planterait pas toutes les 5 minutes.

J’étais habitué à laisser charger une vidéo flash dans un onglet après avoir coupé son son, et une fois chargée, j’allais dans le dossier /tmp pour récupérer son fichier flv (ou mp4) et le regarder avec VLC, histoire de bénéficier d’une lecture fluide et en plein écran. Plus avec cette dernière de flash car on voyait plus aucun fichier dans /tmp.

Read more of this post

Manually installing a recent version of Jetty as a service in Linux

While Jetty is available in most of the distributions packages managers, the included versions are rather old (6.1 in Karmic) :

djo@j-pc:~ aptitude show jetty
Package: jetty
State: not installed
Version: 6.1.20-2

So in order to use a recent version of Jetty, you’re on your own.

Here’s a quick post about how to install Jetty as a service on Linux (Ubuntu Karmic in my case), plus how to make it run as a different user account than the root and finally how to enable the automatic deployment of wars placed in Jetty’s webapps directory.

Start by grabbing a more recent version of Jetty from this rather confusing download page. I picked the tar-gz’ed Hightide 7.0.1 version from here.

Read more of this post

Gestion des fenetres dans le futur Gnome 3

Un mockup présentant la gestion des fenetres dans le futur Gnome 3 : sur youtube

Impressionnant

Early release de Chrominium pour Linux

Hier soir, je suis tombé sur une news annoncant la disponiblité d’une première version alpha de Google Chrominium (la version Opensource de Google Chrome) pour Linux.

Etant plus que mécontent avec Firefox (consommation mémoire et lenteur sur des pages utilisant intensivment du JS), j’attendais depuis longtemps ceci.

[Suite:]

Il y’a bien Opera pour Linux, et c’est super bien fait en plus. Seulement, étant sous Gnome, le fait qu’e l’IHM d’Opera utilise QT rend son a fait que son rendu (à Opera) n’est pas vraiment optimal ni très intégré au système.

Donc, voilà, je suis depuis hier soir sur Chrome, et je n’ai qu’une chose à dire : Firefox vient de perdre un fidèle utilisateur.

Ceux de vous qui étaient sur le chat hier soir peuvent témoigner de ma réaction en live et de moi faisant les louanges de Chrominium :))

Peut etre pas tout de suite, chrominium pour Linux est vraiment au stade squeulette d’application en ce moment : ça ne supporte pas encore les plugins (pas de Flash donc par exemple), les dialogues ne sont aps encore finalisés, pleins de petits bugs par ci et par là, genre je ne peux pas ecrire les accents chapeaux, ou encore le fait que je ne peux pas accder à quelques pages).

Par contre, pour ce qui est du rendu HTML/CSS et du moteur d’exécution JS, je suis bluffé. C’est rapide, très rapide, meem comparé à la béta 4 du futur Firefox 3.5 que j’utilisais depuis un bon bout de temps.

L’annonce et les détails d’installation => http://dev.chromium.org/getting-involved/dev-channel

Notez qu’ils proposent une version .deb pour les Debian 5+/Ubuntu 8.04+. Je n’ai eu qu’à télécharger ce deb (12Mo) et à double-cliquer dessus, rien à signaler.
Ca ajoute automatiquement un repository pour automatiser les mises à jour de la chose :)

—-

Sortie de l’Ibex

L’Ibex est libre dans la nature

Ibex

=> http://www.ubuntu.com/getubuntu/download

—-

Premier test d’Ubuntu Intrepid Ibex 8.10

Je poste ce billet depuis une session live du futur Ubuntu Intrepid Ibex 8.10 Beta qui est prévu pour le 30 de ce mois.

Tout d’abord, ce qui m’a frappé est le temps du démarrage, et ce même depuis le CD ! Je dirais que ça prend à priori (je n’ai pas chronométré non plus hein !) la moitié de celui de Hardy.

Read more of this post

Optimiser l’affichage d’eclipse dans Gnome

Le thème par défaut de Gnome est très aéré et espacé, ce qui peut être agréable à l’oeil, mais pas tellement pratique pour un EDI (Environnement de Développement Integré) à l’interface aussi complète et riche qu’est Eclipse.

Je vous propose de montrer dans ce billet comment faire pour régler cela, en rendant l’affichage d’Eclipse beaucoup plus compact.

[Suite:]

Pour commencer, voici quelques captures de ce qu’Eclipse a l’air avant cette manipulation:

Toolbar avant

Package Explorer avant

Une vue avant

Voici maintenant comment procéder pour gagner de l’espace.
Commencez par créer un fichier nommé “.gtkrc-2.0” dans votre dossier home (/home/djo dans mon cas) et ouvrez le.
Copiez ce qui suit et collez le dans ce fichier:

style "gtkcompact" { 
font_name="Sans 8" 
GtkButton::default_border={0,0,0,0} 
GtkButton::default_outside_border={0,0,0,0} 
GtkButtonBox::child_min_width=0 
GtkButtonBox::child_min_heigth=0 
GtkButtonBox::child_internal_pad_x=0 
GtkButtonBox::child_internal_pad_y=0 
GtkMenu::vertical-padding=1 
GtkMenuBar::internal_padding=0 
GtkMenuItem::horizontal_padding=4 
GtkToolbar::internal-padding=0 
GtkToolbar::space-size=0 
GtkOptionMenu::indicator_size=0 
GtkOptionMenu::indicator_spacing=0 
GtkPaned::handle_size=4 
GtkRange::trough_border=0 
GtkRange::stepper_spacing=0 
GtkScale::value_spacing=0 
GtkScrolledWindow::scrollbar_spacing=0 
GtkExpander::expander_size=10 
GtkExpander::expander_spacing=0 
GtkTreeView::vertical-separator=0 
GtkTreeView::horizontal-separator=0 
GtkTreeView::expander-size=8 
GtkTreeView::fixed-height-mode=TRUE 
GtkWidget::focus_padding=0 
} 
class "GtkWidget" style "gtkcompact" 
 
style "gtkcompactextra" { 
xthickness=0 
ythickness=0 
} 
class "GtkButton" style "gtkcompactextra" 
class "GtkToolbar" style "gtkcompactextra" 
class "GtkPaned" style "gtkcompactextra" 

Et redémarrez l’ordinateur. Si vous avez la flemme de faire ceci, vous pouvez redémarrer juste gdm (Le gestionnaire d’affichage de Gnome):
Déconnectez vous de la session en cours, et dans l’écran de connexion, ouvrez une console (CTRL + ALT + F1 par exemple). Entrez votre login/mot de passe et dans la console, tapez:

$ sudo /etc/init.d/gdm stop
$ sudo /etc/init.d/gdm start

ce qui devrait ré-afficher l’écran de connexion. Connectez vous et lancez Eclipse.
De là, vous remarquerez que l’affichage est devenu beaucoup plus compact (un peu trop même pour certains):

Toolbar après

Package Explorer après

Une vue après

Notes :
=> Cette manipulation est globale, dans la mesure où elle affecte l’affichage de tout l’environnement Gnome, et non pas Eclipse seulement.
=> Cette soluce origine des propositions de deux utilisateurs dans les commentaires de ce billet: Making Eclipse look good on Linux – Max’s blog.

—-

Pas de son avec Quake III (ou autre jeu) sur Linux ?

Ok, donc après deux semaines (pénibles) que j’ai passé à installer/configurer ma nouvelle machine : récupération des données de backup, expérience ratée avec Hardy 64 bits (eclipe ne démarrait pas, idem pour Quake III => plutôt mourir !), etc., j’ai enfin restauré mon environnement de travail (Ubuntu Hardy 32 bits).

Seul hic: le son sous Quake 3 ne fonctionnait pas :(
Mais google est là, donc, après avoir essayé quelques solutions plus ou moins exotiques, je vous présente ici une solution péchée sur le net (archives du forum en d’Ubuntu).

Read more of this post

[Java][Linux] Astuce MySQL: connexion distante trop lente

Si vous vous connectez à un serveur MySQL distant et que vous trouvez la connexion et l’exécution des requêtes trop lente, vous pouvez régler ceci en modifiant le fichier de configuration de MySQL “my.cnf” pour y ajouter la ligne suivante :

[Suite:]

[mysqld] 
skip-name-resolve

(Assurez vous que vous êtes bien dans la section [mysqld] du fichier my.cnf).
Pour éditer ce fichier dans un linux, tapez ceci dans la console:

sudo gedit /etc/mysql/my.cnf

(Remplacez gedit par votre éditeur texte favori, kate par exemple pour KDE, ou encore vi).

Il faut ensuite redémarre MySQL.
Dans un linux, toujours dans la console:

sudo /etc/init.d/mysql restart

Et hop ! plus de ralentissements, une connexion éclair ;)

[edit]
Attention: cette manipulation entre en conflit avec une installation Postfix/Courier configurés avec des utilisateurs/domaines virtuels et empeêche le système de messagerie de fonctionner.

—-