hmm I might have forgotten to publish the source for this for a while

This commit is contained in:
Wxcafé (Clément Hertling) 2017-07-28 02:27:16 +02:00
parent 3612fce95e
commit 641d4145ba
8 changed files with 356 additions and 51 deletions

View File

@ -13,6 +13,6 @@ echo "Title: $title" >> $filename.md
echo "Date: $(date -Iminutes)" >> $filename.md
echo "Author: Wxcafé" >> $filename.md
echo "Category: " >> $filename.md
echo "Slug: " >> $filename.md
echo "Slug: $filename" >> $filename.md
echo -e '\n'>> $filename.md
vim +7 $filename.md -s <( echo -n A)

View File

@ -0,0 +1,78 @@
Title: IPv6 at Online.net, with libvirt
Date: 2017-07-14T00:21+02:00
Author: Wxcafé
Category: tutorial
Slug: ipv6_at_online.net,with_libvirt
So, I have this server at [Online](https://online.net), a french hosting
company, part of Illiad. They do an all-around amazing job hosting servers,
their interface is great, they datacenters are top-notch, etc.
But like every other hosting company out there, IPv6 isn't yet a first-class
citizen. Oh, it's supported all right. The official way to make it work involves
not one, not two, but *three* configuration methods:
- The address must be configured statically, manually
- They use Prefix Delegation (PD), so you have to run a DHCPv6 client to get the
prefix delegated to you
- And then you need to get a default route, and since they don't implement the
DHCPv6 extension for this (yet?) so you have to accept SLAAC (stateless
address autoconfiguration) Router Advertisements (RAs).
So, generally, on Linux, this is a bit of a hassle. You come and configure your
static address, the kernel accepts RAs by default so that's taken care of, and
then you configure a DHCPv6 client (they have a nice tutorial for that) and
you're good to go.
Of course, there's a catch: the title of that post says "with libvirt" and
I wouldn't have written a blog post to tell you "they have a good tutorial, just
follow it!".
So libvirt is a common interface for a bunch of virtualization technologies
(Xen, Qemu/KVM, bhyve, virtualbox, etc...). It also does a bunch of nice stuff
for you, like set up a SPLICE or a VNC server for each VM, handle the resource
management in a standardized way, all that stuff. But it also handles the
network stuff for you. Which is really nice in a way, since it sets up a bridge
for the VMs to communicate, firewall rules for forwarding and stuff, a DHCP
server for the VMs, etc. And you can configure it however you want! I can just
bridge out to the NIC, or setup a v4 NAT, or whatever. It's really nice. But
then you turn on IPv6 on your libvirt network config. And just like that, poof,
your host v6 connectivity goes down.
That's weird. Reboot, the v6 connectivity doesn't even go up! Even tho you have
an address and ... wait, the default route is gone?
Yeah, so *here's* the catch. libvirt, when it starts up and one of the
configured networks has v6 enabled, launches a Router Advertisement daemon
(radvd) and starts sending RAs to *all host interfaces*. **TO ALL OF THE HOST'S
INTERFACES!!** But it doesn't know any default route to advertise to the egress
interface, so it just sends a RA without a default route. And, of course, Linux
sees that and overwrites the old default route it received from the older RA,
cause *of course* a newer RA would have better information, *even* if it says it
has no route.
Anyway, so now there isn't an easy answer to this, so I went the cheap and
dirty route : I disabled the libvirtd service, and wrote the following into my
`/etc/network/interfaces`:
```
iface eth0 inet6 static
address 2001:bc8:30b9:<whatever>/64
accept_ra 2
post-up ip6tables-restore < /etc/ip6tables.conf
post-up sleep 30; \
echo $(ip -6 r | grep default | cut -d ' ' -f 3) > /tmp/v6_route ; \
systemctl start libvirtd; \
sleep 10; \
ip -6 r a default via $(cat /tmp/v6_route)
pre-down ip6tables-save > /etc/ip6tables.conf
```
(yeah, I know the code block is )
So, okay. Please, consider this. Yes, this is absolutely disgusting. But it
*works*.
Please don't hit me
Anyways if you were looking for a way to make this work, here it is.

81
content/mastodon.md Normal file
View File

@ -0,0 +1,81 @@
Title: mastodon
Date: 2017-05-20T18:18+0200
Author: Wxcafé
Category:
Slug: mastodon
...
So. What have I been up to these last weeks, you ask (or maybe you don't care,
in which case I'm gonna tell you anyway, cause it might still be interesting to
you).
Also, why am I writing this blog post? Why, you see, I made a promise of some
kind (I'm also kinda cheating here, but whatever). I have a patreon now
([here](https://patreon.com/wxcafe)). I ask for money to fund the Mastodon
server I'm running, [here](https://social.wxcafe.net), that has almost 900 users
at the time of writing. I say *server*, but it's actually **servers**, since I'm
also hosting [this one](https://imaginair.es), less generalistic and more geared
towards creators and people who enjoy what we call "les cultures de
l'imaginaire" in french, which loosely include SF/Fantasy type settings, role
playing games, TCGs, etc. More on that one soon, but for now let's stay on
subject : why am I writing this blog post? Well, enough people were nice (or
foolish, depending on your opinion of me) enough to give me money that now
I have to keep my engagement to write a blog post a month (which means you'll
see way more posts since the last one is from... february (and I had to check)).
Anyway, yeah. That's mostly what I've been up to these last few weeks. I've
started hosting a mastodon server on social.wxcafe.net about a month back, I've
spent a while working on the mastodon codebase and issue tracker (I haven't had
time to do that as much as I'd like lately, I've been working on other project
with more urgent deadlines...), and the imaginair.es project started developing
with the help of [Ekzael](https://imaginair.es/@Ekzael) and
[Eutrapélie](https://imaginair.es/@Eutrapelie) about two and a half weeks ago.
I then worked a bit on automation and stuff (more on that soon) and the
imaginair.es mastodon instance was launched about a week and a half ago.
So, about imaginair.es. The idea with this is not to make it a single mastodon
instance, but rather to have it be a nebulæ of mastodon instances. Basically,
the main domain is to be an open discussion board, with creators and people
interested, as I said before, in SFF, etc. But then, seeing how mastodon could
be amazing for role playing, subdomains are available for, well, roleplaying
groups. Meaning you can get your own mastodon instance for your RP/RPG group,
and play online through that. I don't know about you, but I think that mastodon
would be a pretty nice medium for that. Anyway, I'm going to talk about the
technical details now so if you don't care skip the next two paragraphs.
So, how do I plan on running that many mastodon instances (ah, the rethorical
question, best friend of bloggers)? Well, that question requires a bit of
insight into how Mastodon works. First, Mastodon is comprised of three services:
web workers, a sidekiq process, and a streaming (websocket) server. Combined,
without much activity, these use up about 1 gig of RAM. I rent a [Dedibox Classic
2016](https://www.online.net/en/dedicated-server/dedibox-classic) at Online.net,
a french provider. That server has 1 Xeon (6C/12T) at 2.2Ghz and 32 Gigs of RAM.
That means that I should have enough memory to run 32 low-activity servers,
which typically RP servers should be. That would be if I did traditional
virtualization (Xen, etc), but not with KVM/Qemu, because Linux now has
a feature called KSM (Kernel Samepage Merging), that allows it to merge memory
pages that are the exact same. Meaning if I run 10 mastodon instances on that
same server, that are all copies of one another, it **should** use only 1 gig of
RAM. Of course, since users are present and different from instance to instance,
since the content they post isn't the same either, and since the system (like
all systems) isn't perfect, its not 100% efficient. But I can envision hosting
at least 100 instances on that server, for about 30€/month.
"But isn't that a security problem?" I hear you ask. Well, yes and no. Yes, it
could be a security problem, it *sounds* less secure than strictly separating
each VM and never letting them interact through the hypervisor. **But** given
the number of high-profile providers who use KVM/Qemu with KSM, I feel pretty
secure using it too, and we've seen more bugs in Xen than in KVM/Qemu (I'm talking
about KVM/Qemu specifically here, not about the kernel itself...) in recent
years. Anyway, if someone manages to get a shell on one of these and then gets
root and then uses KSM to jump between VMs and/or escape the VM entirely **AND
THEN** gets root on the host, well, I can only pray they're not pissed at me
enough to fuck with my other machines.
Anyway, so here are the projects I've been working on these last weeks. I'm
gonna continue working on these, of course, even tho I have some more pressing
projects right now, and I hope then can be useful to some people. If you'd like
to join either, feel free, of course, and if you'd like to get a private RP
instance, HMU at [@wxcafe@social.wxcafe.net](https://social.wxcafe.net/@wxcafe)

View File

@ -1,73 +1,81 @@
Date: 2016-04-08 01:43
Title: A propos
Title: About
Slug: about
Author: wxcafé
Category: Perso
Wxcafé, c'est moi.
------------------
Je m'appelle Clément Hertling, je suis né en 1995 (oui, ça m'évite de devoir
mettre à jour cette page régulièrement), et je suis étudiant en DUT à [Paris 12
(UPEC)](http://www.u-pec.fr), après un an de prépa integrée
a [Épita](http://www.epita.fr). Je vis actuellement a Villejuif, près de Paris,
en France.
Je suis enthousiaste dès qu'il s'agit de jouer avec des ordinateurs, que ce soit
avec des systèmes d'exploitations (et particulièrement les UNIX-like : Linux,
\*BSD, OS X, Plan 9, ...), mais aussi avec le réseau et son administration
(principalement couches 2 et 3, routage et commutation).
Bref, j'aime les systèmes : les observer, les démonter, les remonter, et les
comprendre. Ça s'applique aussi bien aux systèmes d'exploitation ou au réseau,
comme dit plus haut, mais aussi à la sécurité, ou bien même à des systèmes non
électroniques : je suis aussi très intéressé par l'horlogerie, par exemple, ou
par les jeux de rôles, qui sont aussi en quelque sorte des systèmes (de jeu,
mais des systèmes quand même).
Je suis aussi intéressé par le hardware, que ce soit de l'embarqué ou bien des
serveurs, et dans une moindre mesure par l'électronique. Je fais un peu (et de
plus en plus) de programmation, principalement en python et en Rust. Je
m'intéresse beaucoup a la théorie de la programmation, toutefois, et j'aime
beaucoup la programmation fonctionnelle.
J'aime aussi écrire a propos de ce que je fais, et de mes pensées sur la
technologie en général, et c'est ce que je fais (parfois) ici (et a d'autres
endroits sur d'autres sujets.)
Vous pouvez aussi me lire sur Twitter, c'est un moyen de communication que
j'utilise beaucoup. Les liens sont dans la barre a droite. Si vous voulez me
rencontrer IRL, vous pouvez m'envoyer un mail.
*-- Mis à jour pour la dernière fois le 2016-04-08 01:43*
Wxcafé, that's me.
------------------
I'm Clément Hertling, I was born in 1995 (this is totally a trick not to have to
update this page regularly), and I'm a student in a technical
update this page regularly), and I'm a student in a technical
formation at [Paris 12 (UPEC)](http://www.u-pec.fr). Before that I did a year of
preparatory school at [Épita](http://www.epita.fr), a engineering school. I live
in Villejuif, near Paris, France.
You can find my resume in english [here](https://pub.wxcafe.net/resume_en.pdf).
I try to keep it up to date, and it should be most of the time. The code is
[here](https://git.wxcafe.net/wxcafe/resume) (might be a bit slow...)
I'm pretty enthusiastic about playing with computers, whether that
means operating systems (and more specifically UNIX-like OSes : Linux, \*BSD,
OS X, Plan 9, ...), or networks and their administration (generally speaking,
layer 2 and 3, routing and switching).
Well, I like systems : watching how they work, tinkering with them, and in the
layer 2 and 3, switching and routing).
Well, I like **systems** : watching them work, tinkering with them, and in the
end understanding how they work. This means OSes and networks, as I said before,
but also security, or even non-electronic systems : I'm very interested in
watch-making too, or by pen and paper role playing games, which are also
systems, in a sense. Game systems, but systems nonetheless.
watch-making too, or lockpicking, or even pen and paper role playing games,
which are also systems, in a sense. Game systems, but systems nonetheless.
I'm also interested in hardware, be it embedded systems or servers, and to a
smaller extent in electronics. I also do a bit of (but more and more)
programming, mostly in python and Rust. I'm very interested in CS theory,
though, and very much so in functionnal programming.
smaller extent in electronics. I also do a bit of programming, mostly in python
and Rust. I'm very interested in CS theory, though, and very much so in
functionnal programming.
I also enjoy writing about what I do and about my ideas on tech in general, and
that's what I (sometimes) do here (and in other places, but on other topics).
You can also read my thoughts on twitter, it's a communication medium that I use
a lot. The links are in the sidebar. If you want to meet me, you can send me
an email.
You can also read my thoughts on Twitter and Mastodon, I use those
a lot. The links are down in the footer. If you want to meet me IRL, hit me up
by email.
Sorry all the posts here are in French, btw. I'm thinking about starting to post
in English, but for now it's all in French. Maybe try Google Translate?
*-- Last updated 2017-05-23*
*-- Last updated 2016-04-08 01:43*
Wxcafé, c'est moi.
------------------
Je m'appelle Clément Hertling, je suis né en 1995 (oui, ça m'évite de devoir
mettre à jour cette page régulièrement), et je suis étudiant en Licence Pro
à [Paris 12 (UPEC)](http://www.u-pec.fr), après un an de prépa integrée
a [Épita](http://www.epita.fr) et un DUT Réseaux et Télécoms. Je vis
actuellement a Villejuif, près de Paris, en France.
Vous pouvez trouver mon CV en français [ici](https://pub.wxcafe.net/resume.pdf).
J'essaie de le tenir a jour, et ça devrait être le cas la plupart du temps.
Le code source est disponible [ici](https://git.wxcafe.net/wxcafe/resume) (ça
peut être un peu lent...)
Je suis enthousiaste dès qu'il s'agit de jouer avec des ordinateurs, que ce soit
avec des systèmes d'exploitations (et particulièrement les UNIX-like : Linux,
\*BSD, OS X, Plan 9, ...), mais aussi avec le réseau et son administration
(principalement couches 2 et 3, routage et commutation).
Bref, j'aime les systèmes : les observer, les démonter, les remonter, et les
comprendre. Ça s'applique aussi bien aux systèmes d'exploitation ou au réseau,
comme dit plus haut, mais aussi à la sécurité, ou bien même à des systèmes non
électroniques : je suis aussi très intéressé par l'horlogerie, ou le
crochettage, voir même par les jeux de rôles, qui sont aussi en quelque sorte
des systèmes (de jeu, mais des systèmes quand même).
Je suis aussi intéressé par le hardware, que ce soit de l'embarqué ou bien des
serveurs, et dans une moindre mesure par l'électronique. Je fais un peu (et de
plus en plus) de programmation, principalement en python et en Rust. Je
m'intéresse beaucoup a la théorie de la programmation, toutefois, et j'aime
beaucoup la programmation fonctionnelle.
J'aime aussi écrire a propos de ce que je fais, et de mes pensées sur la
technologie en général, et c'est ce que je fais (parfois) ici (et a d'autres
endroits sur d'autres sujets.)
Vous pouvez aussi me lire sur Twitter ou Mastodon, j'écris (bien) plus sur ces
médias qu'ici. Les liens sont dans le footer. Si vous voulez me
rencontrer IRL, envoyez moi un mail.
*-- Mis à jour pour la dernière fois le 2017-05-23*

View File

@ -0,0 +1,46 @@
Title: RPGs, teardowns, ...
Date: 2017-06-16T21:52+0200
Author: Wxcafé
Category:
Slug: RPGs,_teardowns,_...
It's starting to look more and more like a real blog here, I make less posts
about a specific thing and more about what I've done recently. I mean sure it's
only been two months but still.
Anway. What'd I do this past month? Well, not much. I didn't get much time,
cause of school work. Thankfully tho I'm done with that for a while.
Anyways, here's what I *did* do:
- First, I made a bunch of posts (in french) abour pen and paper RPGs on
[that hashtag](https://imaginair.es/tags/unjourunjdr). These talk only about
indy RPGs that I like, and there's like 6 of them. I stopped doing them when
I started working on the school stuff, but I might start again (not once a day
tho, but still) in a while.
- I also moved social.wxcafe.net from a VPS on Vultr to a VM on the same server
that hosts imaginair.es
- Since this, I also moved that server to another one, still at Online.net,
taking advantage of the summer sales. I've been having some issues with IPv6
recently for some reason, but I'm still debugging that for now. It's not that
much of a blocking bug, as I can just reboot and that fixes it, but it's still
2-5 minutes downtime every time the IPv6 disconnects, and it's a bother.
I didn't have that problem on the older server for some reason, with the exact
same configuration. But yeah IPv6 with Online.net has always been finicky, so
I guess it's to be expected. I'll try to spend some time fixing this in the
next month or so... But it might just end up working fine on its own after
a while. IDK.
- uh I guess that's pretty much it? I've painted some miniatures at
https://imaginair.es/@wxcafe, too, and I'm pretty excited for HOU prerelease,
but that's beyond our concern here I think.
Hmm. That doesn't feel a lot like a real blog post. I might just do another one
in the coming days, but that's all I got for you for now.
See ya...
P.S.:
Oh wait I said I'd talk about teardowns! I'll do that in that next post then.
Not only does that clearly separate concerns, it also makes this post have
a great misleading title, which is perfect.

View File

@ -0,0 +1,91 @@
Title: So I got an iPhone
Date: 2017-02-11T17:38+01:00
Author: Wxcafé
Category: misc
Slug: so-i-got-an-iphone
So I've been using an Android phone since I got an HTC Desire HD, I think in
late 2010, so for a little over 7 years. I went from 2.2 Froyo to 6.0.1
Marshmallow, and used basically all of the versions in between except
Honeycomb (3.x).
Before that, I had an iPhone 3GS, which I had a great deal of fun jailbreaking
on iPhone OS 3.1.2/3.1.3, and gave up at the end of iOS 4.
Of course, I had a lot of fun playing with the android phones too, flashing the
bootloaders, installing "custom ROMs", and even different OSes on some of them.
That was all fine when I was looking to *play* with my phones, I had *time* to
do so, and it didn't really matter to me if things were broken half the time.
I'm not in that situation anymore. As sad as it makes me to admit it, android,
or at least the experience I've had with it, doesn't work consistently. There
are always small things that are broken that you have to constantly fix. There's
always that *thing* that should work fine but doesn't. And then there's the
security aspect, which, I'm not even going to *try* going in there. Go look at
the list of CVEs on Android, look at those that are over severity 9, and have
a good laugh (or a good scare I guess).
Anyway, my phone (a Moto X Play, so supposedly a pretty flagship, not too
modified android phone) was starting to require a reboot a day to keep on
receiving texts, which was /a slight problem/ to me. I couldn't fix it by
installing a clean "ROM", because for all the ones I've tested with this phone
either the radio (so 2G/3G/4G) OR the wifi stops working, which is, as they say,
not optimal. I tried to fix it, nobody had the same problem, I couldn't figure
out where it was coming from, whatever.
So I got an iPhone. Of course, another part in this is that I now have a regular
income, so buying an iPhone doesn't mean eating pasta for two or three months
anymore.
Anyway. I bought an iPhone SE, because I want a headphones jack, and it was
cheaper. I can't just churn out 770€ for a phone, even when I have regular
income. My first impression of that phone was that it was very lightweight, the
screen was pretty small, and it looked and felt very good. Everything looks like
it makes sense, on that phone.
The "first time on" experience is very good, with everything working fine, no
popups interrupting you from typing, the importation of data from your old phone
(be it an Android phone or an iPhone) is very easy and works perfectly. The
settings are all in one place, the third-party software works generally better
than on Android (okay, my bank's app doesn't work that well, but what do you
expect from a bank...). I have working push notifications in all my messaging
apps. My emails are not in an app called "Gmail", but in an app called "emails".
I don't need a google account to use my phone. I *need* an apple account only to
get apps, but since that's all I do with apple they have far less information on
me than google has in the same situation.
For some reason, even though the screen is smaller, the soft keyboard seems to
work better for me, I hit the keys that I want more often, which is a pretty
important thing because autocorrect doesn't always work for me, since I type in
two languages using the same keyboard. AUTOCORRECT WORKS FOR MULTIPLE LANGUAGES
OUT OF THE BOX! You don't need to download a recent update to Google Keyboard to
be able to enable it in a submenu of the settings, you just get the dictionary
and it starts correcting in multiple languages.
Okay, let's talk about things I miss:
Firstly, I miss having [Twidere](https://github.com/mariotaku/twidere) with an
official twitter API key. Being able to have all the features of the official
twitter client in an app that doesn't suck (and Twidere is actually amazing).
I use [Tweetbot](https://tapbots.com/tweetbot/) instead, and it's great, but
since it doesn't use the leaked official Twitter API keys, it can't do what
Twidere does. I guess that's on twitter being assholes.
Secondly, I miss being able to copy files from my computers to my phone. Android
phones use MTP, which is a shitty protocol but works with Linux and Windows (and
very badly with OSX). iPhones use the iTunes sync thingy, which works for OSX
and Windows as long as you have iTunes installed, aaaaaand doesn't on Linux.
Well, there's [libimobiledevice](http://www.libimobiledevice.org/), which at the
time I was using an iPhone 3GS was described as "teaching penguins to talk to
fruits". It works, but the version packaged on debian is not the latest one, so
it can't talk to iOS 10. I tried installing the latest one manually, which
worked, but for some reason the desktop still can't detect the iPhone, so I can
mount it with `ifuse` but I can't do anything with it since none of the software
that could use that mount actually detect it. Anyway.
Third, I miss... wait, no, actually, I think that's it. Everything else works
just the way I want.
Anyway, that was the story of how I got an iPhone. I won't be jailbreaking it,
but I'll be posting stuff here if I find out how to make that thing work with my
Linux computers.

View File

@ -37,6 +37,7 @@ MD_EXTENSIONS = [
# Social
SOCIAL = (
('twitter', 'https://twitter.com/wxcafe'),
('pencil-square-o', 'https://social.wxcafe.net/@wxcafe'),
('github', 'https://github.com/wxcafe'),
('envelope', 'mailto://wxcafe@wxcafe.net'),
('key', 'https://pub.wxcafe.net/wxcafe.asc'),

Binary file not shown.