About wiki Pub Share

Our aim is simple: unleash creativity by making it super simple for all to build and own reactors, via the DSL Reactive Platform. Accelerate microservices architecture, testing and development.

Diesel Apps can be used in the cloud / online, deployed on-premises or embedded as a library, with the configuration local or synced from the cloud.

See more about Memberships.

What's the point?

When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. Martin Fowler

However, for a DSL system to scale to the enterprise, there are certain thresholds of adoption and certain features it must implement, like:

  • accessibility
  • security
  • reliability
  • cheap operation
  • cloud support
  • etc

DSL and Creativity

DSL can enable a much better involvement of the user and business analysts into the final product! Breaking free of being boxed into a UI with limited interactivity and limited options, allows massive creativity.

DSL as configuration

Most configuration is today either

  • XML or JSON or JavaScript or some such text file, edited manually by some guy, without any validation or assistance
  • GUI-driven, by complex GUIs using complex domain models with lots of code around rules, associations, screen transitions etc

DSL offers a much more compelling story here! We will explore that and show you how it can be done!

Reactive is back!

Reactive (or asynchronous) programming was the only way to make something useful out of a big computer, some time ago (interrupts, exceptions, traps what-have-you).

For the longest of time, we switched to a thread-based model, which made programming these interactive and high-performance systems easy.

Now, just as computing gets cheap, we see a resurgence of the reactive patterns again, made popular by JavaScript's DOM "onEvent" model and Node.JS and made possible by asynchronous I/O and simplified with functional programming.

Yet, reactive programming is not the easiest:

  • it is hard to use reactive programming with simple languages (like JavaScript)
  • it is hard to understand what happens when things go wrong
  • etc

It's all a matter of choosing the right languages, the right technologies and the right patterns and paradigms. We can work through these and figure out the best ways to think reactive!

Software is archaic

Yeah, it is. I find software does not get easier to use, especially on the development side: the software designed to create more software.

  • It is hard to get started with a new technology.
  • It is hard to setup a production site in the cloud (except if you pay for PaaS).
  • It is hard to keep it going, keep it up to date, keep it purring along just nicely
  • Often highly experienced engineers are needed for the simplest of projects

The software industry is in a sorry state and we're trying to manage our way out via agile project management, reduced quality, reduced scope etc.

Everyone knows that the last 20 percent of the functionality costs 80% of your budget but nobody seems focused on that first 80% of the functionality, which does not require complexity. Not a lot of focus on "rapid application development" or "serious prototyping". Those that are, do not seem reliable or performance-oriented enough.

Let's see if we can find the right set of technologies, scripts, configurations and whatever else we need to make the whole thing tick and purr like a diesel engine!

Here are some ideas to evolve by simplifying things:

Wikis rock

Wikis can bridge the gap between content and configuration. Between configuration and code. Between UI and system....

Other projects

Here are some of the projects that are the stepping stones leading up to this platform:

  • Scripster - interactive scripted services in the scala REPL, accessible via many protocols (http, telnet).
    Tested online for years at tryscala.com.
  • Gremlins - DSL workflows in Scala
  • Snakked - Structured data sourcing
  • RacerKidz - wiki platform 100% scala and Play... It turned into an interactive, cloud-based, creative platform running all my sites.
  • NoFolders - rapid content and service creation using tags to organize it all. Based on and hosted on the RacerKidz wiki.
  • Mutant - asynchronous web server, self-upgradeable, personal cloud, distributed cooperating agents, synchronizing state and a bunch of other cool stuff I was playing with long ago

Copyright

Diesel Apps
12 Greenbriar Crt, Aurora,
L4G 5X6,
Ontario, Canada
416-209-3439


Was this useful?    

By: Razie | 2014-11-26 .. 2018-09-07


Viewed 1462 times ( | History | Print ) this page.

You need to log in to post a comment!