Today was the Conference I mentioned earlier. Today I got a new webcam and some more light to get a better picture. I was just at the High-Speed-Internet place when Skype started to ring and they asked for me. I got my webcam connected and we could see each other, much better than yesterday. The people on the other side of the world used a faster computer today. Everything was fine, the Workshop was scheduled to start a quarter of an hour later, and so we decided to hang up and call again.
The time in between I used to adjust my webcam, to have the right angle and direction, adjusted all the color parameters, and at the end I thought I make a joke and put my picture inside a TV frame as I found on specials.
Then we tried to get a connection again, it was not possible to convince Skype to get a picture from my webcam. The possibility to do a video setup was gone, instead of the setup there was a link to the skype shop to buy a camera. I was happy that the audio channel worked, so we had an audio conference, for which I would not have needed all the effort to get skype installed (needs more than an hour on dial-in) and got a webcam ordered. No help, no hints, nobody did know. All video stuff had disappeared. Tomorrow I will deinstall Skype.
In my opinion Skype has a great technology, it is fabulous what they did to make audio- and video-connection work over the Internet. The audio quality is much, much better then normal telephone landline connections are, sometimes it sounds like HIFI even, and the video is good, too, much better than I expected - as long as it did work. Does not work any more. Niente.
Nevertheless, the work shop was some kind of a success. I was asked how I did it, so I had to praise the team of programmers who wrote Win32FORTH and the special person who wrote ForthForm, they really did a great job. In a few weeks, I heard, they will release version 6.13 which will work fine with Windows-Vista.
Yes, praise to these guys, they wrote beautiful readable code, remember, Forth-Code is readable and understandable, even with a minimum of commenting, if it is done properly. This is part of the Forth Programming Language, contrary to other programming languages, where the same commands are written again and again and again, and you need a lot of comments, to find out what the program was intended to do. Of course you can see there are inputs, outputs, loops and subroutines, as you can see in Forth, too, but what these constructs are really doing, to know this you need a lot of comments.
Using Forth, you can write it in a way that it comments itself. Per example, if you need a program, which opens a door, in Forth you can write: Open door, and it will work, if Door and open are defined properly. Where else can you find such an easy and convincing style?
Yes, here my answer to the question how I did it. I wrote a lot about it in this blog, but the main thing (I was newbee to the Forth Source) was using the IDE, which is part of the Win32Forth environment, searching for the text on a button or a menu, and then searching down to the modules which did the special work I looked for (This kind of search is much harder to do in any other programming language).
Then I inserted my additional code for the features I liked to have, and in most cases it worked immediately, because I really carefully looked how things worked, you can say I cloned existing modules and gave some other functionality to them.
This can be done in Forth very well. I know very well with other programming languages you need a real highly skilled programmer to achieve this. I am not a really high skilled programmer. I know what a loop is and what if else then means, and meanwhile I am patient, and I am very careful. Which other programming language allows you to insert code without side-effects? As long as I upgraded the Forth only part, everything did run on first try, only if there have been direct connections to Windows involved, I had to do some debugging, because I am not a Windows programmer (remember, this is not an application program, it is programming a tool, like part of the operating system), and as long as it was inside Forth only, I did fine with the build in Forth debugger which has a lot of features.
I could not debug Windows routines, of course, because the Windows code is top secret and undisclosed to me.
Last year December we did communicate to present the visualFORTH Alpha-Version at this conference today, it gave me the drive to do my best to have a good result, and I delivered just in time - you can read this in my recent blog pages. I did not work through nights as I did in former times (more than ten years ago), I had my decent daily routine, and still, I made it to meet our schedule.
Now I will take a rest.
There are things to do: write the Installation Manual, write the Instruction Manual, and some kind of a Tutorial. There are more than 250 links for "Forth Tutorial" on Yahoo and 350 on Google. I will look for some really good ones and will have recommendations. And the next step: The visualFORTH Beta-Version.
Take care and have a good weekend!
Freitag, 27. März 2009
Donnerstag, 26. März 2009
Skype
Today we prepared the Conference, which is planned to have a workshop about visualFORTH, the organizers on the other side of the Atlantic, and me myself here.
The idea was to have a Conference-Call-Video-Connection tomorrow, using Skype.
This would it make possible for me to attend the Conference, and it would be possible for the attending listeners to ask questions directly.
There have been a lot of obstacles, the hardest one was to find a place in this rural area here with High Speed Internet-Connection. I was lucky to find a friend in the Computer Business who granted me to use his equipment. I ordered some Web-Cams, today the parcel arrived, and the first test could be made. After some normal problems to find out how works what we got a connection, first by audio, then by video.
It was amazing. I do not know if it was because I did see friends again after fifteen years and whom I now am sure I missed, even if it did not come to my consciousness, or because it was because of suddenly adapting a new technology I did not believe it really works.
I guess it was the first - or the second, partly, too? May be it was both. I am an Engineer used to look at things from a scientific emotionless point of view, but remember the time when the first affordable wireless phones came up, I was responsible for a project and had to be accessible all the time. I did not buy one of theses sneaky little cell phones * with everything inside to put it on the ear, but I bought a box with a real handset and a shoulder-strap, because I did not like to put the microwave onto my head to microwave my brain.
This was the first time I had this kind of emotional experience. Somehow I was proud to carry around this box so that everybody could see it (later I hided it in a briefcase, because meanwhile I was ashamed of myself), see how important I am (nowadays the bluetooth ear clips have this function).
It was great, it was fun, it was emotion to test this teleconferencing thing. I exceptional enjoyed it! I nearly could not let it go. But I had to. Midnight was approaching at the other end of the world, people got tired, and suddenly I remembered I had another appointment tonight I promised to be back for early enough.
A little, but important work I did before this test, waiting for the UPS-delivery. I made screenshots for a documentation which shall help to use the Installation-Batch I did yesterday.
Tomorrow I will put it together into a PDF, and next week, I hope, I have time to write the text documentation. I am really anxiously looking forward to our Workshop-Video-Conference on Friday.
*) By the way, seven years later in Luxembourg I worked for the son of the inventor of the cell phone!
The idea was to have a Conference-Call-Video-Connection tomorrow, using Skype.
This would it make possible for me to attend the Conference, and it would be possible for the attending listeners to ask questions directly.
There have been a lot of obstacles, the hardest one was to find a place in this rural area here with High Speed Internet-Connection. I was lucky to find a friend in the Computer Business who granted me to use his equipment. I ordered some Web-Cams, today the parcel arrived, and the first test could be made. After some normal problems to find out how works what we got a connection, first by audio, then by video.
It was amazing. I do not know if it was because I did see friends again after fifteen years and whom I now am sure I missed, even if it did not come to my consciousness, or because it was because of suddenly adapting a new technology I did not believe it really works.
I guess it was the first - or the second, partly, too? May be it was both. I am an Engineer used to look at things from a scientific emotionless point of view, but remember the time when the first affordable wireless phones came up, I was responsible for a project and had to be accessible all the time. I did not buy one of theses sneaky little cell phones * with everything inside to put it on the ear, but I bought a box with a real handset and a shoulder-strap, because I did not like to put the microwave onto my head to microwave my brain.
This was the first time I had this kind of emotional experience. Somehow I was proud to carry around this box so that everybody could see it (later I hided it in a briefcase, because meanwhile I was ashamed of myself), see how important I am (nowadays the bluetooth ear clips have this function).
It was great, it was fun, it was emotion to test this teleconferencing thing. I exceptional enjoyed it! I nearly could not let it go. But I had to. Midnight was approaching at the other end of the world, people got tired, and suddenly I remembered I had another appointment tonight I promised to be back for early enough.
A little, but important work I did before this test, waiting for the UPS-delivery. I made screenshots for a documentation which shall help to use the Installation-Batch I did yesterday.
Tomorrow I will put it together into a PDF, and next week, I hope, I have time to write the text documentation. I am really anxiously looking forward to our Workshop-Video-Conference on Friday.
*) By the way, seven years later in Luxembourg I worked for the son of the inventor of the cell phone!
Mittwoch, 25. März 2009
Packaging
I am very happy about having finished the visualFORTH-Alpha-Version.
It took a lot of pressure from me, because I met the "shipping date", even some days earlier.
And I got an application done to demonstrate some special features of my visualFORTH.
Today's goal was the packaging. For ease of distribution everything has to be packed together - I hate installation procedures which tell you to put different things on different places.
I do not have the sources to manufacture an self-unpacking EXE, but I like to make it as easy as possible.
Since a lot of users already have their Win32Forth loaded from Sourceforge.net only a feature-patch is needed, and the simplest way to do this is to build a patch.bat and put it together with all feature folders into a zip-file named "program files".
This is the trick:
Downloading this zip-file into the root-directory C will with unzipping copy the batch-file and the feature-folders into the folder "Program Files", then select "Program Files, click on the batch file, and the "patchwork" is done by itself. I was really proud finding this out today. Microsoft did a great job making this possible.
It took a lot of pressure from me, because I met the "shipping date", even some days earlier.
And I got an application done to demonstrate some special features of my visualFORTH.
Today's goal was the packaging. For ease of distribution everything has to be packed together - I hate installation procedures which tell you to put different things on different places.
I do not have the sources to manufacture an self-unpacking EXE, but I like to make it as easy as possible.
Since a lot of users already have their Win32Forth loaded from Sourceforge.net only a feature-patch is needed, and the simplest way to do this is to build a patch.bat and put it together with all feature folders into a zip-file named "program files".
This is the trick:
Downloading this zip-file into the root-directory C will with unzipping copy the batch-file and the feature-folders into the folder "Program Files", then select "Program Files, click on the batch file, and the "patchwork" is done by itself. I was really proud finding this out today. Microsoft did a great job making this possible.
Dienstag, 24. März 2009
Alpha-Version finished
Nearly a week it's now since my last writing here. As you can imagine, the last days of finishing a product steal away all free time which is normally available every day.
I worked hard, but I made it. I worked on the connection to the underlying Forth Operating System, and I started with a helpful program I found somewhere as a useful example, and I really had to spend more than a day on that - five days it took to bring all the right things together, including making a sample application (which needed nearly a day, because it was connected with improvements of the redirect-files).
This little example program source "FileEmit.f" by Bertrand André Jacques was really helpful.
This program was to redirect the output to a file, and I first added the redirection to a Multiline TextBox, so I could compare what is visible on the MTxtBox and what is written into the file.
This way I could find out how the output to the screen worked. It took me more than two days, to do the adaptation in the right way, it was really tricky. The computer-screen and the Textbox have - as far as I found out - different rules.
I did not know about Row/Column-Addressing of the Textbox (I should have googled it, but I did not think that way), and the screen-output uses XY-addressing for every line and for each character when typed. With a lot of tricks I got it working. When finished, I removed the redirection to a file, I did not use it any more.
That was the easy part.
The next part was to redirect the input, i.e. to use PushButtons of a form instead of the normal keys of the computer keypad to connect to the operating system.
Both parts together that means, to use a Multiline TextBox and PushButtons of a form as Console to the Forth Operating System in an easy way, so that everybody can use it.
It needed as long as the first part, it works, but switching between keyboard and pushbutton array (remember the arrays I wrote about?) has a little hurdle, because - so I guess - the operating system is waiting for an input, still after the input is switched to the PushButton-Array. The result is: a last time before the switchover is in effect a key of the keyboard has to be pressed, and then it works properly.
I found if I start a program on the normal console which emits characters regularly, the switchover works fine. But I did not find out how to get it working with starting this program by another program. It should work somehow, I am sure of that, but I am not familiar enough with the internals of the operating system.
Thing is, most of these modules which have been written in machine language at times of DOS are now calls to the Windows-System, and there I have no chance to change that.
But behold, writing this, I remember I looked for input redirecting within Windows a while ago.
This is the second time now, that writing my Blog - telling the story to you - helps me to get some insight by myself. And now I remember I tried to find out input redirection, because I liked to insert a Barcode-Reader Converter Software Module into the keyboard input stream, and I did not find out how, not even with looking up on the Internet and not with looking at all my XP-Books. Finally I was happy to find a module on the Internet which just did the Barcode-Thing.
To type single characters using the Form-Pushbuttons works perfect, but one remaining part is to write complete words by pushing a single button. Here I am the first time to have to ask the experts. A few days from now is the first hands-on workshop for the Alpha-Version of visualFORTH, and next week I will ask experts and find out if they have a solution to fix this remaining problem.
I worked hard, but I made it. I worked on the connection to the underlying Forth Operating System, and I started with a helpful program I found somewhere as a useful example, and I really had to spend more than a day on that - five days it took to bring all the right things together, including making a sample application (which needed nearly a day, because it was connected with improvements of the redirect-files).
This little example program source "FileEmit.f" by Bertrand André Jacques was really helpful.
This program was to redirect the output to a file, and I first added the redirection to a Multiline TextBox, so I could compare what is visible on the MTxtBox and what is written into the file.
This way I could find out how the output to the screen worked. It took me more than two days, to do the adaptation in the right way, it was really tricky. The computer-screen and the Textbox have - as far as I found out - different rules.
I did not know about Row/Column-Addressing of the Textbox (I should have googled it, but I did not think that way), and the screen-output uses XY-addressing for every line and for each character when typed. With a lot of tricks I got it working. When finished, I removed the redirection to a file, I did not use it any more.
That was the easy part.
The next part was to redirect the input, i.e. to use PushButtons of a form instead of the normal keys of the computer keypad to connect to the operating system.
Both parts together that means, to use a Multiline TextBox and PushButtons of a form as Console to the Forth Operating System in an easy way, so that everybody can use it.
It needed as long as the first part, it works, but switching between keyboard and pushbutton array (remember the arrays I wrote about?) has a little hurdle, because - so I guess - the operating system is waiting for an input, still after the input is switched to the PushButton-Array. The result is: a last time before the switchover is in effect a key of the keyboard has to be pressed, and then it works properly.
I found if I start a program on the normal console which emits characters regularly, the switchover works fine. But I did not find out how to get it working with starting this program by another program. It should work somehow, I am sure of that, but I am not familiar enough with the internals of the operating system.
Thing is, most of these modules which have been written in machine language at times of DOS are now calls to the Windows-System, and there I have no chance to change that.
But behold, writing this, I remember I looked for input redirecting within Windows a while ago.
This is the second time now, that writing my Blog - telling the story to you - helps me to get some insight by myself. And now I remember I tried to find out input redirection, because I liked to insert a Barcode-Reader Converter Software Module into the keyboard input stream, and I did not find out how, not even with looking up on the Internet and not with looking at all my XP-Books. Finally I was happy to find a module on the Internet which just did the Barcode-Thing.
To type single characters using the Form-Pushbuttons works perfect, but one remaining part is to write complete words by pushing a single button. Here I am the first time to have to ask the experts. A few days from now is the first hands-on workshop for the Alpha-Version of visualFORTH, and next week I will ask experts and find out if they have a solution to fix this remaining problem.
Donnerstag, 19. März 2009
Some minor improvements
Today I had some kind of a lazy day, on the other hand I have to think about preparing myself for the conference end of March.
One-Click-Turnkey was a great achievement, the Button-Array was very complex and a lot to test, it's done. Today I removed some annoying behavior, changed some menu points for better accessibility, and introduced ctrl+F to start Forth-Console, ctrl+I to start the IDE, ctrl+E to edit an object, and I am sure this will help to do some things easier - for somebody who likes shortcuts, as I do, too.
Ah, yes, and I started with the connection to the underlying Forth Operating System. Somewhere I found a little program as example, but again, the devil is in the detail.
I guess I have to spend more than a day on that. Was a little bit frustrating today,
I have to improve my working strategy.
So long!
One-Click-Turnkey was a great achievement, the Button-Array was very complex and a lot to test, it's done. Today I removed some annoying behavior, changed some menu points for better accessibility, and introduced ctrl+F to start Forth-Console, ctrl+I to start the IDE, ctrl+E to edit an object, and I am sure this will help to do some things easier - for somebody who likes shortcuts, as I do, too.
Ah, yes, and I started with the connection to the underlying Forth Operating System. Somewhere I found a little program as example, but again, the devil is in the detail.
I guess I have to spend more than a day on that. Was a little bit frustrating today,
I have to improve my working strategy.
So long!
Mittwoch, 18. März 2009
Arrays done
This was the most complex task I worked on to get a feature I liked to have and I was sure it will be needed. Now an Array of up to 4x16 Buttons (or other objects) can be easily put into a form, only a few clicks needed, every one of these starts the same program module when clicked on it.
The click-started program module gets the information which button it was by reading the value Control#, it gets back the number of the object for identification.
I thought it took me longer than a week, but looking back on my own blog, it seems to be I just started on Monday. Looks really fast that way. It's a good thing to have a blog and therefore the written knowledge what work has been done. Marvelous!
Now I need a break. The next step will be an easy to use I/O-Interface to the Win32Forth Operating System.
So long!
The click-started program module gets the information which button it was by reading the value Control#, it gets back the number of the object for identification.
I thought it took me longer than a week, but looking back on my own blog, it seems to be I just started on Monday. Looks really fast that way. It's a good thing to have a blog and therefore the written knowledge what work has been done. Marvelous!
Now I need a break. The next step will be an easy to use I/O-Interface to the Win32Forth Operating System.
So long!
Dienstag, 17. März 2009
Arrays need an Index
Arrays need an Index to make them useful. I decided that if a button is clicked on, the number of this button will be put into a value which can be read by the program which is started by the Buttonclick. Sounds complicated, but I guess, this is the easiest way to do it and the easiest way to understand. Today I added this function , and the next step will be to clone the function of the first button to all other buttons of this array.
As a result this function has to be written only once, and depending on the number value of the activated button it can be executed differently or with different values. If you use a Button-Array as a numerical keypad, the number value of the button can be used just as the numerical value the button is intended to deliver. Easy, isn't it?
Today I had some other work to do, so the rest of it has to be postponed until tomorrow.
It seems to be we have springtime now: We do not have snow since two weeks and it was pleasant warm today, snowdrops are there since a week, and tulips are showing their first green tips. Squirrels are still feeding themselves on the birdseed.
Take care!
As a result this function has to be written only once, and depending on the number value of the activated button it can be executed differently or with different values. If you use a Button-Array as a numerical keypad, the number value of the button can be used just as the numerical value the button is intended to deliver. Easy, isn't it?
Today I had some other work to do, so the rest of it has to be postponed until tomorrow.
It seems to be we have springtime now: We do not have snow since two weeks and it was pleasant warm today, snowdrops are there since a week, and tulips are showing their first green tips. Squirrels are still feeding themselves on the birdseed.
Take care!
Abonnieren
Kommentare (Atom)
