Compare commits
No commits in common. "85d27e46001829cd06573b172017461188e71570" and "3fef6f69ce88af31076b1c2a828d9fa494374043" have entirely different histories.
85d27e4600
...
3fef6f69ce
@ -1,64 +0,0 @@
|
|||||||
+++
|
|
||||||
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.
|
|
@ -1,43 +0,0 @@
|
|||||||
+++
|
|
||||||
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".
|
|
||||||
|
|
@ -1,105 +0,0 @@
|
|||||||
+++
|
|
||||||
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 +0,0 @@
|
|||||||
Pushl~=0.4.0
|
|
@ -1,4 +0,0 @@
|
|||||||
html {
|
|
||||||
background-color: #010101;
|
|
||||||
color: #ffeedd;
|
|
||||||
}
|
|
@ -4,5 +4,4 @@
|
|||||||
<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>
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
{% 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