Diary

Welcome! :-)

This is both a wiki (a website editable by all) and a blog (an online diary about the stuff Alex Schroeder reads and does). If you’re a friend or relative, you might be interested in reading Life instead of this page. If you’ve come here from an RPG blog, you might want to head over to RPG. There are other similar categories to be found on the SiteMap.

Für Rollenspieler gibt es ebenfalls eine eigene RSP Kategorie.

2019-06-18 A Simple Text Server

Solderpunk was writing about Gopher and the Web again. [1] [2] [3] And Ratfactor. [4] [5] [6] [7] [8]

Personally, I’m not too convinced. I am, however, somewhat interested in a simple text server that just serves text files.

If we then agree that the text files may contain hyperlinks, such as Markdown files, or plain text files with URLs in them, then we can write clients that retrieve these text files and allow us to request more.

So that’s what I did. I wrote a little server that serves text files. Requests are simple selectors. Like Gopher. Like Finger. Remember, finger is gopher!

I called it Nimi Mute, “many words.”

As you can see in the README, you can even use finger or lynx to get text files from it! It’s all the same. telnet and nc also work, of course. 🙂

This is basically Gopher without the menus.

And since I really care about the read/write aspect of it all, I also included a way to upload files if you know the password.

And since I also care about encryption, I also showed how to encrypt it all and how to test it using gnutls-cli.

Tags:

Comments on 2019-06-18 A Simple Text Server

Here I am using lynx as the client:

                                                                           (p1 of 7)
Nimi Mute
=========

This is a simple file server. It's a return to the old days of the
Internet: send a "selector" and get back some text. That's it.

It's simpler than gopher because we don't care about menus.

It's simpler than the web because we don't have request headers.

It's simpler than finger because we don't have structured information.

Examples:

```
# startup server (serving the current directory, and more log messages)
perl nimi-mute.pl --port 7079 --log_level=4
# print the default page (README.md)
echo | nc localhost 7079
# if you have mdcat installed, highlight your Markdown
echo README.md | nc localhost 7079 | mdcat
# if you have lynx installed, use fake gopher
lynx gopher://localhost:7079
# when requesting files, make sure to add a leading zero!
lynx gopher://localhost:7079/0README.md
-- press space for next page --
  Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list 

– Alex Schroeder 2019-06-18 09:55 UTC


Actually, since the text server is compatible with Gopher, and since VF-1 extracts links from text files, we can already use VF-1 as a client!

Here’s me browsing a directory containing both A.txt and B.txt linking to each other.

alex@melanobombus:~/src/nimi-mute$ vf1 gopher://localhost:7079/0A.txt
Using config /home/alex/.config/.vf1rc
Welcome to VF-1!
Enjoy your flight through Gopherspace...
This is a simple file that links to B.

gopher://localhost:7079/0B.txt
VF-1> links
[1] gopher://localhost:7079/0B.txt
VF-1> 1
This is a simple file that links to A.

gopher://localhost:7079/0A.txt
VF-1> 















– Alex Schroeder 2019-06-18 10:14 UTC


Now, there currently is no way to upload a binary file. That would require a little bit of extra work because we need to indicate the number of bytes we intend to send. At the same time, however, if you already have a binary file up there, say screenshot.jpg, and link to it using a gopher link for binary files, e.g. gopher://localhost:7079/9screenshot.jpg, then it will simply work. Your gopher client can download the file, no problem. And you can download it directly, too:

$ echo screenshot.jpg | nc localhost 7079 > test.jpg
$ diff -s screenshot.jpg test.jpg 
Files screenshot.jpg and test.jpg are identical

👍

– Alex Schroeder 2019-06-18 10:36 UTC


@solderpunk said on Mastodon:

This could basically be a nice ultralight protocol all on its own!

  1. All connections are TLS secured
  2. Requests are a UTF-8 encoded selector and a CLRF, nothing more
  3. Responses are guaranteed UTF-8 encoded text
  4. No further structure of response is guaranteed
  5. Clients should be able to extract any URLs from anywhere in the text and construct a menu, with interface of their own choosing.

And I’d add “Uploads using SOH, STX, and ETX.” 😅

– Alex Schroeder 2019-06-18 20:13 UTC

Add Comment

2019-06-17 Text Mapper with Squares

I’ve been trying to see whether I could get Text Mapper to create a square grid instead of a hex grid. Preliminary results aren’t too bad!

This is the traditional example hex map:

Hex Map

And this is the result when you feed the same text into a square grid mapper:

Square Map

It already looks like magic!

The goal I have in mind is to generate square-based Alpine maps.

And maybe I could change my Megadungeon Generator wanna-be to use it as the output instead of Gridmapper. Once I have that, I can generate images using web services without relying on a browser rendering the Gridmapper Javascript code.

OK. Alpine maps. I mean, the algorithm often uses loops over the six neighbouring directions in order to create the textual description of the map, so that surely needs fixing.

Then again, once the textual description has been generated, the code no longer cares about hexes and squares, as seen above. It just looks – different.

Let’s give it a try.

Random Alpine hex map:

Alpine Hex Map

Same data, but using squares:

Alpine Square Map

Whaaat!

It is in fact recognisable! Like some weird projection from a strange fantasy cartographer. Uncanny.

I’m not even sure I want to change anything at this point! A quick scan at this point just shows that cliffs don’t look too good (because the icon library still uses six different cliff icons).

Well, a bit more studying also reveals that some spatial relationships are disrupted, like the swamp for 0102–0201. Or the river that flows from 1204–1105 now makes a detour through the mountains of 1104.

Tags:

Comments on 2019-06-17 Text Mapper with Squares

Those pesky fantasy rivers 😝

Ynas Midgard 2019-06-17 13:02 UTC


I love some of the U-turns these rivers are making. 🙄

– Alex Schroeder 2019-06-17 18:18 UTC


I’d love to see Text Mapper with squares evolve into a tool you could map a dungeon from a text source. This would be awesome. The hex based map is one of the best campaign building tools, I’ve ever come across, particularly when combined with Hex Describe to populate the Hexes. It would be great to expand on this by having a tool to generate dungeon maps based on a square grid.

– Stephen Peto 2019-06-17 18:21 UTC


Did you give Megadungeon a try? Reload it a few times until you get close to 100 steps and click on the last one. You’re sent to Gridmapper. Here’s an example I got after a bunch of reloads, three levels deep.

Gridmapper would make a pretty good tool for interactively making a dungeon, and Megadungeon could be improved as well. But unfortunately we cannot embed Gridmapper into Hex Describe. If we want to generate dungeon maps for Hex Describe, we’ll have to enable this via Text Mapper.

So in short: yes! This idea excites me!

Perhaps one day we’ll need a way to import Text Mapper maps into Gridmapper such that we can edit it there, and then export it back from Gridmapper to Text Mapper. That would be very cool.

– Alex Schroeder 2019-06-17 18:30 UTC


At last, the Alpine algorithm can deal with a square grid and hopefully all the river anomalies have been resolved, now!

Rivers work, now

Next: extracting the SVG for the Gridmapper icons and making them available for Text Mapper...

– Alex Schroeder 2019-06-17 20:17 UTC

Add Comment

2019-06-12 What I want from Gopher

A while ago I wrote about the things I want from Gopher, see 2019-04-08 A Plan for Gopher.

  1. UTF-8
  2. TLS
  3. No dot at the end of the transmission, just hang up
  4. and a new item type „w“ where you can post text („write“ or „wiki“)

I’d like to add a new item to the list: rendering some Markdown. I’d like bold and italics to work; I’d like headings to be bold; I’d like code fencing to disappear – assuming we’re using fixed width and no word wrapping, nothing else is required.

Here’s how the clients I use compare:

Client Platform UTF-8 TLS no dot write Markdown
gopher.el Emacs yes yes yes patch no
VF-1 Shell yes yes yes patch no
Gopher iOS no no yes patch no

So I think that’s what I’ll try to do: add some simple Markdown highlighting to the two clients I know how to change: gopher.el and VF-1.

I mean, it’s easy to do in a terminal using escape sequences. Try this in your shell to see how it would work:

echo -e "\x1b[1m this is bold \x1b[0m"
echo -e "\x1b[3m this is italic \x1b[0m"

As for Emacs, I’d love to have a Markdown minor mode but I don’t think such a thing exists.

Recently I read Solderpunk’s The true spirit of gopher. It’s very convincing! One wonders: what do we need the menus For if we could simply have good inline links in our text files?

Something to ponder.

Tags:

Comments on 2019-06-12 What I want from Gopher

More on this topic you may want to consider gopher://gopher.lunaticgeek.com/0/minimal-viable-web.md

edkalrio 2019-06-13 15:42 UTC


I think the observation is correct: the item types are bogus and mostly useless. Gopher maps are misused as text files. It hurts my brain.

But the solution doesn’t have to be HTML and HTTP. It can be Markdown and simple sockets, with a layer of TLS or Tor on top. I would like it better because that’s the kind of client and server I can implement, unlike a caching, chunking, meta-data lassen HTTP protocol with a plethora of useless tags and a cumbersome way of writing those tags into the text.

– Alex Schroeder 2019-06-13 21:21 UTC


OK, using VF-1 and mdcat:

Append the following line to you RC file, for example like this:

echo "handler text/plain mdcat %s" >> ~/.config/.vf1rc

The handler command makes mdcat the tool to display text files!

– Alex Schroeder 2019-06-15 22:11 UTC

Add Comment

2019-06-12 Torture in Games

In a recent episode of his podcast Daydreaming about Dragons, Judd Karlman talked about torture in role-playing games.

I prefer a different solution based on the fact that torture doesn’t work. If you need a book to tell you so, a quick search online finds Why Torture Doesn’t Work: The Neuroscience of Interrogation by Shane O’Mara. But there are countless other sources that will tell you the same thing.

There are only four kinds of people who claim that torture works:

  1. dictators who want to degrade their opponents and don’t actually care about the truth of what their victims say
  2. wanna-be dictators who will say anything to make them look dangerous
  3. stupid people repeating what dictators and wanna-be dictators have told them
  4. people in the employ of any of the above

All of them psychopaths: no empathy, no friends, exploitative, power hungry.

Back in 2016, I said how I handle torture in my games:

Torture: I ask the players what they want to hear. Then I say that this is exactly what their victim is saying after the maltreatment. And if they want to go into the details, I tell them I don’t want to hear about it. Ugh!

That’s it. Whatever you want to hear, that’s what victims of torture tell you. When you think they are lying, they will confess to lying and tell you something else, trying to guess what you want to hear, anything to make it stop.

And if you want to talk about it at my table, I shall be happy to never play with you again. Uuuugh.

I think anybody who who has read anything about concentration camps in Germany, Armenian death marches in Turkey, the Spanish police torturing the separatist activists, the French soldiers torturing their prisoners in Algeria, the US torture prisons, the torture of prisoners in the Near East, the Russians torturing rebels in Chechnya, the torture of prisoners in China, and on and on and on, should know that it doesn’t work like it does in American TV. 🤮

Anyway, I’m with Judd: please think outside the torture box. Just do something else instead.

Tags:

Comments on 2019-06-12 Torture in Games

Oh dear, thankfully I have never had players that wanted to torture an NPC beyond some threatening or the patently ridiculous. Whew. I don’t think I would play with those people long or often after that.

Jennifer 2019-06-14 06:53 UTC


You know how it is. It starts with the suggestion of mild abuse and some chuckling at the table, and escalates slowly. It took me a while to realize what was happening, to see the normalization of torture. I think it was at that time that I heard somebody else relate a similar story from their table. Perhaps it was Harald, I’m not sure. And that opened my eyes and from then on I decided to fight the normalization of torture at the table: stop the conversation before it escalates, saying that I didn’t want to hear it. And as soon as I said my magic sentence and added that we all know torture doesn’t work, the issue is gone. Everybody wakes up from the torture fantasy and agrees, of course it doesn’t work, and the game changes direction for the better. And then it’s never brought up again. Phew! 😅

– Alex Schroeder 2019-06-14 16:40 UTC

Add Comment

2019-06-08 Space Games

I loved the original Elite game which I played on the ZX Spectrum. And yet, I just don’t make time for gaming in my life. That’s how I missed out on EVE Online, Elite: Dangerous, No Man’s Sky, played FTL until I got to see the boss monster (and shot to pieces), played a bit of Out There: Omega Edition but never got far. I even gave the Ur-Quan Masters a try and failed to get anywhere. And now I just read about Endless Sky and it sounds super exciting – but I fear I won’t find the time...

Tags:

Comments on 2019-06-08 Space Games

Oh, the memories. I dread to think how many hours of my life were sunk into Elite on the Speccy. Subsequent games in the same vein never caught me though, being too complex, too hard, too demanding...

As irony would have it, I only learned of Space Trader, a Palm game from 2000, when the Android port was recently added to F-Droid. But better late than never: been catching up, on both platforms, and even wrote a review, my first in too many years.

It’s not too late yet. Be kind to yourself. Catch up on fun.

Felix 2019-06-08 11:37 UTC


I poured many hours into Ur-Quan Masters but never finished it (even using a spoiler-y map). That game was super fun and I still sometimes think about the weird alien interactions that happen throughout.

There’s something about that combination of wide open world and evocative scripted interactions that made for really memorable gameplay.

Matt L 2019-06-09 00:12 UTC


So cool!

As for myself, today: Endless Sky.

– Alex Schroeder 2019-06-09 21:41 UTC


I must definitely stop playing Endless Sky. I get the same feeling as when I watch TV: hours wasted. Now I remember why gaming isn’t my hobby but simply a distraction in between other things.

– Alex Schroeder 2019-06-12 14:35 UTC

Add Comment

2019-06-07 Ghosts in Crypto

On Netzpolitik (in German) I just read about the new madness: secret services (and other people, for sure!) want to get added as “ghosts” to all your encrypted communications: i.e. your chats, your emails, your website visits... uuugh!

More on Lawfare:

… I will return to the Levy-Robinson proposal of a silent listener added by the service providers. Obviously this technique will work only if the other participants of the communication are kept in the dark as to who the other participants are. Who would trust such a system?

Who indeed? But this sort of blindness, this absolute trust in their own capabilities to keep secrets, in their own trustworthiness, in their own incorruptibility, in their righteousness is sadly only too prevalent in the police forces of the world, in the secret services, in all people who are in power. Which is why I think we would do well to discard their evaluation.

Tags:

Add Comment

2019-06-03 Elements of the Old School Renaissance

Over on Lasagna Social, Roger GS described it as:

… environment-focused, with exploration and social interaction the focus of creative expression, and combat not absent or abstracted but encapsuled in a simple system with a few nods to realism. We are creating interesting places to be dealt with discursively, rather than intriguing plot lines that are scaffolded by mechanics, or stages to play out a combat game in between cut scenes.

I love it. Much better than taking the old D&D rules and seeing where they can take us (although that is exactly what I am doing) – but what Roger is saying is what attracts me to products that don’t use variants of classic D&D. It’s where my love for the OSR intersects my love for other games.

I don’t think we need a new name for this kind of gaming, though. Adventure games is fine. (See Adventure Game is the name of the game.) Sword Dream? I don’t know. (See A Sword Dream.) For the moment, I’ll keep tagging these posts “Old School” and I will leave it up to you to decide whether it needs “Renaissance” or “Role-playing game” (or just “role-playing”) added to it. 🙂

Tags:

Comments on 2019-06-03 Elements of the Old School Renaissance

On his blog, Roger writes:

At its best the DIY movement has given us: Borgesian monsters posing problems that go beyond combat; weird magic systems with flavor and creative effects; adventures that map out strange societies and oddball challenges. Can we really still call it “Old School” or is it more like a “Never-Was” school?

Certainly if anyone back in the 80’s was playing or writing like this, I never heard about them.

An excellent point!

– Alex Schroeder 2019-06-06 20:47 UTC

Add Comment

2019-06-01 History and Games

JB is wrestling with the idea of a campaign in real, historical South America with conquistadores being the adventurers but has trouble making it work because the conquistadores were so damn horrible. It truly is a quandary. In the blog post and the discussion he says that dragons and giants are fine, but replacing humans with lizards and goblins is not.

I don’t think it would work. If it is a human vs human struggle and something you could delve into and learn from then why make it a game; and if a game, how can you turn all the suffering into entertainment, or if replaced by lizards and goblins you are erasing the real world victims out of history. All the ways forward are not good.

One interesting aspect is the question of how “near” things are and that apparently playing Vikings is fine (I’m currently in a Moonshae campaign where the Northmen and the Ffolk feel like just that). Steppe nomads is fine. Romans is fine. That’s because our identity is no longer tied up in these ideas. It’s only when you read a novel like Wake set in the Norman conquest that you might start to resent the British nobility again as you realize that where as you might have forgiven and forgotten about the Norman conquest, they still own the land.

I feel like the most important part would be to not have anybody be represented by caricatures (goblins instead of humans), and then decide how you felt about it all. Disease, slavery, genocide – it might not be a background I felt like playing in no matter the historical closeness.

(Also on Lasagna Social.)

Tags:

Add Comment

2019-06-01 Armenia

The cascades of Yerevan, the Geghard Monastery, the pagan temple of Garni – I like Armenia. I posted some pictures to my Mastodon account on Octodon Social. I’ll probably create a gallery after returning from my trip.

I love their script: Հայաստան, պաշտոնական անվանումը՝ Հայաստանի Հանրապետություն, պետություն Առաջավոր Ասիայի.

We saw many churches in remote places. Given that almost nobody I knew had been to Armenia I had expected very few tourists. But no. There are plenty. Happily enough also a lot of Armenian kids on a school trip, as far as I can tell.

These churches are often found at the end of beautiful valleys.

I’m surprised by how green things are in spring (end of May).

Seeing small bridges from the 12th century and an old caravanserai that used to be part of the Silk Road is exciting. And again, lush green grass covering the hills, and snow capped mountains at the horizon in all directions. I like the landscape and I wish the bus would stop more often for photos. I missed so many meandering streams, green meadows sprinkled with yellow and red flowers; black and red basalt columns; steep gorges.

We also saw a lot of beauty and decay in the far north of Armenia, where copper mines ruin the landscape and deindustrialisation has reduced the population by half.

Anyway, things are… complicated. Armenia is poor, plagued by memories of the genocide, in a frozen conflict with Turkey and Azerbaijan, thus the only contact to the rest of the world via air, Iran, or Georgia and Russia, and decades of cleptocracy. But a revolution last year seems to have improved the situation somewhat. But if the past has taught us one thing it’s that the people in power remain in power, the rich remain rich, and the corrupt stay corrupt. It doesn’t matter if you cut the hydra’s head. To stop it from regrowing takes decades. A first step is made.

But notice:

@OCCRP: “Current and former members of parliament, tax officials, honorary diplomats, and other Armenian officials have purchased expensive properties in Dubai, raising questions about how they could afford them.” – Wealthy Armenians Join the Dubai Land Rush

I brought back some pictures, too!

Tags:

Add Comment

2019-05-26 The Quality of Capitalism

I want to continue down the line I started following after reading and reacting to the Tyranny of Excellence.

I think my main take is the fundamental nature of human interests in the good, how we learn of the good, and how that is the foundation of capitalism, and how struggling against it all is also about struggling against capitalism.

Let’s start slowly. What is good? Something we enjoy in both the longterm and in the short term. How do we learn about something that is good? By experiencing it, by seeing it, or by hearing about it. As communication improves, hearing about things turns out to trump all the other ways of learning about the good.

This is how we arrive at marketing, and effectively at some form of capitalism, for if you have capital, you can market your product, which helps more people learn about it, which makes people buy it, so you can market it more. Those that have more shall receive even more.

This is true even if all products are equally good!

It is important to note what feeds this loop:

  • Better communication. This includes reviews, recommendations, jumping on the hype train, and so on.
  • Better capitalization also helps: Kickstarter and Patreon and all the others.

The sad part is that I must assume that many more products are as good as the commercially successful ones, they just aren’t as well capitalized. Or maybe they aren’t as polished and they aren’t as well illustrated. Money makes the world go round. It mobilizes editors and layout people and artists and guest writers. Things get done. This is the blessing of capitalism.

But I think it is important to ask the question about the good again. If a product is successful on the market and it is good, is this the best possible outcome? What if we knew about more products, less polished, but still good? I’m assuming that these products are out there. We just don’t know about them because they never get mentioned. We can’t hear about the good because nobody else has heard about it.

Or, and here I am undermining my own argument, perhaps without capital they don’t get made. Perhaps the polish I have partially dismissed above is all we are prepared to pay for.

I want to return to the question of capitalism. What if there are things that are good enough, but not as polished, not as illustrated, and we wouldn’t want to pay for them: might this not still be good?

How could we help bring about this alternative?

  • We can scale down our communications, at least as far as it concerns commercial offerings. I am prepared to include crowd funded or otherwise fancy and polished products in this downscaling.
  • Talk about the things that are not commercial. The things that are free, even if less polished.
  • Don’t compare these things to the polished things capital created. It’s free. Of course it has fewer editors, layout people and artists involved.
  • Don’t organize contests that follow the logic of capital. Don’t hand out money. Don’t focus on a small number of excellent, polished products.
  • Value the DIY, the punk. Talk about these values. Like I’m doing right now.

And finally, to bring it back to roleplaying games: anybody can run a game. Anybody can write an adventure. The game is about adventures and therefore polished and well illustrated adventures are unnecessary. Good ideas are harder to come by.

And if somebody talks like I do about DIY and then does a polished thing and sells it to you, then perhaps they’re no longer about DIY. Know that if I change my tune then I’m not to be trusted.

I think we should all cultivate a suspicion of all processes that reproduce aspects of the winner takes it all.

I want contests where everybody wins. I want to encourage more people to make more things, but rough things. I want unpolished things. Things I could have made. Things anybody could have made. DIY and punk.

Know that we are being coopted all the time and defend against it.

Tags:

Comments on 2019-05-26 The Quality of Capitalism

When I think about capitalism I think about the specific mechanism by which those who have it can invest it in order to make more. Making something and getting paid is not enough for there to be capitalism. Getting compensated is fair. But there’s the trouble with money: if you have a surplus that you can invest in marketing, things change. Most musicians are poor. Michael Jackson was extremely rich. How much better was he, though? On a scale from zero to many millions? That’s what I mean.

Or to put it back in the context of the tyranny of excellence: folk music is about grabbing an instrument and joining the performance even if you can hardly play. Just play this note. Just clap your hand. Just join in on the chorus. Simple stuff. And how unlike rockstars and stage performances. What do you want your hobby to be: grab some dice and start playing, or watch professionals write for you, play for you?

– Alex Schroeder 2019-05-27 04:50 UTC


Music records, then Radio, TV and the Internet, led to an increasing and global winner takes it all effect. A 100 years ago, there used to be more than 10,000 professional pianists in New York City alone. Nowadays everyone can listen to the “world’s best pianists”, so their income gets a massive multiplier and all the other “mediocre” ones can barely live from their passion for music.

The bigger the Network effect, the more extreme is the distribution of incomes. Nassim Taleb’s “Fooled by Randomness” covers this topic well.

Same with sports, like football. All the kids in Switzerland are now wearing shirts of Barcelona, Liverpool et al. and their parents are watching Champions league matches, not of the local 2nd or 5th tier clubs like it used to be a 100 years ago.

The interesting thing about D&D: The multiplier effect may apply for the sale of products like adventures, here you have to compete with the “best in the world”. But it does not apply for the actual gaming experience, we can’t all game with Matt Mercer or other celebrity DMs.

D&D is totally anachronistic in that regard and at the same time a good antidote against all this consumerism and increasing loneliness or maybe insularity of experiences (everyone watching Netflix or Champions League matches alone at home instead of playing games, making music or going to the stadium together).

– Peter 2019-05-27 18:27 UTC


Yes! I forgot the network effect had a name, but this is exactly what I mean. Thanks for that story about the piano players.

– Alex Schroeder 2019-05-27 18:32 UTC

Add Comment

More...

Comments


Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.

Referrers: Diary Cantrips d4 Caltrops DIY & Dragons: Nasjonalmuseet's Treasures I Want to Steal - Arkite... Diary Alex Schroeder Backup Blog