Can’t ssh your box ? Stop messing with /etc/shadow!

I had the weirdest error ever. I could connect with a public key to my remote user. The key was showing as accepted. Yet the connection was closed on startup.


debug1: Server accepts key: pkalg ssh-rsa blen 256
debug2: input_userauth_pk_ok: fp ***
debug1: read PEM private key done: type RSA
Connection closed by 128.128.128.128

The solution was to look in /etc/shadow. There was a typo in the file.

Note that I didn’t find a trace of the problem in the syslog, messages, dmesg, etc.

Posted in Notes. No Comments »

Prism and Minefield

I used Minefield for a few months and somehow it managed to keep the RAM busy at all times. I switched to Prism, and things got back into control. Not sure what the difference between the product is, I’m just happy I stopped participating to global warming that much.

Posted in Notes. No Comments »

How to add custom navigation links on the wiki.eclipse.org left bar

This proved to be well hidden ; you can add your own links to the left bar of the wiki.eclipse.org website by adding them individually to the project metadata.

leftnavbar-project-metadata

  1. Log into portal.eclipse.org with your committer credentials
  2. Go to your project, and click on “Maintain project meta-data”
  3. Click to edit the “project left nav” property
  4. Now you can enter your link information:
  5. Just save it, and do it as often as needed.
  6. Go to your wiki page and edit it
  7. Add this to the page: {{#eclipseproject:your.project.id}}
    I prefer using a template for this though.

Eclipse committers, turn your NLS warnings on

I just came to realize that it is possible for the Eclipse compiler to track the missing NON-NLS entries, ie it can detect non-externalized strings.

Please consider opening your Eclipse, go to the preferences, then open Java>Compiler>Error/warnings and look for the option “Non-externalized strings”.

Please push that option so that it issues warnings whenever it finds a non-externalized string.

Otherwise, I’ll keep sending people to the cross-project list, or I’ll ask the AC to consider setting the non-externalized string flag as an error when compiling the Galileo RCs. I hope I won’t have to do that.

EMF::acts_as_ActiveRecords

Not sure you followed the latest news about Intalio, Inc. We just rolled out a new website, and we are introducing a new project named Dogfood.

The Dogfood project is exactly what it looks like: we are going to line up and eat our own software until it makes us sick of it. And then we will have some more.

As part of the project, I am tasked to find a way to transform a spreadsheet with some clear conventions into a fully executable process.
Our BPMN model being EMF-based, I showed it to the team, and we feel it’s simple enough that we can generate the XML from the spreadsheet.

How do you generate a EMF-generated model those days ? You would fire up Eclipse, open the diagram editor and modify what you see on screen. Or you would open the default tree editor and make some changes.

Here, we are looking at a different story. Indeed we want to generate our model without Eclipse. And why not without Java.

My idea is to use the ActiveRecord way to generate a model by reading the ecore file(s). The bright part of the idea is that you can have ActiveRecord read the ecore files and load up the classes in memory. There is no actual generation. You change the ecore file, run again, everything is here.

My hope is to be able to do this:

p = new Pool
activity = new Activity
activity.name = "sample activity"
activity.graph = p
other_activty = new Activity
other_activity.graph = p
s = new SequenceEdge
s.source = activity
s.target = other_activity

Did someone think of doing something like that before ? Is there someone crazy enough to read ecore files and create the metamodel inline around ? Does someone know of a way to use ActiveRecords with something that isn’t a DB table ?

Eclipse and the lone developer

Ketan asked the Architecture Council yesterday what they should be doing for him.

He is working on a pet project, that he brought to maturity on his own. He joined Eclipse to get more support, and hopefully more coverage.

There is a price when you join Eclipse though ; you have to obey to the guidelines, use SVN or CVS, learn how to use Phoenix.

The Eclipse website is actually backed by CVS. My major concern for that practice is that everything that is checked on the website has to have a wipe-cleaned IP, as much as the IP of our code. So, for example, there is no jQuery support on the eclipse.org website. The Eclipse staff waited for six months or so for the IP of YUI to be accepted. That’s really too bad, I only needed jQuery dumb UI functions to make my website look good, I will have to learn YUI instead. Oh well.
The bottom of the issue is that the Eclipse Foundation wants to have a unified UI. I think. Well, Higgins website is quite different from the rest of the website. So I guess you could go ahead, and hack your own thing -in PHP on the Eclipse.org CVS, that is, alas.

To reply to you informally, Ketan, you are not going to get any help from Eclipse on the short term. The organization is a monolith targeted at companies. I feel your pain, and I think you should consider keeping two repositories, one on github, one on Eclipse, and do a synchronization every now and then. As long as you wrote all the code, it’s ok. If someone wants to contribute, he should clone your github repo, make a patch, and attach it to a bug. As long as you can go on like this, it should be ok.

On the long term, the IP policies are important at Eclipse, and I hope that you’ll like using Babel to internationalize your code. I also think that moving to Eclipse is giving way more coverage to your code and your project. Didn’t you have some requests from the platform committers last week on IRC ?

I think you started a nice conversation, and I’m sure the AC and yourself would have some cool ideas for Eclipse to help the lone developer. I just wish it was as easy to open an Eclipse project as it is to open a Rubyforge one.

Eclipse batch compiler: what’s in the jar ?

So I was annoying one person too much with Eclipse and how it rules the universe, and he asked back: what is exactly the Eclipse batch compiler doing ?

So I just went to the Eclipse website, and looked for the Eclipse compiler. I ultimately found out the page where release notes are posted, you need to look at each version to get an idea though.

The Eclipse help system for sure has a nice documentation on how to use the compiler, but it doesn’t explain in too much detail what it does.

This post by Wayne, yet again naked in icy water, was more insightful.

It does wonderful things. My personal favourite thing about the Eclipse Java compiler is the fact that it will compile code that contains errors. That is, when you compile code that has errors in it, the compiler will flag those errors for you and then generate the .class file anyway. You can actually run and debug the code and, should the runtime actually run into your errors, it will then throw an exception.

So now I’m looking if someone compiled a feature list of the compiler somewhere in case I missed something. If you happen to have one hanged to the wall, I’d take it happily.

jBPM integrates the BPMN modeler

I’m not sure if jBPM uses the code from JWT or STP-IM, but it apparently created a powerful transformation wizard to transform BPMN into jPDL.

I’m glad they chose the BPMN modeler as the base for their work.

jBPM folks, would you like to be listed on our integrators page ? If you like your ride with our project, please consider sending a quote!

UTT and Intalio makes a good match

I just learnt today that a new intern from UTT, the University of Technology of Troyes, would join us in February!utt-logo

That makes him our third UTT intern, me being the elder first one. I am very glad people from my former school are appreciated here, and I will do my best to get more utetiens on board.

Tracks

One of my resolutions for 2009 is to have a working system to organize myself. I need to empty my mind somewhere, and paper solutions don’t work anymore.
I also have issues with scheduling items. I don’t have so much to plan, I really need to use deadlines though.

I tried Remember the milk in the past. It’s super easy, but you need to enter a subscription to access the iphone interface.

I also tried using SugarCRM, but the interface is too complex.

I headed to Chandler, tried the desktop application, installed the server. I didn’t like having one more application running on the laptop, as nice as it looks. The server was consuming quite a lot of memory too, and my modest VPS didn’t like it.

I tried the tasks list in gmail ; not too convinced yet, it’s lacking features to organize items.

Tracks

I found Tracks by accident. I was looking if somebody had done a todo list with Rails, before I started eventually having to do one.

It looks awesome. It has a good multi-user support, you can manage projects, you can create tasks with contexts, you can share them. You can publish them in ical format or RSS.

Installing Tracks on your VPS

To install Tracks, I downloaded the latest release, unzipped it in a directory owned by www-data, and used Passenger for the configuration:

<VirtualHost 67.207.128.50>
   DocumentRoot /var/tracks/public
   ServerAdmin admin@localhost
   ServerName tracks.lunar-ocean.com
   ErrorLog /var/log/apache2/tracks-error.log
   CustomLog /var/log/apache2/tracks-access.log combined
   <Directory /var/tracks/public>
      AllowOverride All
  </Directory>
</VirtualHost>

I tried using MySQL as the backend for the application, but there was an error while creating the database schema. Using Sqlite, as it is recommended by default, works just fine.

If there was really something to complain about…

I spotted a few inconveniences so far:
Tracks is licensed as GPL. That’s a problem for me when I intend to build on software that uses this license, that shouldn’t be the case for me.
Deadlines can be set on dates only, you can’t give them a particular time. I’ll try looking at the code and proposing a patch to the Tracks team if that helps.