What are you doing this weekend?
13 points by marcecoll
13 points by marcecoll
Feel free to tell what you plan on doing this weekend and even ask for help or feedback.
Please keep in mind it’s more than OK to do nothing at all too!
Sorry @caius, but it seems like you are busy!
It may be a bit late for what are you doing, so in that case you may turn it into what have you done this weekend :)
I rented a very beefy 64 core 256 GB RAM hetzner server for my and my partner projects and I’m taking the chance to learn illumos stuff. I installed omnios on it.
So far it’s been honestly incredible, zones, zfs, dtrace, and the whole virtualized networking stack are very well designed and a joy to work with. So far I’m extremely impressed and happy with the decision.
Before going to bed I was writing some dtrace scripts to peruse into what postgres was doing, what an incredible tool.
I may write some of what I’ve been learning, even if it comes from a complete newbie in the space
how much does that beefy server cost?
from server auction it’s ~140 eur/month
holy sh that’s like 1/10th-1/20th of what one pays on Azure for the same specs. Do you have to commit to Hetzner servers for a period?
Dedicated servers can be very cheap if you don’t have very specific requirements in mind. I recently started renting a machine from OVH that has 4 2TB disks, 8 Broadwell cores, and 32 GiB of ECC RAM. It’s costing about £20/month.
I suspect my free Azure credit is coming to an end soon, so I’m migrating a couple of VMs off there. They’ll happily run in a corner of the new machine.
I mostly wanted big disks for off-site backups from my NAS. I’ve set it up so that it exports a ZFS volume as an iSCSI share to the NAS over wireguard. The NAS then uses GELI to create an encrypted volume and runs a ZFS pool on it. It can then replicate some filesystems from the local pool to the one mounted over iSCSI. The remote machine can snapshot the zvol, so if anything goes wrong on the NAS and things are accidentally deleted, I can roll it back, but the GELI encryption means that the remote machine can’t see any of the data stored there.
OVH’s front-line support are a bunch of clowns. Their network has an issue with large packets (incorrect TCP fragmentation and dropped packets for UDP) between their UK and Canadian networks (if anyone from OVH reads this, ping me and I can send you the IP addresses of two of your nodes, the problem is somewhere between them but entirely on your network). The front-line support people refuse to elevate to someone who knows what they’re doing unless I follow their script to run tests that won’t show the problem.
Yeah, Hetzner is awesome. If you only need 128gb, I’m paying 48.04€/month. It’s so cheap that even though it’s insanely overkill for me, I don’t really feel like moving to a smaller server. Right now on the auction I would only shave 2€ and keep having 2x1tb SSD if I went with 64gb (the specific auction servers have additional disks, though).
Quite jealous with your experimentation. I played with SmartOS a ton of time ago and I found it futuristic.
I’ve always wondered how well Linux zones work. I’m happy with Proxmox because of ZFS on root and LXC support, but I’m pondering a move to Incus. If Linux zones were “flawless”, SmartOS would be extremely tempting.
(I could run Incus inside a Linux VM, but that sounds too much.)
I tried running OmniOS on Hetzner hardware a few years ago and had difficulties installing it, how did you do that? (Perhaps it was just incompatible hardware and is fixed now with newer generations…)
I asked for a KVM to be attached to the server (free for the first 3 hours), then installed as normal by attaching the ISO to the KVM, that required opening the boot menu and forcing booting from the virtual cd drive, the default boot order doesn’t work. Then I installed as normal, configured the networking with the same values I got from the rescue image beforehand. On restart you need to change the default boot order to boot from one of the drives, since by default it goes to the intel boot manager and it doesn’t see the OmniOS bootloader.
After that one thing that tripped me is that it looked like the boot sequence got stuck, I spent quite a bit trying to debug or fix this, in the end it turns out that OmniOS doesn’t turn on VGA by default, so the KVM saw the last image before OmniOS booted and it looked like it was stuck there. Thankfully I had a ping on another terminal to the server and I saw it start responding after a while. Turns out the boot was working and when I attempted SSH’ing into it it worked.
Beware because changing the default boot order will make it not possible to start a rescue image unless you also ask for a KVM to be plugged, since the intel boot manager is the one that will load the rescue image when one has been asked. I found this out because at some point I messed up a ipnat redirect config by not specifying the port of the redirect, causing all tcp to be redirected to a zone I had setup for an HTTP server, so I could no longer SSH into it.. I had to ask for another KVM, ask for a rescue image, force boot using intel BM, log into the rescue image through SSH, mount the ZFS filesystem (it has to compile OpenZFS since the image itself doesn’t have it), and modify the ipnat config.
It takes a bit of work, but with the KVM and some time it’s very much worth it IMO.
Yep, I believe back in the day, Hetzner KVMs were not free. I installed my first Proxmox on Hetzner by following a tutorial that installed QEMU on one of their live environments, mapped the physical drives, and exposed a VNC console for remote access. Nowadays it’s just easier.
(If your dedicated hardware does not have free KVM, you likely can use the QEMU trick anywhere.)
I did first use the qemu-kvm trick, however it wasn’t booting because I still needed the KVM in order to change the boot order, so in the end I recommend the KVM directly.
I’m currently challenging myself to use only Emacs as my non-work editor. I’ve used it before with Evil, but I always eventually bounced off it, due to the fact that Evil (quite understandably) doesn’t play nicely with all packages.
So recently I pushed myself through the tutorial and since then I’ve been using it with its default mappings. It’s not entirely painless, the bindings were clearly made with the US layout in mind, but it’s not nearly as bad as I expected. My biggest issue so far is occasionally pressing M-d and M-k instead of C-d or C-k.
And since to use an editor you need a project to work on, I started working on a very simple Gemini browser in OCaml using the delightfully simple ocaml-ssl as its only dependence. At the moment it can send requests, handle some basic response codes (2X, 3X, and 5X), parse and display gemtext in a format I find pleasant, and allows the user to navigate using the links found on the page.
I don’t expect it to be more than a couple hundred lines of code when it’s finished, but it’s both a project that I find exciting to tinker on and it’s complex enough to require plenty of time editing, especially since I’m very new to OCaml and don’t yet have the intuition for what’s good code and what isn’t.
i’m working on my SSG, flower. the next big feature is syntax highlighting using treesitter, and after that i think it will work well enough that i can publish jyn.dev using it :)
there’s lots of cleanup left to do, but it’s mostly cleanup, not major new features. the exceptions are white space handling and HTML escaping, and i don’t need those myself, they’re just things friends have asked for. so i’m going to add them later.
the escape character is
◊
I love seeing folks use non-ASCII. This diamond is also the statement separator in APL which is interesting seeing it lead statements.
Hopefully wrapping up some Miniflux contributions and getting the commits re-arranged with jj
so that I can test and PR sometime this week.
Otherwise just grinding ascents in PEAK and patiently waiting for the Vintage Story update to drop.
Hanging out in a corner of Iceland (until next weekend) and going through the Uiua tutorial again. Inverses, subscripts, my this language has grown since last time I looked at it.
Oh yeah, I only first took notice of the language after inverses were already a thing, but the development is so rapid and experimental that I find it hard to keep up with it. Still a very cool language that I find takes a refreshing turn on APL-like languages.
Writing a conf presentation about hardware security modules, Secure Enclave in particular. So let’s clear up a popular misconception: your keys don’t actually get stored in the SE. It generates a key and encrypts it using its internal secret, so it’s stored in regular flash memory but completely useless unless you load it back into the same SE that generated it to perform cryptographic operations. Apple’s implementation is unusually picky that you can’t import an existing key, only create a new one, thereby cutting off any practical chance that a key it’s managing could be leaked or stolen.
Just to make sure I’m understanding right… the SE has a singular unique per-chip key burned into it, and then will generate a new key (encrypted with the chip key) that gets written to regular flash? That makes a ton of sense to me because it allows the key to get rolled (destroying all of the data encrypted with the old key) without needing to encrypt the new data with the same key and without the SE needing to store the key in some kind of integrated non-volatile memory.
Cleaning up my basement office, apparently. Mice. 😬
I knew there were mice in the basement, but I only saw them in one room that I kept closed off and set traps in. And my cats roam the rest of the house and the basement, so I assumed the mice wouldn’t venture elsewhere. So I foolishly ate snacks in my office, usually tea and biscuits. And then one morning I find mouse poop in a cup that I left on my desk, and a whole trail of it leading to a corner, where a mouse had dug a hole in the corner of the vinyl cove trim…
I quickly ordered steel wool, spray foam, and a UV flashlight to find everywhere I need to clean. And I need to start setting a lot more traps.
A week or two ago I started implementing a formatter for my programming language, in itself.
I’m still working on it. It’s going quite well. I can already format the whole language but the formatting is not ideal yet. I don’t expect to generate perfect output in this version, it should just generate correct code and shouldn’t drop any comments. Tomorrow is holiday here so with luck I may be able to finish it this week.
I’m recovering from a fever and haven’t been very productive at all since the middle of the week. So I haven’t really progressed with either my tail call panegyric blog or my retroish FP language Nib, which are my main focuses currently. I still haven’t researched blog software, I may just use mdbook since I know that. I did nab a domain for my language. While it’s far from a state where it needs or wants a website, I’m a complete sucker for short domain names, and when I saw that I could have nib.cx for €15/year I pounced. I’m not going to need it for the language for several months if ever, but I could put the blog there, or run an url shortener, or something.