Micro Review: The Peripheral

When it came out, I started watching Amazon’s show based on this book, and I felt it was probably the best new Sci-Fi show to come out in many years. I didn’t have much hope it would end as good as it started, but I didn’t have the chance to be disappointed: Amazon show was cancelled after one season.

So I thought, well, I’m going to read the book. I’ve read a few books by William Gibson (namely, all the sprawl trilogy, some of the bridge trilogy, and some random stories), and I have a positive memory of that, although an hazy one.

So I proceeded to get the Audiobook version of The Peripheral, which in turn is the start of another trilogy§.

What the book is about

Spoilers ahead.

The Peripheral setting is a rural backwater in a future post-civil-war USA, which would be interesting by itself. But this is William Gibson, so there are layers and layers of interesting world building.

So the people in this world are contacted from an even further future where the human population has shrunk to minimal numbers due to some events referred to as “the jackpot“. Gibson hates being obvious so the jackpot is not a single event, (e.g. global warming, aliens) but an unspecified list of “many things went wrong and here we are“.

The post-jackpot world has developed two interesting technologies: one that allows people to operate a remote body (the peripheral of the title), and one which allows connecting to a point in the past. Of course, someone had the idea of combining the two, so they sent information in their past to build a controller that can operate a peripheral in their time.

Even this would be interesting on its own, but what makes it more interesting (Gibson!) is that every time a connection is made, time bifurcates, so the timeline in the past is not connected to the future timeline anymore.

So, what is the effect of someone with superior technology being able to act on a remote playground with no consequences? Well, a sort of colonialism, of course. Post-jackpot people even developed a vocabulary to detach them from this colonized pasts, so that they call each past a stub, not even granting it the dignity of considering a timeline.

In medio stat tedium

I have no complaint about the narration, but going through the book I remember why I have not read more of Gibson’s works. I don’t like them.

William Gibson is, in my humble opinion, a genius. A lot of what he writes is prescient, the themes are original, the world building is masterful. I want to know more about this world. I want to have more insightful thinking and exposition.

Gibson is also, for what I can judge, very good at writing characters. I can see the main character, Flynne Fisher, just ad I could see Molly Millions in Neuromancer.

But Gibson is, for my taste, terrible at writing plots. As I read to the end of the book, I tried to remember what happened in it, and I could not. As I remember, something happens that sets things in motion (future contact). something happens that closes the plot (bad people get what they deserve, good people are happy) but I have no idea about what happened in the middle. It’s just flyover country, boring stuff I need to get through to finish the book.

And I suddenly realized this is also what I remember of Neuromancer and Idoru. I do not know why. I have clear visions of specific scenes and paragraphs and characters, but I have no idea of what things actually happened.

BTW, I feel the Amazon show deviated from the book in good ways and was far more interesting, and it’s a pity it was cancelled. It had a heck of a good cast too!

So, if you already liked Gibson, go read this because you’ll love it. If you can get through a few hundred pages just for the sake of the world building, you’ll also like this. As for me, I won’t be reading the following books in the trilogy. Until In forget about this again, anyway.

Vote: 6.5/10, I wish this was a tv show.

Mini Review: The Road

I’ve watched a bunch of post-apocalyptic content when I was a kid.

I grew up with post-apocalyptic anime of the desert kind and of the non-desert kind (Italy in the ’80s was a weird place where everything animated was supposed to be for kids).

And post-apocalyptic movies were a staple in ’80s and ’90s: the Mad Max movies sure, but also The Salute of the Jugger, Waterworld, The Postman, 12 Monkeys

I think this was mostly related to the fact that film makers back then had been really, really scared of atomic bombs growing up.

I think my generation was afraid of ecological collapse of some kind, but not as much. Might be the reason why we didn’t get a nuclear war, but we are getting an ecological collapse.

Mild spoilers ahead!

Anyway, The Road by  Cormac McCarthy is the story of a man and his son living in a post-apocalyptic world, trying to go south hoping not to die of cold.

It’s incredibly bleak. If you watched any Mad Max movie, the world is generally fucked up, dried up, and life only survives in a few spots dominated by violence and such. But you see, life goes on, it’s our current world which is fucked. We don’t consider ourselves a post-apocalyptic dinosaur story§.

In this book, life does not go on. Everything is dead. There are no surviving trees, no animals, no fish. Mankind survives on tin cans, and you know those will run out too, and so do they.

This would be sad and depressing on its own, but the hardest thing of the book is that this is the story of a father and a small boy.

The father knows they’re going to die too, and so does the boy. They go through the motions of surviving, but they know (or, you do) that canned food won’t last forever. Maybe they’ll find a cache of some sort of nutrition). But then what happens when that is over?

They have a gun with two bullets, and they have to choose whether to use them to protect themselves or kill themselves when things get too bad. But as a father, what do you do? You can’t kill your kid while there’s hope he won’t die.

And there’s always hope. In Italian we say “la Speranza è l’ultima a morire” (~ “Hope dies last”), and one wonders who died before her. The answer is You. You die before Hope dies.

So the father goes through the motions of living, teaching the kid that they are The Good Guys, and they Carry The Fire. The father does not generally lie to the kid, but you can feel he’d like to.

Well, I‘d like to at least. Lies are bad, but what do you tell a kid when he cries at night? I’ll be there for you, I’ll protect you forever, I won’t let anything bad happen to you. But you don’t have the power to hold that promise.

By chance, I also happened to be reading a different book to my son yesterday, and it’s an amazingly good book§, with many good stories, and one had this bit:

– how much does a teardrop weight?

– it depends: the teardrop of a spoiled kid weighs less than the wind, the teardrop of a hungry kid weighs more than the whole Earth.

And we sometimes forget this, but it is true.

This is a perfect book. It’s short, it’s well written, the story is gripping, the characters are three dimensional and faceted. I believe it’s also part of the free library for Audible subscribers, so if you have a subscription go check it out.

Vote: 10/10, I wish I had read this before having kids.

Micro Review: Permutation City

This book by Greg Egan  had been on my todo list for years, I kept forgetting it and rediscovering it and thinking it sounded great, but then not reading it anyway.

In short, it’s a story about virtual worlds, uploaded minds, the meaning of consciousness, what it means to live in a simulation, and how to know if you do.

These are topics which are very fashionable in the 2020’s, but this book was written in 1994, the author was way ahead of his time.

It is not a super-easy read, but it will give you a lot to think about. Some of that lot is deeply tragic and depressing, but I guess it depends on how you read it.

Maybe don’t read it if you’re depressed.

I listened to this in audiobook form from Audible, and tbh I hated the narration. But hey, maybe it’s just me.

Vote: 7/10, read it before uploading your mind.

how to fix “something wrong with LDFLAGS” when install Ruby on macOS

From time to time I have to reinstall something (often Ruby) and in the meantime my system has somewhat deviated from the last time and things don’t work just as well.

FWIW, I’m on an M1 MacBook Pro, and I use macports.

This time the issue showed up when doing rvm install 3.2.4

Inspecting configure.log I found this message

If this happens to you you can track it down by going to the directory containing this file and looking at a different one, config.log, which contains both the command line and the test C program.

Common issues here are having something messed up in LDFLAGS or LIBRARY_PATH or the directory may not exist, but in my case the problem was

for some reason I had a broken libunwind, probably leftover from some experiment or migration. The test binary actually builds and runs fine, but for some reason the configure script is not happy with the ld warning, although it seemed fine for other conftests

I solved this by doing

After which my build proceeded just fine. I hope this helps someone in the future.

Micro review: Neutrino by Frank Close

I read this book by accident. It was shared on some forum, I thought it was a small pamphlet or something like that. I thought it’d be a few pages.

A day later, I had read the whole 180 pages book, which turned out to be a fantastic history of the people who participated in building the theory and the experiments around Neutrinos.

It’s an easy pop science read, although some bits may require a couple re-reading, but I think what makes it special is the sheer passion that gets through.

I had not read anything by Frank Close before, and I am now eager to get more of his books.

Vote: 8/10, I’d read it again.

Micro review: Hegemony, a class warfare boardgame

Last week I had the chance to play Hegemony, a game where you take the role of a class amongst Working/Capitalist/Middle, or The State.

Each faction has a different way of playing and get winning points, which can be basically summed up as

  • Workers get points by getting better Health, Education or Luxury. They can work for Capitalist employers, Middle class ones or State managed ones (and in special cases, workers-run cooperatives). They can also go on strike to ask for better salaries, or do demonstrations if unemployment is too high.
  • Capitalists get points by gaining money. They can open new companies, do business deals, and trade on the foreign market. They decide the salaries (down to minimum wage) and can improve productivity via automation. They can also choose to just shut down factories if the business environment is not favorable (e.g. taxes and salaries too high).
  • The Middle class acts as basically both Workers and Capitalists, they can work as employees and can hire a limited number of working class employees, but they don’t have fully automated factories.
  • the State gets points by gaining legitimacy with all the other classes, which you can do in multiple ways e.g. by providing business incentives or cheap Healthcare. They also manage state-run companies, and need to run on a balanced budget, if the public debt gets out of control the IMF will step in and impose a Washington consensus agenda of free market, low tariffs and less privatized companies. The state also needs to deal with events and particular requests, and try to reach some specific policy goals.

In addition to this, all factions get to play with the regulatory framework. There are 7 policies, the first five are

  1. Fiscal Policy: the size of the public sector (i.e. how many state run companies exist), and how much the government can get in debt.
  2. Labor Market: this is basically the minimum wage: each company has 3 levels of salaries, and this determines if an employer can choose high, high+medium, or high+medium+low.
  3. Taxation: determines the company and income tax. This also affects a “tax multiplier” which only affects companies, which is in turn based on Health/Education.
  4. Health: how much the state should charge for healthcare. Lowering this automatically increases the tax multiplier (i.e. to keep the books balanced, if the state pays for healthcare someone has to pay more taxes).
  5. Education: how much the state should charge for education. Again, lowering this means the money has to come from somewhere else.

These five policies exist on a simplified Socialism to Neoliberalism axis. Two other policies exist on the Nationalism to Globalism axis:

  1. Foreign trade: tariffs on importing goods
  2. Immigration: whether/how many new workers/middle class people get added to the employment pool.

All factions can propose legislation, and get to vote on it. Of course, the bigger you are (e.g. more people in the working class) the more votes you have, but the the elections are done drawing faction cubes from a bag, so there’s a big of randomness (think: parliament). But then, you can also obtain influence by e.g. buying it from the state (think: state TV channels) or doing specific things (e.g. demonstrations) and alter the outcome of the initial draw.

The whole game is thematically very coherent, and “realistic” situation arise naturally, for example

  • the State offers cheap and abundant healthcare, taxes are high and wages are high
  • .. privately run companies become unprofitable and lobby for changes to regulation, but fail
  • .. private Healthcare and Taxes go out of business and private employers refocus on Luxury

Or

  • Worker class lobby for lower tariffs so they can get cheap goods from abroad
  • .. but this makes private companies unprofitable, so they shut down
  • .. the state runs a deficit because there are less companies paying taxes, less money from tariffs, less employed workers but the same expenses
  • .. state tries to change policy but fails
  • .. the state goes bankrupt and IMF sweeps in

We also saw a weird case of “financialization” of our Capitalist faction, where it was more convenient for them to buy and sell good on the foreign market than actually producing them and selling them locally, which as an Italian felt very familiar. Fuck Exor.

The game is really good, and playing is quite straightforward, each hand is quite quick. It is also quite player driven, in the sense that each player can ally with another to affect specific policy changes, in a variable geometry which is not always obvious.

The only big problem is that a complete game takes multiple hours. I am sure this gets better with practice, but I can’t see a game taking less than 3 hours (the box says 2-3, but they’re low balling it).

Vote: 8/10, Highly recommended

Tinker Tailor Engineer Spy

When I was in University I had a few good teachers, and I remember fondly Professor Lorenzo Farina.

Once, he§ came to class and ranted a bit about some job advertisement he had read: the job was for a software engineer, and mentioned they were looking for someone with a smanettone mindset.

Smanettone is an Italian term which in context meant something like “hacker” (in the Jargon File sense) or “tinkerer“. Back then, it was a bit of a shibboleth for people who were into cyber culture, *nix, FLOSS, security and so on. Those of us in the audience who were into that felt immediately positive about the company who had used this.§

Our teacher didn’t know that, so he interpreted it in a negative sense: who the heck are these people looking for? Someone who’ll turn knobs and flip switches without any sort of understanding of what’s going on? That is the opposite of what the engineer mindset should be!

The Tinkerer Mindset

Since the teacher welcomed feedback, we approached him to change his mind at the end of the lesson: that’s not what this is about! Being a a smanettone is about the joy of playing with something, push it beyond what it is designed for, and actually trying to understand it better. It’s about having fun while you build something because of your knowledge, not for lack of it!

There is a definition in the Treccani dictionary now, which roughly translates to

In computer jargon, someone who’s passionate and has fun experimenting, creating and changing the contents of their computer or of the software installed on it.

Vocabolario on line Treccani

It’s an ok definition! It’s not the one I’d write, but it’s close to what I think of as the tinkerer mindset.

(In praise of my teacher, he updated his world view, and I seem to remember he started using the term himself later on.)

The Engineer Mindset

So, I liked to think of myself as a smanettone. But I also like to think of myself as an engineer. I don’t think the two things are at odds.

I think the engineer mindset is about having a method. It does not actually matter what method exactly, but you should act with a plan.

Which is another factor: your actions should be intentional, you do X because you expect Y, not because you have no idea. When you get (or don’t get) a result, you try to understand why.

And you should be able to work logically. Logic is not all one needs in life or on a job, but it is a defining part of an engineering approach to problem solving and solution design.

The engineering mindset and the tinkerer mindset may overlap, but are separated and independent and not mutually exclusive.

I hate ChatGPT

ChatGPT and its ilk are incredible things. If someone had told me a few years back that we’d be able to have quasi-conversations with a bot I’d not believe it§.

But I hate the feeling of working with it, and I despise the concept of prompt engineering.

Prompt engineering is, to put it bluntly, not engineering. It is, at best, prompt tinkering, as it shares exploratory and fiddling aspects.

But it’s actually worse than that, because people do not have actual insights on what is happening, nor do they gain them by fiddling.

You hear stuff like “you should talk directly to the LLM” or “you should talk kindly and say please” or “you should ask to explain itself, and sometimes it works better“. In the OpenAI forums you’ll see people telling each other “oh yeah that works terribly with GPT3.5 try GPT4” but also the opposite.

There is actual engineering going on on top of LLMs. Stuff like RAG or HyDE or ReAct is cool and smart, and you can certainly build things of value on top of these things.

But a large part of it is prompt fiddling. You can’t even know how different LLMs (or versions of the same LLM) will react until you try them out, and when you do, you only know if something worked for whatever input you used, but you have no knowledge of how it will generalize. Sometimes a single different word may cause drastically different outcomes, for no discernible reasons.

You don’t even know if the same LLM will continue to work the same over time! They may be getting dumber while you use them!

Prompt fiddling can be fun, and may work at times, but it’s also deeply frustrating and inefficient.

Shamans and Medics

I once listened to a mythology class, which explained that in many mythologies people or animals are born out of a deity’s armpit.§

The explanation given was that, well, primitive people did not really understand procreation. An armpit is angular, hairy and humid. So, not that much different from female genitalia, right? If one thing gives birth, why not the other?

People did not understand things, they told each other vague explanations and did things that seemed to make sense to them.

There’s a beautiful story of an Arab doctor called to help a Frankish knight. The knight had an abscess to a leg, and the Arab doctor, armed with Greek medicinal theory, wanted to administer him some balm.

But a Frankish doctor came and suggested to chop his leg, “better to live with one leg than die with both!”. Of course the knight died.

Those Frankish idiots! They should have stuck with real science and a proper doctor: it would have been enough to rebalance his humors, and the knight would have been just fine. Or not.

The Frankish medics were not idiots, and they are more or less the reason surgery became the real thing in Europe. And the Arab doctors were not idiots either, they had centuries old theories, and sometimes their remedies worked, too.

But they didn’t actually have a proper understanding, and no way of gaining it, they were limited to vague explanations and things that sometimes worked, and sometimes killed people.

And I have the feeling this is where we’re at right now with LLM usage.

I can’t wait for the modern era to arrive.

Making up a tabletop RPG

One day I wanted to keep the kids (6 and 8) busy, I suggested we play a game, I made up the rules and we used playing cards as the source of randomness. Thus was born PlayingCards-RPG.

Growing up in a town in Italy in the ’80s, I never got the chance to play tabletop RPGs. There might have been people who played them, but I was an introverted kid, a nerd without a like-minded community, so I never got the chance.

This means I don’t actually know how tabletop RPGs work. I have skimmed a couple rulebooks, and D&D’s rulebook clarified that roleplaying is about storytelling and make-believe.

Those, I know.

Character building

Kids are naturally apt at making up characters (more than their parents), so they can easily invent a character. But they are also bad at having them balanced.

Some popular RPGs have emphasis on character stats or classes, attributes such as strength, dexterity, agility, intelligence etc.. and all those are properly codified. But you don’t need that.

In PlCRPG there are 3 stats: Health, and Two Others. The others are Strength/Attack/Defence/Whatever and Intelligence/Dexterity/Agility/Magic/Whatever.

The goal is not to be realistic, is to have something where you, as the adult master can just balance them out. Examples we played:

  • Black Skull, the tiny alien with laser eyes: low Health, very high Attack, low defense, can fly.
  • Vanilla, the Elven Mom: average Health, average Intelligence, average Health, has an invisibility cloak.
  • Blooddrop, the saber-toothed mouse: low Health, low Strength, high Speed, starts owning some potions.
  • Almei, the werewolf cub with fractal fangs: average Health, average Strength (it’s a cub), low Intelligence, attack-only bonus.
  • Luna, the forest girl: average Health, low Strength, average Intelligence, but talks to animals and travels with a pet rabbit.
  • Grunt, half-orc: average Health, high Strength, low Intelligence.
  • Fire Spirit: low Health

Can I do something?

I think these are called checks in D&D. You should use a variety of dice with different probabilities but we just had playing cards. Most Italian playing cards use the latin 4 suits (Clubs, Swords, Coins and Cups, these are pretty well suited thematically!) and have 10 cards each. You can use the French or German ones (or tarots, or UNO cards or whatever) sticking with the 1-10 cards, and re-use the others as characters or equipment.

The system is simple: average stats means you use 1-10 cards. High stats mean you use 6-10, low stats use 1-5, buffs through objects or spells change the set of cards.

Some examples:

  • The party wants to break a door: that requires a 5, the kid player pulls a card, and if it’s above that they manage to break it.
    • the Half-Orc has 6-10 for Strength, will always succeed
    • the Elven Mom has 1-10 so she’ll succeed half the time
      • the Saber-toothed mouse has 1-5 so it just can’t do it (but could lockpick it)
  • The party is in a room looking for a book: I think this is a bit harder so I decide it requires a score >6
  • Elven mom has a 40% chance to pass
    • …but she found a spell that makes light, so instead of using cards 1-10 she’ll use 3-10
    • Werewolf cub is dumb, so even with the light he can’t do it

Fights and stuff

Fighting happens card-on-card: you attack with what you draw, defend with what you draw, subtract the difference from remaining health. Each player attacks in turn, the master makes up the order . To deal with extreme disparity, a “best” draw still does something.

For example Half-Orc fight a fire spirit:

  • Half-Orc has High Strength (cards 6-10), random Fire Spirit is tiny (cards 1-5). Half-Orc draws a 8, fire spirit draws a 4, takes 4 damage.
  • Fire Spirit attacks the Half-Orc, draws a 5: it could never damage the other which will always get a draw >6, but to make this mildly interesting a 5 (best draw) sets the other on fire, so they lose 1 health every round.

Experience, levels and such stuff

I did not bother with this. The kids will pick new characters the next game, and if they want to keep the same and “get better” I’ll just let them find some equipment.

Exploration, maps and such

I just draw on a bit of paper, I pre-planned dungeons but sometimes I just add stuff as we go on. My kids can’t be bothered to count steps and such, so I just have them move from one place to another instantaneously, it works well enough.

Conclusion

This is not a lot of rules. It’s barely more than not having rules, but the point is to get creative while spending time with your family, which we all enjoyed. There will be plenty of time to play with big rulesets when they grow up (and then there won’t be, as they’ll think playing with Dad is lame).

But do let me know if you have your own made up game, I’d be happy to play that too 🙂

Micro review: The Ocean at the End of the Lane

I really enjoyed this book.

I like Neil Gaiman quite a bit, but this book felt somewhat different: it felt somehow like a Stephen King story.

Mild spoilers ahead.

The book is written as the main character, as an adult, visits the place where he grew up. There’s a pond there, but he knew, as a kid, that it was no pond, it was the ocean. And there was a girl, somewhat special. And a man, who killed himself.

See? Isn’t this your Kingesque coming-of-age/did-we-imagine-it-or-was-it-real plot?

It also feels pretty intimate, you are led to immediately visualize young Neil in the story, not a random kid. It’s a good book, well written, with a good story and characters.

And a big difference between King and Gaiman is that Stephen is not very good at endings, but Neil is great.

Vote: 8/10

Mini review: Bobiverse audiobooks 1-4

I am not sure how I got into these audiobooks, but I think it’s because the premise was pretty great: Bob is a software developer that gets his mind uploaded into a Von Neumann probe, a spacecraft that travels the universe replicating itself.

This poses a few interesting issues: how does such a human survive as disincorporated mind? How does he deal with the solitude of space? How does it deal with clones that have his exact thought process?

It also creates interesting issues for the writer: how do you write about traveling through the endless vacuum in an interesting way? How do you create contrast between copies of the same character? And if Bob is now just software, when it gets copied to another machine, is it the same?

Hic Sunt Spoilers

Well, the plot issues are handled easily: you Marty Sue the shit out of them. Bob builds its own virtual reality. Its own AIs. Its own faster than light communication and drives. He masters computer science, material science, physics, biology, agronomy, astronomy. He terraforms, creates life, alters solar systems.

Most problems boil down to being barely an inconvenience, except for the issue most males have struggled during the ages: getting the girl. Women, uh?

(This is ironic, don’t lynch me please)

The writing issues are often sidestepped: there is no void of space, Bob just never gets bored or just sleeps. There are never N copies of the same character, since there is always some drift. You can’t copy a Bob.

I liked the idea that you can never have two copies of the same personality (because “quantum“), but if you turn one off, then you can move it to another machine.

It’s a good enough solution for the well known issue that the teleportation is incompatibile with a unique soul, which I expect will be tackled by some future interstellar council (I hope the ensuing schismatics/heretics will be called Renziani, whatever their position).

Anyway, the books are entertaining, Bob acts as God to some creatures, screws up some stuff, fights battle, kills aliens, deals with conspiracies. The various incarnations of Bob are likeable, no doubt due to a good performance on part of the narrator.

There’s also a certain amount of “here’s a new chapter and a new issue, and here’s how I tackle with my smarts” which can either get on your nerves or entice you depending on how much you identify with the character.

The author winks a lot to a certain reader, filling the book with nerd references which can be nice, but it gets boring after a while. Not as bad as Ready Player One anyway.

My ending is better

I liked the fourth book the most. The Bobs go looking for a lost Bob and find a giant space structure where an alien civilization is kept in a permanent state of low-tech development. Not wanting for anything, but stagnating, ignorant of their status, and slowly devolving.

Here the Bobs go on an adventure and find a giant computer mind that manages the whole civilization for their own good. Having incarnated into robots, the Bobs travel the planet, meet people, do stuff, start revolutions and so on.

This is my favorite book as the author seems to have abandoned the somewhat gimmicky nature of the first three, and gives us a cool space adventure, interesting world building, characters with mode depth. I think it might have made a good standalone book even leaving the Bobiverse aside completely.

My only disappointment is that I really, really, really wanted the evil computer mind to be the lost Bob. This would have cast a shadow on previous choices the Bobs did, forcing the reader to face hard ethical choices. Alas, we just get a “everybody is happy” ending.

Still, it’s nice to have happy endings now and then, and I look forward to the next book.

Vote: 7/10