Laszlo Kadar

Software developer.

Android,.NET, PHP, webdesign.

Header

Ö a coder

Laci állndóan mindenbe bele kezd, aztán néha még jól is sül el.
35 éve programoz, különféle rebdszerekben. Kis izelitö a renszerekröl, amiben programoz(ott):

  • Assembly
  • Clipper
  • C++, C# DOS és windows környezet
  • MS SQL, MySQL
  • Android (java)
  • most éppen a PHP-t és a webprogramozást tanulja

How it begun

I rememeber the day when I was about 14 years old, and it was time to choose what I want to do in my life, what kind of school i want to go to study as a profession.
My stepfather was eletcro technician and he made many intersting electronic at home.  Flashing LEDs, instruments, amplifiers. A lot of thinks a teenager boy can be impressed. When my parents asked me the question what I want to do as adult, I answered - "I do not exactly know what is the name of his profession, but I want to work with thinks like this".
This was the first steps into the word of computers for me, I became an electro-tecnician. Already in the first year in the school it turned out I'm mostly interested of digital tecnology and computers. After reading all available literature at the time, the first meeting with a real, working computer has arrived in form of a National Semiconductor SC/MP intro kit. This computer had 512 bytes (yes, bytes) ROM containing a monitor program and 256 bytes of RAM for the user writen software. It had a (old style) calculator like keyboard with 7 segment LED displays to enter the program with hexa codes manually translated from assembly instructions.
Some years later the Sinclair ZX-81 computer has been released, and in the scool I had the posibilty to work with one. Later I built one of them at  home. (In fact that was a ZX-80 the precessor of ZX-81 because the later had a custom IC, which was not easilly available)

Later under the 80's the IBM PCs become popular and available. Of course I started to learn and work with them. That was a big step to have a real operating system, hard disk storage and an amazing ammount of RAM at 640 Kbytes.  Not to mention the Assembler to compile assembly programs. The real software development has begun. On this page I try to collect some of my projects, waht they was about, how I made them.

My notable projects

  • Dyeing controll system - a complett central processing software for flow control
  • Loom simulator - visualizing loom production files
  • SQLBook - MSSQL database documentation generator
  • Room resevation system (Hungarian language)
  • Backlog - project backlog app for Android using Firebase backend
  • Hummingbird - Easy to use CMS system using PHP, Bootstrap 4 and MySql

Dyeing control system

Background of this project
At the end of 80's I worked at the Hungarian Silk Company in Budapest. This factory made dyeing of textile products. They had industrial coloring maschines, controlled by a German flow control system. This system included a central computer which was responsible for the calculation of receipe for different products, qantities and colors. Conected to this system we had a "Color kitchen" for preparing the different chemicals and colors for the process and every dyeing maschine via a multiplexer. (It was spossible to load different thechnological programs to the maschine flow-controll computers, describing the neccessary technological steps to be executed for a given product)  This central computer was a Digital Equipments PDP 11/23, at the time alredy quite old. The advantage of this computer was the ability to perform multitasking in a multiuser enviroment (the connected "color kitchen and the maschines as users). Unfortunatelly this computer reached its end of the life and it was more and more difficult to keep it working.
Based on my suggestion the company made the decision to change this system to a more modern IBM PC compatible maschine. The only problem was, that time we had the DOS operating system which was not multitasking neighter multiuser capable. I proposed a solution for this, so finally I got the chance to develop the multi user - multi tasking environment.

How it worked
I studied the MS-DOS system and the PC architecture deeply, and understood it is possible to write a software which is capable to connect users via serial ports, and assign a job (today I should call them threads or processes, maybe) to this terminals, and by monitoring the (partly undocumented) state of MS-DOS internals make possible that all of this processes can acces the full operating system functions, which in turn means all terminal was able to run its own MS-DOS program with full file sharing capabilities, without to disturbing each other and the PC still usable as usual for an additional user. I did not realized that time, this piece of software was something today we should call for a hypervisor. This part of the system was written in Assembly language. Of course I developed the software for the terminals as well, also in Assembly language. Because of the receipes was stored in a DBASE database (using Nantucket Clipper) it was necessary for the terminals to access this databases. I used some C libraries linked to the assembler code to make the data handling easier.
Originally it was not assigned to me to develop the software running for the PCs user, which was responsible for  storing and calculating the receipes for the production. But somehow i got even this part as well. This piece of the system was writen in Clipper and it was clean database manipulation.
I beleive this project had a big effect on me as I was alone responsible to analize the project requirements, plan the whole system and finally develop the software and teach the staff to use it.

Loom simulator

This project had an interesting start. When one of our customers got a new Jacquard design system from the USA the person who came to install the new software had some difficulties to set up the software to be compatible with the electronic controlled looms. The design was transfered to the loom on floppy disks. The problem was that some part of the wowen product didn't get controlled, the threads just floated without to form the wowen material. Other problem was the big time difference between USA and Hungary. I took some of the files home with me, and started to analize the files to understand how they structured and try to understand the content. After some hours I was able to understand the structure and developed a little software in C to visualize the content of the file. It was very exciting to see the product shown graphically on the black-and white screen. (At the time the black and white screens was the most usual while the color graphics screen was rare.) Knowing the file structure and seeing the result on the screen it was easy to identify the problem, the design station simply built the file content (the design) shifted by some bytes , because of the wrong configuration. With this information in hand the technician was able to give an exact descripton of the problem to his collagues in the USA and so they was able to give us the correct information directly, so avoid the trial - and error process which was a bit difficult due to time difference.
It showed there is a demand to show the files visually on other PC, not on the design station. So I further developed this software with ability to use and configure colors, make a rendered simulation of the textile, and make a color printout.  This software was used both at the design studio and later even the loom owner comany bougt a copy of it. I offered to the US company as well as the sold this design system around the word. Unfortunatelly as they had an agreement with the loom manufacturer it was not possible to make a product of this at their side.
 

SQLBOOK

This software was developed under Windows using Visual Studio and writen in C# with .Net framework. The reason was to document SQL databases and make a good looking, structured documentation in MS-Word format. For this porject I used SMO and Office libraries.
The application reads the database and iterates trough the tables and fields, and documents each tables with the field names, field types, used indexes, primary keys, constrains and list of tables which have foreign key reference  to the acual table.
A sample document can be downloaded here.
 
To be continued.....