Posts mit dem Label Alpha-Version werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Alpha-Version werden angezeigt. Alle Posts anzeigen

Donnerstag, 28. Mai 2009

There we go!

The Conference is two month behind us now, and meanwhile some improvements have been done. We decided to stay put with an Alpha-Version, at this time now it is Version 0.01.07, and a publication will soon follow. Some time after this publication we will switch over to a Beta-Version, when we are sure visualFORTH works at several places.

Working with visualFORTH is amazing. It is a pleasure to build the forms, put in the function-code, run the form for test and get an EXE with a click on a Button within seconds. I do not like to exaggerate, but for me as a software developer it is really amazing. Other people may not see it this way, but the thing is, with visualFORTH the power of Forth is unleashed. Gives a totally new dimension to it.

There is a lot of high quality software written in Forth all over the Internet, and the plan is to adopt this software peace by peace to make it usable for a "normal" consumer. Forth is an easy to learn Programming Language, Kids are able to learn it within hours, and up to now it is a top secret at a lot of high end companies.

Forth has an immense power of productivity, and with visualFORTH it is possible to extend this productivity even further.

So far for today, picking up the thread again and reporting on visualFORTH's progress over time.

As soon as the Manual is ready, it will be posted on http://www.visualFORTH.com - look there for opportunities to test visualFORTH by yourself!

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.

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.

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!

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!

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!

Montag, 16. März 2009

Steps forward in Button-Arrays

A new week again. First tests of the visualFORTH Alpha-Version have been done by our Alpha-Tester, and first experiences have been made. As usual, things happen which never happened when I was working with it, but I could immediately make an update. It is so easy, if the files to update are in the same Folder structure than all files of the Application, then with a simple copy-paste action all Files find their right place. I appreciate that Microsoft has done a great work to accomplish this. It is real great for updating, patching, and synchronizing. If these Update-Patches are done in chronological order, everything will be okay. And so it was.

Today I worked on Button-Arrays. I solved the problem of crashes when the array was more than 4x6 - I had to recognize that I used local variable definitions on places they do not belong.

After removing the obsolete dangerous definitions, it worked without crash. Some corrections I had to make depending on the size of the array, and I decided to stop working on this and to restrict arrays to a maximum size of 4x16, I think this is enough for the Beta-Version, range extensions will follow later.

The next step will be to make it possible to do the same action with each Array-Button, and delivering the Array-Button Number to the executing program.

Up to now I extracted the number, works fine, and tomorrow the remaining part will follow. Then I have to look for packaging.

See ya!

Freitag, 13. März 2009

Alpha delivered

It was some stress, really, to get the Alpha-Version ready until Wednesday, but I did know, it will be ready. So it was, and my first tester unpacked it, installed it, and, voila! It works.
Now I am waiting for the first testresults, and meanwhile I work on the update-version.
So far, so good!

Mittwoch, 11. März 2009

I made it!

I made it!
There is a FORTH-Society Meeting in about two weeks, and the goal is to present this new tool at this meeting. For this meeting the Beta-Version should be ready, and today the Alpha-Version should have been ready.

I promised to have it ready today, so there is enough time for the people who present this new tool to get acquainted with it.

After a lot of tests I got it ready. I made it! "Normal" people cannot imagine what a gorgeous feeling it is to have completed a software project, even if it is only part of it. I am pretty sure you know this joy when a software does what it should do, even if it is only a little or marginal part of a bigger project. So say a praise with me! A praise with me will help you with your next project, because I know how hard it is to get software development ready just in time!

Over all the years I have learned to meet endlines better and better. I worked self-employed, and when a customer came to me asking me if I can develop a special software for him, and I was sure I could, I got the order and started. My imagination was bright and I got a lot of ideas what I could put into this software to amaze my customer about what he got without asking for it. But I did behold this as my secret, never told it to the customer.

When the time came to have the ordered software ready, I abandoned a part of my imagination, and the more pressing the end date was, the more I abandoned, until there was only the part left over the customer wanted. It was great to have all these great ideas, but it was greater that - with the help of this special imagination - delivery was just in time.

It not always worked precisely, but it worked better and better. Remember to have a walk when you got stuck with a problem! Enjoy the fresh air - if you are lucky to work for a company which allows you to take in some oxygen from outside. If you have to stick in your cubicle, then you have no chance to get a solution easier and faster. You have to work overtime, and may be on the weekend to get it done. But, don't worry, if your company is paying overtime, then it does not make sense to solve a problem fast. Working to fast is not socially accepted, you will draw the anger from your colleagues, if not from the managers, too. This is one of the reasons that I preferred to work self-employed.

When I had my first job as engineer, I was ready with my work at noon. Not to bother my Boss I decided to do a walk to other departments, preferable to the library, and before finishing the workday, I helped my colleague to solve his problem he was sitting at the whole day (his vision was to be a physician, but his father had a Telecommunication Business, so he was ordered to study Communication Technology. He was seldom happy in his life, drinks helped him to deal better with his feelings, and he died in a young age with a liver disease).

Oh, I forget the main thing:
I really made it, and the email with the Alpha-Version of visualFORTH is on the Net now.