Codename Mephistopheles; Or, How Computer Programming Changes Everything
Codename Mephistopheles; Or, How Computer Programming Changes Everything

Sunday • August 18th 2024 • 8:54:54 pm

Codename Mephistopheles; Or, How Computer Programming Changes Everything

Sunday • August 18th 2024 • 8:54:54 pm

Preface

The text that follows, is a snippet out of the life of a programmer.

It has been captured in hopes of showing you, that programming can be understood.

It is not even that intimidating, and even programmers are often discover new words.

Towards the end of the poem, I show that software has the power to crush poverty.

Codename Mephistopheles

I am working on a visual programming language, that will help young people escape poverty.

It is a Zooming User Interface, that uses a Box and Cable approach to connect things together.

The small applications within use a tree data structure, but this is not an ordinary tree, it is a signal tree.

Where everything about it notifies subscribers of changes, when some part of the tree is updated.

This means, the user only needs to work with the tree, to create entire user interface applications.

Today I have completed a test of a small upgrade to html, by means of Web Componets.

I introduced the concept of a data-application, a loop, an a print statement.

The loop and print are bound to signals, so again when the values that sinals wrap change the UI updates.

Today’s milestone was specifically about updating attributes, of existing HTML elements.

And I just nest an element that has a function, or a macro, that can update surrounding elements.

This was very simple to implement, and because custom elements, work on the very bottom, the Document Object Model.

I can nest them, which means recursion for free.


All of this sounds confusing, but just this handful of concepts almost beats large application frameworks.

Where programmers are blind, wo what the code does, jus this morning I saw svelte parsing HTML with regular expressions.

So while I expect challenges, this undertaking is doing quite well.

It not thanks to me, it just shows how well the wiser technologies, are advancing, the browser is becoming more capable all the time.


I don’t have a clear aim of where I want to take this project initially, part of me wants to create a Browser Extension with a programmable dashboard.

But knowing that browser vendors cannot help but to push adds and violate privacy, a desktop application based on browser technologies sounds better every day.


Inside a browser extension, Mephistopheles would let the user re-program web pages.

But on the desktop, user could generate applications.

Sometimes, or perhaps most times, application code that has nothing to do with Mephistopheles.

A user would build small tools in Mephistopheles, that would generate whatever they are working on.

A selection of starter templates and matching tools, would go a long way to help with delivering products fast.


While mephistopheles is an Application Platform, a kind of an operating system.

What it does, is code.

It helps to visually manage code, which would mean, that functionally, it is just a visual code editor.


There is only one design principle that I want to follow, that is actually quite challenging at first.

And that is the principle, of Minimalism and Simplicity.


As to the precise method of money making that I hope to enable, it is three fold.

First and foremost, I aim to generate UIKits and Website Templates, as there are multiple online stores that sell user interface components.

What makes Mephistopheles components special, are the visual tools that it will provide that will make pretty UI design neat.

Some of the litte apps that this project will ship, will replace the need for Stroybook, a neat component preview and testing framework.

I will involve AI in the process, both code and image generation, so this alone is already quite interesting.

A few sales per month on a large marketplace could bring in a cool hundred bucks, after everyone gets their cut.

Of course, young people have higher standards than that, which is where the second generator comes in.

The user will have the option of generating a marketplace for their website componets, similar to Envato or WrapBootstrap.

Because everything is already wrapped by a Visual Programming language, would not need complex administration area and tooling.

Rather than creating an application that accepts various configuration directives, Mephistopheles would just generate Server code that works a certain way.

This would be a marketplace for more than just Website Design Components, as it could sell applications as well.

Which brings us to the third and final function, users creating applications with the components they designed.

Seeing that something as simple as Svelte, and Angular, became a tangled mess of TypeScript madness and complexity.

I think my tiny application framework would be one of the starting templates, ultimately it comes down to simplicity.

If all the users have to do to design applications, is edit a tree…

And with a user interface similar to Windows Explorer and perhaps Apple Automator…

Then why bother with more complex frameworks, though that option would always be there.

Perhaps Yeoman could be used to deliver the base templates, as it is a nice scaffolding tool and code generator.


Mephistopheles is just a temporary codename for the project, I shall have to find something shorter, eventually.

For me personally, aside from helping the world, the project is about learning, there is far more to web technologies than most people realize.

The rise of TypeScript, a rather large mistake, and other questionable technologies like JSX or even RxJs…

Shows that too much has been glossed over, new inventions shouldn't make code unmaintainable.

No addition to any language, should ever interfere with its Abstract Syntax Tree or Meta-programming capabilities.

Ultimately, only minimalism and simplicity will triumph, and stand the test of time.

Artwork Credit