“Ask” Search Engine

Dear Reader,

A friend of mine told my yesterday about the search engine Ask. I remembered today when starting to get my hands dirty with the Apache Axis Webservice Framework. I was reading through the User Guide and tried to run their TestClient application. However the URL for the Echo Webservice did not seem to be working. I got a connection error. So I tried googling the URL http://ws.apache.org:5049/axis/services/echo.

Zero Results!

I tried Goolge Code Search as well, - with the same result. That was when I remembered about the conversation yesterday about Ask.

ask3.gifask1.gifask2.gif

Ask gave me three result pages. I found out that there is an alternative link: http://nagoya.apache.org:5049/axis/services/echo. However, this one also doesn’t work. But at least I found out, other people had the same problem before.

I don’t know yet how well Ask performs on non technical searches. For technical searches however, it looks like a promising alternative.

Thank you.

Girlfriend exchanged with Robot

Dear Reader,

I just love the Japanese… Robots that help out elderly people. It’s lovely!

robot3.jpg robot1.jpg robot2.jpg

So whenever my girlfriend is not behaving “correctly”, from now on I start threatening her with “Robot Replacement”…

Hope that helps ;-)

Thank you.

RSS Client Tutorial

Dear Reader,

Quite a number of (not-so-tech) friends of mine asked me to put a quick RSS Client Tutorial with a few examples on this blog. So I am happy to do so.

Note: This article is targeted at end users who whish to subscribe to RSS feeds, not users who want to learn how to produce RSS themselves. Those should maybe check out pages like this one.

So, let’s start: RSS is an abbreviation for whatever. It doesn’t matter. What you have to understand is what it is and how to use it. If you are interested in the content of a particular website, you usally have to go there from time to time in order to see if any updates happened. When the number of those pages rises, you would have to remember all those pages. “That’s just too much for the brain”, some people thought.

rss-symbol2.jpg rss_symbol.gif

So they went out and defined what is called RSS. It is a certain “XML grammar”, nothing more. But the way it is used helps managing all the webpage updates of interest, without any pain on the brain. Think of RSS like a newspaper subscription. Without your interference, the newspaper just keeps coming and coming. As long as you pay the invoice that is.

Some webpages decide to offer RSS subscriptions to their visitors. All that they have to do for it, is to publish a link where some nerdy xml file lives. Whenever a change is done to their webpage, that file changes a bit too. Have a look at the RSS file for this page:

http://www.theyellowmarker.org/blog/feed/

Pretty, isn’t it? Now of course nobody wants to read this. After all it is just another webpage that people would have to check from time to time. So this alone doesn’t solve the problem. What is needed on the other hand is a client program. A program that is installed on the end users computer. This program then does periodic checks of that page and notices any changes. (The reason the format is so ugly for humans is the exact reason why machines find it easy to read).

There are many programs out there. Standalone programs like RssReader, online readers, such as the Google-Reader that comes along with your google account and such readers that are integrated into the programs you use everyday, like email clients and browsers.

For example, if Firefox detects an RSS link on a page, it will display the “orange RSS Icon” on the right side of the adress, like in the picture below:

rss1.png


By clicking that symbol (the upper one), you add a “dynamic bookmark” to your bookmarks. It will then appear like the symbol in the lower circle. By clicking on it, you will always see the latest topics, like on the picture below:

rss2.png

So whenever the editors of the page put a new topic online, your list in your browser will grow accordingly.

I personaly prefer to use my mail client, which happens to be Thunderbird. I think this is most convinient, because the “news” pop in as if they were new mail. Let me show you how to setup “RSS Accounts” in Thunderbird.

For example, to subscribe to new entries (or comments) on this page, you would have to find out where the RSS-XML file lives on this website. You do this by “finding” some indication of RSS, in this case on the top-right side:

rss3.png

By clicking on “Entries”, you will get the URL, the adress of the RSS-XML: http://www.theyellowmarker.org/blog/feed/ This you have to copy, the adress not the page content, and tell it Thunderbird like this: Go to the menu Tools -> Account Settings… Then say “Add Account…”. Choose “RSS News & Blogs”

rss4.png

Then click “next” a few times. You will get a new top level folder on the right side panel inside thunderbird that will look a little bit like this:

rss5.png

Right click “News & Blogs” or whatever you chose to call it and select “Manage Subscriptions”.

rss6.png

Choose “Add”.

rss7.png

And paste the RSS-XML URL in that you found previously. - That’s it. From now on, whenever the authors of your chosen RSS supported webpage change their content, you will almost instantly notice it…

So next time I startup Thunderbird, I will get this message

rss8.png

[to recurse is fun :-) ]

So you understand RSS now. To summarize, it is a webpage that machines can easily read. The machines who do the reading work like email programms that check that webpage form time to time and let you know if change happened. That’s all.

Also notice that there is an extension to “frozen” RSS, called Atom (RFC 4287)

Thank you.

EDV

Dear Reader,

Ok. EDV is out. It is the german short for “Elektronische Daten Verarbeitung”. Thats like “Electronic Data Processing” in English. Almost as old school as “the EVA principle”. First time I heard it was once when I took a walk with my dad, back in the 80ies. He told me about DOS, Norton Commander, POKE and REM…

Old School Computingmainframe3.jpgmainframe2.jpg

Please don’t try to find a job with these abbreviations. It won’t work.
Just saw it on austrian TV. The guy, age 52, does EDV… no fucking way!!!

P.S: Indian friends, please don’t worry, you were well secured by the cold war at the time. So please don’t bother to read/learn about it. It is VERY MUCH OKAY, if you don’t know about the C64 and the pre-win3.11. Not to worry…

P.P.S: The chat I watched was on christian “free” (aka mostly exremist) chruches who’s members don’t want to make around before the lord doesn’t agree. More on this topic later.

P.P.P.S: “EVA” is even better than EDV, funwise: It means “Eingabe-Verarbeitung-Ausgabe”, in English: “Input-Processing-Output”. Imagine, that is just about the most old school machine one can imagine. A very easy view that doesn’t help your understanding any more. Monkeys trying to use typewriters…

Thank you.

“India is facing a serious talent crunch”

Dear Reader,

Well well… just been watching a program on BBC World. Appartenly the second fast growing economy, that is India, after China of course, is running into a shortage of IT professionals. They will face a shortage of IT-savy people in the next few years, they say… well that is if the expected growth rate is to be as predicted. And only then. On the other hand it means, India is still producing too cheap. The bubble is still expanding. There will come a time, when indias price level will be high enough, so that it will come apparent, that masses alone cannot do the job alone. In high price/labour level countries, creativity is what you get paid for in the IT sector, not slogging.

talent5.jpg talent4.pngtalent7.jpg

When the internet bubble bursted, invenstment went down on IT. Leaving a whole lot of people unemployed who got used to big salaries in the boom but who actually had too little eduction in computer science, or none at all, in order to survive the transition to reduced demand and hence to better educated employees.

In 2000, lots of people used to be professionals in something far form IT, like gardening. But at the time, when the CEO entered the conference room, overlooking the garden in front of the lobby, he used to go: “Who the hell, employed the gardener! We have IT workplaces unused! If the guy can cut a tree, he must also be able to use a mouse! I want to see THAT guy out at the customers site by next week! AT THE LATEST!”

The downside to this story is that, at least here in Switzerland, quit often some ex-IT people who happend to realise that they couldn’t keep up with their new standard of living, go totally crazy and started killing their families and so on. It happend often here after the bubble crush… (There were lots of discussions on this in the national newspapers with topics like this: “how dangerous are IT guys?” However, they didn’t see the connection to the Internet bubble crush. They thought the IT employee is a potential killer by nature. Oh well…)

talent10.jpg talent6.jpg talent9.jpg

So my Indian fellows, I have seen a lot of eagerness in learning lots of stuff, “EVERYTHING” if possible, amongst you fellows, when I visited Bangalore in late 2005. However, those of you who want to make it into the next round, those of you who want to survive the thinning out will have to take the next step. And this will happen due to increased standards of living in India (The IT centers Bangalore, Chennai, …) in the long run and may even sooner happen due to the Chinese economy that is catching up (and that is still not running short on IT staff - yet - as YOU are…)

Learning books by heart will not help you then. There has to be genuine creativity. Unfortunatly one cannot learn that. And the harder one tries to pretend it, the worse it gets to have to witness it.

Here my advice on behalf of creativiy is: less is more.

P.S.: But that just holds true for India and China. In the relaxed world, the part with the lazy teenagers, the U.S. and Europe, for them my advice is: more is more and even more is better but probably still not enough in the long run - You savy Indian guys who read the text books on macroeconomics and social sciences (and the purely creative minds) got the clue, right?

Thank you.

Peace is not a thing

Dear Reader,

Many people before me got to the understanding of one thing concerning peace: peace is not a product. You cannot make it. It is not a thing you could ever produce at any manufacturing site anywhere…

Peace is a consequence of freedom and selfunderstanding of societys, aka individuals.

Peace is not a thing.

peace3.JPGpeace1.jpgpeace2.JPG

You can use the word to increase your reputation (amongst dummies) by talking big about how to “make” it, “bring” it, “exporting” it, etc.

Even the bush administration doesn’t try such a simple strategy. They try to implement a democratic gouvernment e.g. in Irak. The plan is, that that will bring peace as a result. (However, there are other constraints that prevent all that, more on this on another post). But so far, so good. I don’t want to agree or disagree on any political move they do, simply beause I don’t know enough. I just want to point out: Peace is not a thing that could be exported, but a consequece, a function of x, y and z: f(a1, a2, …, an)

Therefore:

Please stop becoming noble peace prize winner candidate.

Don’t give us your wise ideas on how “it should be” when you didn’t yet manange to be at peace with your mother-in-law…

Change the world at your fingertips, if you think you are such a clever being.

Stop talking about “human diginity”, be an example yourself.

Compssion and Knowledge in Action is the only way to convince people…
So let’s shut up and instead start to act, to do, to implement.

Thank you.

Osama Bin Laden dies of typhoid?

I am currently in Shanghai and just listened to the Radio Energy Zurich news through the web: Apparently, Osama Bin Laden died of a severe case of typhoid. This is what the French secret service claims to be sure about.

typhoid3.giftyphoid1.giftyphoid2.gif

I haven’t found it on the Google News yet, so let’s see what information is still to come on this…

9/11 - Five years later

New York… I was there… It looked like after an atom bomb. All colors were gone… Just grey, black, white…

It is hard, if not impossible for someone, who hasn’t been there, her- or himself, to understand how it was.

However, I finally understand why my grand-father, who was in the last big war, why he never wanted to talk about all that what had happend: It is because all of us, his grand-children, who just happend to learn history back in school or on TV, would never ever have been able to truely listen to him, to truely understand how it was, the know His-story

wtc4.jpg wtc3.jpgwtc2.jpg

Somehow, we whished nothing more than that the old man would finally start talking - at last… “it shouldn’t be that difficult? where’s the big deal?”, we thought - We were pretty wrong.

Spring Webflow on top of Spring MVC

Dear Reader,

I am currently trying to integrate Spring Webflow on top of an application that has been written using Spring MVC approaches. That is especially this kind of controller methodology (from the Spring MVC part):


public ModelAndView showListOfferPage(HttpServletRequest request, HttpServletResponse response) throws Exception {
//...
return new ModelAndView("path/tomy/viewJspFile", "dataKey", dataValue);
}

However, from what I’ve learned so far on Spring Webflow, all the View navigation decision is done in the Flow definition. This raises the question, how to intermix the different approaches. What confuses me is that in none of the examples seems to be any “context (request) aware” Class…

In every case, the controller layer needs the request object to extract data from it… So I would expect something like this:

public void showListOfferpage(HttpServletRequest request, HttpServletResponse response) throws Exception {
//... do stuff
// return nothing, as this is handled by the flow
}

I started a Thread on this topic on the Spring Framework Support Forums. So far it looks as if I had to answer this myself.

Let’s have a look into chapter 11 and 12 of the book “Expert Spring MVC and Web Flow” by Seth Ladd et al. This is an excellent book on the topic and very clearly written. The Webflow API from the book is a bit outdated. There have been some renamings, but with a look at the API of the latest release in combination with a bit of surfing the Spring Framework Support Forums, this should not be a problem.

Page 312:

Impletation Agnostic - Secondly, Spring Web Flow is deliberately abstracted away from the Servlet specification. […] there is nothing web-specific about a flow definition […] At now point within Spring Web Flow are you presented with an HttpServletRequest or an HttpServletResponse.”

Well, that’s great but I need some way to plug the stuff together… I’ll find out… You will find an answer right here really soon.

Ok. Looks as if I missunderstood the “plug and play” property of Webflow…

Yes it is agnostic of the MVC framework it works with. Its tied to that using FlowController, ExternalContext and ViewResolver. But No, it doesn’t let you plug it on top of your already coded Spring MVC Controllers, like SimpleFormController or MultiActionController. The controller part is defined completely in the webflow definition. The MVC controllers are replaced with Spring Webflows Action’s.

This I conclude from a bit of reading in the previously mentioned book and on these two discussion threads:

1) from The Server Side

2) from the Spring Webflow Support Forum

Erwin Vervaet says in [2]: “So a typical application will mix both Spring MVC and SWF. Use simple controllers like SimpleFormController when that is all you need. When you have more complex flow requirements, use SWF.”

and Keith Donald in [1]: “On the other hand, if you already have a lot of flow type stuff implemented in Spring MVC, perhaps using the AbstractWizardController, well, yea, you have a conversion effort there if you want to web flow that existing code. But I think you should think carefully if that is worth doing: if what you have already built works, why change it? AWC works and will continue to; web flow will provide more power/flexibility where it is demanded.”

So I changed the bits and pieces I want to have as part of the Webflow framework like this:

from Spring MVC, using org.springframework.web.servlet.mvc.multiaction.MultiActionController

public class MyAction extends MultiActionController {
public ModelAndView getOffers(final HttpServletRequest request, final HttpServletResponse response) throws Exception {
List offers = offerService.find(IOffer.class);
return new ModelAndView("pro/secured/offer/offerList", "offers", offers);
}
}

to Spring Webflow, using org.springframework.webflow.action.MultiAction

public class MyAction extends MultiAction {
public Event getOffers(final RequestContext context) throws Exception {
List offers = offerService.find(IOffer.class);
context.getFlowScope().put("offers", offers);
return success();
}
}

Thank you.

“Dropping Knowledge” Event, Berlin, September 9th, 2006

Dear Reader,

A friend of mine helped organising the Dropping Knowledge Event. It takes place right now at the time I am writing this. Hafsat Abiola and Willem Dafoe lead a round table of about a hundred people who answer questions of people from all over the world (People who are “online” that is).

A discussion among 100 people! Well, if they all have to talk to each other, the number of talks between each two people will be quite big: 4950 talks if all talk to all once.

For those of you, who don’t have a calculator or a brain to do the job, here is the Lisp “program” to calculate that number:

Talk Lisp Pseudo Program

To accomplish that, organising 4950 talks, one day is just not enough. And in life outside maths, you are still not finished. So you would have to iterate the whole process, in order to have a final and “streamlined” version of the answer that everybody agrees with. And after all, that is what all the questioners would like to get, isn’t it?, an answer from all of the savvy folks down from Berlin.

It looks as if the organisers found that out too. They let different people answer different questions. So that problem seems to be solved: Nobody really had to argue with anybody! Leaving the questioners with pure luck of who got to answer their question.

My impression on what I saw so far on the live-stream, is that unfortunately it is just another feel good get-together for a bunch of people who consider themselves humanists.

Because that’s what they go on about. About how everybody should have respect for life, other human beings, animals, trees, toothpaste, et cetera… That everybody is the same in the end and the religons anyway, one god, the god a guy who has no religion himself and in some way has showed us how to live, I learn - interesting.

Nothing new here… what a pitty! There must have been quite a bunch of disappointed questioners who thought to themselves, they could have given that answer themselves just as easily…

In fact I cannot hear it anymore. I have seen it way too often. It is always so easy to look out into the world and find mistakes all over the place. Stuff other people do wrong, the system that is “unnatural” or the society that is ill and perverted and ah oh how good it was when everyone still run around half-naked, clubbing each others heads…

“What a nice and wonderful event that was today”, “How intelligent my appeal to world peace must have made me look!” - and then they go home and beat up their wives and children…

And why? Because they have looked out, into the world and had many ideas of how it should be, but they did not look inside. Into themselves. To where the negativity, they so much want to free the world off, actually lifes. It’s the inside of the individual where any change has to start.

Changing the world without first changing oneself will never ever work out. It is an uphill battle, a Sisyphean task.

I am not saying I am any better, but hey, I also don’t give the world such great advices (that any 1st grader could come up with, anyway)!

Thank you.