Jon Aasenden is creating software development tools
21

patrons

$323
per month
I have worked as a professional software developer for close to 30 years. My primary language of choice has been object pascal (Delphi and Freepascal), but I have also enjoyed working in Mono C#.

Presently I am using Embarcadero Delphi and C++ builder on a daily basis. I also work for Embarcadero as a software consultant [SC EMA].

A background in language work

Before joining Embarcadero I spent eight years heavily involved in programming language development (as in making languages and compilers). Work that culminated with the release of Smart Mobile Studio, a complete toolchain (compiler, IDE and run time library) that takes object pascal source code, the same language used by Delphi, and compiles it into cutting edge JavaScript.

In short: You write Delphi, the compiler spits out JavaScript ready to run under node.js, the browser, phonegap or embedded devices that supports it.

To create something like this from scratch has been a massive undertaking. Several people have been involved and it has been a formidable challenge. My primary task has been to design and implement the RTL from scratch. This has been the most difficult task I have ever done, yet also the most rewarding in terms of technical bravado and creativity.

It is a field of work that spans every aspect of a language, from the most fundamental level to the highest and more complex constructs. JavaScript is many things, but it lacks just about everything you expect from a modern, OOP based development environment. So we had to forge every piece of it from scratch. Be it memory management, streams, socket classes, compression, encryption, filesysten drivers, database engines, parsers -- when I wrote thousands of classes I was being literal.

In short, the past eight years have been spent making JavaScript suitable for professional software development. Please visit the product website if you want to learn more about Smart Mobile Studio: http://www.smartmobilestudio.com

What is the purpose of seeking patronage?

For eight years the Smart Mobile Studio team have worked to create the eco system needed to make large-scale application development for JSVM (Javascript virtual machine, the browser, Phonegap, NodeJS and more). We have forged the compiler, the support code and an RTL spanning thousands of classes from scratch.

If is now possible to write JS based applications that rival native applications both in scope and complexity. This has without a doubt been one of the hardest tasks I have ever been involved in.
With Smart Mobile Studio in place and the foundation stone set – we can finally get to work on the real product. Namely a cloud forge unlike any other.

The goal, to cut it short, is quite simply: to utterly re-write the traditional development toolchain and create a desktop environment and development studio that is unbound by chipset, cpu and platform. In other words, to re-implement and build a “visual studio” environment that lives completely in the cloud, that can be accessed by any modern browser, on any operating system, anywhere in the world.

I’m not talking about Notepad or Ace here, I am talking about a complete IDE with form designer, database designer, cloud endpoints, multi language support and above all – the ability to compile and deploy both virtual and native applications through established build services. All of the tooling done in JavaScript, all of it running on Node.js, Electron or HTML5.

You wont be drag & dropping components, you will be dropping entire ecosystems.

You don't need to install anything, nor do you need anything special to compile the same code for Android, iOS, Windows, Linux, OS X, Amazon Fire, Samsung Tizen or Apple TV. As of writing you will be able to target 8 operating systems and 50 embedded devices.
All of it from your browser.

Roughly 9 years ago I wrote the following on my website:

"The days of native-only software development is coming to an end;
the age of cloud computing has just begun"

At the time this became a source of ridicule. I had just presented my ideas for building a compiler that would take Delphi code (object pascal) and compile it to Javascript. The ridicule went on for a few weeks until a prototype was released. Not only was I right, the generated code outperformed similar code compiled by native compilers. The ridicule was replaced by silence.

My problem was that I was too early. The Delphi community was not ready for the radical shift that Smart Mobile Studio represented. Today companies like TMS have started to "wake up" to the potential I demonstrated, some nine years later. But to be fair, they were given investor documents for Smart Mobile Studio a year earlier, and somehow managed to invent the exact same technology.

But we have more interesting things to focus on, like where the world will be in another six to eight years. And the developer of the future doesn't simply write applications, he delivers entire eco-systems. Where developers today drag & drop components on business forms - future developer's will drag and drop infrastructures and connect them through established endpoints.

With your support I can continue working on the Amibian.js desktop and the LDEF bytecode technology - and finally implement a truly rich, visual IDE. No huge installs, just open up a browser and start creating. Amibian.js will change the way companies and individuals build software.
Tiers
High five
$5 or more per month 5 patrons
If you like my work and appreciate the hours I put into managing forums, sharing code, writing articles and being of service, then a high five is a nice gesture.
Tweening for the VCL
$10 or more per month 6 patrons
This tier gives you the VCL tweening library to smoothly size and move controls. This is a port of the animation framework in Smart Mobile Studio that I am doing as I type; I want to expand it with clear animation classes coupled with a class helper so all TWinControl based controls in the VCL inherits common tweening behavior. Methods like ScaleTo, MoveTo, WidthTo, HeightTo, Rotate and many more that makes turning a dull interface into a crisp and lively experience.
License management for VCL and FMX
$25 or more per month 0 patrons
Supporters get full source-code access to HexLicense and the support goes into evolving this brilliant package further. Hexlicense is well documented, in use by more than 100 companies, supports both the VCL and Firemonkey RTL models. It can also be used for iOS and Android FMX applications.
It comes with documentation, serial number minting application, easy to use components, plenty of events and examples.

Support goes into porting the new minting engine, Ironwood, from Smart Pascal to Delphi - and implementing the client / server components that use rest (previous components used WebSocket).
Rage libraries
$35 or more per month 1 patron
At this level you have access to ByteRage, the database engine framework and buffer library. I am presently writing a tutorial on this framework, but as a supporter you will help fund more advanced features such as SQL expression parsing.

Read the latest tutorial here:

https://jonlennartaasenden.wordpress.com/2018/08/16/building-a-delphi-database-engine-part-two/


As a bonus you also get access to PixelRage, which is a 100% platform independent graphics library. This library is unique since it can work with established DIB (device independent bitmaps) functionality - or work solo with a pixelbuffer in conventional ram.

The library implements the primitives supported by TCanvas, but with plenty of optimizations and extra goodies; including alpha blending, color key transparency and format agnostic blitter (being able to draw a 15 bit image directly onto a 32 bit surface).


Pixelrage was initially created for server use. Since it can work in normal allocmem() ram and dont need HWND or HDC handles, it is able to function in environments with extreme security. It's also brilliant for multimedia and games.

LDEF assembler and virtual machine
$45 or more per month 0 patrons
Here you get to follow the LDEF assembler for Smart Pascal and Delphi to completion. It is presently at 60% and compiles to efficient, register based bytecodes that translate well into real machine code.

The Delphi port of LDEF will make it possible to write and use bytecode libraries in your Delphi applications. Opening the door for many of the benefits .Net and Java enjoys.

As always you get full source-code access, access to betas builds and get to play around with the tech before anyone else!

As a bonus, this level gives you access to video tutorials and recordings dealing with LDEF, HexLicense, Tweening and everything else.

Amibian and Ragnarok
$50 or more per month 1 patron
Amibian.js client, server and development toolchain.
This is the motherload and you get to enjoy all of it before anyone else. Full access to beta builds, updates, new features - all of it before anyone else!

Explore the Ragnarok client / server message API, follow my video tutorials and let me help you dig into Smart Pascal and node.js, ask questions and get a deeper understanding of both Smart Mobile Studio, Amibian.js and LDEF.

Have a front seat as we unleash the power of Delphi and Smart Pascal on the world! Unlimited access - no limits!
Amibian Embedded Setup
$100 or more per month 1 patron
For the true Amibian.js supporters! You get all the perks of previous tiers, but with an added bonus of pre-made Amibian.js disk images for the ODroid XU4 and the Asus Tinkerboard once LDEF and the IDE has been implemented.


These disk images starts the Ragnarok server as a daemon (Linux Service) during the boot sequence. The system then continues booting into a full-screen webview that renders the Amibian.js desktop. There is no Linux desktop involved.

This is by far the most cost effective setup for Kiosk and Embedded work with either a touch display or keyboard access.

As an extra perk this version of Amibian.js contains an optimized version of uae.js (Amiga emulation) and is capable of executing ADF disks and harddisk images directly in their own window.

With the service layer now fully developed, combined with truly platform independent compiler technology - we have in fact created an interesting alternative to ChromeOS. One with a minimal footprint that is cost effective and easy to expand. A system that you have full control over and can change, rebrand, modify and enjoy!


Congratulations! You have helped bring Amibian.js and a whole new development paradigm into this world!


Note: It is not known at this time if WebAssembly support is good enough on these ARM devices, therefor I cannot promise x86 support in the browser. I only promise things I know can deliver.


But, if the HTML5 renderer is updated on the distros with the latest Webassembly LLVM backend, then I will definitively add support for running x86 directly in the browser. Which will open up a whole new world for Delphi and C++ developers looking for a way to move legacy systems to the web.

Goals
$323 of $1,500 per month
The LDEF bytecode compiler

LDEF is a standard for writing compilers. It consists of an assembler, a disassembler and runtime engine. The system is designed from scratch to be easy to implement in any modern language. So the same system can be made to run under C/C++, object pascal, Java, C#, Rust or Python.

What sets LDEF apart is that it's register based rather than stack based. Systems like dot-net and Java are all stack based virtual machines. This makes it tricky to generate real machine code for them (which the past 10 years have shown).

A working prototype

LDEF, much like the Desktop goal, already exists. The technology is there, it is working and like always it is prototyped in Smart Pascal. Smart compiles to JavaScript and thus the whole system can piggyback on NodeJS for true platform independence.



But the assembler and low-level mechanisms are just the foundation stone. With your support I can implement the OOP layer so that the CPU "understands" object orientation and inheritance. And with that in place we can finally add parsers for modern languages like C#, Delphi, Basic and much, much more.
This goal underpins the cloud development system, since it forms the basis for the new compiler core.

ASM.JS vs WebAssembly

The assembler generates bytecodes that are highly optimized for execution. The runtime engine is made in such a way that it taps into the sub-set of JavaScript that is referred to as "asm.js". In other words, programs written with LDEF execute close to native speeds while in the browser - due to how Mozilla and Google performs JIT compilation.



Asm.js is far more mature than webassembly. The latter is extremely restricted when it comes to DOM access. So while webassembly is faster, it is only faster at processing raw data and doing calculation. But as of writing, asm.js is far more versatile than webassembly. Some of the fantastic demos you see online, like Quake.JS are all Asm.js, and you cannot tell them apart from the original, native thing.


Having said this, the whole point of bytecodes is to separate the code from the post-processing. So writing a webassembly emitter for LDEF will be a natural next step once the system has reached production status.

Bring back the fun of programming!

During the 90s there were some fantastic languages. Languages that taught whole generations to program. LDEF, the Amibian desktop and development studio is the perfect platform for reviving some of these languages.



With the loss of languages like Basic (Amos Basic, Blitz Basic) the learning curve for teenagers have become steep. Which also helps shed some light on why JavaScript has become so popular.

While development aims at professional programmers, the platform would make a perfect foundation for schools to teach programming. Implementing legacy languages like BlitzBasic or Amos Basic which were easy to learn, easy to master and gave the student a sense of accomplishment (not to mention how fun it was!) is a perfect match.

The schools would have full control over the environment, and the need for costly license agreements would be a thing of the past. The use of this technology is close to limitless in the right hands.
1 of 2
I have worked as a professional software developer for close to 30 years. My primary language of choice has been object pascal (Delphi and Freepascal), but I have also enjoyed working in Mono C#.

Presently I am using Embarcadero Delphi and C++ builder on a daily basis. I also work for Embarcadero as a software consultant [SC EMA].

A background in language work

Before joining Embarcadero I spent eight years heavily involved in programming language development (as in making languages and compilers). Work that culminated with the release of Smart Mobile Studio, a complete toolchain (compiler, IDE and run time library) that takes object pascal source code, the same language used by Delphi, and compiles it into cutting edge JavaScript.

In short: You write Delphi, the compiler spits out JavaScript ready to run under node.js, the browser, phonegap or embedded devices that supports it.

To create something like this from scratch has been a massive undertaking. Several people have been involved and it has been a formidable challenge. My primary task has been to design and implement the RTL from scratch. This has been the most difficult task I have ever done, yet also the most rewarding in terms of technical bravado and creativity.

It is a field of work that spans every aspect of a language, from the most fundamental level to the highest and more complex constructs. JavaScript is many things, but it lacks just about everything you expect from a modern, OOP based development environment. So we had to forge every piece of it from scratch. Be it memory management, streams, socket classes, compression, encryption, filesysten drivers, database engines, parsers -- when I wrote thousands of classes I was being literal.

In short, the past eight years have been spent making JavaScript suitable for professional software development. Please visit the product website if you want to learn more about Smart Mobile Studio: http://www.smartmobilestudio.com

What is the purpose of seeking patronage?

For eight years the Smart Mobile Studio team have worked to create the eco system needed to make large-scale application development for JSVM (Javascript virtual machine, the browser, Phonegap, NodeJS and more). We have forged the compiler, the support code and an RTL spanning thousands of classes from scratch.

If is now possible to write JS based applications that rival native applications both in scope and complexity. This has without a doubt been one of the hardest tasks I have ever been involved in.
With Smart Mobile Studio in place and the foundation stone set – we can finally get to work on the real product. Namely a cloud forge unlike any other.

The goal, to cut it short, is quite simply: to utterly re-write the traditional development toolchain and create a desktop environment and development studio that is unbound by chipset, cpu and platform. In other words, to re-implement and build a “visual studio” environment that lives completely in the cloud, that can be accessed by any modern browser, on any operating system, anywhere in the world.

I’m not talking about Notepad or Ace here, I am talking about a complete IDE with form designer, database designer, cloud endpoints, multi language support and above all – the ability to compile and deploy both virtual and native applications through established build services. All of the tooling done in JavaScript, all of it running on Node.js, Electron or HTML5.

You wont be drag & dropping components, you will be dropping entire ecosystems.

You don't need to install anything, nor do you need anything special to compile the same code for Android, iOS, Windows, Linux, OS X, Amazon Fire, Samsung Tizen or Apple TV. As of writing you will be able to target 8 operating systems and 50 embedded devices.
All of it from your browser.

Roughly 9 years ago I wrote the following on my website:

"The days of native-only software development is coming to an end;
the age of cloud computing has just begun"

At the time this became a source of ridicule. I had just presented my ideas for building a compiler that would take Delphi code (object pascal) and compile it to Javascript. The ridicule went on for a few weeks until a prototype was released. Not only was I right, the generated code outperformed similar code compiled by native compilers. The ridicule was replaced by silence.

My problem was that I was too early. The Delphi community was not ready for the radical shift that Smart Mobile Studio represented. Today companies like TMS have started to "wake up" to the potential I demonstrated, some nine years later. But to be fair, they were given investor documents for Smart Mobile Studio a year earlier, and somehow managed to invent the exact same technology.

But we have more interesting things to focus on, like where the world will be in another six to eight years. And the developer of the future doesn't simply write applications, he delivers entire eco-systems. Where developers today drag & drop components on business forms - future developer's will drag and drop infrastructures and connect them through established endpoints.

With your support I can continue working on the Amibian.js desktop and the LDEF bytecode technology - and finally implement a truly rich, visual IDE. No huge installs, just open up a browser and start creating. Amibian.js will change the way companies and individuals build software.

Recent posts by Jon Aasenden

Tiers
High five
$5 or more per month 5 patrons
If you like my work and appreciate the hours I put into managing forums, sharing code, writing articles and being of service, then a high five is a nice gesture.
Tweening for the VCL
$10 or more per month 6 patrons
This tier gives you the VCL tweening library to smoothly size and move controls. This is a port of the animation framework in Smart Mobile Studio that I am doing as I type; I want to expand it with clear animation classes coupled with a class helper so all TWinControl based controls in the VCL inherits common tweening behavior. Methods like ScaleTo, MoveTo, WidthTo, HeightTo, Rotate and many more that makes turning a dull interface into a crisp and lively experience.
License management for VCL and FMX
$25 or more per month 0 patrons
Supporters get full source-code access to HexLicense and the support goes into evolving this brilliant package further. Hexlicense is well documented, in use by more than 100 companies, supports both the VCL and Firemonkey RTL models. It can also be used for iOS and Android FMX applications.
It comes with documentation, serial number minting application, easy to use components, plenty of events and examples.

Support goes into porting the new minting engine, Ironwood, from Smart Pascal to Delphi - and implementing the client / server components that use rest (previous components used WebSocket).
Rage libraries
$35 or more per month 1 patron
At this level you have access to ByteRage, the database engine framework and buffer library. I am presently writing a tutorial on this framework, but as a supporter you will help fund more advanced features such as SQL expression parsing.

Read the latest tutorial here:

https://jonlennartaasenden.wordpress.com/2018/08/16/building-a-delphi-database-engine-part-two/


As a bonus you also get access to PixelRage, which is a 100% platform independent graphics library. This library is unique since it can work with established DIB (device independent bitmaps) functionality - or work solo with a pixelbuffer in conventional ram.

The library implements the primitives supported by TCanvas, but with plenty of optimizations and extra goodies; including alpha blending, color key transparency and format agnostic blitter (being able to draw a 15 bit image directly onto a 32 bit surface).


Pixelrage was initially created for server use. Since it can work in normal allocmem() ram and dont need HWND or HDC handles, it is able to function in environments with extreme security. It's also brilliant for multimedia and games.

LDEF assembler and virtual machine
$45 or more per month 0 patrons
Here you get to follow the LDEF assembler for Smart Pascal and Delphi to completion. It is presently at 60% and compiles to efficient, register based bytecodes that translate well into real machine code.

The Delphi port of LDEF will make it possible to write and use bytecode libraries in your Delphi applications. Opening the door for many of the benefits .Net and Java enjoys.

As always you get full source-code access, access to betas builds and get to play around with the tech before anyone else!

As a bonus, this level gives you access to video tutorials and recordings dealing with LDEF, HexLicense, Tweening and everything else.

Amibian and Ragnarok
$50 or more per month 1 patron
Amibian.js client, server and development toolchain.
This is the motherload and you get to enjoy all of it before anyone else. Full access to beta builds, updates, new features - all of it before anyone else!

Explore the Ragnarok client / server message API, follow my video tutorials and let me help you dig into Smart Pascal and node.js, ask questions and get a deeper understanding of both Smart Mobile Studio, Amibian.js and LDEF.

Have a front seat as we unleash the power of Delphi and Smart Pascal on the world! Unlimited access - no limits!
Amibian Embedded Setup
$100 or more per month 1 patron
For the true Amibian.js supporters! You get all the perks of previous tiers, but with an added bonus of pre-made Amibian.js disk images for the ODroid XU4 and the Asus Tinkerboard once LDEF and the IDE has been implemented.


These disk images starts the Ragnarok server as a daemon (Linux Service) during the boot sequence. The system then continues booting into a full-screen webview that renders the Amibian.js desktop. There is no Linux desktop involved.

This is by far the most cost effective setup for Kiosk and Embedded work with either a touch display or keyboard access.

As an extra perk this version of Amibian.js contains an optimized version of uae.js (Amiga emulation) and is capable of executing ADF disks and harddisk images directly in their own window.

With the service layer now fully developed, combined with truly platform independent compiler technology - we have in fact created an interesting alternative to ChromeOS. One with a minimal footprint that is cost effective and easy to expand. A system that you have full control over and can change, rebrand, modify and enjoy!


Congratulations! You have helped bring Amibian.js and a whole new development paradigm into this world!


Note: It is not known at this time if WebAssembly support is good enough on these ARM devices, therefor I cannot promise x86 support in the browser. I only promise things I know can deliver.


But, if the HTML5 renderer is updated on the distros with the latest Webassembly LLVM backend, then I will definitively add support for running x86 directly in the browser. Which will open up a whole new world for Delphi and C++ developers looking for a way to move legacy systems to the web.