Friday, May 1, 2020

Hey, Happy (NOT) anniversary to me!


Hey, Happy (NOT) anniversary to me!

Today could have been 17 years since I started to work at SoftVelocity.
I did celebrate it every year so why not this year?
This time I'll do it with a recount on the adventures of the past years to remind myself of what I did all those years (Hey! somebody have to do it, isn’t it)
Some people know me as the short Spanish accent speaking guy that stand next to the tall guy in a conference room, or the guy on the newsgroup, or someone  thought that I was the PR guy, but actually not many people know what I was doing all those years.
Yes, I did stand and talk on those conferences ,newsgroup and emails, and every time I did was in reference of some part of my work (stake holder someone said to me), I stand there and talk proudly about my work, the code I wrote the things I did, designed and created.
Yep, surprise, I did that, that thing that was added or changed in clarion that time in that part that you use every day, well…, guilty of charge.
When I started my work, I did start working on C55 and C6 was not even on the table yet and was in the work, I had worked with the Clarion templates and ABC Classes in the pass so that was very handy, and Clarion was not the first IDE that I’ll had worked with, a bunch of improvements were added to C6 in the templates and classes, and yep, I did that, even that little Calendar, some were a re-work of some 3rd party product that I wrote and owned, like the report outputs, breaks ,etc., but at the end all become part of the new clarion, improved and reworked.
I do remember that C5 was fun but was kind of unfinished, and I loved to finish it, the templates and classes were out of sync with each other but C55 and C6 started to fix that, and yep, I did that.
The EIP was nice but some changes make it better and then allowing the Clarion chain to support EIP that was fun and really welcome, synchronizing the EIP with the simple template support, what a pleasure.
I have to admit, some 3rd party were way ahead of the built-in templates and classes and I try my best to keep up, kudos to those developers that expanded Clarion (especially to Mike Hanson from whom I learn reading his template code and classes on the time of the Supper Templates).
Someone complain that the blue cloud (blue fart) in the C6 IDE disappeared, sorry I did that too, I did the graphics for Clarion since that time on, Icons, Splash (C6 and up), Logos, Presentations (ppts), used in the Help, etc., etc. those were used to ship or in the IDE itself (Except for that 3D pyramid that I didn’t like but, what can I say) graphic design was always my hobby and become part of the daily work.
I remember that when it was the time to move on from the old Clarion IDE I found a nice open source project called #SD, it was far ahead of the other pieces of code that I was working on for the new Clarion IDE. It didn't have some parts but was a really good find; a license was bought and that speeded up and change the development of what it is now the Modern Clarion IDE.
One part that was missing was the DCT Editor, something that I designed and passed on to be finish, and the Application Generator (aka AppGen) integration that I also designed and also passed on to be finish (/reworked). I do remember on that time all that Win32 integration with .Net was some kind of alchemist coding because the MS documentation didn't existed for the .NET framework at that level as it does now.
After the other part of the puzzle, the Window/Report Designer was done I did work on those too to clean up and keep moving forward on all the versions iterations.
I can say that after the pieces were put together on C7 I did most of the work keeping up with the features and fixes (changes to the DCT Editor were done by Scott)
At one point many years ago after one of those conferences I had an idea of repurpose a product that Clarion had in its bag to support the Phones, on that time was called Apache Cordova, then PhoneGap, the idea was simple, use Internet Connect to run clarion app in the iPhone.
The idea was good but too advance for the time, then the time that Blackberry disappear, Nokia was bought by MS, Symbian was no more and Mono Develop was starting, and then it took (me) some time to go around and get back to it and ending up with something that now is called Clarion H5.
H5 prove that TopSpeed was way ahead of its time when they released Internet Connect and then WebBuilder, and H5 is a great successor of that advanced technology, I did have to rework the AppBroker code to fix some bugs and support in a better way the Html5 interface of Bootstrap in H5.
All those new skeletons and changes to the classes and templates to support them, well... yes, I did that too, so if some people know me just for H5 then its ok, I did it.
One of the most complicated pieces of code that I wrote, not because the complication but because of the missing documentation for it was the PDF class, having full source code that created a PDF from clarion was great, no expensive license to pay to a 3rd party and distribute but Adobe didn't provide too much documentation on that time on the PDF format internals so it was a really big task to make it but except for the compression part I did it and I'm happy that I did, was a great challenge and I love challenges.
Yes, sorry that the "Font Embedding" was never finish, it was not easy, no documentation and kind of out of budget and time, but if you have the time and knowledge you can always contribute, it is just clarion code, no black boxes.
Most of the time I keep my self away from specific components (my knowledge of C++ on that time was no too good) but at one point I couldn't resist to wait any more, fixes that should have happened many years ago were neglected, so I needed to learn C++ and fast.
I'm still don't like C++, but I use it, I did some fixes here and there (hey, having to click two time in a template list control to edit it? Why?) but some other changes were just requirements requested and IF I was lucky enough I got them done, so I can expand the templates.
Some work in the RTL was nice to do it and was fun, some re-imagine of how some 3rd party product that currently work with clarion to remotely expose the clarion UI, should connect and communicate and go and write the code in the RTL to do it was fun (even if it did not ended up too good for me).
Even now there are some (not public) changes that I did to fix some problems that made clarion everyday life so painful that I cannot understand why there was never a riot on those problems (well I fix them for me now). It is handy to know C++.
Something that I’m really proud even if it never really took off was the new AppGen (aka .NET AppGen). On that time when Clarion# was being developed and Clarion (I fixed some compiler problems here and there) and it look like the Win32 Application Generator was not going to evolve to support the full .NET integration, I had the idea of creating a brand new, .Net based AppGen. Because the Win32 template language was too tide to the win32 AppGen and the parsing was not one thing that (at the time) I enjoy writing, I chose the MS XML base template engine T4.
The basic problem of T4 was that it was single file oriented and kind of command line and the Clarion Application was more than that, so I extended the T4 template engine to work with an application, procedures, embed, and prompts, Global templates, Extension templates, control templates, etc., using the full .NET languages and most of the Win32 template support was going to be the base to put a #TEMPLATE parser on top of it and finally abandon the old Win32 AppGen and its bottle neck development to evolve Clarion.
The new AppGen was great, but unfortunately didn't end up good, maybe one day will be re-purposed like InternetConnect and become a new butterfly for the Clarion Developers future, anyway, I'm still very proud of that work.
I can't name all the things that I did all those years, too many and every were, sometimes I describe myself as the clown in the circus, joggling with 20 things at the same time, writing Clarion code, C# code, Template code, change UI, writing new UI, designing new code, designing graphics for the IDE, the buttons, the logos, helping support, helping users, been in the newsgroup, the emails, the bugs fixes, imagining new functionality and creating it (do you like the SystemString?) evolving the Clarion IDE on every version, every feature, every detail, every picture alignment, every icon, participating on most of the product direction decision (even the bad ones), or creating new products ideas and naming them.
There are project that never went to no were, and some that were not finish. Maybe the future working of the ClaREST server and templates, or ReactJS applications, JavaScript Template apps, etc. you never know when will be resuscitated and my work re-used.
I love the Modern IDE, and I see it as the biggest change in clarion ever, I loved that I was part of it, and kind of my child, I know, I didn't wrote it completely, true, it was #SD and some other people added the basic, but after that I worked on that every day and love it and it is so far from it origins that saying that it is just #SD is an understatement.
I'm proud of myself on the work I did on the pass 16 1/2 years, my biggest regret is that I wish people had known more on that time what I was doing, it was a mistake on my side to play the "I'll pass it to the development team" card when really I was the team.
It play bad for me now, 16 years of my life banished, but at least I know what I did, and I'm proud of it,
so many people enjoy my work and I make their life better, their clients life better, helped so many people, solved so many problems, I did a LOT.
Next time you open your clarion remember, Diego was there, every time I see a calendar popup in a field I smile, it make me remember the beginnings, every time I see the application list Pad it remembers me about the IDE work, it was a joy to be there, a lot of sacrifice and time invested, many hours.
This is the last year I'll be keeping the count on my work on SoftVelocity 😥, but I'll never stop the count on working with Clarion.😀

Long blog post to read, I know, but was 17 years in the making. 😀

Hey, Happy (NOT) anniversary to me!

Hey, Happy (NOT) anniversary to me! T oday could have been 17 years since I started to work at SoftVelocity . I did celebrate it eve...