19 Dec 2005
Lava lamp
Really useful while waiting for a slow CVS synchronization ;)
9 Dec 2005
Google Maps - Now I'm afraid
Toronto's Mall
This "daily dose of imagery" blog as always wonderful pictures.
7 Dec 2005
How to secure an apache server
1 Dec 2005
23 Nov 2005
Adding trackback feature
So I turn on the "links to this post" aka trackback feature on all my posts.
22 Nov 2005
Transient in java
Transient instance fields are neither saved nor restored by the standard serialisation mechanism. You have to handle restoring them yourself.
and the english (not technical) definition:
- one who stays for only a short time; "transient laborers"
- transeunt: of a mental act; causing effects outside the mind
- ephemeral: lasting a very short time; "the ephemeral joys of childhood"; "a passing fancy"; "youth's transient beauty"; "love is transitory but at is eternal"; "fugacious blossoms"...
Lenient in java
You can find it in java with DateFormat, JXPath for example.
18 Nov 2005
Catch by Flickr!
Imagine my surprise when I discovered that flickr made a link beetween francisoud tag and an old flickr photo (on the right part of the screenshot)!
Technorati
Thanks to thomas for explaning me how to integrate them with blogger ;)
Some screenshots:
9 Nov 2005
Bill Gates vs Steve Jobs presentations
The Zen aesthetic values include (but are not limited to):
- Simplicity
- Subtlety
- Elegance
- Suggestive rather than the descriptive or obvious
- Naturalness (i.e., nothing artificial or forced),
- Empty space (or negative space)
- Stillness, Tranquility
- Eliminating the non-essential
Apple history
I'm not a Mac addict but that's funny to see old computer and what today's computers can do!
8 Nov 2005
Rails and JSF - JSF creator discuss rails and technologies'mavens
I'm learning Rails and I feel the same way as David Geary about learning new tools:
I am a Rails convert, because first and foremost, I am a maven. I love to learn, and even more, I love to teach. And I absolutely love to learn new technologies.
I believe that both JSF and Rails have their place. JSF is better suited to conservative organizations with complex needs and Rails is better suited to folks who are willing to take some risk and whose needs are not as complex.For me, Rails is currently shifting to mainstream, it will (or is already) a bigger success than Zope and may replace Php for rapid web development.
But I will not junk Java, I do love this language too.
I'll just use the one who suits for the context where I'm using it.
7 Nov 2005
Updated my blogger profile
11 Oct 2005
At least a good XUL application
A powerpoint style application in xul, that's the best example of the use of xul I've seen so far (except gadgets).
Move your mouse on top of the page.
10 Oct 2005
The New Microsoft Office User Interface Overview
The new office interface seems easier... will see :)
Look what Jakob Nielsen says about it: Alertbox: R.I.P. WYSIWYG
7 Oct 2005
Only 7 718 jar(s)
I only have 7 718 jar(s) on my office hard drive but I have 5929 *.dll files ;)
But I'm using this computer only since march...
How many do you have ?
28 Sept 2005
27 Sept 2005
Clean and neat
I was trying to extract a node value from an xml stored in a String, I made this little piece of code (and I like it). No tiedous try/catch handling, simple and clear (thanks JXPath):
public String extractNumberFromResponse(String responseBody) {
org.apache.commons.jxpath.xml.DOMParser parser = new DOMParser();
Object xml = parser.parseXML(new java.io.StringBufferInputStream(responseBody));
org.apache.commons.jxpath.JXPathContext context = JXPathContext.newContext(xml);
return (String)context.getValue("/my:jlogin/my:session");
}
22 Sept 2005
Forget DbVisualizer
But I wasn't easy to create a simple table with a primary key and an auto increment field.
Thanks to julien, I found MySql Query Browser only for MySQL (Download links for many OS)
It is so easy! I like it ;)
19 Sept 2005
Not as easy as it seems
- moving jsp around
- resarting tomcat
- deleting parts of my workspace
- deleting the whole workspace
- recreating projects
Things are not as easy at it seems.
It's like tomcat or eclipse keeps a cache of my jsp somewhere when I move them around!
Suppose I have /welcome.jsp, I move it to /pages/welcome.jsp ... http://.../welcome.jsp is still here ?!
It seems adding a parameter to [workspace]/Servers/Tomcat 5.5 Server @ localhost config/web.xml does the trick:
- keepgenerated = false
16 Sept 2005
DbVisualizer
Window installation went smoothly, cool!
Useful links:
Extreme Programming Explained: Embrace Change, 2nd Edition
15 Sept 2005
Font resizing in pixel
I discovered that, under IE 6 SP2, it's no longer the case!
They must have changed this behavior in one of the SP x ?!
I can't find a link in google about it! (the best I can get is Standards and CSS in IE and W3C spec)
Now I can use px with no more accessibility problems :)
13 Sept 2005
Eclipse plugin for JSF
It can be found on the eclipse site.
Too bad they are still at a draft stage, there is no update site available yet.
Eclipse update-site
So here's my favorite update-site list (I might add other in the futur):
- hibernatetools - http://download.jboss.org/jbosside/hibernatetools/updates/development/
- leipido - http://download.eclipse.org/technology/lepido/update-site/
- rubyeclipse - http://rubyeclipse.sf.net/updatesite
- tigris - subclipse - subversion - http://subclipse.tigris.org/update
Rediscovering webapp development
It was so damn simple!! Why isn't it always like this!!!
I can modify components from eclipse and see the result in tomcat just by saving.
I trully envy .NET developpers with there integrated IDE.
I've been working the last 4 years on java web applications projects and it has never been simple.
- Weblogic portal 4, I needed to modify jsp in the server repository directly using JEdit because my machine barely could launch this portal.
- Weblogic 6.1 wasn't integrated correclty in wsad (at that time), using WTE could have solved this but my machine couldn't bare it either (more than 1 Go was necessary) and our production server were weblogic(s)
- Even right now I'm using eclipse under windows but tomcat is located under FreeBSD on a development machine. I use samba to acces files!! (that's not simple!)
I might switch to .NET (just kidding;) )
8 Sept 2005
XPlanner
I tested XPlanner because I'm currently trying to program in a user story centric way.
Installation didn't go as smoothly as daisy.
I had 2 problems:
- source code didn't compile with 1.5 jdk because of enum keyword [see bug 1124530] - putting javac source="1.4" in ant solved this.
- I had to change xplanner.properties with my root/password MySQL account (I don't like to leave my database password in clear in properties files)
Project | MyIteration | MyTask
It's the place were you are in the web site, I think it would have been clearer with something like:
Project > MyIteration > MyTask
You also need to configure a project in order to start using it... I find it a bit hard because of my lack of knowledge of a user story centric project and terminology.
An other problem was: I had hard time figuring how to add a person to a project, but I finally made it.
But XPlanner doesn't only have problems ;)
It seems quite simple (I like simplicity), you can get many metrics without additional efforts (your CEO will be happy!).
Every description can be entered in a twiki style, cool.
Simple http://.. links can be added to you're descriptions. Or you can create your own simplified protocols, example: bug:000[my link text] will point to the bugzilla page of this bug.
That a simple way to link xplanner to other systems.
In conclusion, I found XPlanner to be a good software but it seems a bit young, I think the few problems will be solve in the next releases. But it can already be used.
Daisy vs JSPWiki - The winner is...
First despite the shiny title of this post: there is no winner, these are different products with totally different approaches.
Actually I don't really understand why Janne is so depressed about daisy?
JSPWiki is a really simple / easy to use wiki. Amongst other wiki(s) I tried, it's best one.
I tried Friki2.1 (lack basic features, left menu for example, bad search engine...), Ward's original wiki (not easy to read, lack features), mediawiki (too complex, allow to much customization of the presentation - table color etc... - mixed with data)
I know there are many others one but since I've always been happy with jspwiki and I know java/tomcat ... I didn't bother looking for an other one.
The cool thing about jspwiki is that it's simple and you get a basic wiki with almost no installation (tomcat + copy/past jspwiki.jar and you're done!)
Every time I needed an other feature, I always found the right plugin for jspwiki (blog in a jspwiki, index of pages etc...)
Now daisy is more complex and it has many other features.
Daisy is a full CMS system (yet an other one I would say), the installation is more complex but if you follow the step by step installation guide everything works fine.
After installing you will have at least 4 services running (MySQL, openjms, daisy wiki a webapp and daisy core).
Daisy can deal with subprojects, branches, documents revisions, languages, users, roles.
It has a WISIWYG editor, tons of options, a back office...
Just take a look at the full features list.
Keep in mind I didn't look for any particular feature to use, I just took a look at it.
Daisy is not what I'm looking for. I just want the simplest way to edit documents/notes and share them with other people on my project.
Daisy need to be installed, learned and administered on top of adding real documents.
People (including myself) won't update (lazyness/forget) documents if it's too complicate, if someone needs to validate documents or add privileges to the users before publishing.
Maybe for a corporate site where you'd better not print false information but for a project documentation, I think it's overkill.
Amongst the few things I would complain about daisy, is the necessity to know a document internal id to create a link to it. I think people will just add the http link instead of creating the internal uri using the document Id. (the path of least resistance)
Now you can see for yourself, you can have a live example with cocoondev.
update: an interesting opinion about jspwiki vs daisy.
7 Sept 2005
Fisrt or Last Name ?
So, as a reminder, I post this little text:
- FIRST NAME = PRÉNOM
- LAST NAME = NOM DE FAMILLE
5 Sept 2005
A new chat'blog
If you're like me: you like dogs, Java and toulouse... you won't like his blog ;)
As my fellow dutch pal would say: goed geluk julien :) (http://babelfish.altavista.com)
CSS pragmatic guidelines
31 Aug 2005
Google parodic sites
Funny what can be done with a simple search engine :)
Funny image
I don't know if the book (In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters) is a good one but the picture is just funny :)
Power Batch
So now I know I can found it in my weblog entries using batch , cmd , bat keywords :)
29 Aug 2005
Dumb and Dumber
"Why Good Programmers Are Lazy and Dumb"
I think excactly the same!
I like the "google vs yahoo" comparaison.
Lazy, because only lazy programmers will want to write the kind of tools that might replace them in the end. Lazy, because only a lazy programmer will avoid writing monotonous, repetitive code ? thus avoiding redundancy, the enemy of software maintenance and flexible refactoring. Mostly, the tools and processes that come out of this endeavor fired by laziness will speed up the production.
Second (and I will elaborate a bit more on this because I find the concept to be less known than the first) a good programmer must be dumb. Why? Because if he?s smart, and he knows he is smart, he will:
a) stop learning
b) stop being critical towards his own work
27 Aug 2005
Rich Client Platform
- Rich Client : effet de mode ou révolution ? (in french)
- Coming soon : CPS Rich Client based on Eclipse RCP
- I'm hate those javascript/cross browsers problems
- There is no technology/language mix (smaller learning curve)
- I like java and compilator errors (versus scripting language even if I'm learning ruby)
- I've been using CSS for web styling for many years now, it's nice but it can be so damn hard to get what you want sometimes...
18 Aug 2005
Cocoon search engine for Firefox
It happened to me every day... but not anymore! ;)
Because I made a little Firefox search engine plugin, you can find it at http://mycroft.mozdev.org
17 Aug 2005
Software Development Attitude
They point out the usal endless debates amongst developpers and there attitudes.
- Martin Fowler - Software Development Attitude
- Steve Freeman - Enablers and problems
- Ward Cunningham - The Simplest Thing that Could Possibly Work
By the way, I more of an enabler ;)
4 Aug 2005
At last!
It took me 8 months to finish Half Life 2.
Excellent game, great graphics, superbe "ambiance". I really like the "The War of the Worlds" look and feel!!
I know "I 'm slow" :)
But I changed job meanwhile and I only played about 2 or 3hours per month.
Half Life is quite long.
Let say it a 40 hours game then, with the average hours I use to play, it would have taken me 1 year to finish it! (40hours/3hours = 13 month!)
As you can guess I played it a little more during the last few month ;)
3 Aug 2005
Rails vs Java
Conclusion: Simplicity is always better :)
2 Aug 2005
Refactoring - a short summary
Too bad there are still people that don't understand the long time value of refactoring... :(
29 Jul 2005
What happen that year ?
French events:http://fr.wikipedia.org/wiki/1977
English events: http://en.wikipedia.org/wiki/1977
Just replace the last part of the URL by the year you want:
http://fr.wikipedia.org/wiki/19??
I think Thomas might be interested since he's born the same year as me ;-)
Update: "John Travolta discoed in Saturday Night Fever" cool!
22 Jul 2005
Kent is "severely embarrassed by the first edition" of XP
XP is a distillation of learning; a bunch of ideas that have proven helpful. Rather than telling someone "what to do",
I deeply agree with the fact that no methodology is the silver bullet, solutions highly depend on context. You can only use those different methodologies as "advises" and see for yourself if your work gets done faster and better...
It was surprising to hear that
May be it's time for me to buy the "holy bible" of XP: XP Explain 2nd edition...
But filling my week-ends with the reading of those kinds of books isn't something I'm enthousiaste with at the moment...
May be later then :)
Software is not as neat as it seems
Interesting article: "Painting the picture" from Rachel Davies.
I do think that even if we are engineer, our everyday's job is more like craftsman (just as the pragmatic programmers said it)
I also liked that picture because it makes me think of program I've encountered during my "short" working life and even program I made :(
21 Jul 2005
Mind Map: A Strange Technic
At first I thougth: "It must be a joke", it looks like a 3 year old boy did it...
But it seems serious, there's even a book about it!
Well I don't think I'll give it a try but it's nice to know such a thing exist...
19 Jul 2005
The Rise of Open Source
But the best manuals for ruby are not edited by o'reilly but by the pragmatic programmers therefore they don't appear in this chart.
And Ruby is so simple, you don't even need a book... ;-)
Automated Java unit testing
Parasoft Jtest® 7.0 with Test Case Sniffer?I can't see how a program can decide if a method that return false for example is the correct beheavior.
Automates Java unit testing & code compliance. Auto-generates JUnit test cases from a running application. Tests individual classes or large, complex applications.
It can test if some part of the program throws exception but it seems to me it needs human interaction to decide which behavior is correct or not...
Java futur
.NET and Open Source greatly influenced the next releases and the new features in my opinion.
18 Jul 2005
7 Jul 2005
JSPWiki against Daisy
Because of this post of Janne.
You know, seeing open source projects like Daisy make me just want to stop JSPWiki development altogether. It's simply just too good, and I feel like there's no way I can compete.Looking at the daisy documentation:
required: a MySQL database: version 4.0.20 or higher, or version 4.1.7 or higher required
I really like the fact that I only need a JVM and Tomcat (which I always have already installed on my machine) to run a wiki.
For that JSPWiki is still my favorite...
I'll try daisy and post a blog entry one of this day.
Discovering the world througth I18N (the nerd way)
- ca_ ES Catalan SPAIN
- fo_ FO Faroese FAROE ISLANDS
- eu_ ES Basque SPAIN
- gv_ GB Manx Gaelic UNITED KINGDOM
- kl_ GL Greenlandic GREENLAND
- kn_ IN Kannada INDIA
- ps_ IN Pashto, Pushto INDIA
29 Jun 2005
Google earth - the new killing application ?
Take a look at google earth a desktop application to use google maps.
You can scroll the earth!
Totaly useless but so cool!
28 Jun 2005
27 Jun 2005
Refactoring to Pattern
The Broken Window Theory
If you hadn't read "the pragmatic programmer" yet, go for it now!!
If you had then this blog entry about the broken window theory (and where it came from) is intersting.
I live here
I live here!
23 Jun 2005
MIT weblog Survey
Actually I'm an average guy!
The only interesting points are:
- I started blogging in 2004 wich seems to be the highest "blogging start year"
- I mainly use Instant messaging for work.
- My year of birth is the second most frequent of all bloggers.
I included a link to the MIT survey on the right of this page.
Requirements never change?!
* Out of hundreds of projects, there is no case in which requirements remained stable throughout design.
* Of more than 200 product developers, fewer than 5% had complete requirements before beginning design.
* On average, design commenced with only 58% of requirements specified.
UI is Hard
Poster #1: They need to stop hiring angry little men and romantically spurned women to design user interfaces.I'm more and more convince that usability and UI are more important than any other aspect of software development. Just like my previous post.Poster #2: But doesn't that describe most programmers?
Poster #3: No, that describes all programmers.
21 Jun 2005
Another Quiz
You scored as Materialist. Materialism stresses the essence of fundamental particles. Everything that exists is purely physical matter and there is no special force that holds life together. You believe that anything can be explained by breaking it up into its pieces. i.e. the big picture can be understood by its smaller elements. |
What is Your World View? (updated) created with QuizFarm.com |
15 Jun 2005
Usability guidelines
Clean, Cutting-edge UI Design Cuts McAfee?s Support Calls by 90%
Those 20,000 downloads of ProtectionPilot over a 10-week time span generated only 170 calls to McAfee's support linesapproximately one-tenth the volume that the company would expect, according to McAfee software development manager David Ries.(...)
With every feature, you have to make a design decision. We tried to make reasonable and good assumptions about setting limits; we actively eliminated options, and then validated those options with the users.(...)
Too many developers confuse what is possible with what is needed, he says. Youve got UI products out there with 200 different settings; as a user, youre not sure what to touch. Its like sitting in the cockpit of a 747.(...)
Its difficult, because some users will always request more. I think you have to decide what you want the product to do, and take a stand. Among the products Ive used that dont work well, most made the assumption that if they gave me more options Id be happier.(...)
For example, the word abort means something to developers, but it doesnt fly with users, Ries says. If you ask the programmer if something makes sense in his product, he will say that of course it does.(...)
A list of interesting articles about usability:
Still about usability, what font is the most common font on any plateform? Font survey:
14 Jun 2005
JUnit 4
Other posts from TestNG: Cedric and mindstorm
Annotations, grouping tests...
10 Jun 2005
What Is Software Design?
Amazing it was written in 1992 !!
9 Jun 2005
7 Jun 2005
24 May 2005
Remarkable?
Explanation of the purple cow can be found on this page.
As a french I like this part:
While driving through France a few years ago, my family and I were enchanted by the hundreds of storybook cows grazing in lovely pastures right next to the road.The idea behind this book is:
The world is full of boring stuff -- brown cows -- which is why so few people pay attention. Remarkable marketing is the art of building things worth noticing right into your product or service.
23 May 2005
"Simple" is so much harder!
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius, and a lot of courage, to move in the opposite direction.
---Albert Einstein
18 May 2005
13 May 2005
Usability in practice
Almost 5 years ago I took a course during my last school year at Sherbrooke university, where I discovered usability. During this course we needed to create a fake web site to check tv show timetables. So we needed to experiment the site on users and get there feedback!
Boy what a revelation! It made me understand that as a developper I could spend months fixing a functionnality users won't ever use and leave aside something that seemed obvious for me but not for them...
Unfornuatly I hadn't the opportunity to use this knowledge as often as I would like. Technics such as paper prototyping which is a wonderfull tool but sadly unknown!
Funny that 5 years later I was on the other side as a "user" during that usability session.
Another interesting article about testing with 5 users.
What leader are you?
One could find worste!
12 May 2005
Thunderbird Disappearing mail
Everything seemed to be at the right place under C:\Documents and Settings\[myAccount]\Application Data\Thunderbird\Profiles\[a_number].default...
I discovered that there were a pref.js of 1 Ko and a prefs-1.js of 21 Ko (with all the aliases to my accounts)
Changing it and making Thunderbird point to the good location resolved the problem. But I don't know why it happended!
Looking at all the windows logs I found that yesterday night the automatic windows update installed this patch. I not sure it's it fault or someone hacked me...
Hope this won't happen again! (I'll start thinking of backuping this folder...)
A good page to resolve such issues can be found here.
update: another interesting link to manage/backup profiles informations.
11 May 2005
Rich clients in a Browser
But it seems like there is also another trend, launch with google new products, based on manipulating datas in old fashion html pages like google suggest, gmail using Ajax.
For examples you can take a look a cocoon ajaxified forms or even at mappy (that seems to use some kind of ajax too).
Today julien, pointed this impressive example of interactive DOM manipulation.
Interesting times :)
4 May 2005
Backpack video
So if you want to see some kind of "wiki for dummies" but with a good user usability:
- video 1 - of someone making, linking, and browsing reminders.
- video 2 - of someone setting email and cell phone reminders.
Source: ledanois.
Other videos from a previous post.
Check List
Make your development environment exactly the same as the test environment. You don't want to be hunting through things like multi processor threading issue crap on the last day of your project after developing on single processor developer machines - believe me I've seen it happen.Clustering is not easy to deploy. You've got to be sure no code write something in tmp directory or anywhere else. Users'sessions informations must be distributed accross the cluster or you've got to be sure the same user go to the same part of the cluster each time he makes a request.
I wonder how we will solve bugs like this when they will arise...
Also another interesting post about coaching techniques.
29 Apr 2005
Java Path Finder
4/26/05: It is done! JavaPathFinder is not just open sourced, but becomes the first NASA program to be actively developed and hosted on SourceForge.
Java PathFinder (JPF) is a system to verify executable Java bytecode programs. In its basic form, it is a Java Virtual Machine (JVM) that is used as an explicit state software model checker, systematically exploring all potential execution paths of a program to find violations of properties like deadlocks or unhandled exceptions. Other than traditional debuggers, JPF reports the whole execution path that leads to a defect. JPF is especially suitable to find hard-to-test concurrency defects in multithreaded programs.
26 Apr 2005
Conceptual Integrity
In 1975, FredBrooks said: I will contend that ConceptualIntegrity is the most important consideration in system design. It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas.
Maven 2 Plexus
This is what is happening with Maven2. It's being built around a lightweight container (called Plexus). It is indeed the goal that plugins are developed in Java or in other languages. -- Vincent MassolI don't really understand why he wants to use Plexus were there is already Spring, Pico and HiveMind.
And that just what Jason Carreira said (in a very polite way ;-) )
If the Maven community wants to be taken seriously you guys really need to stop making bone-headed decisions like this. Plexus? Who the hell is using that? Just because it's someone's pet project is no reason to base an already questionable project on it. When you're trying to sway public opinion (much of which has been negative toward Maven so far) you have to go out of your way to be mainstream and make it easy for people to use. This is why Venture Capitalists won't let startup companies base their business off of a dependency on another startup company. Maybe Plexus offers something that Spring doesn't (I doubt it), but is it really worth the risk of Plexus dying or just of people like me and Hani pointing and laughing at the silly decisions?Jason is one of those people.
-- Jason Carreira
25 Apr 2005
Platefome (petroliere) de developpement
I'm not sure this is true, but it seems a company wants to outsource it production on ships salling in the international sea areas.
Funny but scary if it becomes true!
21 Apr 2005
Don't step into an hospital!
The study identified twenty-two ways in which the system caused patients to get the wrong medicine. Most of these issues are usability problems.Cars are dangerous too ;)
The most striking example of how bad design can kill comes from in-car user interfaces: thousands of deaths per year are related to drivers being distracted by overly complex designs.About usablity problems, I spoted two I didn't know:
- Memory Overload - The well-known limits on human short-term memory make it impossible to remember everything across that many screens.
- Overly Complicated Workflow - In general, whenever you see users resorting to sticky notes or other paper-based workarounds, you know you have a failed UI.
19 Apr 2005
eXtreme Feedback Devices
18 Apr 2005
Google desktop search
I'll just give it a try.
I can see, they make some kind of "html preview" in the search result page... cool!
15 Apr 2005
Google recruiting
Everybody is happy! Sun is shining! (propaganda?)
Anyway... may be we could do the same for Anyware? Coudn't we sylvain? ;)
ps: too bad you ain't got the shoes at the end of the video!
TheServerSide - Unit Testing Database
I've come accross this problem on my previous project but the data access layer was "home made" (even before hibernate started) and couldn't be change easily.
So I used DBUnit in TestCase to unit test, the tests were a little slower but still good enough.
For the Ron Johnson fans ;) see the comments on the server side.
Maven 2.0
I hope for them, they're making the right choice because making multiple branch for a product is a lot of work.
12 Apr 2005
xUnit Naming - Stub vs Mock
Personally I make a difference between Stubs and Mock.
For me, a Stub is just an object that return the same value over and over.
For example:
String Stub.getMethod() { return "test";}Stub is a dumb object!
A Mock object, is more intelligent, it can test itself. You can use it and then do
mock.verify()to check if it state is valid.
That's a big difference in my opinion.
9 Apr 2005
Half-Life hardware survey
6 Apr 2005
Thunderbird and import/export functions
I'm using Thunderbird for about 6 month now. Both at home and the office, and I'm quite happy with it.
So yesterday I decided to take it a step further.
Account settings:
I have personal accounts set at home but not at work, so every evening I need to check my mails. Usually, except junk, I don't get that much mails but I'm quite feed up with this way of doing.
So I wanted to import my account settings from home to work.
I successfully did it under Outlook, there is an "export settings" function that create a small outlook file I can import back to outlook.
But unfortunately there is no such export in Thunderbird 1.0. Only import settings from outlook, outlook express and eudora. I need to type this one more time :(
Or I can get those outlook files, import them to outlook (and therefore need to setup outlook) and then export from outlook to thunderbird.
Blogs:
I also wanted to give thunderbird an other try for feeds (I'm using sage plug-in for firefox).
But there is no opml import/export function and I don't want to type my xxx blogs entries.
Fortunately someone add the same problem (full details in bugzilla) so I used his hacked version of thunderbird to import my feeds.
But I lost my feeds folders :( I need to rearrange all of them...
I'm not sure I use thunderbird for feeds... we'll see.
May be I'll give bloglines a try one day ;)
5 Apr 2005
Cook Until Done
Every author, trainer, and pundit will swear up and down that "they know the secret."XP is a wonderful tool but doesn't prevent you from thinking :)
...
But somehow it doesn't seem to be that easy.
Actually one xp rule is to break the rules if they don't fit!
1 Apr 2005
I hate encoding problems!!!
I wish I lived in the shadok world which is a famous french comics. The shadoks have only 4 "words":
- Ga
- Bu
- Zo
- Meu
update: I forgot one shadok word "Meu" (thank you sylvain)
31 Mar 2005
Rod Johnson ain't funny?
Anyway, I known some "rod Johnson'freaks" who bought his book ;)
I've resisted the temptation but for how long?!
I only read books of funny people and rod doesn't seem one of them according to gavin.
24 Mar 2005
Java vs .Net
Mark Hapner pointed out that the community revolving around .NET is faced with a development language controlled by a major corporation, "Basically, Microsoft sucks the air out of .Net for everything that they classify as being of strong interest to themselves and there really is no place for other contributions," he said. Developers are forced to build on top of Microsoft?s economic model, which Microsoft can change whenever they want. The strength of the Java community is the support and collaborative efforts that exists between the organizations, open source communities and individuals alike.What makes microsoft .NET attractive and not attractive at the same time is the lake of choice.
You (almot) have only one choice: visual studio and .net framework! No need for other frameworks, everything is included in it.
As soon as something is use by people it is included in the framework...
But then you have less choice when it comes to choose something out of the mainstream.
Also from the same article:
There was discussion between Hapner and Schmidt about how current Java technologies like JavaServerFaces and Hibernate are making it easier for developers to develop applications by providing reusable user interfaces and frameworks that may become, according to Cliff Schmidt, more appealing to Microsoft developers by simplifying the programming language.I don't think any .Net developer will change for Java. The two world are separate and hardly speak with each other.
23 Mar 2005
The State of the Scripting Universe
21 Mar 2005
iTunes
I found it nice but still not up to Winamp.
- the mini player is too big compare to winamp's
- winamp can sort by path + filename
- the winamp media library allow to find files by author, title, music style etc...
- winamp can shuffle the play list (not just shuffle IN the play list)
23 Feb 2005
Java Web Start + Eclipse RCP
Eclipse is nice because it's fast and has a clean plugin system.
Bringing them together seems a good idea.
Too bad someone else did it before me, I was thinking of doing something like that too :-(
JavaServer Faces in Action
You can find a sample chapter about "how to do a login page".
22 Feb 2005
Lazlo eclipse editor
21 Feb 2005
Mozilla Sunbird
Actually I use Outlook for my work calendar, Palm desktop for my personnal calendar and todo list (both for work and home todos).
But it's becomming a bit messy...
I just dicovered that Mozilla foundation is creating a new project from Mozilla Suite call: Mozilla Sunbird. Some screenshots here.
It's not officially release but It has everything I need (and even more):
- Import/Export in vCalendar format (outlook) and iCalendar format
- Export to a local file or remote file
- Subscribing to a remote file (of someone else calendar for exemple)
- Export to a WebDAV server (such as Slide for example)
- And many other features...
- Palm desktop is free and can be synchronise with my palm
- Sunbird is free and has a good look and feel
- Outlook is used everywhere but it's not free.
16 Feb 2005
Java web start samples
9 Feb 2005
SyntaxHighlighter for Ruby
So I decided to adapt the excellent SyntaxHighlighter for ruby.
I asked Alex the creator of SyntaxHighlighter if he can add it to the official release...
I can send it to you by mail if you are interested. Drop me a line at pub.cog@netcourrier.com (I may be slow to respond since I don't check this mail box often)
An example of what it looks like: here
4 Feb 2005
Link spammer
Sam (...) lives in a three-bedroom semi-detached house in London, drives a vintage Jaguar and runs his own company. But "it's not not all rock and roll and big money", says Sam. What isn't? Spamming websites and blogs with text to pump up the search engine rankings of sites pushing PPC (pills, porn and casinos), that's what.I thought they lived in russia or brazil...
3 Feb 2005
Director's cut
See for yourself:
But the movie still need to be short and interesting, not everyone can be a director ;)
Follow the trail, links that lead me to those video: PragDave, PragmaticAutomation
Update: EclipseWork video
2 Feb 2005
Javapolis pictures
But better than that, is seeing them:
- Erich Gamma
- Joshua Bloch
- Mary Poppendieck
- Rod Johnson
- Graig McClanahan
- Vincent Massol ... a french one ;-)
- Marc Fleury... an other one ;)
1 Feb 2005
Choosing a Java Persistence Strategy
Starting from scratch I would prefer "Database first" since a database (and its data) may live longer than our code or other products may also accesthose data. Choosing "Database first" allow you to concentrate on relationship model aka core business values.
But in real life, people don't early understand the necessity for a persitence layer (unless an architect is part of the team) and create both objects/tables and end up needing to use the "Spaghetti Junction". Especially if one team deals with database and the other with java objects.
25 Jan 2005
The Kaizen way
But in real life, you'll soon realize that's not that easy! Small problems go along your way and transform that wonderfull piece of solution into a not so perfect one!
I found working with small steps the better way to achieve things. Taking small requirements and adding them one by one is the best solution.
The Toyota production system really captured that spirit.
The same principle apply to Software has been discribe by Mary Poppendieck. (Excellent article: Principles of Lean Thinking).
You can also find a definition of Kaizen at wikipedia.
19 Jan 2005
Testing difficulties
If it's hard to write a test, it's a signal that you have a design problem, not a testing problem. Loosely coupled, highly cohesive code is easy to test. --Kent BeckFirst time I used JUnit, I had trouble because my components where tightly coupled and then couldn't be tested easly.
At first I thought I'll extend JUnit framework by subclassing TestCase and then I realized I should use IoC to get easy to test and therefore easy to use components.
Pragmatic Programmer
...at least great until the 40th page since that the page where I stopped reading yesterday ;-)
Funny, easy to read, full of good advises and tips (some I knew, some I didn't).
Now I know I'm not the only sick person who keeps asking "why I'm doing this or that" when I work... :p
They emphasis you to always think about what your doing and why, to see if you could improve the thing (code, documentation, meeting, whatever...) your currently working at and become better.
Learning Names
In 2003 I had hard time remembering names of famous java programmers/architects (or even not knowing those people at all).
Now I know who is:
- Martin Fowler
- Ward Cunningham
- Kent Beck
- Ron Jeffries
- Craig McClanahan
- Ron Johnson (no blog, too bad... have a look at spring)
- The GoF (Erich Gamma)
- and many other...
For example thomas pointed me Alistair Cockburn whom I knew about but never read anything from him.
14 Jan 2005
New job at anyware
I had the opportunity to learn lots of technical stuff during those 3 last years (cvs, xp, junit, struts, eclipse...) in a team with cool people and a project manager who lets us try things to improve quality!
I'm going to anyware (thank you sylvain :-) ) , it will be hard since this company seems loaded with smart developers! (looks like a french thoughtworks to me).
Don't know yet exactly when I'll start...
Blog title changed
A blog with "Java/J2EE, XP and Architecture" title seems quite boring and pretentious ;-)
Now it's simply: "Francisoud Blog".
13 Jan 2005
12 Jan 2005
JVM profiler
Also recently read about that subject (JSR 174: Monitoring and Management Specification for the JavaTM Virtual Machine):
Monitoring and Management APIs: The java.lang.management package provides the interface for monitoring and managing the JVM. It provides access to information such as: number of classes loaded and threads running, memory consumption, garbage collection statistics, on-demand deadlock detection, and others.Since Sun made significant improvements of the memory handling:
New in the J2SE Platform version 1.5 is a feature referred to here as ergonomics. The goal of ergonomics is to provide good performance from the JVM with a minimum of command line tuning. Ergonomics attempts to match the best selection of
Garbage collector
Heap size
Runtime compiler
for an application.
EAI Patterns
(Not so) surprising Holub rant
At first I was surprised:
The newest version of Tomcat was just plain broken. (...)
Tomcat’s documentation is virtually unusable(...)
Some other open-source source code that I’ve seen is equally bad—Hibernate is a mess, for example—and many commercial projects aren’t much better (much of the Java library code is a case in point).
In all fairness, some open-source projects don’t have many of these problems, but those projects tend to have started life as commercial software that was released to the open-source community.Since I've never really had problems with Tomcat and being a "open source" freak... I don't really agree with him, BUT he has some points and (even) open source projects aren't perfect (actually the perfect project is an utopia) and providing the right documentation (enough/not too much) is hard.
And then I realize I knew this guy from javaworld articles:
As you can see from his articles'titles, he's "Dr Evil".
He likes provocation... (just like tirsen).
Funny to see that some people are like that...
7 Jan 2005
New year - New Template blog
6 Jan 2005
Database: natural vs surrogate key
Then he introduced surrogate key (usualy a unique integer like AddressID).
My experience of database lead me to use mainly surrogate keys... until recently! where it seems that surrogate key might be a problem in some case.
Exemple:
- Problem 1: your application/database need to import/export/communicate data to another application/database for exemple using a flat file between the 2 systems.
- Problem 2: As always the 2 databases strutures are differents (concepts-features-tables-cardinality).
- If you used surrogate keys:
- You can send your AddressID to the other system but what will it do with it? The other system surly will aslo have PK_Address_Id of his own, it won't be able to insert your Id into his -> not able to keep unicity
- You can try to send only natural keys (Social Security Number), but since it is not you primary key you can export 2 lines that seems identical but have a different Id...
- If you used natural keys:
- It seems easer to export Social Security Number into a database struture with ID + SSN than the other way
[Using natural keys]... The implication is that you want to avoid keys with business meaning because business meaning changes.I tend to agree with him that surrogate keys are somehow still better since queries are easer and refactoring more flexible.
Also using natural or surrogate keys don't avoid problems about concepts such as:
- system n°1: n Users owns 1 Order
- system n°2: n Users owns n Orders
Conclusion: I'll still use surrogate keys but try to avoid them whenever possible if there is an easy natural key.
Refactoring to Patterns
It seems nice but as an introduction Joshua Kerievsky talks about the GoF and Refactoring.
I haven't read them (yet), hope this won't be a problem to understand...