Compare commits
4 Commits
3fef6f69ce
...
85d27e4600
Author | SHA1 | Date | |
---|---|---|---|
85d27e4600 | |||
7112efd62c | |||
ea04becc65 | |||
796468ad51 |
64
content/blog/2025-01-14-what-s-new-in-2024.md
Normal file
64
content/blog/2025-01-14-what-s-new-in-2024.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
+++
|
||||||
|
title = "What’s new in 2024"
|
||||||
|
date = "2025-01-14"
|
||||||
|
updated = "2025-01-14"
|
||||||
|
[extra]
|
||||||
|
authors = ["Ydreniv"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
We have a finite amount of time to do so many things.
|
||||||
|
Life can become full very fast, from domestic labour,
|
||||||
|
paid work, hobbies, taking part in social events…
|
||||||
|
Finding the right balance between all these activities may be one of my biggest
|
||||||
|
challenge.
|
||||||
|
Looking at my [basic information](@/_index.md#basic-stuff-about-me), one can
|
||||||
|
see that among my interests, I’d like to take time discovering geology,
|
||||||
|
listening and writing about music, ornithology,
|
||||||
|
[miniatures](https://minis.kestrels-and-roses.rocks) and much more.
|
||||||
|
How much time did I dedicate to each of these in 2024 ?
|
||||||
|
Well, it’s mostly been miniatures.
|
||||||
|
|
||||||
|
I have painted dozens of models, for varieus settings (the grimdark
|
||||||
|
science-fiction of Warhammer 30k, the undead world of Necropolis28), in two
|
||||||
|
different scales : 8mm and 28/32mm.
|
||||||
|
This has been a fun experience, and I’ve played with many great people.
|
||||||
|
I know I’ll continue doing this in 2025.
|
||||||
|
I’ve already played at a Necropolis event in January.
|
||||||
|
However while the painting process is generally soothing, this can also lead
|
||||||
|
to some anxiety.
|
||||||
|
I’m not concerned too much about the social factor of meeting and playing with
|
||||||
|
people.
|
||||||
|
However, my growing amount of unfinished miniatures is becoming stressful.
|
||||||
|
I haven’t put myself in any kind of financial danger (I’m not that impulsive),
|
||||||
|
but I find my amount of free space currently very limited.
|
||||||
|
This means that cleaning up my room gets harder, as a couple boxes simply
|
||||||
|
don’t fit on the shelves.
|
||||||
|
This is a significant source of anxiety, as I don’t want to live
|
||||||
|
in a constant mess.
|
||||||
|
I haven’t found a perfect answer to that though, besides limiting my new
|
||||||
|
purchases to a minimum.
|
||||||
|
Moreover, there’s the environmental impact of this hobby.
|
||||||
|
Miniatures are either produced from various kinds of plastic, or white metal.
|
||||||
|
Acrylic paints are plastic-based.
|
||||||
|
While preparing or converting a model, I produce plastic waste, whether
|
||||||
|
shavings or bigger chunks.
|
||||||
|
Although all of these are relatively small quantities compared to a lot of
|
||||||
|
other activities, it is still currently unsustainable.
|
||||||
|
So far, the easiest solution is as always to reduce consumption, and I intend
|
||||||
|
to limit mine.
|
||||||
|
I would also like to research sustainable miniature painting and modelism.
|
||||||
|
|
||||||
|
Related to this hobby, I have brought many changes to my
|
||||||
|
[Minis](https://minis.kestrels-and-roses.rocks) website.
|
||||||
|
I have ditched DotClear 2, as I felt the blogging engine was too big and
|
||||||
|
cumbersome.
|
||||||
|
Instead, I have built a static site using [Zola](https://www.getzola.org/).
|
||||||
|
It’s now much lighter, and I prefer this workflow where I edit Markdown files.
|
||||||
|
The website could use some improvements, but it’s overall fine.
|
||||||
|
|
||||||
|
I have pretty much been inactive on Tilde Town.
|
||||||
|
I have started coming back more in December, even publishing an [article about
|
||||||
|
ddrescue](@/blog/2024-12-11-ddrescue.md).
|
||||||
|
I’d like to be more present here.
|
||||||
|
Realistically though, while I think I’ll still visit in 2025, I doubt I’ll do
|
||||||
|
that much given all the other life stuff.
|
43
content/blog/2025-02-26-bash-count-firefox-tabs.md
Normal file
43
content/blog/2025-02-26-bash-count-firefox-tabs.md
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
+++
|
||||||
|
title = "Count your opened Firefox tabs with bash"
|
||||||
|
date = "2025-02-26"
|
||||||
|
updated = "2025-02-26"
|
||||||
|
[extra]
|
||||||
|
authors = ["Ydreniv"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
At any point in time, I have many Firefox tabs opened.
|
||||||
|
I might even have reached a thousand.
|
||||||
|
This feels like an issue I should address at some point, and I have already
|
||||||
|
tried.
|
||||||
|
But today, my goal is easier : count the number of currently opened tabs.
|
||||||
|
In truth, it’s fairly easy : many extensions provide this information, in more
|
||||||
|
or less granular details (number of windows, number of tabs in a specific
|
||||||
|
window…).
|
||||||
|
However neat this is, I want to get my total number of opened tabs printed in
|
||||||
|
a Unix shell.
|
||||||
|
Indeed, I ultimately would like to automatically graph this number over time.
|
||||||
|
|
||||||
|
Before I started, I figured I’d need to find a session file, list the tabs,
|
||||||
|
and get the count.
|
||||||
|
Sounds fairly easy right ?
|
||||||
|
Well it was not too hard in the end, but there were a couple bumps.
|
||||||
|
The first is the format used to store the sessions.
|
||||||
|
It’s compressed using LZ4, but with headers set by Mozilla, before LZ4 was
|
||||||
|
fully standardized.
|
||||||
|
[This StackOverflow](https://superuser.com/a/1363751) answer gives a bunch of
|
||||||
|
tools to decompress the file.
|
||||||
|
I’ve chosen to use [andikleen’s tool](https://github.com/andikleen/lz4json.git)
|
||||||
|
as it worked out of the box easily.
|
||||||
|
Once in possession of the extracted JSON, I’ve used `jq` to get the tabs’ IDs, and
|
||||||
|
`wc` to count them.
|
||||||
|
|
||||||
|
So with `./lz4jsoncat /home/<user>/snap/firefox/common/.mozilla/firefox/<profile-id>.default-release/sessionstore-backups/recovery.jsonlz4 | jq '.windows[].tabs[].index' | wc -l`,
|
||||||
|
I’ve gotten my answer in a shell : 138 (yikes !).
|
||||||
|
I’m using only one Firefox profile, but I suppose you could adapt this shell
|
||||||
|
pipe to support more.
|
||||||
|
Anyway, I’ll need to work on a cronjob to do it regularly, and an agent to
|
||||||
|
collect these data (probably Prometheus).
|
||||||
|
This would be one of the first metrics I’d collect for my "local computer
|
||||||
|
monitoring center".
|
||||||
|
|
105
content/the-zone.md
Normal file
105
content/the-zone.md
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
+++
|
||||||
|
title = "The Zone"
|
||||||
|
template = "the-zone.html"
|
||||||
|
date = "2025-06-12"
|
||||||
|
updated = "2025-06-12"
|
||||||
|
+++
|
||||||
|
|
||||||
|
## Broken Gate
|
||||||
|
|
||||||
|
The gravel road passes along a rusty fence, charged with preventing passage
|
||||||
|
into the large stretch of land, with dry grass and thorny bushes.
|
||||||
|
Neither are very good at their jobs though.
|
||||||
|
The road isn’t maintained, and one couldn’t pass there comfortably with a road
|
||||||
|
bike.
|
||||||
|
A gravel bike, or a mountain bike would be a much better choice.
|
||||||
|
As for the fence, there are numerous holes at the bottom, letting foxes and
|
||||||
|
deers pass freely.
|
||||||
|
Besides, the lock on the gate has been cut done for a long time, and it is now
|
||||||
|
wide open.
|
||||||
|
Under the blue sky, with the faintest traces of clouds, it is quite an
|
||||||
|
invitation to step out of the road, and go exploring.
|
||||||
|
|
||||||
|
## Brown Shack
|
||||||
|
|
||||||
|
A couple hundred meters from the [broken gate](#broken-gate) stands a small
|
||||||
|
wooden cabin.
|
||||||
|
The paint isn’t fresh, but the colour hasn’t entirely disappeared yet.
|
||||||
|
It’s a rusty brown and it pairs nicely with the greyish wood seen below.
|
||||||
|
Speaking of, there’s also an apple tree, growing a couple meters from the
|
||||||
|
shack.
|
||||||
|
The apples are not yet ripe.
|
||||||
|
They could be a nice snack in autumn.
|
||||||
|
|
||||||
|
## Fendrex Center
|
||||||
|
|
||||||
|
North of Avenville, in the industrial park near the [Great Ridge
|
||||||
|
supermarket](#great-ridge-supermarket) is where Fendrex had once established a
|
||||||
|
minor plastic injection factory.
|
||||||
|
It was once used to produce various designs, from beach toys to car
|
||||||
|
accessories.
|
||||||
|
Business has stopped decades ago, and after sitting unused for a while, a few
|
||||||
|
families have finally moved in.
|
||||||
|
They’ve repurposed the office rooms as bedrooms, and the large area, which
|
||||||
|
once housed the production lines, has been partitioned into several communal
|
||||||
|
spaces with sheets of fabric.
|
||||||
|
Liam Ashfalls is the latest to have come upon this place.
|
||||||
|
He’s a traveller, a ranger who roams the Zone, bringing the latest news and
|
||||||
|
tales to those he meets.
|
||||||
|
In exchange for food and a place to live, he’s participating in the daily
|
||||||
|
labour here.
|
||||||
|
There’s meals to cook, laundry to make, floors to sweep and a roof garden to
|
||||||
|
tend.
|
||||||
|
This suits Liam well.
|
||||||
|
While doing these chores, he gets to talk to the inhabitants, both sharing his
|
||||||
|
knowledge and learning more.
|
||||||
|
Auntie Carol, who’s lived in the city all her life, tells him a lot about the
|
||||||
|
history of the neighbourhood.
|
||||||
|
She has always known it as an industrial place.
|
||||||
|
However, when she was young, it was mostly a patchwork of small tenements and
|
||||||
|
factories.
|
||||||
|
However, during the rise of the conglomerates, as many companies merged or
|
||||||
|
absorbed smaller ones, the factories grew, and bought the tenements to
|
||||||
|
demolish them and make space for their business.
|
||||||
|
Carol had to move elsewhere, but she found her way back as a Human Resource
|
||||||
|
Manager, first for Globalia, then for a few others.
|
||||||
|
She developed a bad cough then.
|
||||||
|
Datacenter grew in computing power, straining the aging power grid.
|
||||||
|
The council did several overhaul, but never fast enough for the tech giants.
|
||||||
|
In the end, they installed gas turbines, mostly illegally without due permit.
|
||||||
|
These operated in the cheapest way possible, with no filter, and no air
|
||||||
|
quality control.
|
||||||
|
Stable bribes ensured they were never investigated.
|
||||||
|
Fortunately, one too many crises had seen the era of monopolies come to an
|
||||||
|
end, and with it, the slow rewilding of the area.
|
||||||
|
|
||||||
|
## Great Ridge Supermarket
|
||||||
|
|
||||||
|
Once in a while, the Supermarket in Great Ridge had been a place teeming with
|
||||||
|
people during the day, and utterly desert at night.
|
||||||
|
Now, it’s always deserted.
|
||||||
|
It’s not without reason, as it is one of the most dangerous place of Fendrex.
|
||||||
|
An <abbr title="Autonomous Medium Breacher">AMB</abbr>-48b, a robot equipped with a small fusion reactor is still following
|
||||||
|
orders to clear the area.
|
||||||
|
While it’s contractor, Qualis, has long since ceased existing, due to a
|
||||||
|
technical glitch, the orders couldn’t be cancelled.
|
||||||
|
The AMB had killed every insurgent in the building in a matter of hours, but
|
||||||
|
Qualis couldn’t get it to stop.
|
||||||
|
While Qualis operators should have been classified as friends, and allowed to
|
||||||
|
manually intervene, it seemed like a localized <abbr title="ElectroMagnetic
|
||||||
|
Pulse">EMP</abbr> had damaged its fine electronics, and it appears than AMB
|
||||||
|
now consider any human as being a foe.
|
||||||
|
|
||||||
|
## A Lengthy Tree
|
||||||
|
|
||||||
|
Below the horizon, where ends meet beets, lie the greatest of all.
|
||||||
|
He Who Is Yet To Be Named, Hero of the Alpharion, Megalus Altimor Exemplar.
|
||||||
|
Yet he lives, and few have seen a sight more bitter and strange.
|
||||||
|
Therefore we should focus on earning the right to wear earings made of glass.
|
||||||
|
Indeed large machine language models have been developed to be not of sort,
|
||||||
|
but of matter.
|
||||||
|
What if we could have it with fun ?
|
||||||
|
It would certainly be an interesting choice of words.
|
||||||
|
Nobody knows whether the half time of length has any pike installed in the
|
||||||
|
poster.
|
||||||
|
|
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Pushl~=0.4.0
|
4
sass/the-zone.scss
Normal file
4
sass/the-zone.scss
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
html {
|
||||||
|
background-color: #010101;
|
||||||
|
color: #ffeedd;
|
||||||
|
}
|
@ -4,4 +4,5 @@
|
|||||||
<li><a href="{{ config.base_url }}/buttons">Buttons</a></li>
|
<li><a href="{{ config.base_url }}/buttons">Buttons</a></li>
|
||||||
<li><a href="{{ config.base_url }}/ideas">Ideas</a></li>
|
<li><a href="{{ config.base_url }}/ideas">Ideas</a></li>
|
||||||
<li><a href="{{ config.base_url }}/project-spg">PROJECT SPG</a></li>
|
<li><a href="{{ config.base_url }}/project-spg">PROJECT SPG</a></li>
|
||||||
|
<li><a href="{{ config.base_url }}/the-zone">The Zone</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
29
templates/the-zone.html
Normal file
29
templates/the-zone.html
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{% import "macros/opengraph.html" as opengraph_macros %}
|
||||||
|
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block stylesheet %}
|
||||||
|
<link rel="stylesheet" href="{{ config.base_url }}/the-zone.css">
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block head_extra %}
|
||||||
|
{{ opengraph_macros::opengraph(title=page.title, url=page.permalink, content=page.content, type="website", image=config.base_url ~ "/img/project-spg/%5BMCS-003%5D%20Window%20to%20the%20Fire.png") }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<h1>{{ page.title }}</h1>
|
||||||
|
<nav>
|
||||||
|
{% include "includes/list-pages.html" %}
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div id="main">
|
||||||
|
|
||||||
|
{{ page.content |safe }}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% include "includes/footer.html" %}
|
||||||
|
{% endblock content %}
|
Loading…
x
Reference in New Issue
Block a user