Older blog entries for superant (starting at number 79)

9 May 2005 (updated 9 May 2005 at 19:07 UTC) »

Am working on AI with work on RwdEliza. This little coded frontend using rwdtinker will give simple responses to simple dialog like the old Eliza program


The program now uses the Link Parser that was rubyfied:


The long term plan is to parse input sentences and generate responses that are learned over time.

There are more than 3700 downloads of rwdtinker applications in the last 6 months. I need to improve the documentation and write articles to explain the framework.

My wife's mother died on Thursday. Why do I post when bad things happen? It was so sudden, we are not adjusted.

Have been modifying rwdaddresses. This little contact book uses Ruby, RubyWebDialogs and the Tinker framework. The newest version has added rconftool use to update configuration files and changed applets removal and installation to not use external programs. So it should "just work"TM on Windows.

Have made unofficial Debian packages. http://rubyforge.org/projects/rwdapplications/

I am finding that typos are the big problem with programming. I do alot of cutting and pasting, and that leads to programs that don't run correctly. Typing or cutting and pasting lead to errors in spelling or referring to wrong variables. The plus side is rapid development. I am almost always able to use a pre-written code module, but making the correct changes in the correct places is difficult.

I guess we need a tool that checks that our variables and function calls are consistent for the block of code we are using.

Pretty exciting time with my Zaurus 5500. Just got Tinker working with RubyWebDialogs on it.

That was a long project today. Installed and uninstalled about five different versions of Ruby for ARM. Mostly versions of 1.8.1, but also a 1.8.2 preview. They all had library dependency problems. Libraries are a good computer feature, but they can take you to dependency hell. I installed from ipkg and zips and tars. Finally got a 1.8.1 version working.

rwdaddresses are working in my PDA. Yeah. Now to get my schedule, movie database and other applets installed.

Have added features to rwdtinker so that multiple applets can be installed at the same time without stealing screen real estate.

I am now using WaTiR with Rwdtinker using RubyWebDialogs. WatiR is Web Testing with Ruby. It drives IE through COM and DOM to push buttons, click links and verify that text is on result pages.

I have started testing rwdtinker http://rubyforge.org/projects/rwdapplications/

rwdtinker applications are small Ruby applications built to use RubyWebDialogs

I started under windows XP sp2 with watir.tar.gz dated Dec 22, 2004. I was impressed that every button dialog box and clickable link in the application was testable with WaTiR.

I do not use XP at home developing with Ruby. I decided to try to get WaTir working under Wine on Linux. I use Debian unstable with compiled kernel 2.6.9. I had an old version of crossover office installed. (version 2.1). Nothing worked. I kept installing IE over and over again. I tried Debian unstable version of Wine. I tried 20041212 version of Wine. The errors mostly were com errors related to starting IE. Could not find the registry key {0002DF01-0000-0000-C000-000000000046}. I opened regedit under wine to try to trouble shoot.

Finally to make the story of a long day, short, I installed the free demo version of a new crossover office. install-crossover-standard-demo-4.1.sh Using ruby 1.8.2 (2004-11-06) [i386-mswin32] Watir is working like a charm under Linux!

I am building test suites for all my rwdtinker applications.

Neat new option for RubyWebDialogs. I forwarded to the developer today. If you put <meta http-equiv='Refresh' content=5> into you html header, the browser will try to update content from the server every 5 seconds. This should give us much more automatic screen updates for rwd applications. My next app for rwdtinker will be an on screen clock with alarms. http://rubyforge.org/projects/rwdapplications/

Have a big project to do at work. PHP & Mysql. Just beat me with a stick, please.

8 Dec 2004 (updated 8 Dec 2004 at 15:39 UTC) »

Refactored rwdcalendar. Makes it more international. Someone can put there locale in the configuration file in $lang and the calendar should give them a locale specific month printout.


Another thing about the rwdtinker framework is that it should be trivial to build a code generator for non-programmers to use. This comes from using RubyWebDialogs and the Tinker framework. I am mirroring downloads at http://developer.berlios.de/

The Dr Dobbs Linux digest is out for November. http://www.ddj.com/maillists/linuxdigest/

Time to start working on December DDJ Linux Digest.

Many updates to the rwdtinker project.


Worked on updating the shell programs to work with the framework. Had a lot of problems getting the shell scripts running on my Linux machine correctly. Finally used the backtick method of passing shell commands from Ruby to the operating system. That seemed to work the best to capture the output of the command so I can print it to the browser window with RubyWebDialogs.

Tested shell commands and rwddemo on XP today. It is gratefying that the just work. After I did all the development on Linux. Now if only I had a Mac to test it on.

More development of rwdtinker. http://rubyforge.org/projects/rwdapplications/

I have accidentely stumbled on some very interesting ways to develop software for RubyWebDialogs.

I split the source code and the gui code into atomic parts and use init.rb to merge the parts together.

With the newest framework I am using the last couple of days, I am able to ship a "plugin" or as I calling them "applet" that can be dropped into a directory and installed automatically. Also uninstalled. I am calling this framework Tinker, so the core program I call rwdtinker. My wife, Charlotte. suggested the name. It relates to the the "Tinker Toys" that has blocks and dowls and shapes that can be assembled by children and take different shapes. Without the word toy, it reminds us if the older English meaning of "a person who repairs pots and household devices by soldering and hammering.

The delivered applet is setup in the required directory structure with code configueration gui including help files location of documentation rwd_files = where documention for the applet can go. installed = a inf file that lists the manifest of files

This package is zipped up and uploaded as a file like rwdashedule-0.2.zip

The enduser who has the rwdtinker program drops the zip file into a directory called zips. I have parts of rwdtinker now (for Linux) that can install it automatically and remove it (based on the .inf file)

I believe most of the framework works on XP and Mac now. The zip file would have to be manually unzipped by XP or Mac users today, but there is supposed to be a crossplatform ruby way to remove the files (just using FileUtils.rm) that should replace the Linux method I am using now (rm unix command called from rwdtinker) Also there is a module called zipfile that someone has developed for Ruby. I have not figured how to use it yet, (this whould work to install on all platforms)

It is exciting that this framework works toward 2 computer science "Holy Grails" reusable code, by just drop in and play, and with RWD, cross platform GUI I also like that people wanting to make a simple little application would not have to think much about the GUI. RWD is not much more complicated than formatting text output. Also since RWD is so light weight, people who are not allowed to install "software" on their computer, can probably still use RWD, by dropping it into a directory on the computer they have write access to.

I understand RWD is weak on intense graphics and high interaction. Some day that might be addressed with more use of javascript.

This note was sent to the author of RubyWebDialogs http://www.erikveen.dds.nl/rubywebdialogs/index.html

working on shell script rwdshell.


Just added some limited script running ability. I need to add the ability to add new scripts. The developer has released a new version of RubyWebDialogs. I see there are panels in the new version.

I was again impressed the rapidity of modifications. Using this GUI, with the Code Modularity method I use, I was able to extent the program with two tabs to use just by code and gui files directly into the directorys in rwdshell. They just worked. I did end up changing variable names to reduce namespace pollution. I should be able to fix that in the future by basing variable names on the method names.

13 Nov 2004 (updated 26 Nov 2004 at 07:48 UTC) »

Started work on some little applications that use the RubyWebDialogs GUI


A little movie lookup screen, a shell command runner and a tiny little address database.

70 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!