Free knowledge blog: linux, programming, open source, databases, android, frameworks, web and computing in general
In this post I will show you how to use SQLite3 directly in the web browser using the original C library through WebAssembly and OPFS to store the database. In this way we will have original SQLite3 on the web to work in the browser with JS on the client side.
We can do this with pure JavaScript or with any framework; but I will show you a basic and well explained example of SQLite3 with vanilla JavaScript. Then I’ll show you an example with Tailwind, Svelte and Progressive Web apps.
When printing receipts on thermal printers (ESC POS) sometimes it is needed to print images of any type, for example, to print the customer’s logo and so on.
In this post I will show you how to print any kind of images: you will be able to print local images, base64 images and internet images.
Please note that we will print images on thermal printer by using JavaScript, but once you learn how to do it with JS you will be able to do it from another programming languages.
Today, I’m adding to the list of my free programs a software for managing restaurants. This program will allow you to register tables, payment methods, dishes (with photos), modify the currency, language, generate a printable menu, view the order, and even allow self-service for customers.
Moreover, the free restaurant system I’ve created is compatible with Android (Termux), Windows, Linux, and Raspberry Pi. In fact, it is compatible with any platform where C and Go can compile, including an internet server.
Throughout this post, I will show you all the features of this program, which is the largest one I’ve created so far, not because of its complexity but because of all the new things it offers, such as the installer, the multilingual section (with choice of locale and currency), ticket customization, logo, and dasboard.
In Svelte we can define functions that are going to be called when an event is triggered. For example, to call holaMundo
on the click
of an element we can indicate it as on:click={holaMundo}
Sometimes it is necessary to pass parameters to that function inside a Svelte component, but we cannot indicate it like this:
on:click={holaMundo(parameter)}
Since that will execute the function as soon as the component is loaded, and won’t wait for the click.
In this post I will show you how to pass arguments to functions in Svelte without calling them automatically.
In this post I will show you how to fix an error that appears in my thermal printer plugin that says: Error en el servidor: sql: no rows in result set.
This error says that there are no rows in the database, and you may be wondering what printing has to do with a database, so that is exactly what I will discuss in this post.
In this post I will show you the Tetris game programmed in pure JavaScript, totally free and open source.
This block game is programmed with JavaScript and uses canvas to paint the game. I also use Bootstrap for the layout of the buttons and the page in general, with a bit of SweetAlert for the alerts.
Although it seems simple to do, it is one of the jobs that has cost me the most and of which I am most proud. It was complex (for me) to understand all the logic for collisions, rotations, row deletion, part movement, limits, etc.
Among the features of the game we find:
Let’s see then the details of this game programmed in JS. Throughout the post I will show you how this game is programmed, I will also leave you a demo and the complete code which is FOSS.
Note: figure, piece and tetromino will be used synonymously in this post.
In this post I will show you how to program the Connect 4 game by using JavaScript with HTML and Vue, with Bootstrap styles.
It is the Connect 4 game but web version with a player versus player option, as well as player versus CPU that uses a small artificial intelligence.
Throughout the post I will show you how the game works, what technologies I have used, styles, etc. I will also show you how to download the source code, as the game is totally free and open source. Finally I will leave you a demo to play connect 4 online.
In this post I will show you how to print a receipt in a thermal printer directly from web browser, without user interaction and confirm dialogs, by using a free plugin.