Semantic Version vs Date Versions
In recent times I noticed a few projects moving to a date based versioning from a semantic versioning, any project is free to choose the versioning system that it prefer, though this has impact on the message that this transmits to the user, before going through this let's do a quick recap of what semantic version means, got from: https://semver.org/ (where you can read of all the details).....
10 years of full time open source
As been a while that I've been working on software and since the first days I've been passionate about open source, I think as professional developer is interesting having the access to the source of the software you are using, or being able to read the code wrote by other people that solve similar problems to the one you are trying to solve, so open source give all of that, and you can make it come together with some ethical requirements as well, but I'm not here to describe the advantages of open source, but to tell my story in it, so quite early of my experiences with software I started to use open source based software, like linux or IDEs like eclipse, together with a big set of tools that are common in software development, after using I found myself contributing here and there to projects, mainly solving my own problems, for both work and not work related, and as well starting small projects to solve a small problem in my own way......
20 years here
Recently I noticed that this domain has been aging, what I mean by that, is that I bought this specific domain 20 years ago, let's go through its story: .....
Unbreak the break
Since a few month ago I'm in a sort of break/reset, so I did quit my main job and left the city I used to live in for wonder a bit around the world, and so far it went quite well and I had some good fun......
Break of this decade
Every 8-10 years, I find myself in a moment where I do want to change my way of life, this maybe I change city, country, way of work/company or all these things all together, and often this change start with a break, one of that sort of break that are called "Sabbatical", Now I'm starting one of this "pivotal" moments of my personal life and this is starting with some trips a bit around the world, I'm not sure actually in when or how many places I will be, I'm sure this will last for a while......
USB or password boot decrypt
Here is a small guide to create a USB key that store the decryption key for your LUKS encrypted disk, this is useful for when your device is in a safe place and you want it to boot without the need to type a password, and then going back to normal password workflow simply unplugging the USB key......
Re-tools for this blog
My last post a while ago was about redeploy my blog with new tools, and in that set of tools
there was see
, I tried it for a while but I noticed after a few days for some reason the server would
get stuck, and no request were server till I restarted the server......
New host for the blog with new tools
Has been a long while that I do own this domain (tglman.com) almost 18 years, and in all this time it evolved in multiple different sites, but for all this time was just hosted on a simple hosting provider that allowed me to have in it some PHP scripts......
First Week Librem 5
I recently received the Librem 5 phone that I bought few years ago from the crowd founding campaign......
Rust lib error management, multiple enum approach
While building a Rust library, I came across a quite common problem: how to provide errors that are understandable, easy to manage and enough specific to let the user handle the cases......
Setup Gitlab runner for run ci tests locally
Recently I stumbled upon a issue on a build for one of my side projects that showed up only on the gitlab ci and not locally, so for troubleshoot the problem I tried to setup the same environment on my machine......
Setup Gitlab shared runner for run tests on windows
Today in one of my projects, I discovered a bug that happened only on Windows, I personally have no machines that run Windows so had some trouble to reproduce the problem, so the first thing that came to my mind was try to set up the Continuous Integration to run on Windows, for the specific project I use GitLab and the relative GitLab-CI, I went to search what was the support for Windows in the shared runners and I got a good surprise, GitLab provide shared runners with the support of windows you just need to specify some tags:.....
Check What You Run
I usually try to check what software is installed and I'm running on my machine, using debian there are a few ways to check this with a few packages that come from the repository, I use checkrestart and needrestart to check after updates if the software is running need to be restarted, another really useful tool to be sure the system is running trustworthy software is debsums that make sure that your installed files have the same checksums of the files from the packages so as far you trust your debian repository you can trust your system......
Self Hosting Feed Reader Server
Once a while I try to self host something new, this time was the turn of an feed reader, I started first looking for an app in F-Droid, today my phone is the place where I read news more often, and as well I was looking for something that was able to keep some history and preferences(mainly starred articles) even after a phone flash, so digging a bit around I found "Tiny Tiny RSS" there is a Ok phone app and a quite nice php server that come in a handy way as debian package(current unstable), so i set it up with a simple sudo apt install tt-rss
and is up and running, connected to my phone using a VPN, and the job was done, so i would definitely recommend this if you want to setup your own "Web Feed Reader" with mobile client......
Rust Lang Love
Hi All, it has been a while since the last blog post went out, a few attempts to write a new post failed because of missing knowledge on what I was actually doing or just because I spent to much time doing other things, I'm hoping to return to post more often and this should be the first of a series of new blog posts on my new interest: Rust......
Java Shell Script
Often happen that I've to write some shell/automation scripts for job or fun and most of the time i do it with bash or similar, but because my main programming language has been java, i every time wondered if could be possible do some of this script in java, i know that a lot of other languages have the support for be ran as script, like in D you can put on the top of your file #!/usr/bin/env rdmd
and that file can be compiled or just run, in case you run it it will compile itself and exec the code......
Self Hosted Calendar Server With Radicale
Everyone of us need a Calendar, to organise time, not forget meetings, birthdays, dates, interviews, parties, etc. Out there in the world there are a lot of application that can help to solve that, and even a lot of service that can do it for you, for free, and synchronise it with all your environments/devices, one over all Google Calendar......
New Blog
Hi All, I usually like to build things almost from scratch, but this time i tired to do an exception,my old blog was written in php, night time, with my limited knowledge of design, it didn't really have an engine behind,it was more a few line of php for merge together a few html(5) hand written posts, it was quite hard to maintain and my focus was more on make it work, than actually put some content in it.....
Primitive Boxing Problem
Hi All, I'm back with a new challenge to explain about one my project.
Like the previous post explain I'm working on this project ( Object Query ) to find a new way to write DBMS query directly in java.
So my idea is not so hard to implements until you are thinking in Object way, like almost all java think,
but there are few things that in java are not object one of this are the primitives types, and this primitive types are common in an DDD domain
that's mean if I'm not able to handle this problem my idea is died!.....
DDD Query Way
In last few years I was lucky and I had the opportunity to work with some new and powerful java frameworks and with the newest software design approaches, and in particular I specialised in DDD (Domain Driven Design).
When you try to develop a software following DDD principles you need to use some frameworks that help you to thinking only to domain, example the ORM for the persistence or user interface generator for the user interaction.
Now I want focus on persistence because in my work experience I found some gap in the persistence frameworks......