The Ydreniv Time

Introduction to ddrescue

, by Ydreniv

Let’s suppose one of your friends come to you with a computer issue. They’ve got a failing hard drive, and want to recover the data stored on their device. They are quite worried, as they have important files on it, and it’s their only copy. Of course, this would never happen to you, because you keep multiple encrypted backups of all your data, in multiple place. Only a worldwide apocalypse would get you a dataloss. So this definitely could only happen to a friend, or a family member, but not you. It would be preposterous to think otherwise.

So anyway, you want to copy the hard-drive. You quickly plug it in your computer, mount it and open the file explorer. But the mount takes a long time, accessing the files is very slow, and copying them does not always work. Plus, the SMART statistics show that this drive has issues. How do you extract the important data then ? By the look of it, the vast majority of the drive sectors are fine, so what you’re looking for still exists. It’s merely hard to access. It’s only a hardware problem.

If you manage to image the drive, you can then either use it as a mounted file, or burn it to another drive. You could use good old dd. Maybe this would work. But here, with your friend’s disk on its deathbed, you’d like a tool adapted for this situation. Here comes… ddrescue.

ddrescue operates on unmounted devices, and will copy a device block by block. Even better, it has error handling integrated. When it cannot read a block, it will either retry or pass it, depending on the options you’ve selected. And, crucially, it can store its status in a file, meaning that if you stop the process, you’ll be able to resume it later. This way, you can quickly recover all easily available blocks, while still retaining the ability to do several passes on the failing ones.

I’m still a novice in ddrescue, so read the Archlinux wiki page to get specific instructions. The Archlinux wiki is overall pretty good, and is one of my main source of help on Linux, even with other distributions. In my experiment, it has been able to recover all the disk’s sectors, except for 47 of them. I let it run for at least 50 hours I guess (I haven’t counted) over multiple sessions. I could probably try to make more passes, to eventually recover the full disk, but I’m not sure it’s worth it (and even possible).

It’s reassuring to know that I’ve now safeguarded most of the data. Now that I have a mostly complete image, I’ve started trying to read them. Unfortunately, the missing blocks do prevent me from simply mounting the resulting image. So I’ve still gotta do some work to actually get what I wanted (copying the files to another drive), but at least I know that the current image is safe, and that there shouldn’t be further data loss.

So if you’re confronted with data recovery, I recommend giving ddrescue a look. It’s quite a useful tool !

What’s new between April and September 2023

, by Ydreniv

Here’s an update on my activity on the web. I haven’t been very active as I’ve focused more on other stuff.

I’ve started biking more, which is great. It means I do some sport, but more importantly, it means I have a reliable mean of transportation. I hope I can continue avoiding getting a driving license. I’m not convinced personal motorized means of transportation will remain for very long, so I prefer to be prepared to live without them. Biking is slower, but I can ride 100km a day without issue, which means it would take just two weeks top from any two points in France. Of course, two weeks is a worst case scenario. I could go see most of my friends or family in less than a week.

And I continue painting miniatures, which is nice. I feel like I’m improving. However, I’ve already purchased too many miniatures this year. I won’t buy any new ones, with some exceptions : if I find a cheap "Battle for the Skull Pass" box secondhand, the future Legions Imperialis box, and if something catches my eyes at the local gaming convention. Then next year, I won’t buy anything until I’ve painted some more, and then I would only get single miniatures.

Tilde Town

I haven’t done a lot around here. I was mostly away, but I’m coming back.

Minis

  • I’ve continued reading through the Horus Heresy series. I’ve written about Battle for the Abyss as well as read Mechanicum, though I won’t publish a review for it.
  • I’ve played my first solo game of Space Weirdos, Patrol on Kabenarah. It was quite fun, and I’ll continue this solo campaign !
  • I’ve finished painting the Penitents of Rausch. I’m very happy about my paint job there !

Computer stuff

  • I’ve done some more work on the selfhost wiki, notably finishing the instructions for running a Valheim server.
  • I’ve installed Calibre Web on my NAS. It was quite easy to do, although it’s weird it requires creating a metadata file beforehand, and I had messed up the permissions. Now I’ll be looking for an e-reader as mine broke a couple years ago.

What’s new in March 2023

, by Ydreniv

Tilde Town

This has been another quiet month. My only update on this website has been a 80x15 button for Keepass

Minis

Others

I haven’t made any new articles on my music blog. I have not made any progress on my personal page revamp either. Yes, I’ve written these exact same sentences the past two months !

What’s new in February 2023

, by Ydreniv

Tilde Town

Well, I have been pretty quiet there this month. I’ve been busy with other things, so it’s only a lack of time and energy. The only things I’ve done here is updating the Homepage and Ideas a little.

Minis

  • My Intercessor Kill Team has finally been introduced.
  • And their robotic foes, the Zhyvokh Dynasty too.
  • You can also see my Bloodmaster.
  • I have also painted a dozen of Necron Warriors. This means I now have a solid core of Necrons for my skirmish needs.
  • And I’m currently painting more Necrons.

Others

I haven’t made any new articles on my music blog. I have not made any progress on my personal page revamp either. Yes, I’ve written these exact same sentences last month !

What’s new in January 2023

, by Ydreniv

This year, I intend to keep a record of what I’ve done. It’s gonna be quite eclectic, as I won’t be focussing only on Tilde Town.

Tilde Town

I’ve published two blog posts in January :

Minis

  • My Intercessor Kill Team is finally finished. I’m still to introduce them on my blog, but the article should be out in February.
  • I’ve already fought with them. They’ve succesfully taken an outpost against the Orks.
  • Wanting to try something else, I’ve also painted a Bloodmaster of Khorne. The base is a bit of an experiment, but I’m quite pleased about the sword.

Others

I haven’t made any new articles on my music blog. There are a lot of music I could share, but I currently don’t have enough time to write those articles. I have not made any progress on my personal page revamp either.

My Tilde Site setup (2023)

, by Ydreniv

I’ve finally finalized my Tilde Towm website setup. There’s nothing too fancy, but several bricks to assemble.

The core

The core of this setup is powered by Zola. This is a nice static site generator, which can be run with a single binary. Unlike others, like Jekyll, there is no need to manage a whole Ruby/Python/… environment. I have put a Zola binary in my Tilde home, to use whenever I feel the need.

While typing Zola commands may be okay the first few times, I soon decided to automate things a bit. I’ve settled on using a simple Makefile, as it is quite standard, and easy enough to use.

all: build

build:
  yes | ~/zola build -o ~/public_html

It’s very simple, but means I only have to type make when compiling the website. And then, it means I can easily make things more complex.

Indieweb

As part of my efforts to integrate this site to the Indieweb, I wamsel so be able to send webmentions. I’ve settled on using Pushl. It’s a CLI tool which caches it’s previous mentions, meaning it won’t send the same twice. So I’ve added a pushl stage to my Makefile, which is required by the all stage:

pushl:
  . /home/ydreniv/venv-pushl/bin/activate ; pushl -c pushl-cache/ "https://tilde.town/~ydreniv/atom.xml"

This is great, as it means webmentions will be sent automatically, without me having to do any cURL command manully. However, this accentuates an issue. How do I manage my test environment ?

Test environment

At first, when I wanted to test something, I tested it live. It was okay. At most, one person would see a broken site, which would be fixed in the next minutes. Webmentions and feeds however make some things asynchronous. I could mess up a link, and ending up mentioning the wrong page. Or I could make a typo, build things, have the typo included in the feeds, and have a feed reader collect this feed before I fix it. While both are minor issues, it prompted me to setup a better developing environment.

At that point, I still didn’t have put anything on git. So I got a Gitea account, and git everything. This is not strictly needed, but it’s a great way to backup code or static site. This also means I’ll be able to see things like monthly changes.

Then, I created a webspace on my personal server, with sftp access. My workflow would be the following : I would build things on Tilde Town, send the output via sftp to my personal server. Then once I have checked that everything is fine, I would do the previous build+pushl to Tilde Town.

My current Makefile is the following :

all: build pushl

build:
	yes | ~/zola build -o ~/public_html

pushl:
	. /home/ydreniv/venv-pushl/bin/activate ; pushl -c pushl-cache/ "https://tilde.town/~ydreniv/atom.xml"

preprod:
	yes | ~/zola build --base-url https://example.com/ydreniv --drafts
	echo "put -r public/* www" > sftp-batch.txt
	sftp -b sftp-batch.txt example.com
	rm sftp-batch.txt

It’s not perfect, and the path difference (~ydreniv vs ydreniv) means that some links are broken. Moreover, somehow the test server doesn’t display non-ascii characters well. And there’s the issue of the sftp transfer as well. It’s very slow, and probably not optimized. Yet it’s good enough for me. I’ll have to improve it further, but that’s enough for now.

TSS-001 - The Pearled Gates

, by Ydreniv

This is part of PROJECT SPG. This particular synthetic picture has been created for Tilde Town Zine n°6. It's my first contribution to this zine, and about the first time I've published anything in a collaborative thing. When I discovered this zine, I was pretty excited, and thought about creating various things. However, time constraints amid a busy month forced me to find a quick project. With that in mind, I've resurrected PROJECT SPG. I had started this a couple years ago, but it had remained without activity for about a year.

As I’ve said in PROJECT SPG, I've started this serie of artworks with the goal of using as much automatic filters as possible in Gimp. My previous art experiment in Gimp had mostly been pixel-art, and I wanted this to change. I've rapidly started to classify the different pieces of art, and started developing a loose universe.

I don't know what synthetic picture I will do next, and when that will happen, but I'll be sure to notify you.

The Pearled Gates are a B55 TSS-class SYNTHETIC PICTURE. The Pearled Gates are a fabled gateway to a mystical land where the sky always shines blue. Strange cybercreatures dwell there, including standing manatees. They use their hypnotizing shroud-daemons to catch weakly-protected programs. Then they use the entropy of their preys to feed their favourite food : the rare iridescent netmoss.

A beginner h-card and h-entry usage

, by Ydreniv

I've just got started on discovering what Indieweb is. I've been making static sites for years now, and I've always been interested in "small-scale web". Thus, it was only natural that I got into IndieWeb. I won't go into too much details about this initiative. I'm still only a beginner, and you will have more accurate information looking at their website. But it's basically a set of tools and practices to build a decentralized version of the web, far from the big social media. The specificity, compared to what one could simply do with a classic static sites, is adding ways to interact and understand content. I will cover interaction in another blog post. Today, I want to focus on microformats, and especially h-card and h-entry.

In Une tranche de console dans Internet Explorer 8, lucidiot talked about WebSlices, and introduced for the first time the notion of microformats to me. Later on, while browsing some IndieWeb stuff, microformats appeared once again. That's why, on one chilly winter night, I began to try harness this mysterious knowledge. However I didn't know where to really start. I first read the IndieWeb Getting Started, then tried Indie Webify. The latter is a linear and interactive introduction. The sequential steps are great at progressively introducing new notions. With the help of the IndieWeb wiki and the Microformats wiki, I've been able to get going.

h-card

So I've started implementing h-card on this website. This is a static site, generated using Zola. I won't teach you all about Zola. Basically, you can right Markdown content, which will then be formatted using templated HTML. While I use a different template for each page, they all use a base.html template, to put in the basic structure (head block for instance). Thus, I simply included a include/h-card.html in this base template. The h-card template is fairly simple :

<div class="h-card hidden">
  <span class="p-name">Ydreniv</span>
  <span class="p-nickname">masuksa, Ombre</span>
  <a class="u-url" rel="me" href="https://tilde.town/~ydreniv">Homepage</a>
  <a class="u-url" rel="me" href="https://minis.kestrels-and-roses.rocks">Minis Blog</a>
  <a class="u-url" rel="me" href="https://masuksa.github.io/blog">I Am The Fog In The Forest</a>
  <a href="{{ config.base_url }}/mg-key.asc"  rel="pgpkey authn">PGP Key</a>
  <time class="dt-bday">2022-10-26</time>
</div>

The hidden class just means there is a display: none associated with the block in my CSS file. It's not necessary, and some people show these informations on their website, but I felt they were mostly redundant.

As for the h-card itself, it is simply added with a h-card class on a block. Then, classes are added to various elements in the block to specify the h-card attributes. A full list of attributes can be found in the documentation. Here, I have a p-name to list my name, and nicknames in p-nickname. I've put some urls to my websites. The fact that they are urls useful to the hCard is shown with the class u-url. And since these various links represent sites of mine, I've added a rel="me". This is an attribute used in authentication on the IndieWeb, and thus is quite important. I will talk a bit more about it in the Webmention article. I've also added a public GPG key, which can also be used in authentication. And lastly is my birthday here, with the appropriate class : dt-bday.

There are many more attributes I could have used, but for various reasons, decided to leave out. The most important ones are p-name and u-url anyway. While this simple block doesn't seem like much, it provides the basic information for IndieWeb apps to use. Moreover, it can help you sort out your various online presences.

h-entry

The second microformat I've tackled is h-entry Here, I went into my blog.html template.

<article class="h-entry">
  <header>
    <h1 class="p-name">
      <a class="u-url" href="{{ page.permalink }}">{{ page.title }}</a>
    </h1>
    <p><time class="dt-published">{{ page.date }}</time>, by {{ authors_macros::authors_inline(authors=page.extra.authors) }}</p>
    {% if page.updated != page.date -%}
    <p>This article has been edited on <time class="dt-updated">{{ page.updated }}</time>.</p>
    {% endif %}
  </header>
  <section class="e-content">
    {{ page.content | safe }}
  </section>
</article>

I'm using a macro to generate the author field. I've shown it below, but this simply outputs the author name as a link, with some hCard classes to give a couple information about the author. As I'm the only one writing articles here, this is a bit overkill, but if people ever publish articles on this blog, at least I'll be able to let them do easily.

{% macro authors_inline(authors) %}
  {% set authors_infos = load_data(path="authors.yaml") %}
  {% for author in authors %}
    {% for author_infos in authors_infos.authors %}
      {% if author_infos.name == author %}
        {% set_global author = author_infos %}
      {% endif %}
    {% endfor %}
<span class="h-card u-author"><a class="u-url p-name" href="{{ author.url }}">{{ author.name }}</a></span>
  {% endfor %}
{% endmacro authors_inline %}

There are a lot more Zola templating stuff involved here. I believe you can however understand or ignor most of it, but wanted to include it if someone having a go at Zola wanted some example. Like the h-card, everything is in a h-entry block. I then use several classes for the different attributes :

  • p-name : Name of the entry, here a post title. Entries could be used for other kind of contents. p-name is also used in other microformats, including h-product or h-recipe.
  • u-url indicates a URL.
  • dt-published : Publication date
  • dt-updated : Last update. This will appear optionally, if the article has been updated.
  • e-content : Body of the article.

Wrap-up

On Tilde Town, you can always access the (non-compilated) sources in /home/ydreniv/tilde-site. Feel free to browse it if you want to know more, or if you read this in the far future, what changes I did bring. I'll be working on a Webmention article for later. It will probably be split in halves. I would talk first about the basic manual setup, then write about how one can automate things. Oh, and lastly, a disclaimer : I'm quite new to IndieWeb, so I may be mistaken on some things. Feel free to contact me if you want to inform me on the subject.

PROJECT SPG

, by Ydreniv

PROJECT SPG is an art project I've begun a couple years ago, though I haven't produced a ton. The core concept is simple : using a lot of Gimp filters. Previously, when producing pictures in Gimp, I've relied on the pencil to create pixel-art stuff. As a challenge to myself, I decided to minimize my use of manual tools, and instead rely on Gimps filters and selection tools. I've still only brushed the outer edge of it.

As I wanted to publish something in the 6th issue of Tilde Town Zine, and faced with very short time, I've decided to create a new piece for this project. My original plan was very different, but a busy month ensured I didn't have time to complete it peacefully, so I put it on standby. Instead, I made the (currently redacted) TSS-001. I am unfortunately under very strict orders to not divulge any information about it yet.

However, there are still news that I can publish about this project : I've created a page on Tilde.Town to showcase the publicly available ones. Each art piece is sorted and put into precise categories. Moreover, they are all composed of a picture and some text. On my computer, they are all organized in a structured folder, with README.md and the like. However, I've decided to put it all on a single page here. Indeed, I want to keep my work more manageable by having a "one page equals one topic". But there was still the question on how to display here, preferably with some cool CSS stuff, as I'm trying to do around here. Given the theme of PROJECT SPG, I've settled on a "green on black computer" aesthetic. And what better than to having a computer inside your computer ? So I created a greyish computer, had it display an overflowing block of contents, and the core of my concept was done. I've added some shadows and reflections on the screen, to better sell the effect. I'm pleased with the end result, although the outer computer is still a work in progress. I want to add a power button and some more texture. But the more important thing is that you may enjoy PROJECT SPG immediately, without having to wait for me to get this page in a more ready form.

In due time, TSS-001 will join its simblings. And from the few information I've got, we've never been closer to said time. I hope to make more in the future, and not only for the Zine.

Hello World

, by Ydreniv

Hello ! This is my first blog post on this website. I will talk about my plans for it.

Current state of blogging

Let's begin by taking a look at my current blogging situation. First off, I currently maintain two blogs : Minis, about wargaming and miniatures, and I am the Fog in the Forest, a music blog. However, I also have a personal website, and this Tilde website as well. I am planning to transfer my personal website from Jekyll to Zola, and I will probably setup a blog on it then. But as you can see with this post, I am also starting a Tilde blog. I'm worried that I'll be able to keep up with so many platforms. However, I'm not planning to regularly update my personal or Tilde blog. Concerning Minis, I'm trying to post a new article every week. I haven't been able to follow this schedule, but I've posted more than an article per month on average, so I'm okay with this. As for I am the Fog in the Forest, until yesterday, it had had no update for more than a year. There are still a couple of technical things to work on, and this has bothered me, to the pouint of not publishing anything. So adding to more blogs may not be the best idea ever. I'll see how that goes.

In the future, I am still not sure what I will post on which platform. I know that I will try to regularly write pieces of fiction. I also want to talk a bit about computer stuff. Yet I am not sure where to put these two. They are well within the genre of content of Tilde Town, so would fit nicely there. But I want to store my projects, whether technical or artistic on my own server, and so talking about them there would make more sense. Thus, my plan is to post news of my projects on my personal server. This would also serve as a sort of portfolio. On this Tilde I would mostly talk about this Tilde, and maybe some silly experiments, smaller pieces of things and various stuff. As you can see, I don't have any clear plan yet, but I'll get there.

The future of this site

Given that you're reading my blog, you may already have noticed that there are several pages on my Tilde site. None are truly finished, but I've fleshed out the basic concept. I want every single page to have a different style, except the blog part. The index is a pink page with a static right column, and a retro vibe. I don't know where this will lead me. For my Ideas page (more on this later), I want to give it the look of a parchment. The colors are there, as is the layout, but I'll need to add the texture and the font. As I want to keep it as lightweight as possible, I don't want to have a 4K parchment texture background image, so I don't know yet how I will do this. The last page I have created so far is this blog, or rather, this newspaper. This is quite simple to do, and I'd say 95% of it is done.

Lucidiot, the one who introduced the concept of tildes to me, maintains a list of his ideas. They are mostly the abandoned ones, given to the public, and with some explanations about what made him abandon them. I think it's neat, both on a personal scale and on a public one. Such a list allows to get an overview of things one has undertaken, with a reminder of the purpose of the project as well as the challenges. It also means anyone can come and potentially finish one of the ideas one day. I've decided I'd do an idea page as well. For now, it's mostly new ideas, that I haven't even started. This serves both as a project todo list and as a brain dump. Indeed, the issues with ideas is that I don't want to abandon them. If I don't write them down, they will just poison my mind, until I forget all about them. By giving them such a space, it should ease my mind.

In a similar vein to this ideas page, I've started a question section on my homepage, which will eventually become a fully-fledged page. I will write there things I wonder, but haven't got time to do research yet. If anybody reads it and has some answers, or elements of them, I'd like to be contacted to get them !

Another thing I want to work on there is feeds. I've been using feeds for years, and I regret that they aren't more used on the web. Too often, I find blogs, or websites posting news on a subject, and they don't have any kind of feeds. It's usually because of a lack of time by the webmaster, or a will to monetize content by having people come directly to the site. The latter is quite a bad capitalist practice in my opinion, and social media have made it worse. So I try having feeds on my weblogs. For now, every static-site generator I have used had this feature, so setting this up has been relatively painless. With Zola, all I needed was to add a line in the config.toml file :

generate_feed = true

But while I was at it, something came to my mind, which I immediately wrote to my ideas : between my blogs, Github, Gitlab, Wikipedia, Openstreetmaps and all kind of other accounts, I probably generate quite a number of feeds. I'd like to list them, and see if that tells me something.

Tilde Town

I've been on Tilde Town for about a week now. It's a nice place, and there are lots of cyberstuff to learn and experiment with. I'm not the most outgoing person, and my time has been taken by various other activities, but I've still been able to mail a couple people and chat on IRC. So far, I'd say my presence here has been quite positive to me.