«April 25, 2005»

Image Stack

How do you show your digital images to your friends? That’s not that easy if you don’t have a PocketPC 2003. Just as you passed around your stack of photos now you can pass around your PocketPC showing your favorite photos. Pressing the right arrow key shows the next photo, press the left to see the previous. It’s that simple

Image Stack is freeware, download it here

Filed under: Product Releases — @ 8:57 am

«April 7, 2005»

JPG 4 Email released

I just released a small app called JPG 4 Email. It’s made for my wife and for my sister-in-law. Both are real afficionate photographers who came up with hundreds of images. They made a small collection to send them to their email-friends. But the images were too large, so they had to shrink them with their photo publisher software. But that quite cumbersome and cost them a few nights.

My JPG 4 Email would’ve saved these nights, now it’s only setting the size, dropping the JPG files, and saving them into a new folder. That’s all. It’s only $9.95.

Filed under: Product Releases — @ 3:03 am

«March 24, 2005»

Always paint a static control

I just finished a small app, I’ll release later. It just consists of a dialog with only one control in the middle. It is to display an image and you can resize the dialog and the control. Sounds easy and it really is, but during development I got the state that the static control did not yet have the image to display, so I just returned from the OnPaint message handler. This resulted in real strange behaviour:

The first image could not be displayed, I could create the memory device CDC but it didn’t display. I had to create the display twice in order to get it displayed. Strange, the solution was to get a static variable first, set it true and then create it twice. It worked, but somehow it looked strange.

Then came the resizing stuff, I could resize the control once, but after that it got somehow lost. It was then that I got a feeling that I should paint the static even if there is nothing to paint (no image). Look and behold all weirdness gone, I deleted the static variable, and it displayed the first image.

Lesson learnt:
Always paint a static control, otherwise the microsoft software thinks there is something strange with this control and it might forget about it.

Filed under: Programming issues — @ 8:11 am

«March 21, 2005»

Scan & Fill II 1e released

Finished the 1e release of Scan&Fill last friday. Just added a zoom functionality.

For those who don’t know about Scan&Fill:
It was planned as a typewriter replacement, you scan the a form, make your entries, put the form in the printer and write on it. Now it’s grown into some sort of forms printing environment, you can easily automate form filling tasks, via the COM interface you can even use visual basic and other languages to produce forms.

It displayed the form 1-1, 1 inch on paper became 1 inch on screen. Microsoft enlarged the logical inch on screen to make up for the reading distance, it magnified by something around 1.5. But as the screens get more and more pixels, the logical inch on screen became smaller and smaller. It was time to make an update. Now you can zoom and enlarge the screen inch. Of course on print the screen inch gets real again.

Filed under: Product Releases — @ 3:16 am

«March 18, 2005»

The giant pygmy

Yesterday I read a beautiful article in a german online magazine about an american living for 19 years among pygmys in central africa.

He came for the music and stayed for the easy living in the jungle. Strange isn’t it? Having virtually nothing, living from what you collect in the woods but being happy. Dancing and making music.

During the writers visit the people prepare for funeral. But he writes “I’m sure this will end in happiness. They just can’t otherwise”.

The reason being happy is that they can collect easily what they need, so there’s no need to worry about the next day.
If I look at the living conditions in our modern world, it’s just a case of don’t worry be happy. I don’t see any starving people around me, but many worry about the future. I’ll stop worrying.

Filed under: beautiful world — @ 5:20 am

«March 14, 2005»

there is no commercial logic reasoner?

Just look for “commercial logic reasoner” in google and it displays a list of non-commercial logic reasoners! What does this show:

1. google is not that intelligent as non-commercial is the opposite of commercial

2. there is no website about a commercial logic reasoner available, at least it is not optimized against these keywords.

Further I’ve seen no google ad when searching for logic reasoners. Looks like logic reasoners are quite nice for students project but not for real world applications. Why? It’s really a pity.

Look at this nice description of predicate calculus. Since more than 100 years there are people doing work in this area.

Looking through this list of MSc projects you can see there is still work in progress here. Are these still left overs of some AI hype long ago?

Filed under: Artificial Intelligence — @ 6:21 am

«March 11, 2005»

Knowledge Representation

Knowledge Representation is a very ambitious title. It tells to put your knowlegde into a computer system and then the computer knows everything you know. But that’s also called a database, isn’t?

A database stores facts, e.g. “Maharani Dishes” is an indian restaurant. If you know that most indian restaurants offer vegetarian dishes, you might recommend Maharani Dishes to your vegetarian friend.

So real knowlegde is more like rules to deduce facts not yet known, or to interpret facts in some way and derive the meaning of some signals.

The most common of form of this knowledge are software statements, like if(signal > threshold) then derive some action. Others are data structures like tables to look up a threshold and some code for the action.

But a more ambitious form to represent our knowledge is using predicate calculus. During the AI hype everything was predicates and logical calculus. Massive parallel prolog interpreters would soon be as intelligent as …

What happened to this approach? Now with the cube chip you’ld have the hardware to really calculate predicates in parallel. It is still true that predicate calculus is inherently parallel. So what do we waiting for?

Filed under: Artificial Intelligence — @ 9:32 am

«March 9, 2005»

Dump Artificial Intelligence

Back in the old days they distinguished between brute force searching and knowledge based solutions. For example in chess playing:

a dumb brute force algorithm just calculates all possible states upto a certain sequence of moves, and then selects the one most promising. This is more or less how Deep Fritz works! It adds a number of openings, and a database of end games, that’s all!!

Do you remember Garry Kasparow winning with an 8-move plan, every chess amateur was able to see. Deep Fritz failed because of his limit on move it was capable to see in advance.

So a knowledge based chess program would have concepts of plans, strategies and the like. They tried to get it, but somehow the machines got sooner fast enough for the brute force approach.

The same is true for searching. As claimed in search as practical Ai the google engine might be an artificial intelligent agent answering questions about the real world. But in fact it simply doesn’t understand the world at all. It counts word and calculates vector spaces. There seems to be nothing more to it. Otherwise a lot of SEO stuff would fail.

Again another instance of a dump system appearing to be “intelligent”.

Filed under: Artificial Intelligence — @ 9:47 am

«March 8, 2005»

Artificial Intelligence anywhere?

I came across an article in the C/C++ journal (october 2004) about state space searching. The guy implemented a splendid template based implementation of various search algorithms like breadth-first, depth-first, branch-and-bound etc. He mentioned a book “Artificial Intelligence: A Modern Approach” as reference. Of course I bought the book right away. I thought AI dead since 1990. That was when the projects ended, and the lisp machines faded away.

Me working as a freelancer here in germany with a resume telling about expert systems, artificial intelligence, lisp, I did not come across many demand in that area. There was one small project in 1995 about error diagnosis rules (around 10 rules), and one bigger lisp programming project at the zurich airport. They got a collection of lisp machines in zurich to use a replacement if any one of the production lisp machines broke. Don’t know if they replaced the lisp machine or lisp. That is why I think at least in germany AI is off topic.

Filed under: Artificial Intelligence — @ 8:30 am

Theme by Weblogs.us. Theme downloaded from Weblogs - themes repository