September 11th, 2006
Today I had a job interview - in french, this is what makes this most remarkable; the interview drifted a bit off and I stated the following (I’ll give the english transcription, as my french writing is terrible)
You can reify the internal flow of a software-system by looking at the social network of the people who build it. The opposite is also true.
If you look at a sufficiently large piece of software, you’ll find different components and of course interface between these components. The developers of components are likely to form clusters, while over the interfaces you’ll find (occasional) communication that is more formal than within a component’s clique.
As a corollary to this observation I’d like to state: If you have an interface it will be working if and only if (iff - for mathematicians) the cliques hav a working communication.
I explained this to my girl-friend over diner (rest assured, she tells me about her professional poker experiences in turn) and we agreed that this is the key for the success of open source software.
An open source project can only exist if you have a working network and good communication among the subgroups. The mere fact that you found a group of people capable of forming such a network assures (at least) the necessary condition to create a good piece od software.
The existence proves statistically the need and the compliance with the mainstream of such a solution. Otherwise the likehood that such a group can find itself in the vast space of the internet will be zero.
(we had wine with and some calva after the dinner - so I am not capable to tell if this observation is just trivial or perhaps a real deep insight - anyway I am proud that I’d been able to express it after only three years of french)
Posted in
Architecture, Web, Java
No Comments »
May 20th, 2006

I started playing with Google Web Toolkit beta- actually I didn’t really start. Because I had to uninstall IE7 (which I don’t use at all), but hey I’d been curious.
The screenshot above is a ‘warning’ from the uninstall. I think they inserted it to deter people from stopping using it (interesting though how this compares to trailware).
But at the end the best one:

It is always more confusing to offer a negated phrase (”Are you not sure if you don’t want not all files lost on harddrive not being formatted [Y/N]”), instead of defaulting a reasonable choice.
The alert reader might have spotted that I use a french edition of XP (with the Vista L&F) - but everything comes in english?!
BTW: I think IE7 sucks. It is IE6 with tabbed-browsing, a terrible layout of controls and all known bugs. Worst of all: The anti-aliasing. Looks like s**t - if you happen to use Office 2003 you know this reading-layout - just like this, just a tad worse.
They should steal the anti-aliasing from Mustang, that works and looks really good.
PS: I now believe Microsoft invented the browser: It just took them longer than Netscape to come out with it:-) If the big battleship Microsoft is in hurry, some things might go over board
Posted in
Web, Java
1 Comment »
April 9th, 2006
I am pretty neutral on this Java-RoR thing, so just some thoughts.
RoR is what 4GL tools promised for the Client-Server era. Some tools kept their promise, some did not. Actually many techniques I know from the Oracle*Forms world show up in RoR. I did this long enough to see where this technology leads you and this deterrs me a bit of using RoR.
I am quite sure that 9[0-9]% of all applications perform CRUD 9[0-9]% of the time. The same is true for the IDs of the screens matching table and column names. If you name it “scaffolding” or “Block-Wizard” - it is useful and it does a huge amount of the boring work. When you say that 20% of the code takes 80% of the time you will have 80% of the code written (or guessed, interpreted by default binding…) in your runtime/framework.
What you can do with RoR is as impressing as what you could do with Forms 20 years ago. Well, Forms got extended over the following decades and it got pretty complicated. Maintenance on a Forms application got difficult also after most of the out-of the box behavior got changed by custom-code.
The point was that all the auto-magic had its price (The same is true for almost any framework written in any language). At some point the 20% of code increase their share on the coding by simply showing an exponential behavior in maintenance cost. I feel now that this is pretty normal when you rely heavily on generators/conventions that do “only” 80% of the work and let you puzzle about the rest.
This isn’t even a bad thing, although the application will finally become non-maintainable you don really not have to care. There are few systems with a lifetime of more that 10 years. And as user-requirements shift more and more quickly in unforeseeable directions, it is perhaps wiser to accept that you’ll throw this one away or limit is for a specific user-group, while you do a hack with RoR to give the clients a simplified access to your spare-parts tracking, or integrate a new system to support additional requirements instead of merging it directly into your application. There are really few systems that require an complete overview over all data (a game server) over decades (accounts at social security).
The limited data contention of ordinary applications also implicitly solves scalabilty problems (or makes the solvable): Read the rest of this entry »
Posted in
Web, Java
1 Comment »
March 24th, 2006
The unbearable rave on it needs some captive definitions, doesn’t it?
this is Tim O’Reilly’s thing
- Javaposse PodCast (please someone help me out with the number of the episode)
cool idea - mostly with no real business plan - that use some AJAX + dynamic html
-Hed
Larger e-mail form == Web 2.0
- Stéphane Lee
…but “Web 2.0” is not a design approach. Rather, it’s a silly reference to contemporary stylistic fad.
- Andy Rutledge
when you google for “depression” and you’ll receive a recommendation from amazon.com: “Ways out of depression”
- (prefers to stay anonymous)
web applications that let you do crap around them and take advantage of organic growth, collaboration, blah, blah…
- Jose Sandoval (he references also to some more serious definitions- as serious as Web 2.0 might be)
…to be continued
Web 2.0 is the building of the Interstate Highway System in the 1950s
- “Architect Corner” (continues with: “Social Computing is everything that resulted next (for better or worse): suburban sprawl, energy dependency, efficient commerce, Americans’ lust for cheap and easy travel.”)
Web 2.0 is the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success on that new platform.
- Tim O’Reily
Web 2.0 was the moment when we stopped using computers and started using the Internet.
- franticindustries, putting O’Reily’s defnition above in a more catchy form
Posted in
Web
No Comments »
March 22nd, 2006
Some new idea for a project that came from a problem I encountered at work.
A client uses our web-application at remote sales-points. By remote I really mean remote. The connection is via a X25-line with some 40kbps (bits not bytes!) and a significant latency. We did some tweaking on the Apache to set Expiry and compression so that we have now reasonable response-times.
So far so good. Or not? We had been thinking of moving to an Applet or even a WebStart application instead of a browser based solution. Browser is not browser, for example we had a mysterious bug with IE and Apache when a cached paged tried to load a non-existent JS-resource - the HTML-response got inserted …
Our main goal is to use the same codebase for the applet/webstart as for the server, which will allow more efficient testing and debugging and also avoid duplicate implementations of functionality once in Java once in JS.
At FJA we had an Applet-client which was a bit problematic because it virtually refreshed itself after each keystroke. Our current application has a different approach that minimizes the number of communications. Though this seems nice, it causes long delays on transitions in the workflow and besides that it makes the data-exchange between client and server very complicated.
Ajax is not really an option perhaps, since we have quite complex rules and many inderdepencies in our UI - the management code we have right now is perhaps already beyond the limit of complexity we can handle, since its JS; we need either other developers who can cope with JS-projects having >200kloc or we put it into something “engineerable” - like Java.
But the communication problem persists. Having simpler exchange means having more frequent communications and there is for sure some lower bound for the mean bandwidth we need. As I had a look at X11 today (a collegue needed to do some debugging on a remote Linux-box) I remembered this as very efficient way for remoting and this brought me to the idea of a XApplet.
XApplet is some Swing wrapper that can smoothly switch between an X11-terminal mode and native processing. This means that the client runs either as an ordinary Applet on the client or that it just provides some Terminal-facilities that exchanges tiny messages like key-strokes and mouse movements to an Applet running on the server. Perhaps the full client can have regions of terminal and native components (given they are sufficintly independent).
What is the benefit of a terminal-mode, you might ask? The terminal-mode can easily implement some “asynchronous” behavior and the bandwidth usage is quite evenly distributed. Software like Citrix (and within some limits Window’s Remote Desktop) have proven to be well functioning remoting tools in low-bandwidth environments. When you think of a typical mobile application this approach is perhaps not so bad…
Posted in
Web, Java
No Comments »
March 21st, 2006
100% useful http://www.danvine.com/icapture/
When developing a page without a Mac at hand you can get a PNG of the site to see if everything looks as intended.
I recommend that you donate some money to the creator (there is just a tiny link (”beer does not grow on trees, yet” or “your donation will keep this site alive”) to send some money via 
There is also a version to have an IE7 preview!
Look how this post looks like on Safari:
Posted in
Web
No Comments »
February 18th, 2006
Once upon a time the was a search engine called Google. It had been a friendly search-machine and everyone liked it - not everyone of course , there was this nasty Giant of Redmond that was feared by everyone but also disliked by everyone.
End of the fairy-tale.
Google wants to make more money and “the next big thing” is localized services - if one believes the web to-point-”Ohh!” evangelist - formerly knows as the guys who didn’t get a word a Starbuck’s right and used them as brand names instead - who needs vowels, especially the ‘e’ is largely overrated (See G. Perec La disparition /A Void).
No google.de etc. are fully localized (to target you with more adspam). Also they provide more top-listed sites (It depends which google you talk about)… If I had the choice, they can do so, but what really bothers me is that it ignores whenI search with english or french terms: I still get only german pages… unless NO pages exists in german on the topic. Even if there is a single hit in german all other 200.000.000 hits are ignored…
Don’t say that I have to change my language preferences - they don’t have any effect on that: If you search you have to know now the language domain you want to investigate. My girl-friend is completly fucked: She mainly works translating french texts and when I say french I mean texts in french from France. Sadly Google now prefers Canada (Blame Canada!)…
Well perhaps they’ll improve on that, but actually it is a loss. All google sites looked the same because they were merely portals to the world’s information. The “global village” was too “.” O tied to Google to keep it connected. Now we go back to some regions (and some white(?) spots).
I have nothing against translations and reasonably ranked content, but I don’t like to revise all the weeks if I can still trust my dictionary. The rules must be transparent. The google-quirk can be circumvented (when using english) by querying google.com, but IBM and (guess who?) Microsoft made it worse: They use your IP-address to redirected you to localized content. This is very useful when you are in France and french is your third language (or 5th, 6th if computer languages count). At Microsoft it is just a bit annoying, but there is always the link to the translation (and the (english) original) on the same page and when you navigated a local site you won’t be dispatched without any notice while browsing it (I don’t except nobody to translate any bit of information immediately). IBM nows better: The transferred their mainframe-attitude to the 21st century. You can change your preferences, but you have to navigate away from the current page and you’ll never find the desired content…
Posted in
Web
No Comments »
February 13th, 2006
Arghs.
This was a stupid one. Running roller on Oracle (9.2) is actually not as difficult as it seems:
- org.hibernate.dialect.Oracle9Dialect in hibernate.cf.xml
- Make the Realm connected to your oracle-DB:
<realm classname=”org.apache.catalina.realm.JDBCRealm” debug=”99″ drivername=”oracle.jdbc.driver.OracleDriver” connectionname=”roller” connectionpassword=”roller” connectionurl=”jdbc:oracle:thin:@lxoracle:1521:devlpt” usertable=”rolleruser” usernamecol=”username” usercredcol=”passphrase” userroletable=”userrole” rolenamecol=”rolename”> </realm>
- For a true transactional DB:
<parameter><name>defaultAutoCommit</name>
<value>false</value>
</parameter> (otherwise the BasicDataSourceFactory’s default enforces autocommit.
Not that this will only work with the new Oracle-drivers ojdbc14.jar for Oracle 10g! The older version cannot handle CLOBs as Strings and so the hibernate-mapping for the roller_properties is wrong.
Next thing to do: Get this also going on a Mustang/Glassfish. (There is a nice description which just misses that WEBLOGENTRY.pubtime must be nullable)
Posted in
Web
No Comments »
September 4th, 2005
A year ago I made a translation of a Wired article “Google vs. Evil”. This article is now four years old, but yesterday I read Jason Bell’s blog and found there a story that reminded me of the older article on Google.
I am not an idiot, I noticed the irony, so read on!
Point is why articles like this start to pop up since Google’s IPO. Before Google going public it had the charm of Linux. Nevertheless, the Wired article questions Google’s submissive attitude towards govermental pressure where nowdays we have to question Google’s pressure on goverments.
The latest Google project Google Print (perhaps not really the latest, but the one that made some waves) causes copyright-holders and libraries to raise concerns on the possible exploit of their property by Google that does not hold any right on them. Google offered copyright holders an opt-out to appease their concerns.
Well in fact if you opt-out this equals destroying your content - Google will not do it explicitly as annonced in the article, but your product will be virtually invisible as Google is the search-engine Superpower. This “either you’ll comply to our conditions or you’ll be eradicated” fits perfectly how the military Superpower acts nowdays.
Google is largely unaffected by govermental regulations unlike Microsoft that sells its products and thus has to comply with some laws. As Microsoft started/relaunched (in a desparate attempt to stop Google becoming the web’s hegemon) its search service everybody had the same concerns that now materialize in Google’s strategy.
I don’t want Microsoft to save me from that but I think something has to be done to limit the abuse of market share to prevent it becoming market power. Our culture that became so much richer by the web (and Google!) will quickly degenerate to MacInfomation when indexing of information will become indexing of products. Let’s face it: Google’s shareholders payed a ridiculous price and money can come only from selling things and as long Google does not sell anything directly the money has to come from content-providers.
In worst case you’ll have the top 1000 hits for “healthy nutrition” referencing the composition of a BigMac because McDo can outgun all other providers of “quality” content. A search Superpower, receptive to money and sufficiently “flexible” in its moral will give big companies a venue to extend their media control to the web.
Perhaps Google is not evil. I hope so. But their must be something like a true choice.
Posted in
Web
No Comments »