NodeLess to state
Can it be done without?
Everywhere I dive into the realm of programming it pops up.
Yarn or yield?
Every bit of programming I've done in my life came forth from an idea. A project on my mind, a computed thing, needed coding. And I do dislike the need for some kind of handy Swiss knive when I only need a screwdriver. Or something that would need a complete truck to move stuff about, while I only need a little box transported. What I might want to build has to be slim. With developement done on low specs hardware. Using only about 5 to 10 Watts of power. And it should be able to run a great text editor like Geanny. For web related stuff that should be more than sufficient. Using things like Node seems like shooting a mosquito with a cruise missile. Even other frameworks, lightweighted as they might seem, do look a lot like overkill to me, in many cases.
Let me invent a wheel, as it seems quite useful. That is the legitimate turning point to consider. If there is an Open Source solution available, slim and fast, then I would go for it. And there might be an awesome framework out there that would save me a lot of time and energy. Yet, it is a resource drain, then it's a no go for me. Going through all possible solutions is a waste of time and effort also. That is why I do try to keep it plain and simple, as much as possible. Also I'm far from being a professional programmer. By profession I am a Graphical Designer, with a Geeky nature and a passionate dreamer. Which sometimes leads me to dark places like the realm the C and C++ programming language. Avoiding C sharp in every possible way. While in PureBasic I can breathe reasonably free. Just like I can deal with Javascript, Python and PHP. But you won't want to hire me for it, nor do I offer my services as such.
A project on my mind
There is some project on my mind. And it has been for quite a lot of years already. But only recently I became convinced that I actually could make it happen. It will be a purely web based project and it will be stored on the so called Permaweb (an Arweave blockchain term). One of the dot NL domains I rent (who actually really owns one?) I want to use for that. NL stands for NederLand, but to me it also now will be known as: NodeLess! The project will be decentralized as much as possible. In other words it will be a Dapp [Decentralized Application]. There will be a (sub)domain available as a landing page, yet it can be run from an Arweave address. Even long after I stopped paying the rental for that particular domain. There are some cool sites running on Arweave where the projects seem to be abandoned, but the Dapp still functions.
For my specific project I want to use the Hive Blockchain, because I think that overall it is the best available. Yet, it will be NodeLess, which makes it a challenge to even get started. Most documentation is aimed at using Node for development. And that is what I decided to avoid. Same goes for using frameworks, Yarns and Nodes all over the freaking place. Ow, but you can Dock it, that is pretty easy. And one might first want to rent a virtual server. Nope, that is the path for me to avoid. The only thing that will be on the server I rent is an HTML page, the result of just one index dot php file. That's all the server needs to do: serve one page, as fast as possible, to as many clients as needed. Traffic is no issue and it will hardly cause any congestion. (A temporary testsite I have ready at https://dapp.lilypictures.nl - The site name reminds me of a song by The Who. Actually I got it for my daughter, but her plans changed and I could use it.) Nothing is standing in my way now to get it going, or is it?
ChatGPT for support
At some point I was done searching for an implementation of Hive dot JS in my project. NodeLess of course and that was what made finding a proper solution a bit more of a challenge. How? Well, even though there are some references to a possible usage of Hive JavaScript, and orher, libraries without the need of Node, it kind of stays in the unclear. Almost like stating that there is also away around the back, but the directions are nowhere to be seen on signs. And I also refuse to use Discord anymore. Also I do prefer Telegram. (By the way, you can find me there under the same username as here on Hive.) One might conclude that I seem to prefer to go the path of the most resistance. As if I not even know there are already several kinds of wheels that I can use, for free even! Being born and raised in Nederland, I should know that gratis is the word!
True that. So I thought about how to get proper solutions in a simple way, also being for free. Okay, why not give ChatGPT a try then? No, not to hand me a complete dApp in code, only in need of some serious debugging. Merely to give me pointers to how I could do my project without using Node or something like that. Also wanted to know some stuff about deploying a complete website on Arweave and how to store some 'lazy' Smart Contract. Turned out that ChatGPT also can forget something to add and make mistakes. When pointing that out it then comes with the correct solution. It is really helpful and it saved me a lot of time and effort. Wish I thought of using it earlier.
Developing something for Hive means implementing the Hive Keychain right from the start. At least, that is my first priority to get right. Before everything else I want that to function as it should. The dApp user should only need to store all the Hive keys once. In one trusted Key wallet, like the Hive Keychain. Which can be used on a Smart Phone as well ax a browser extension on any Desktop. When ChatGPT gave me a code solution in Javascript I noticed it still contained a variable to store one of the private key codes. And that is something to avoid, I guess. When I gave that in return as feedback I got the right Javascript within a few seconds later. That really made my day. And is it not awesome that the Hive blockchain is well known by ChatGPT?
Next up, now or in autumn?
Spring is in the air here in Nederland. And I wonder if I really would want to spend a lot of my free time on coding. There is still a lot of preparation to do. For which I do still use pen and paper before I move over to a keyboard. And I also want to use my Raspberry Pi 4. Maybe for IPFS data pinning, or have it watch some stuff happen on my Hive dApp and then do something nice with that. To you this might all seem a little vague. But I do not want to spoil too much of what's to come yet. Also, what if it turns out to be something that I cannot create after all? Or somebody with the right resources reads my plans and has is up and running before I even started coding? That I already learned as I life's lesson a long time ago. After all this is a public ledger and you and I do not know who's reading.
While I do my daily walk, or bicycle ride, I often trial and error project ideas in my mind. A lot of ideas have found their way into the trashbin that way. Not even getting to the workout stage on paper. But this project on my mind already has survived the trial and error thinking part. Some stuff is already on paper, but most of it is still a though process. There is still a lot to do in and about the house though and some is high priority, so you might not read about this idea againu until autumn 2023. Something a blog like Hive is also great for, to sort ones mind with by creating an article. Where it comes in handy that it will be stored on the blockchain for as long as it moves forward. But now it's really time for me to get my ass moving and make myself usefull.
Have a great one!
First there are a lot of pieces to fit.
Image CC0 licensed.