Today I had a very interesting discussion with a colleague who optimized my work in Microsoft's SQL Server by replacing a table variable with a temporary table. Which is annoying, since I've done the opposite plenty of time, thinking that I am choosing the best solution. After all, temporary tables have the overhead of being stored into tempdb, on the disk. What could possibly be wrong with using a table variables? I believe this table explains it all:

First of all, the storage is the same. How? Well, table variables start off in memory, but if they go above a limit they get saved to tempdb! Another interesting bit is the indexes. While you can create primary keys on table variables, you can't use other indexes - that's OK, though, because you would hardly need very complex variable tables. But then there is the parallelism: none for table variables! As you will see, that's rather important. At least table variables don't cause recompilations. And last, but certainly not least, perhaps the most important difference: statistics! You don't have statistics on table variables.

Let's consider my scenario: I was executing a stored procedure and storing the selected values in a table variable. This SP had the single reason to filter the ids of records that I would then have to extract - joining them with a lot of other tables - and could return 200, 800 or several hundred thousand rows.

With a table variable this means :

  1. when inserting potentially hundreds of thousands of rows I would have no parallelism (slow!) and it would probably save it to tempdb anyway (slow!)
  2. when joining other tables with it, not having statistics, it would just treat it like a short list of values, which it potentially wasn't, and looping through it : Table Spool (slow!)
  3. various profiling tools would show the same or even less physical reads and the same SQL server execution time, but the CPU time would be larger than execution time (hidden slow!)

This situation has been improved considerably in SQL Server 2019, to the point that in most cases table variables and temporary tables show the same performance, but versions previous to that would show this to a larger degree.

And then there are hacks. For my example, there is reason why parallelism DOES occur:

So are temporary tables always better? No. There are several advantages of table variables:

  1. they get cleared automatically at the end of their scope
  2. result in fewer recompilations of stored procedures
  3. less locking and resources, since they don't have transaction logs

For many simple situations, like where you want to generate some small quantity of data and then work with that, table variables are best. However, as soon as the data size or scenario complexity increases, temporary tables become better.

As always, don't believe me, test! In SQL everything "depends", you can't rely on fixed rules like "X is always better" so profile your particular scenarios and see which solution is better.

Hope it helps!

and has 0 comments

  Symptoms:

  • You press the Start key (or open the Start menu) and you type something expecting to filter items
  • Instead nothing happens
  • You click on the Windows 11 search textbox in the Start menu, but it takes no input
  • You get notifications in the tray bar, but if you click on them, like on Windows Updates, it doesn't open Windows Updates

  I searched and searched. No, it wasn't running ctfmon. No, it wasn't restarting anything. No, I didn't want to reinstall Windows all over again.

  What it was was removing/renaming the IrisService Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\IrisService registry entry and restarting the computer. I thank Tech Advisor for this, although the problem wasn't that there were no answers on the net, but that there were too many and the vast majority of them were wrong and inept.

  Searching further, with the solution in hand, I found this little link: Windows 11 bug, so it is indeed an issue coming from Microsoft itself (probably update KB5006050). That should probably teach me against installing optional updates on my computer.  

  The funny thing is that after I did this, I restored the original values of the registry entry and it didn't have any effect. What is this IrisService? No one seems to know for sure.

  Well, hope it helps!

and has 0 comments

  Whenever I want to share the analysis of a particular opening I have difficulties. First of all, I am not that good at chess, so I have to depend on databases and computer engines. People from databases either play randomly or don't play the things that I would like to see played - because they are... uncommon. Computer engines, on the other hand, show the less risky path to everything, which is as boring as accountants deciding how a movie should get made.

  My system so far has been to follow the main lines from databases, analyze what the computer says, show some lines that I liked and, in the end, get a big mess of possible lines, which is not particularly easy to follow. Not to mention that most computer lines, while beautiful in an abstract kind of way, would never be played by human beings. Therefore, I want to try something else for this one. I will present the main lines, I will present how I recommend you play against what people have played, but then I will try to condense the various lines into some basic concepts that can be applied at specific times. Stuff like thematic moves and general plans. It's not easy and I may not be able to pull it off, but be gentle with me.

  Today's analysis is about a line coming from the Cunningham Defense played against the King's Gambit, but it's not the main line. It's not better, but not really worse either. I think it will be surprising to opponents.

  We start with King's Gambit accepted: e4 e5 f4 exf4 Nf3, which is the best way to play against the gambit, according to machines and most professional players. Now, Black plays Be7 - the Cunningham defense, with the sneaky plan of Bh4+, Nxf4, Qh4+, forcing the king to move or try to futilely block with g3 and lose badly (or enter the crazy Bertin Gambit, which is very cool, too). Amazingly, there is little White can do to prevent this plan! White entered the King's Gambit with the idea to get rid of the pawn on e5 and play d4, controlling the center. The main line says that, after Be7 by Black, White's light square bishop has to move, Bc4 for example, making way for the king to move to f1.

  What I want to do, though, is not to move the bishop, but instead continue with the d4 plan. I am going to show you that moving the king is not that bad and that, succeeding in their plan, Black may overextend and make mistakes. There are some traps, as well. The play, though, has to be precise.

  And I dare you to find anybody talking about this particular variation! They all assume Bc4, h4, Nc3 or Be2 are the only options.

  Let's start with the main lines, in other words, what people play on LiChess from that position:

  As you can see, most played moves are bad, starting with the very first one: Ke2. Instead, what I propose is Kd2, with the idea c3, followed by Kc2. The king is relatively safe and there are some naturally looking moves that Black can end up regretting. Next stop, playing correct moves vs the most commonly played moves on LiChess:

  While it doesn't give an obvious advantage - what I propose is not a gambit, just a rare sideline with equal chances, it gives Black plenty of opportunity to make a mistake. Let's see where Black's play on LiChess agrees with Stockfish strategy and note that Black never gets a significant advantage, at the human level closest to perfect play:

  Finally, before getting to the condensed part, let's see how Black can mess things up:

  Note that there are not a lot of games in this variation, so the ideas you have seen above go just as far as anyone has played in that direction. Computer moves are wildly different from what most people play, that is why machines can be good to determine the best move, but they can hardly predict what humans would do.

  In conclusion, without blundering, Black keeps an extra pawn but less than 1 pawn evaluation advantage, meaning White always keeps the initiative, despite having the king in the open.

  White's plan is to keep control of the center with e4, d4, followed by c3 and Kc2, Bd3 or Bb5+, Bxf4, Nd2, etc. White's greatest problem are the rooks which need a lot of time to develop. The attack can proceed on the queen's side with Qb5 or on the king's side with pushing the pawns, opening a file for the rook on h1. It's common to keep the dark square bishop under tension on h4, blocking Black's development, but then take it and attack on the weakened dark squares or on the queen's side, once Black's queen in on the other side of the board.

  I would expect players that are confident in their endgames to do well playing this system, as most pieces are getting exchanged and opponents would not expect any of these moves.

  Here are some of the thematic principles of this way of playing:

  • After the initial Bh4+, move the king to d2, not e2, preparing c3 and Kc2
    • while blocking the dark squares bishop, it uses the overextended Black dark square bishop and the pawn on f4 as a shield for the king
  • if d5, take with exd5 and do not push e6
    • opens the e-file for the queen, forcing either a queen exchange or a piece blocking the protection of the h4 bishop from the queen 
    • a sneaky intermediate Qa4+ move can break the pin on the queen and win the bishop on h4
  • if d6, move the light square bishop
    • Bd3 if the knight on b8 has not moved
      • allows the rook to come into the game and protects e4 from a knight attack (note that Nf6 breaks the queen defense of h4, but Nxe4 comes with check, regaining the piece and winning a pawn)
    • Bb5+ if the knight has moved
      • forces the Black king to move. If Bd7, then Bxd7 Kxd7 (the queen is pinned to the bishop on h4)
    • note that if Nc6 now, d5 is not a good move, as it permits Ne4 from Black
    • Qb5+ can win unprotected pieces on g5 or h5
  • once both Black bishops are active on the king's side, c3, preparing Kc2 and opening the dark square bishop to take the pawn on f4
    • play c3 on d6 followed by Nc6 as well
  • Nc6 is a mistake if there is no pawn at d6. Harass the knight immediately with d5:
    • Na5 is a blunder, b5 traps the knight
    • Nb5 gives White c3 with a tempo, preparing Kc2
    • Nb1 is actually best, but it gives White precious tempi (to play c3)
  • White's c4 instead of c3 is an option, to use only after Bg5, preparing Nc3
    • c4 might seem more aggressive, but it blocks the diagonal for the light square bishop
    • c4 may be used to protect d5 after a previous exd5
    • c4 may be used after a bishop retreat Be7 followed by Nf6 to prevent d5
  • White's Kc2 prepares Bxf4, which equalizes in most cases by regaining the gambit pawn
  • Black's Nf6 blocks the queen from defending the bishop on h4, but only temporarily. Careful with what the knight can do with a discovered attack if the bishop is taken.
    • usually a move like Bd3 protects e4. After Nxh4 Nxe4 Bxe4 Qxh4 material is equal, but Black has only the queen developed and White can take advantage of the open e-file
    • Kc2 also moves the king from d2, where the knight might check it
  • Keeping the king in the center is not problematic after a queen exchange, so welcome one
    • Qe1 (with or without check) after Nxh4, Qxh4 is a thematic move for achieving this
  • One of Black's best options is moving the bishop back Be7, followed by Nf6. However, regrouping is psychologically difficult
    • in this situation c4 is often better than c3
  • After Bg4, Qb5+ (or Qa4+ followed by Qb5) unpins the queen with tempo, also attacking b7 and g5/h5

  I hope this will come in handy, as a dubious theoretical line :) Let me know if you tried it.

Update:

  After analyzing with a bunch of engines, I got some extra ideas.

  For the d5 line, pay some attention to the idea of taking the bishop with the knight before taking on d4. So Kd2 d5 Nxh4 Qxh4 exd5. I am sure engines find an edge doing it like that, but I feel that at the level of my play and that of people reading this blog (no offence! :) ) it's better to keep the tension and leave opportunities for Black to mess up.

  Another interesting idea, coming from the above one, is that the Black queen needn't take the knight! Taking the pawn (dxe4) and developing the knight (Nf6) are evaluated almost the same as Qxh4! This is an idea for Black, I won't explore it, but damn, it seems like no one loves that horsey on h4!

  Then there are the ways to protect the doubled pawn on d5, either with c4 or Nc3. Nc3 is not blocking the light square bishop and allows for some possible traps with Bb5+, yet it blocks the c-pawn, disallowing Kc2. c4 feels aggressive, it allows both a later Nc3 and Kc2, but leaves d4 weak. Deeper analysis suggests c4 is superior, but probably only in the d5 lines.

  When Black's queen is on h4, White needs to get rid of it. Since the king has moved, an exchange is favorable, but it also removes the defender of the pawn on f4.

  Some rare lines, Black plays Nh5 to protect f4. The strange, but perfectly valid reply, is to move the knight back, allowing the queen to see the Black knight: Ne1 or even Ng1.

  In positions where the king has reached c2 and there is a Black knight on c6, prevent Nb4 with an early a3.

  In the d6 line, Black has the option to play c5, attacking the pawn on d4. Analysis shows that dxc5 is preferred, even when the semifile towards lined up king and queen opens and the pawn takes towards the edge. Honestly, it's hard to explain. Is the c-pawn so essential?

  If you've read so far, I think that the best way for Black to play this, the refutation of this system so to speak, is bishop back Bg7 followed by Nf6. And the interesting thing is that the reply I recommended, c4 preventing d5, may not be superior to Nb3 followed by exd5.

and has 0 comments

  There are two different measures of the value of something that sound a lot like each other: efficiency, which represents the value created in respect to the effort made, and efficacity or effectiveness, which on first glance seems to be only about the value created. You are efficient when you build a house with less material or finish a task in less time. You are effective when you manage to finish the task or build the house, when you get the job done. Yet no one will tell someone "Oh, you've built a highway in 30 years, that's efficacy!" (Hello, Romania!). Efficacy is when you consistently get the job done.

  Imagine you are a chess player. You are efficient when you can beat people by moving faster than them, by thinking more in the same amount of time. This allows you to play faster and faster time controls and still win. However, think of the opposite situation. You start by being good at bullet chess and then the time controls get slower and slower. You are effective when you keep winning no matter how much time you have at your disposal. Efficacy is also when you keep winning games.

  That was my epiphany. Take me, for example. I don't play better chess when I get more time to think. I am not fully using the resources available to me. I can give a lot of examples. I have money, more or less, so do I use it to the best of its value? Hell, no! I suck at both chess and finance. The point is that some people would do well with an average amount of resources, but then they would not do better with more of them. These are two faces of the same coin. One is the short distance lightning fast runner and the other is the marathon runner. Both of them are good at running, but in different resource environments.

  Both efficacy and efficiency are relative values, value over resources, a measure of good use of resources: use few resources well, you are efficient, use a lot of resources well, you're effective. It's the difference between optimization and scalability.

  Why does it matter? I don't know. It just seemed meaningful to explore this realization I've had, and of course to share it.

  Take a good writer who wrote a masterpiece in between working and living. He achieved a lot with less. But what if you give him money so he doesn't have to work. Is he writing more books or better books? In our day and age, scalability has become more important than efficiency. If you provided value for 10 people, can you provide it to 100? It's more important than getting it to be 10 times better.

  Can one apply scale economics to their own person? If I thought 10 times faster than everybody, would I have 10 times more thoughts or would I just learn to not think that fast, now that I have the time? You see, it seems that applied to a person, the two concepts are similar, but they are not. Thinking 10 times more thoughts in the same amount of time or taking 10 times less to think the same thoughts might seem the same, but it's the same thing if I compare listening to two people at the same time or listening deeply to a single person. Internally it seems the same, but the external effect is felt differently.

  I don't have a sudden and transformational insight to offer, but my gut feeling is that trying to scale one's efforts - or at least seeing the difference to optimizing them - is important.

and has 0 comments

  I am not really a King's gambit man, but a friend of mine loves to play it so I've started looking into it and stumbled upon this very interesting variation which I found very instructive. Basically White is gambitting not only a pawn, but also a piece, all for development and immediate attacking chances. Now, if you thought King's gambit is a romantic era chess opening that has been refuted (no, it has not been, but that's all what people remember from the title of an article written by Robert Fischer 50 years ago) then you will probably will think this continuation is lunacy.

  Luckily, LiChess makes chess study so simple that even I may sound smart talking about it, so here it is. The position begins from King's gambit accepted - which is the best line for Black according to computer engines, continues with the Rosentreter gambit - allowing Black to chase the important f3 knight away, then White completely abandons the important knight - the so called Testa variation! And then White sacrifices another piece! It's so much fun.

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. d4 { Rosentreter gambit } 4... g4 5. Bxf4 { Testa variation } 5... gxf3 6. Qxf3 { At this point, evaluation is just -1.2, even after sacrificing a piece for a pawn! } 6... Nc6 7. Bc4 Nxd4?? { Black has fallen into the trap. Note that other than the beginning gambit moves and this blunder, all Black moves are Stockfish best moves. } 8. Bxf7+ { Boom! Stockfish evaluation jumps to +5, but getting there takes some time. } 8... Kxf7 9. Qh5+ { No greedy discovered check here as the Queen is under attack. }

  Note that there is another similar opening as the gambit I am discussing, also arising from the Rosentreter variation of the King's gambit, where instead of coming up with Bc4, White plays Nc3 - the so called Sørensen Gambit. Similar or same positions may be reached from From's gambit, Vienna gambit, Steinitz gambit, Polerio gambit or Pierce gambit.

  Lieutenant Colonel Adolf Rosentreter was a German chess played who lived between 1844 and 1920. He seems to have been a gambit loving chess player, as there are at least two gambits named after him, the most famous being the Giuoco Piano one, which he used to completely destroy a Heinrich Hoefer in 1899, in just 13 moves. Funny enough, in the LiChess player database there are 10 games that end in an identical fashion. I don't know who Testa was, who is possibly the one who should be lauded for this version of the opening.

  Anyway, the post is about the gambit in the King's gambit. From my analysis, White can have a lot of fun with this opening. Also, none of the main lines (played the most in LiChess for various ratings) are actually any good, in the sense that the few people who employ the gambit don't know how to implement it best and their opponents usually blunder almost immediately. "Masters" don't use it or at least don't fall into the trap, so keep in mind this is something to use in your own games. So Magnus, don't read this then play it in the world championship or something!

  Also, even in the case of Black not falling into the trap, the opening still leaves White fully developed and Black with the burden of demonstrating an advantage. As you can see from the image, the only White piece undeveloped is a knight. Once that happens and the king castles, all pieces are out. Meanwhile, Black has moved only a knight, one that - spoilers alert - will be lost anyway.

  Note that I've used Stockfish to play the best moves (other than entering the gambit and accepting the poisoned pawn). For the main lines chapter I've went through the games in the LiChess database. Agreed, there are only a few hundred in total, but that proves how much of a weapon this can become. Hope you enjoy it and as always, I welcome comments.

  Without further ado, here is my study for the Rosentreter gambit Testa variation in the King's gambit accepted:

 

and has 0 comments

  Monstress is a feudal fantasy manga set in a world of ancients, old gods, humans and half humans. After a period of peaceful coexistence, the humans and the half humans separated in two different countries, which now head towards war. The main character is a girl with mysterious powers, powerful but angry, who is the center of a storm that will either save or destroy the world.

  The color drawing is very beautiful, as are all the gods and creatures, very detailed and purposeful. Faces and bodies are expressive. I like the story a lot, clearly thought and love has been poured into it by both writer Marjorie Liu and illustrator Sana Takeda. It reminds me of Berserk, back when it was still good - the first 26 chapters, both the drawing style, with detailed filigree indicating godly power, and the story, which is at time cruel and unforgiving, meant to forge the hero into something spectacular.

  At this moment the manga is still going strong, with 41 chapters published. You can read it online here. I highly recommend it. It has earned many awards, including five Eisner Awards, four Hugo Awards, and the Harvey Awards Book of the Year in 2018.

and has 0 comments

  I caught myself thinking again about the algorithms behind chess thinking, both human and computer. Why is it so hard for people to play chess well? Why is it so easy for computers to come up with winning solutions? Why are they playing so weird? What is the real difference between computer and human thinking? And I know the knee-jerk reaction is to say "well, computers are fast and calculate all possibilities, humans do not". But it's not that simple.

  You see, for a while, the only chess engine logic was min-max. A computer would have a function determining the value of the current board position, then using that function, determine what the best move would be by exploring the tree of possibilities, alternating between what a player would most likely do and what the reply would most likely be. Always trying to maximize their value and minimize the opponent's. The value function was determined from principles derived by human masters of the game, though, stuff like develop first, castle, control the center, relative piece value, etc. The move space also increases exponentially, so no matter how fast the computer is, it cannot go through all possibilities. This is where pruning comes in, a method of abandoning low value tree branches early. But how would the computer determine if a branch should be abandoned? Based on a mechanism that also takes into account the value function.

  Now humans, they are slow. They need to compress the move space to something manageable, so they only consider a bunch of moves. The "pruning" is most important for a human, but most of it happens unconsciously, after a long time playing the game and determining a heuristic method of dismissing options early. This is why computer engines do not play like humans at all. Having less pruning and more exploring, they come with solutions that imply advantage gains after 20+ moves, they don't fall into traps, because they can see almost every move ahead for three, four or more moves, they are frustrating because they limit the options of the human player to the slow, boring, grinding pathways.

  But now a new option is available, chess engines like Alpha Zero and Leela, which use advances in neural network technology to play chess without any input from the humans. They play with themselves millions of games until they understand what the best move is in a position. Unsurprisingly, as neural networks are what we have in our brain, these engines play "more human" but also come up with play strategies that amazed chess masters everywhere. Unencumbered by education that fixed piece value or limited by rigid principles like control the center, they revolutionized the way chess is being played. They also gave us a glimpse into the working of the human brain when playing chess.

  In conclusion, min-max chess engines are computer abstractions of rigid chess master thinking, while neural network chess engines are abstractions of creative human thinking. Yet the issue of compressing the move space remains a problem for all systems. In fact, what the neural network engines did was just reengineer the value functions for board evaluation and pruning. Once you take those and plug them into a min-max engine, it wins! That's why Stockfish is still the best engine right now, beaten by Alpha Zero only in very short move time play modes. The best of both worlds: creative thinking (exploration) leading to the best method of evaluating a chess position (exploitation).

  I've reached the moment when I can make the point that made me write this post. Because we have these two computer methods of analyzing the game of chess, now we can compare the two, see what they mean.

  A min-max will say "the value of a move is what I will win after playing the best possible moves of them all (excluding what I consider stupid) and my opponent will play their best possible moves". It leads to something apparently very objective, but it is not! It is the value of a specific path in the future, one that is strongly tied to the technology of the engine and the resources of the computer running it. In fact, that value has no meaning when the opponent is not a computer engine or it is a different one! It is the abstraction of rigid principles.

  A neural network will say "based on the millions of games that I played, the value of a move is what my statistical engine tells me, given the current position". This is, to me, a lot more objective. It is a statistical measure, constructed from games played by itself with itself, at various levels of competence. Instead of a specific path, it encompasses an average, a prescient but blurred future where many paths are collapsed into a value. It is the abstraction of keeping one's mind open to surprises, thus a much more objective view, yet less accurate.

  Of course, a modern computer chess engine combines the two methods, as they should. There is no way for a computer to learn while playing a game, training takes a lot of time and resources. There are also ways of directing the training, something that I find very exciting, but given the computational needs required, I guess I will not see it very often. Imagine a computer trained to play spectacular games, not just win! Or train specific algorithms on existing players - a thing that has become a reality, although not mainstream.

  The reason why I wrote this post is that I think there are still many opportunities to refine the view of a specific move. It would be interesting to see not a numerical value for a move, but a chart, indicating the various techniques used to determine value: winning chances, adherence to a specific plan, entertainment value, gambit chances, positional vs tactical, how the value changes based on various opponent strengths, etc. I would like to see that very much, to be able to choose not only the strength of a move from the candidate moves, but also the style.

  But what about humans? Humans have to do the same thing as chess engines: adapt! They have to extract principles from the new playing style of neural network engines and update the static, simplistic, rigid ones they learned in school. This is not simple. In fact, I would say this is the most complex issue in machine learning today: once the machine determined a course of action, how does one understand - in human terms - what the logic for it was.

  I can't wait to see what the future brings.

and has 0 comments

  Don't want to be mean, especially since I've only read 42 chapters on the 1000+ that make up One Piece, but I found it boring. I did read Inuyasha, Naruto, One Punch Man and even Bleach religiously, but I was younger and had a lot of time on my hands. This one is just another "young male teen with no actual connections meeting friends and enemies and leveling up" story. And it's also very childish.

  I enjoy shōnen manga, but this is just too ridiculous for me. I understand it gets better later on, but I've skipped somewhere in the middle and it didn't seem to. Anyway, I guess I can category this as DNF and move on with my life.

  If you like it, you can read it free online here: One Piece

  I had this situation where I was trying to optimize a query. And after some investigation I've stumbled upon something strange: querying on the primary key was generating a lot of reads. I was joining my table with a temporary table of 10 ids and there were 630 reads! How come?

  At first I thought it was because the way indexes work. The primary key was comprised of RowId and RowDate and, even if I knew theoretically searching by RowId should use the primary key, the evidence was against me: when querying by RowId and RowDate I would get the expected 10 reads.

  I created two queries, one with and one without RowDate. I then compared their execution plans. They were identical! Only one took a lot longer, specifically in the Index Seek (which used correctly the primary key). When I looked at the properties for that plan element, I saw something strange:

Actual Partitions Accessed 1..63!

I then realized that the table was partitioned on the RowDate column. In this case, RowDate takes precedence to any indexed column! You might think of partitioning a table like forcefully adding the partition columns to every index in the table, including the primary key. In fact, a partitioned table acts like a number of separate tables with the same definition (columns, indexes, etc.), just different data. The indexes work on each separate partition. When you partition a table, you also partition its indexes.

In truth, I would have expected the query execution plan to show the partition split as a separate step. I understand it's hard to conceptualize it without creating as many execution paths as there are partitions, but still, there should be an indication in the shape of the plan that makes it clear you are querying on multiple partitions.

Once RowDate was used, the SQL engine would choose the one partition of my row, then use the primary key index to seek it. Instead of 63*10 reads, just 10 reads, the number of the rows in the id table.

So be careful when you use table partitioning to ALWAYS use the partition columns in the queries for the table, else you will get as many parallel searches as there are partitions, regardless of the indexes you created, as they are also partitioned.

Hope that helps!

and has 0 comments

  Junji Ito is a manga artist that creates horror, usually focused on personal obsession, body horror and disgust. He is like the Japanese Serge Brussolo, in a way. Uzumaki (translated as Spiral) is a 20 chapter story about a small town infested by spirals, which have more and more horrifying effects as the story unfolds (heh!). Yet perhaps the most horrible thing that transpires from the manga is the typical Japanese social and cultural pressure that keeps people in their place, in their role, denying that anything could be wrong.

  I mean, in the beginning, people were leaving the town and coming back, noticing as they did how strange it was compared with the place they were coming from. Later on, the main characters see horrible things happening and still won't leave, while anyone who heard them explain what had happened - even if obvious to anyone looking - refused to accept that it was anything but rampant imagination. And, of course, they stop telling people things, because of the ultimate horror: being stigmatized in their society. That is true horror to me, that people would choose to live their lives like that. The way the town folk end up at the end seems to me like a metaphorical criticism of Japanese culture, but I may be wrong. 

  Anyway, the drawings are good, imaginative, and the manga succeeds in instilling that pervasive feeling of dread. The story gradually getting weirder and weirder, but in small increments, also manages to hold the reader on the edge of disbelief. Short, too, so no need to invest a lifetime in reading it.

  If you want to read it, Uzumaki is freely available online, on the Junji Ito site, but also on a dedicated site that looks very similar, only with an extra bonus chapter, so I would go there. If you are a fan of horror, maybe Brussolo, maybe Lovecraft or even John Saul, I think you will enjoy this a lot.

and has 0 comments

  Fungi is a short story collection, fantasy and sci-fi, mostly hinging towards horror, edited by Orrin Grey and Silvia Moreno-Garcia. I am fascinated by fungi and also a horror fan, so I expected to love the book. Well... it was OK. I enjoyed most of the stories, but to be fair, the fungal influence on most plots was either marginal, like some evil affliction evidenced by mycelium growth, or too obvious, like the pulsating life eating and/or controlling mushroom mass.

  It is possible that I bore a grudge from the very moment I started reading the book and expected it to be a novel, only to discover tales too short to get anywhere. It was great to listen to a short while walking the dog and not having to get invested too much, but other than that I was not that captivated. Stories were decent, most of them, but perhaps I was not really in the mood for a collection.

  So, bottom line is that I had expectations set way too high and thus was inevitably disappointed. Didn't learn anything more about fungi, because most of the plots were about infestations that required no understanding of the processes involved.

and has 0 comments

  The Year of the Witching is not the kind of book I would normally read, but it was probably recommended by some web site or another, pushing for a masterfully written establishment shaking stunning feminist debut story of female empowerment. And me, like an idiot, bought it. I didn't like the book, but I said I would push against my prejudice and read it to the end. The end was worse than the rest. But don't listen to me: an overwhelming number of positive reviews is there, all from women and the occasional male who is excited on how the story touches on oppression against women and other minorities. So I may be wrong.

  Alexis Henderson's writing was decent, but the story was inconsistent and I almost stopped reading the book a few times. The lead character is a girl who has been raised by a very devout and poor family (who are treated as pariahs) in a closed village of very devout people who worship the Father (their god of light) and hate the Mother (goddess of witches, dark and nature), being in the habit of burning people on pyres as an alternative to a good bath. Our hero is also the daughter of a woman the entire village remembers as a terrible sinner and most likely a witch. So how in the hell does she grow up to be socially integrated, self possessed, intelligent, articulate, well read, capable of anything, from daily tending to flocks of sheep, having public romances with the son of the Prophet and also having the time to visit the woods and read in the library?

  Oh, did I mention that the most eligible bachelor in the village likes her because she is not like the other girls and she is also of mixed color? That's my main complaint regarding the story: the lead character is impossible. I felt she was way more modern than anyone in that silly little village had the right to be and did the work of several people at the same time.

  But I was starting to have high hopes for the end. Will it be a blood bath? Will she side with the oppressed witches or with the people she loves? Will her boyfriend, her grandmother or the witches trick her into doing something completely different from what she thinks she does? Will anyone realize that you need both a father and a mother, not just siding with one parent like an asshole child during a divorce? Will there be any kind of twist? And no. The answer is no. Everybody behaves exactly as their cardboard character allows them to, unless of course the plot needs to spare someone or go into a direction that is very hard to believe it could go.

  Every single character in the book has one role and they conveniently perform it and then they just leave the stage so our heroine might shine.

  And it wasn't even one of those books masquerading as a fantasy only to discuss real social issues like oppression, or using witches as a metaphor for status defying women. I mean, it probably attempted to be one, but it was a really self contained story in a self contained universe. It is just that the book was boring, the plot full of holes and the characters unsympathetic, bland, Mary Sues or all of the above. 

  Bottom line: I can see the author crafting better stories. She is a competent writer. But this book was just bad.

  Madeira is a beautiful island and, even if we went during the summer, I understand that it is even more beautiful during spring, when flowers bloom. Yet if you want to have fun, you must avoid the tourist traps with overinflated prices and know how the island is structured.

What is Madeira

  But first things first: Madeira is a Portuguese island, even when it is clearly closer to Africa than Europe (latitude a bit under Casablanca and above Marrakesh). Like the Azores, its archipelago is an autonomous region, which means it kind of has its own local government, complete with a president, even if still part of Portugal and the European Union. Tourism is by far its greatest source of income (more than 70%) even if at the beginning of its history it provided sugar for most of the world and was also a vibrant place of commerce via ships and funded much of the Portuguese exploration and expansion era.

  As a volcanic island, it's about 800 km2, but its highest elevation is 1861m. And while at a pretty southern latitude, it is surrounded by water, which gives it a distinct climate. Water evaporates around the island, then condenses on the slopes of its surface as a light mist. Rain is relatively rare, but the island has a lot of water through this system. Touristically, this has relevance as the locals have constructed kilometers of tiny cement canals to distribute the water falling down the slopes towards farmlands. Next to these there are paths that can be hiked at low slopes and under the forest shade.  Shade is important, because while the climate is mild, rarely going above 30°C, the sun is relentless, so don't forget your hats and your solar protection.

  The capital of the island is Funchal, home of a little more than a hundred thousand people. Considering the entire island population is a quarter of a million, you can see why most hotels, shops, restaurants, bars, clubs and beautiful buildings are there. This is also, I want to say, the least interesting part of the island. In about two or three days you can visit almost everything in the city proper, add one for things farther away like some gardens you can reach using cable cars and stuff like that, and you don't need more than four days. The rest of the island, though, has a lot of beautiful scenery, strange and different little villages, authentic housing, history and is generally more interesting. There is a caveat, though.

Take care

  The roads in Madeira, even if new, very well done and paid for by the European Union, with kilometers long tunnels and good asphalt, are convoluted and very steep. It would be a terrible mistake, in my opinion, to come to the island and rent a car. There are roads where you can't use the break or your car starts to tumble. They are also not very wide, meaning that you have to know the unwritten driving protocol on the island and sometimes have to stop and go in reverse in a curved road that is 45 degrees steep. Luckily, there are a lot of buses you can take, even if they have pretty short schedules (around 18:00 you must start considering taxis or Bolt). BTW, Uber doesn't work in Madeira, so you need to install Bolt, which has the usual "car sharing" service, but also integrates with local taxi cabs. Also, how could you properly enjoy the landscape if in constant fear for your life?

  Don't buy tickets for the Hop on/Hop off buses, as they come rarely (45 minutes to an hour) and their schedule ends at 18:00. The drivers also take lunch breaks, so the gap between getting off and getting back on again is two hours at that time. Local buses might look more daunting, but they are just as good and you can pay when you get in. Mind that they are also rare and you should pay attention to their arrival schedule, but there are a lot more lines.

  Also, while I have not taken the opportunity to see how it is, sea tours (like whale and dolphin watching) might not be as good as you think. Boats are not allowed to go closer than 50m from the animals and the best experience, I am told, is to get on the Zodiac boats with a lot of people for that. I don't know about you, but bobbing up and down at speed in an air filled plastic boat doesn't sound fun. Trips to the neighboring islands, which I hear are beautiful, are also three hours long, so prepare to either stay the night or spend six hours in total just going back and forth. But if you like the sea, all of these might be worth it.

  Last warning is about the tourist traps. Funchal is basically a big tourist trap, where all the prices are at least twice as expensive as for the rest of the island. But even if you go to neighboring towns, there are the visible places people go to and then there are the places where the locals go to. The problem is not so much the price as is the inauthentic experience. You don't want to spend the time and resources to go to Madeira just to get the same experience you would get in any other city in the world, including the one you left from.

The trip

  In order to get to the island, we took a charter plane as part of a touristic agency plan. There was no other direct plane from my city of Bucharest to Madeira and I suspect most travel there is being monopolized by deals between tour agencies and local hotels and airport. However, even if you don't have a lot of choice on where to stay, you don't have to follow the plan that the agency has for you when you get there, so we made our own plans.

  The hotel we were stationed at was Four View Baía (pronounced Bah-ee-ah), which was a decent building with 11 floors, an outdoor pool and a spa complete with an indoor heated pool and sauna, and a pretty good view, too, as you got to see most of Funchal and the ocean, but next to busy noisy streets as well. The most valuable quality of the hotel is that it's 16+, so no kids at meals or in the pool, no noise during the night, etc. However the service was stupidly bad, with a restaurant that offered buffet meals, but would have the cheapest food that didn't even seem local and the lowest paid workforce, if you take into consideration how unprofessional many of them were. They didn't seem local either, BTW. The air conditioner, for example, looked centrally controlled even if you could set up your desired temperature. The result of turning it on, though, was just cold air at 16°C that would never stop. So our feeling was that it was a good hotel with shitty management. Good overall quality spoiled by inattention to detail and no care for the customer experience.

  This could be explained by the Covid pandemic, though. When Covid struck, the entire island realized how dependent they were on tourism. I suppose the smaller businesses quickly collapsed, leaving just the big corporate chains with their unique mentality on cost reduction. But I may be wrong. Four Views hotels might just be bad in general.

  I had the expectation to go to Madeira and eat fish and sea food the entire duration. It was amazing to me that most places didn't serve sea food that much and if they did, it was expensive and the diversity of the offer was pretty low, even in places outside Funchal. We haven't been to many restaurants, though, so we might just have been unlucky. Also, most of the "traditional" food they have in Madeira is really bland, which is surprising considering how much spice the Portuguese were transporting through the island. My recommendation towards the food is to go to the market, buy some chili and keep it with you at all times. Mustard, too, if you can.

  We spent the first two days walking around, which has the level of difficulty of your choice depending on whether you walk around the ocean side, which is flat, or you go towards the center, which is really steep. We took the cable car to two large gardens, there were two of them, one the Botanical Garden and the other Monte Palace Tropical. We went to Monte Palace first, which was wonderful, with two small museums inside - African sculpture and Geological - and a beautiful and carefully cared for garden, tiles, Asian motifs and more. Only then we went to the botanical one, only to find that is was smaller and much less tended for. It was almost a disappointment, even if it had more types of plant life there. Personally, I thought Monte Palace Tropical garden was a lot more beautiful. Coming back we walked, which was funny as we took a 40 degree slope downwards on a street for an hour or so. Hint: cut your toenails before going to Madeira. Tried to find the street on Google Maps, but apparently not even they are adventurous enough to map it in Street View.

  Second day we took the Hop-on bus to a nearby fisherman town called Câmara de Lobos. I liked it there a lot, as it has a big street filled with bars and restaurants, where they do serve local food and the local cocktails. The Poncha (pronounced Ponsha) was originally a combination of rum agricol (traditionally made by steaming sugar cane, not like the industrial rum which is most common today outside Madeira), lemon juice and sugar rubbed lemon zest. It tastes a bit like a gimlet and you find it under the name Pescador Poncha. However, the modern variation of the cocktail (called Traditional Poncha for some reason) is a combination of orange juice, rum agricol and honey. I do believe this one is the better version, as the tastes of orange, rum and honey mix very well together without covering each other up. Anyway, any combination of sugar, citrus juice and rum is a poncha and you can find many variants on the island. Note that there are bars and then there are poncha bars. The cocktail needs to be made fresh, don't get the bottles for tourists. The English word "punch" has the same etymological roots.

  The next two days we had hired a local guide. I have to tell you that this was the best decision we made there (perhaps the second best, next to the one to not rent a car!). Not only did we skip the group tours organized by the tourist agency, but we also looked for a guide that would take only us around - there are others that do a similar thing, but with convoys of cars. We stumbled upon Go Local, run by Valdemar Andrade, who comes to your hotel in his trusty Nissan 4x4 and takes you to see Madeira in ways that only locals see it, then brings you back. I am talking various villages, some so isolated that they have rare contact with anybody, forest roads that no one knows about, restaurants and bars that give you the authentic Madeiran experience, volcanic black sand beaches, mountain top walks and so much more. Valdemar is also a very fun conversationalist, boasting immense pride in his island and knowledgeable about all aspects of Madeira, starting with history, politics, geography, flora and fauna, economy and ending with any small detail you can think of. It was great fun to visit the island from the open roof car, just the way I like it: long trips with a lot of nature, without any effort on my part :) If you decide to go, I warmly recommend him.

  The fifth day we went on a hike next to one of these artificial water gathering channels called levadas. Recommended by Val, I think it may have been the best of them all: Ribeiro Frio - Portela - Levada do Furado (PR10). We looked for another one next day and didn't find any that were as long, beautiful or conveniently placed as it - relative to our hotel, of course. Imagine an 11km hike on a more or less flat path that goes around an entire mountain, under the shade of trees, with the cool of the water in the channel making it as pleasant a temperature as possible, with almost no annoying insects and with mountain vistas that take the breath away. We got there by Bolt and we returned from the other end with a local bus.

  The last full day we went to the Blandy's wine tour, which is a Madeiran wine company tour on how the wine is made and bottled and which gives you the option to buy wine at a discount then grab it at the airport duty-free shop, which I found very convenient. The tour was nice, too, with a very pleasant guide explaining everything. Madeiran wine is a fortified wine, where strong alcohol is added to stop fermentation rather than wait until fermentation naturally reaches that level. It also has unique properties because of the preparation process, which emulates the effects of months long trips on the sea with wine barrels indirectly heated by the sun. It has a very interesting taste that I enjoyed, with intense flavors given by the wood in the barrels and reminding me a bit of Asian rice wines.

  Then we went to the old city, a place of small streets filled with restaurants, but really trappy. Then we walked the ocean side in Funchal and the nearby beach after going there by Hop-on bus - the island doesn't have a lot of beaches, which I believe is a good thing.

  There are a lot of details that I've left out, like the flight or the outdoor pool experience under the Madeiran sun and feeling the breeze, the Portuguese obsession with the sh sound (as in Poncha, Lobos, Seixal, etc.), the laws that prohibit logging or building above the 800m height, which I believe is amazing and should be perhaps implemented in some areas of my country as well or how the local (rather feudal) politics make access to the island by ferry difficult and so stealing on the island is almost non existent (where would you go with the stuff?), or the invasive species like the tobacco tree or eucalyptus which are in constant battle with the native flora and so on. Ask me if you want any specifics.

  What I loved most about Madeira was the landscape and flora. Beautiful trees and flowers, pristine mountain slopes and, in the constructed areas, a common building style that didn't grate the eye. I also had the feeling that this might change in the future. I hope Madeira stays like this, but I feel like private interests are slowly but surely eroding the local culture and legislation. While we were there, there was construction everywhere, four large cranes visible from our hotel room alone.

  More pictures

and has 0 comments

  Oh, finally, a self contained story in a single book, glorious and fun adventure, witty references and dialogue and absolutely no politics. Kings of the Wyld feels part RPG, part rock concert, part buddy comedy. Nicholas Eames has an easy yet profound way of describing things and writing characters. Best of all, I don't think the next books in the series would continue the story, just be separate stories in the same universe with some common characters. As such, one can enjoy the book as standalone and I've thoroughly enjoyed it!

  At first daunted by the size - I know 500 pages is not particularly huge, but I was in a mood for something light - I started reading it and had trouble putting it down. In the end I just had to not sleep and finish it.

  The story is about the members of an old mercenary band who have to get back together to rescue the daughter of one of them. Their journey takes them through a world split between complacent nations, monsters and old immortals, filled with creatures and fantastic beasts of every kind and finally leads to an epic battle for the soul of adventure.

  The writing style was easy to read, filled with humor, but also profound in the way characters were portrayed. The only character that was kind of fumbled was the daeva, but it ended up OK. Some criticism was raised about the story kind of pushing along like a D&D campaign, with random encounters and solutions out of nothing and it is totally valid, yet the book, while not aiming to be a comedy, never took itself seriously and therefore it felt really entertaining.

  Bottom line: for a debut novel, it's pretty great. I don't know if I will continue to read the series, but I will keep an eye on Nicholas Eames. A must read for adventure fans.

and has 0 comments

  I was watching a silly movie today about an evil queen bent on world domination. And for the entire film all she did was posture and be evil. Whenever she needed something, she told her people to do it. And I asked myself: why do whatever the queen demands and not kill her on the spot? I mean, she sprawls in her throne while you are an armored and heavily armed soldier sitting right next to her. And the answer I found was: stories. The warrior believes that the queen has the right and the power to command him, so she does. There is nothing intrinsically powerful in the woman herself, just the stories people believe about her.

  And this applies to you as well. Your boss, your wife, your country, your people, your family, your goals and how you choose to go for them are all stories that you tell yourself. It applies to the stock market as well, where stocks have no value unless someone believes in them. And just like there, the stories told to large audiences have large effects as even a small percentage of people get to believe them. Perhaps nothing has any value unless somebody believes it has.

  Generals have known this for a long long time and they apply it today. Just try to find any news source that isn't biased one way or another. The war "in Ukraine" has already become a world war, it's just not fought with conventional weapons. The censorship is there, applied over the entire western area of influence, just as it does in Russia and in China and everywhere to where we used to scoff with superior moral conviction and accuse them of not being free. Conviction is a funny word, as it implies unshakeable belief, the worst kind there is. Convict has the same etymology.

  I think I am lucky for being born when I was. I was raised in a Communist dystopia that was already crumbling at the time, with people telling me stories (that word again) about the wonderful world outside our borders, where people were rich, content and free. I was raised reading and watching science fiction that depicted a near future filled with technology and wonder, fantastical or new planetary worlds, but most importantly, hope. I remember calculating that in the year 2000 I would be 23, a rather wonderful age to be going to the Moon and exploring the Solar System.

  Well, now it's 2022 and everywhere I look I see directed stories, weaponized to nudge me in a direction or another. And like any instrument wielded by blunt people, these stories are always negative, lacking inspiration - both in their creation and their effect, attempting to make me feel scared, insecure, overwhelmed, outraged, offended, angry. Because when you have those feelings you accept authority and the orders you get, no matter how dumb, violent or deleterious. The attack on the Capitol was caused by that kind of storytelling, the war in Ukraine keeps going because of these type of stories, both on the Russian and the anti-Russian side. 

  We are doing it to ourselves, pushing these narratives that in the end hurt us just as much. Gone is the hopeful post-scarcity future of Star Trek, where people understand living to eat and eating to live is not the way to live. Gone are the rebel fighters of Star Wars and the noble principles they were guided by. Gone are the Russian teams exploring the cosmos and solving problems using science. Everything is now anger, hate, suffering, explosions, political scheming, social agendas, special effects. We are darkening our stories and dimming ourselves.

  And I do believe that hope is the antidote. Not because reasons to hope, but despite their absence. A hopeful story is inspiring, protective and kind. In the fourth season of Stranger Things people use a verse from the Bible: "Do not be overcome by evil, but overcome evil with good." Of course, those people then proceed to arm themselves and try to kill a bunch of kids for playing D&D, another example on how easily hope can be corrupted into fear and anger. The good stories are of people who better themselves and think of others, not of defeating evil. There is no hope in seeing the evil queen stabbed and thrown into the lava, the real story is how the heroes overcome the evil in themselves.

  I am an atheist. I believe (heh!) that we don't need gods to be decent and that thinking things over will always yield the best solution. But I understand religion, how it tries to inspire, to raise hope, even if in the end it is misused by shallow people to control and usurp. I don't have an answer for everyone, but I have hope, I must have it. The alternative is to remove myself from the world, or join it in its perceived evil. I am sure there are a lot of people like me, though. Even if we feel alone, trapped in an eternal WTF moment, we are many. The number shouldn't matter, though, except as a reason to not abandon the world, to still hold hope for it, for each of us can hold. Hold hope, hold ourselves or simply hold against.

  Star Trek and old Russian sci-fi will not happen while I live. The world will not wake. As a pessimist at heart, I don't expect good things to happen, especially this first half of a century. But I will continue to watch and hope for a good ending.