🥾📟 Unreview: Dino Defenders

Dec. 22nd, 2025 11:25 pm
solo_knight: (Complaint)
[personal profile] solo_knight
Unreview: Dino Defenders

Game Description )

This needs too much brain. I am not familiar with Blackjack, and the rules are not fully explained – there’s talk of ‘he sticks’ and I have ZERO idea what that could mean. Googling ‘Blackjack stick’ brings up a) candy, and b) a whole category of weapons (lead-filled?), so I’m still completely in the dark what that actually means, and it’s coming up to my bedtime and I just can’t be bothered to search more. (There’s also a mentioning of ‘twisting’. This may or may not mean pulling additional cards (there’s a hint) but I am not certain.)

Also, apparently you play ‘[author’s] blackjack’ which, for some reason, pisses me off.

So the general idea is pretty interesting – you construct a dinosaur by distributing three stats (Brain, Heart, and Teeth) – and having a card mechanic for determining not just the location of your encounter but the strength of your enemies (2-5: 1 enemy, Face cards: 2, 6-10: 3, Ace: 4) isn’t the worst I’ve seen either.

I don’t know how well the ‘play blackjack against yourself’ will work for someone who understands blackjack; it doesn’t work for me at all.

Chalk this up as another game I wanted to like, but it’s not a game, and I don’t like it.

MidWinter

Dec. 21st, 2025 02:11 pm
ludy: Close up of pink tinted “dyslexo-specs” with sunset light shining through them (Default)
[personal profile] ludy
Happy Solstice everyone. Wishing you Shininess

(Obviously Happy Midsummer rather than Midwinter to anyone in the Southern Hemisphere)

I am getting to Floomp rather than do a lot of Festive Stuff and Things - which is what I need right now. The first slightly-more-than-half of my year was very intense and I’ve been in rest mode since (and have not had great luck with my physical health although thankfully nothing too serious). So even though there’s some things I’m disappointed not to be doing (I’d really like to get to have some more in-person time with ClosePeople) overall this is the right shape of Solstice for me this year. There are tasty snacks, candles, fancy bath products and a lot of duvet time

Hope you all get to have whatever Festiveness you celebrate being the shape that you want and need

And breathe...

Dec. 20th, 2025 11:42 am
wildeabandon: picture of me (Default)
[personal profile] wildeabandon
Classes for the first semester are done, and I'm back in the UK for Christmas. According to my study schedule I'm about 8 hours behind on where I should be at this point, but said schedule also assumes that I don't do any schoolwork between now and my return to Belgium on the 29th of December, so I should be able to get caught up without too much difficulty. I am feeling pretty pleased with myself for a)having made a realistic schedule for the semester, and b)having pretty much stuck to it - sometimes getting a day or so behind, but never more than that, and occasionally actually getting a couple of days ahead. It's also been quite helpful at times when I've definitely felt as though I was getting behind to be able to look at it and say "No, actually I'm on track to get everything done as long as continue to work at the same rate as I have been doing so far."

I didn't manage to get to the conversation table I had planned for last week, because I stayed up too late the night before and then spent the day translating Ugaritic tablets, which meant I had absolutely no brain left by the evening, but I shall try again in a couple of weeks. I did go to the cabaret on Sunday evening, which counts both as 'doing a social thing' (albeit with someone I already know, which is much less stressful), and 'practising my French' (albeit largely receptive rather than productive).

The big food order arrived this morning, and I've just got two more presents left to buy, and one to finish crocheting, so that's my plan for today, and I think I'll then be basically ready for Christmas. Tomorrow I'm heading to York for the day, to see [personal profile] leonato in "Anything Goes", which should be a lot of fun.

12 Months of Solo RPGs

Dec. 18th, 2025 08:36 pm
solo_knight: (solo_knight)
[personal profile] solo_knight
So yes, I vanished for a while, am trying to finish and post the half-written posts I made earlier, and get back to blogging. I’m fine, everyone is fine, I just had zero capacity for anything that needed brain and concentration.

where I'm at )

I’m enjoying the casual format of this blog so far and intend to keep up this series; I love discovering new and weird games in bundles.
But I also want to be a bit more focused in my hunt for a solo practice that suits me, and thus I am going to try something new: every month in 2026 I want to focus on one play style/mechanism/type of game.

(This month, or what’s left of it, is reserved for generic Solo RPG resources).

I have no idea how long I will follow this plan, whether I'll get through all of it, and when I’ll abandon it (with the 20x24 I always seem to crash in July/August), but it’s better than no plan.

Twelve months, one rough plan )

We'll see how it goes, and what, if anything, I will plan for 2027.

One thing I think will help is that I can pre-select resources; write down the ones that are most interesting to me and thus start each segment of the year right off the bat, instead of desperately around for resources on the day.
solo_knight: (Default)
[personal profile] solo_knight
This is a very very long video. I’ve watched the first half hour or so (you can skip the first five minutes).

This uses a short version of Mythic 2e GME, While I use Mythic as part of my solo play, this is a very different style: The player keeps asking questions (who am I? Am I a giant? Am I a giant in a particular world? What just happened? Did I kill someone?)

At some point (especially now that I have grabbed Mythic and its friends) I will try to run a game with nothing else (I’m currently using Mythic as occasional part of the DnD game that I run for [personal profile] caper_est, and to supplement my Tiny Dungeons adventure, such as it is, and to get myself unstuck in other games).

Finding out things about the story that you didn’t put into it is exciting. On the other hand, this guy rolls for _everything_, and I am used to the journalling games where you just make all of this up out of thin air and cobwebs, as well as more traditional gameplay where players and DM collaborate and create or discover their characters.

Nonetheless, I’m throwing this in here as an example of how one *could* play.


[personal profile] mjg59
I recently won a lawsuit against Roy and Rianne Schestowitz, the authors and publishers of the Techrights and Tuxmachines websites. The short version of events is that they were subject to an online harassment campaign, which they incorrectly blamed me for. They responded with a large number of defamatory online posts about me, which the judge described as unsubstantiated character assassination and consequently awarded me significant damages. That's not what this post is about, as such. It's about the sole meaningful claim made that tied me to the abuse.

In the defendants' defence and counterclaim[1], 15.27 asserts in part The facts linking the Claimant to the sock puppet accounts include, on the IRC network: simultaneous dropped connections to the mjg59_ and elusive_woman accounts. This is so unlikely to be coincidental that the natural inference is that the same person posted under both names. "elusive_woman" here is an account linked to the harassment, and "mjg59_" is me. This is actually a surprisingly interesting claim to make, and it's worth going into in some more detail.

The event in question occurred on the 28th of April, 2023. You can see a line reading *elusive_woman has quit (Ping timeout: 2m30s), followed by one reading *mjg59_ has quit (Ping timeout: 2m30s). The timestamp listed for the first is 09:52, and for the second 09:53. Is that actually simultaneous? We can actually gain some more information - if you hover over the timestamp links on the right hand side you can see that the link is actually accurate to the second even if that's not displayed. The first event took place at 09:52:52, and the second at 09:53:03. That's 11 seconds apart, which is clearly not simultaneous, but maybe it's close enough. Figuring out more requires knowing what a "ping timeout" actually means here.

The IRC server in question is running Ergo (link to source code), and the relevant function is handleIdleTimeout(). The logic here is fairly simple - track the time since activity was last seen from the client. If that time is longer than DefaultIdleTimeout (which defaults to 90 seconds) and a ping hasn't been sent yet, send a ping to the client. If a ping has been sent and the timeout is greater than DefaultTotalTimeout (which defaults to 150 seconds), disconnect the client with a "Ping timeout" message. There's no special logic for handling the ping reply - a pong simply counts as any other client activity and resets the "last activity" value and timeout.

What does this mean? Well, for a start, two clients running on the same system will only have simultaneous ping timeouts if their last activity was simultaneous. Let's imagine a machine with two clients, A and B. A sends a message at 02:22:59. B sends a message 2 seconds later, at 02:23:01. The idle timeout for A will fire at 02:24:29, and for B at 02:24:31. A ping is sent for A at 02:24:29 and is responded to immediately - the idle timeout for A is now reset to 02:25:59, 90 seconds later. The machine hosting A and B has its network cable pulled out at 02:24:30. The ping to B is sent at 02:24:31, but receives no reply. A minute later, at 02:25:31, B quits with a "Ping timeout" message. A ping is sent to A at 02:25:59, but receives no reply. A minute later, at 02:26:59, A quits with a "Ping timeout" message. Despite both clients having their network interrupted simultaneously, the ping timeouts occur 88 seconds apart.

So, two clients disconnecting with ping timeouts 11 seconds apart is not incompatible with the network connection being interrupted simultaneously - depending on activity, simultaneous network interruption may result in disconnections up to 90 seconds apart. But another way of looking at this is that network interruptions may occur up to 90 seconds apart and generate simultaneous disconnections[2]. Without additional information it's impossible to determine which is the case.

This already casts doubt over the assertion that the disconnection was simultaneous, but if this is unusual enough it's still potentially significant. Unfortunately for the Schestowitzes, even looking just at the elusive_woman account, there were several cases where elusive_woman and another user had a ping timeout within 90 seconds of each other - including one case where elusive_woman and schestowitz[TR] disconnect 40 seconds apart. By the Schestowitzes argument, it's also a natural inference that elusive_woman and schestowitz[TR] (one of Roy Schestowitz's accounts) are the same person.

We didn't actually need to make this argument, though. In England it's necessary to file a witness statement describing the evidence that you're going to present in advance of the actual court hearing. Despite being warned of the consequences on multiple occasions the Schestowitzes never provided any witness statements, and as a result weren't allowed to provide any evidence in court, which made for a fairly foregone conclusion.

[1] As well as defending themselves against my claim, the Schestowitzes made a counterclaim on the basis that I had engaged in a campaign of harassment against them. This counterclaim failed.

[2] Client A and client B both send messages at 02:22:59. A falls off the network at 02:23:00, has a ping sent at 02:24:29, and has a ping timeout at 02:25:29. B falls off the network at 02:24:28, has a ping sent at 02:24:29, and has a ping timeout at 02:25:29. Simultaneous disconnects despite over a minute of difference in the network interruption.
liam_on_linux: (Default)
[personal profile] liam_on_linux

I think there are many.

Some examples:

* The fastest code is the code you don't run.

Smaller = faster, and we all want faster. Moore's law is over, Dennard scaling isn't affordable any more, smaller feature sizes are getting absurdly difficult and therefore expensive to fab. So if we want our computers to keep getting faster as we've got used to over the last 40-50 years then the only way to keep delivering that will be to start ruthlessly optimising, shrinking, finding more efficient ways to implement what we've got used to.

Smaller systems are better for performance.

* The smaller the code, the less there is to go wrong.

Smaller doesn't just mean faster, it should mean simpler and cleaner too. Less to go wrong. Easier to debug. Wrappers and VMs and bytecodes and runtimes are bad: they make life easier but they are less efficient and make issues harder to troubleshoot. Part of the Unix philosophy is to embed the KISS principle.

So that's performance and troubleshooting. We aren't done.

* The less you run, the smaller the attack surface.

Smaller code and less code means fewer APIs, fewer interfaces, less points of failure. Look at djb's decades-long policy of offering rewards to people who find holes in qmail or djbdns. Look at OpenBSD. We all need better more secure code. Smaller simpler systems built from fewer layers means more security, less attack surface, less to audit.

Higher performance, and easier troubleshooting, and better security. There's 3 reasons.

Practical examples...

The Atom editor spawned an entire class of app: Electron apps, Javascript on Node, bundled with Chromium. Slack, Discord, VSCode: there are multiple apps used by tens to hundreds of millions of people now. Look at how vast they are. Balena Etcher is a, what, nearly 100 MB download to write an image to USB? Native apps like Rufus do it in a few megabytes. Smaller ones like USBimager do it in hundreds of kilobytes. A dd command in under 100 bytes.

Now some of the people behind Atom wrote Zed.

It's 10% of the size and 10x the speed, in part because it's a native Rust app.

The COSMIC desktop looks like GNOME, works like GNOME Shell, but it's smaller and faster and more customisable because it's native Rust code.

GNOME Shell is Javascript running on an embedded copy of Mozilla's Javascript runtime.

Just like dotcoms wanted to dis-intermediate business, remove middlemen and distributors for faster sales, we could use disintermediation in our software. Fewer runtimes, better smarter compiled languages so we can trap more errors and have faster and safer compiled native code.

Smaller, simpler, cleaner, fewer layers, less abstractions: these are all goods things which are desirable.

Dennis Ritchie and Ken Thompson knew this. That's why Research Unix evolved into Plan 9, which puts way more stuff through the filesystem to remove whole types of API. Everything's in a container all the time, the filesystem abstracts the network and the GUI and more. Under 10% of the syscalls of Linux, the kernel is 5MB of source, and yet it has much of Kubernetes in there.

Then they went further, replaced C too, made a simpler safer language, embedded its runtime right into the kernel, and made binaries CPU-independent, and turned the entire network-aware OS into a runtime to compete with the JVM, so it could run as a browser plugin as well as a bare-metal OS. Now we have ubiquitous virtualisation so lean into it: separate domains. If your user-facing OS only runs in a VM then it doesn't need a filesystem or hardware drivers, because it won't see hardware, only virtualised facilities, so rip all that stuff out. Your container host doesn't need to have a console or manage disks.

This is what we should be doing. This is what we need to do. Hack away at the code complexity. Don't add functionality, remove it. Simplify it. Enforce standards by putting them in the kernel and removing dozens of overlapping implementations. Make codebases that are smaller and readable by humans.

Leave the vast bloated stuff to commercial companies and proprietary software where nobody gets to read it except LLM bots anyway.

 

[Adapted from an HN comment.)
 
 
wildeabandon: picture of me (Default)
[personal profile] wildeabandon
...but I have (sort of) a plan this time. I've put a weekly reminder in my diary to post, which I hope will help, and I'm going to create a sort of vague template of 'things to update about' which I can follow if I'm feeling uninspired, but not restrain myself to if there's something in particular that takes my fancy.

I had a resolution this semester that I was going to study less and socialise more, which is perhaps not an entirely typical student resolution, but felt like it would be appropriate for me. I largely failed. This is partly because there were a number of occasions where I made a plan to go to an event, and then when the time came around I was faced with a choice of going outside and travelling to somewhere with lots of background noise where I would have to interact with unfamiliar humans, or staying in the quiet warm library with my books and my translation (or other work), and somehow the latter was always much more appealing.

So on the one hand, it doesn't actually feel particularly unhealthy that I'm studying instead of socialising because that's what I want to do rather than because I feel it's what I should do, but on the other hand, if I want to reach the stage where I have a francophone circle of not-unfamiliar people to spend time with here, I'm going to have to go through the 'socialising with unfamiliar people' bit first.

On a related note, I am feeling a bit frustrated with my (lack of) language acquisition here. Before I moved out lots of people suggested that being here and using French on a daily basis would lead to a big improvement, but it doesn't seem to have happened. Partly that's probably because I'm /not/ really using French on a day to day basis. I mean, I use it in the shops and to read the news and listen to announcements on the railways, but my actual day to day work is in English, and although I can read fairly fluently, follow to audiobooks and some podcasts, and have an interesting conversation 1-1 with plenty of context cues, no background noise and an interlocutor who is speaking clearly, I still struggle in fairly basic situations without those accommodations. And crucially, I don't think I've improved significantly since moving here, so I need to do something more active to improve, so I've found a "table de langues" to try next Wednesday evening, and if I just don't go to the library after my final lecture that day, it should be easier to escape it's gravity.