Daril
Joined 3 years ago
Joined 3 years ago
I really liked HTMX, and I thank the authors for this marvelous library!
I switched from Turbo to HTMX because the latter is much more flexible, and I try to avoid Node.js as much as possible, only using it to compile some JavaScript code for Stimulus.
I finally moved from HTMX to Unpoly for the following reasons:
1. Layer support: Unpoly makes it easy to create layers and modal overlays, saving a lot of time and JavaScript code. You can achieve the same functionality with HTMX, but you have to write more code.
2. JavaScript code is better organized thanks to up.compile hooks.
3. HTMX and Unpoly treat fragments slightly differently. With HTMX, you have to use an out-of-band feature to update multiple fragments together. With Unpoly, you can easily add them to the response (and declare them in the front end, of course).
In my opinion, Unpoly has a better-organized approach to everything. On the other hand, apart from the official documentation, it is difficult to find examples for some edge-case features.
I use : - Syncthing (https://syncthing.net/) to keep the files synchronized between desktops and laptops computers
- Webdav (https://github.com/hacdias/webdav) to access the files on the server via other applications
- Cryptomator (https://cryptomator.org/) to crypt/decrypt sensible directories (that are synchronized through Syncthing) Cryptomator allow me to access also the directories via webdav
- MaterialFiles on Andrid to access the files on the server
I access my mini server from outside with a Wireguard VPN created on my Fritz!Box router.
Between home and office I created a site-to-site Wireguard VPN between the two Fritz!Box routers.
To configure passwordless sudo, open the /etc/sudoers file, and add a line of the form: %username ALL = (ALL) NOPASSWD: ALL
And the same user should have a password less SSH access with private key ...
https://c3-lang.org/faq/compare-languages/
One would argue that the best C/C++ alternative/evolution language to use would be D. D also has its own cross-platform GUI library and an IDE.
I wonder for which reasons D doesn't have a large base adoption.
Since some days it is finally available in a native Linux version. The code has been ported from Delphi to FreePascal / Lazarus.
1. It is possible to create different types of items: books, ideas, projects, tasks, etc.
2. Every item can have its own custom fields, such as author for a book or priority for a task.
3. All items are stored in a single SQLite table, so you can search through all items and edit them if necessary.
4. Fourth, it is possible to establish relations between items: parent, child, or simple link.
5. There is a space called "Quickbox" where you can quickly register a link or a note to read later and transform it into an item.
6. Items can be part of one or more notebooks, such as Personal, Work, or Family.
I have many ideas to make it more useful, but some basic features are still missing, such as:
1. Attach images or documents to each item and access all the attachments as a separate library.
2. Multi-user support
3. Multilingual support
4. Kanban support for tasks.
The most interesting part for me is adding systems/structures that can help me analyze problems and find proper solutions.
This idea is still vague, but I'd like to implement workflows that can help me become a better thinker, improve my creativity, and enhance my ability to make rational decisions. I'd like to integrate also logic programming in the process, probabily using Prolog.
I don't want to lose the manual aspect of thinking, so I'm considering creating prefilled documents to help study problems and find solutions.
I have used Golang and SQlite on backend and PWA and HTMX on frontend.
1. you have no control over the generated SQL and because it has to be generic and db agnostic, might not be the best option depending on the database you are currently using
2. when something doesn't work as expected, and it happens, they are difficult to debug (too many layers) and find the issue
3. they are extremely inefficient, because they have to dynamically build every time the code is run the corresponding SQL code : I'm sure most would implement some caching mechanism to prevent this , but in any case it's a waste of resources.
This is just anecdotal, but I remember trying SQLAlchemy many years ago for a small Python program I was writing for a RaspberryPi 3 : it was extremely slow. So, I removed the library and used instead the native database binding for MariaDB instead, and the speed improved a lot.
For PHP, the situation is the worst because there is no application server (they exist, but not very widely used), but the code is regenerated every time. This is the main problem in any large PHP project, such as Nextcloud. If they would adopt FrankenPHP or RoadRunner, they could improve the performance of the applications a lot.