and has 0 comments

  I am writing this during the second tour of presidential elections, and as the first one has just been annulled. Yes, you read that right, it's a ridiculous situation, but it gets much much worse. After the initial shock of seeing Calin Georgescu clearly winning the first tour of the elections while no one seemed to know who he was, the reaction of people, authorities, media, personalities in culture and science - everyone that supposedly should be steering the country in the right direction - has been a hysterical denial of reality. But in order to understand what the hell is going on, you have to start from the beginning, with the small details that got lost in the media coverage. So bear with me.

  I will be talking about elections, but in the context of this post I focus on presidential elections, not the parliamentary ones, unless specifically mentioned.

  And so it begins

  The first indication that something was amiss was when people started to receive notices and fines from the authorities for posting things on Facebook during the election period, when campaigning is prohibited. This came as a surprise to many people who don't understand how modern social media works, because they had felt their online presence was kind of anonymous, at least protected by that level of unreality that feels natural in the online. How can things happening on the Internet affect your real life? This may seem as a small off topic detail, but it becomes relevant later.

  Then the first tour of the elections came and people were shocked to see that Calin Georgescu, an independent candidate no one seemed to know anything about and who had been predicted to get at most 5% of the votes, got instead close to 25%, giving him a comfortable lead compared to the others. Worse, this guy had clear pro Russian sympathies and maybe even legionary ones (this being a political movement from 70 years ago which was pro Nazi). How can one be for both Russia and Nazism is beyond me, but I digress. And it gets worse, because there were several extremist parties with their own candidates and if you add them all together with Georgescu's votes you get close to 40%. How did this happen?

  The favorite in the presidential race was the current Prime Minister of Romania, leader of the strongest party in the country, Marcel Ciolacu. He got third place, almost tied with the liberal leaning female candidate Elena Lasconi. Another shock, because no one expected one to lose so badly and the other to win so many votes. We are talking about my country, a place that has never had a female president and any woman in power so far has been some guy's puppet. I want to believe Romanians are capable of accepting a female president, but it's unlikely.

   Reaction

  To see the reaction to these events was both entertaining and terrifying. Being politically naive, I was initially happy, because while I hold almost no common views with the extremist discourse of the winner, I wanted to see people shocked out of their complacency, forced to think and consider the implications of their action and inaction. I wanted the arrogant country authorities and people of influence to get jolted into at least pretending to do their job. I wanted the "you have to vote no matter what, even if you're not represented by any candidate" mob to eat their words. Just like the Colectiv situation ten years ago, I was hoping against hope that this will be a drive for positive change. But again, I let hope guide my thoughts, to no positive result. What was awakened was the collective mindless monster of the populace and nothing more.

  In order for a relatively unknown person to win the elections there were several institutions that had to have failed utterly in their work: election officials, security services (which were giving fines for Facebook posts just a few days before), counter candidates (one of which was Prime Minister), their campaign engines and all the government mechanisms they controlled, the media (whether controlled or not), sociologists gauging the people's choices, the statisticians creating the polls and interpreting them (both before elections AND at the exit polls). In other words: politics, authority, media and science failed completely and irrevocably.

  The general reaction to this was panic. Not "well, I messed up, let's fix this", which I had hoped, but "I couldn't have messed up this much, something else is to blame". In a matter of days everyone rallied to... save their asses. Election authorities approved recounting of votes based on a complaint raised by a less than 1% candidate, after 30 years of refusing such things with a lot more evidence of fraud. Media was flooded with exposés of the evil candidate Georgescu, somehow overly religious, misogynist, pro Russian, Nazi and legionary at the same time, financed by shadowy forces connected to Russia and maybe China, supported by priests in the backward churches outside the cities and TikTok influencers, a true Rasputin. Talking heads switched their discourse from who should have seen this coming to how defenseless Romanian people have been manipulated by the unstoppable forces of doom scrolling on social media. Authorities got into action to determine the outside influences that had caused this, against their best efforts. The highest Romanian court started deliberating based on all of this new information. People got into the street spontaneously and peacefully demonstrating for democracy and European identity. Just today police started to raid "extremists" that posted images of weaponry on social media - for the first time I've seen this.

  I call bullshit!

  Just days before the annulment of the election tour, the head of the same institution that did it said he sees no significant changes in the count of the votes. In fact, this is not even the reason of the annulment, but the "declassified" documents coming from the security services who now, suddenly, had evidence of external influence of the elections and "continuing cybernetic attacks". Well, duh! Cybernetic attacks, by their nature, never end.

  But while declaring no campaign finances and clearly having someone with a lot of money support his campaigning, while publishing ultra professional high res videos on media platforms, some mimicking the ones Putin did, but tailored towards Romanian traditional sensibilities, while showing a public presence that people just don't have without a lot of preparing and training, Georgescu did nothing provenly illegal, so all the votes coming his way were sincere, regardless of how misguided. To protect democracy, government institutions just decided, together with the media, young people in the streets chanting for democracy and European freedom and old people talking in scared high pitched voices in the park, that elections just didn't yield the correct result, so we must redo them.

  I can't imagine better results for shadowy anti-democratic forces than this! On one side, a complete failure of democratic institutions, both before and after the fact, as well as the kneejerk reaction of people who should have known better. On the other side, a large disillusioned portion of the populace just having their choice forcefully eliminated, like they don't exist. Not only they, but also the pro liberal Lasconi supporters, who will now lose any chance of winning the presidency. In the end, the worst result for most of the electorate, a terrible long lasting blow to democracy and trust in authorities in general and a higher polarization between "city people" and "countryside people".

  Ignoring 40% of the population won't make them go away, you know. And they won't just die off and leave their smarter and more educated children behind, instead just younger, even less educated by experience, copies of themselves, fighting for whatever random cause or belief they're manipulated into.

  Witch hunt

  There is a term called Witch hunt which applies to what is happening here. I urge you to read the Wikipedia article, because it's very revealing.

  Societies function on a very simple contract: a relatively common narrative must be maintained and some institutions are created to curate and enforce it. When that narrative is contradicted by reality, society unravels, so there are only two choices for stability: craft the narrative to be a balance between reality and the people's needs or eliminate the source of contradiction. It's that simple. The spirit of democracy is closely linked to this, as it attempts to provide the mechanisms to keep that delicate balance and stave off as much as possible the necessity for "eliminating contradiction". But when that fails, the only solution is blunt force, mob fear, fanatical clinging to the narrative, which most of the time leads to tyranny and/or atrocity. Why is it so hard to realize that the narrative has to change a little?

  In our case, the narrative is the naive and stupid comfort of authority functioning regardless of what we do, that so many communities tend to fall into. It's already a first step to autocracy, the same narrative applies there as well, in the beginning. But when it fails, people have to find a culprit and ritualistically sacrifice them. I don't know what will happen with poor Georgescu, but as I see it he will either become the dictator of Romania or be burned at the stake.

  And a lot of other things are going to fall with him: online privacy, as little as it is nowadays, honest public discourse, as little as it is allowed now - even in countries which are paragons of democracy, opportunity to choose anything unexpected. We may see even more fanatical adherence to the mythical concept of a united Europe, regardless of its state, while becoming even more afraid of technology. And this just because we obstinately refuse any opportunity to open our eyes and think for ourselves. We have people to do that for us! If he somehow wins, which I find unlikely, things would be even worse.

  Can't wait for mandatory identity checks everywhere online and a global ban on social media for under 16 and of TikTok in general, as a means to protect democracy and free speech. What a joke!

  My thoughts

  Well, obviously all of these are my thoughts, but as a conclusion, I am terrified. Not by Russia, Europe, China or the United States, but by the people of my own country. We have lived in fear for so much time that it has become part of our DNA. We are controlled by it. Make Romanians afraid and you can make them do anything, say anything, think anything. Maybe that's true for everybody.

  I was disgusted to see how the Russian boogie man was resurrected once more to justify unilateral reactions by clueless authorities. What are you going to do? Fight Russia? Send security to arrest the priests who campaigned in churches before and during the election in the countryside, probably for heavy fees? How ironic is that Romanians are crying to the skies for security forces to validate and protect democracy. I guess in 30 years one forgets everything.

  I was happy to think the veil of illusion will be lifted from the eyes of Romanians, but what happened instead is that some of my own illusions have been blown away. Of course, I don't like it and I feel fear. That's natural. What we do with it is what counts. I wrote a blog post. Yay, me!

  To people who think leaving Romania will somehow solve the problem, it does not. But when freezing and fighting seems to not do anything, what is left but to flee? I get it.

  Personally, I want my country to get through this and become stronger for it, but the idea of Romania is just as much an illusion as anything else. And we've already proven that we can ignore every reality and forget any past, unless it suits us otherwise. This is not the country of my childhood or of my youth and it will continue to change in the future. But the attachment is still there and I wish it well.

Happy Birthday, LiChess Tools!

It was one year ago that LiChess Tools was first published on GitHub. It was like the birth of a child, having spent a few weeks in gestation as an extension I would only use for myself. It was doing just the simplest of things at the time:

  • opening friends box automatically on page load, so that you see if you have any friends online
  • making sound alerts when friends started playing, so you can watch your favorite chess players the moment they start a game
  • pressing Shift-Right to choose a random variation from current position in analysis or study
  • sticky Preview mode in studies, so that you can move from chapter to interactive chapter and keep playing without seeing the move list
  • setting a minimum engine depth, so that the local engine would run automatically if a lower cloud depth was displayed

It had the Preferences in the extension popup, because they were so few features. The code was so awful that I didn't dare tell anyone about it.

Now this has become a behemoth with close to 100 different tools and bright prospects for the future.

I would like to thank the community, such as it is, because even if only one person was giving me feedback in a month, it could have happened when I was feeling low or stressed or unmotivated and it would perk me up immediately. Thank you a lot, guys!

For some weird reason (all passionate devs are weird) there was nothing more motivating than some kid wanting a feature, first thinking it was impossible, then getting the nagging feeling that I should think about it more, then finding a brilliant lateral solution, implementing it, improving on it, then delivering everything within the hour only to get a bored "thanks" at the end. But that thanks was all I needed to carry on. Occasionally I get thankful notes from people and it makes my day.

Right now LiChess Tools has 2500 daily users and 26 ratings that average to 4.8 stars. It's not the quantity, but the quality, though. The extension is focused on chess analysis and ease of learning. It's basically a pro tool, aimed at chess enthusiasts, coaches, schools and chess professionals. With such a scope, 2500 users is huge! And we'll get even higher.

At the time of this writing, plans are in motion to use the OBS integration feature of LiChess Tools for the official Lichess Sharjah Masters broadcast on the 14th of May, presented by WIM Irene Kharisma Sukandar. Oooh, I hope it doesn't break midway 😱

[youtube:kslb3y4W7RM]

But there is more! I am working with the Lichess devs to streamline some of the more hackish features of the extension so that it can be used en masse without bothering the Lichess servers. I've received some suggestions from GMs and IMs and chess coaches that I will implement in LiChess Tools and I will support a plan to update the chess openings list in Lichess (as well as in Lichess Tools).

So there are some great opportunities open to the extension in the near future and hopefully they will make this blossom into something even more special!

The next major version (3.*) will probably restructure the features into more mature tools, focus on performance and adding more "epic" features, like:

  • full Client Side Analysis - including brilliant/good/best move detection ideas, statistics and charts
  • a more complete and user friendly Explorer Practice module
  • Chessable-like interface for Studies and spaced repetition features

There is also time for a rebranding. I am tired of people thinking I am talking about the Tools menu in Lichess. Right now the best idea I have is Prometheus for Lichess. I just hope Thibault is not going to nail me to a mountain and sic the Lichess owl on my liver. Perhaps you guys can come with better ideas.

Rebranding doesn't come with corporate goals and premium tiers, though. LiChess Tools will always be free, regardless of its name, so don't worry.

So, let's celebrate by singing along with the official LiChess Tools theme and hope for an even more awesome year!

It's made with AI, so it's cool by default 😁

Enjoy chess, Lichess and LiChess Tools!

P.S. Bring me your stories, people! I want to know how you use the extension. Join the LiChess Tools users team and share your experience with all of us.

LiChess Tools is a Chromium-based browser extension (meaning Chrome, Brave, Edge, Kiwi - which also works on mobiles - and others, as long as they have a Chromium version equal or higher to 111) and recently also on Firefox and Firefox Android. The extension extends the functionalities of the lichess.org web site. This page is the user manual for the extension, cataloguing its current features and explaining how to use them.

All of the features below can be individually turned on or off from the Preferences menu, the LiChess Tools menu entry, or - if not logged in - from the LiChess Tools menu on the top right. Note that many of the options will be hidden until you toggle Advanced Preferences - these features will be marked with Advanced in the category section.

Preference values can be backed up as a downloaded file and restored from it. You can also reset preferences to default or turned them all off, then turn on the ones you are interested in. The blueish border around some preference values means they are part of the default configuration. A sepia coloring of a preference and a WIP added to the title means the feature is "Work in progress" and results are not guaranteed.

Note: the version number below is often the one if development, so there might be differences between what you have and what is listed here.

Here are the available features in LiChess Tools v2.3.177 in the order of decreasing approximate importance:

Crowdin translation

category: Languages
values: yes / no - defaults to yes

Crowdin is a community driven translation service that can help handle text translation. LiChess Tools has integrated translation from there (see https://crowdin.com/project/lichess-tools), but the only languages I can be sure of are English and Romanian. From the other 10 supported languages, many of them are translated by machines, so they are probably really bad. If you have your Lichess in your language, but you can't stand the bad translation in the LiChess Tools strings, you have two options:

  • turn off Crowdin translation and the extension text will now be in English
  • go to Crowdin and help fix the translation

Obviously, I recommend the latter.

LiChess Tools team

category: Community
values: Hide forum entry / Forum entry last / No notifications - defaults to none
Needs log in

This will add a new forum entry in the forum list from where you can join the LiChess Tools users team or, once joined, you can participate in the extension community.

Note: you will be shown a notification to join the team. You can disable that just by visiting the team page, then it will not appear again on your device. The "No notifications" setting below does the same thing.

Options:

  • Hide forum entry - If set, this will remove the forum entry suggesting you join the LiChess Tools users team (or, if you joined already, link to it)
  • Forum entry last - If set, the forum entry will be placed last in the main list of forums (after Off-topic forum) 
  • No notifications - If set, this feature will never send notifications. If not set (the default value), it will add a notification to join the team. Just visiting the team page will also disable the notification, whether you join or not. This will also block any future team notifications I might choose to send into the future.

Being part of the team will be advertised on your public profile as well as on your friend's timelines. That is great for LiChess Tools, so if you want to support the extension, please consider joining.

I don't plan to spam anybody in the team, just use it to announce various changes to the extension. Which are a lot and happen all the time and might be construed as spam... OK, I will not spam you much. And also I would like to hear from you, maybe even (gasp!) form a community that will take this farther than my meager imagination could take it.

While in the team, feel free to talk to the other users, ask for features, complain, all the jazz. Use the team's forum as one would use the official Lichess Feedback forum. Only less divisive :). And don't worry, the team is called L1Chess Tools because Lichess forbids the text "lichess" in the team's name, not because I plan a L2Chess Tools team or whatever.

Although that is an idea...

Extended interactive lessons

category: Study
values: Play all variations / Show final score / Always show score Play again from where you entered Preview mode / Fast interaction / Give up button - defaults to Play all variations, Show final score

This feature may be the flagship of the extension, as it allows you to play an Interactive lesson chapter by going through all variations instead of just the mainline. The default lichess behavior is to only follow the mainline, considering all sidelines as bad. With the new behavior all moves in the PGN tree are good, while the ones that are not in the PGN are bad. You can mark the bad variations with glyphs (good move, mistake, blunder, etc.), for example, to indicate if a move is bad or good, but you can continue playing it to see why. 

There is a mechanism to choose what the computer will play next as your opponent. It uses the number of branches in 8 ply (4 chess moves for both players) to determine which is more probable. This value can be changed (see Next move probability depth feature) For example if you have something like 1. e4 (1. d4 d5 2. Nc3 (2. Nf3)) 1... e5 2. Nf3, the mechanism will see that there are two possible branches for d4 as opposed to one for e4, so it will choose d4 66% of the time. The probability can be changed manually by adding a comment in the move with the format prc:<number>, where the number is a percentage between 1 and 100. (ex: prc:90) Also, if set in the Transpositions behavior feature, the moves can be picked from moves following transposing positions. 

When hints are not provided by the study creator, one will be generated to show how many possible moves are available. The hint link will show a number of possible moves, if higher than 1.

There is also a system to compute accuracy when playing an interactive lesson by counting the good and the bad moves. This will be displayed as a percentage during or at the end of the lesson and can be turned configured by option.

The lichess UI remains the same, therefore the area in which to explain why any other move is wrong only appears on mainline moves. That is why this feature also adds a context menu item (Explain why other moves are wrong) for nodes in interactive lessons to enable editing that information. As usual, when a "bad" move is made (meaning a move not in the PGN), the text to be displayed to the user will be taken from the first next move from the current position. Therefore in order to make this work you have to right-click that node and explain why bad moves are wrong. This might be a bit counterintuitive, as you may have several moves following the current position, but the explanation has to be set to the first next move.

This feature also adds a header like Extended Interactive Lesson over the edit controls specific to interactive lessons. They usually take a lot of space, so clicking on this header will hide/show them. This allows people to edit Interactive Lesson chapters just as comfortable as normal ones.

Options:

  • Play all variations - enables the Extended mode for interactive lessons, allowing you to play all variations with the computer picking random moves from the ones available in the PGN
  • Show final score - shows the score at the end of the lesson. One can disable this to reduce frustration or for other reasons. Mouse over the score to see number of good and bad (or asking for solution) moves.
  • Always show score - shows the score at every step of the lesson. This is disabled by default.
  • Play again from where you entered Preview mode - this feature is disabled by default. It remembers the position where you entered Preview mode for an Interactive Lesson and, when the lesson ends, the Play again button will take you back to that position instead of the first move in the chapter. Obviously, this only works for creators or contributors to studies.
    • warning, if you are playing for completion, like having a good score or using the lesson flow features, this will probably interfere with that.
  • Fast interaction - this will remove the delay between moves, making things faster. Also, the Good/Retry large tiles will be replaced by small symbols on the comment bubble: green checkbox for good move and red x for bad move.
  • Give up button - this will render a "Give up" button next to the hint in interactive lessons. Pressing it will be equivalent to making a bad move and going directly to the end menu of the interactive lesson.

Some of these options are also available in the action menu (hamburger button) of the Analysis board when in a study chapter that is of type Interactive Lesson. This allows to quickly enable/disable just these relevant settings.

Notes:

  • one can play all variations of an interactive lesson with multiple branches only with the LiChess Tools extension installed, so if you create such a lesson only people with the extension can enjoy it. It would be nice to let everybody know that in a comment if you share it.
  • asking to show the next move will show arrows of all possible next moves. Be warned that pressing the button is seen by the scoring system as a fail.

Extended interactive lesson flow

category: Study - Advanced
values: Sequential / Spaced Repetition - defaults to none

Work in progress! - this means use at own risk.

This feature allows you to play Extended Interactive Lessons variation by variation. When any of these options are enabled, the chapters that had variations played will have a small progress indicator in the chapter item in the chapters list. When all variations have been played a reset prompt will appear. You can also manually reset the played variations from the chapter edit dialog for the studies you can modify and from the reset button on the chapter item for the ones you can't.

Options:

  • Sequential - this will force playing extended interactive lessons variation by variation, in order
    • if you make any mistakes, you will start over
    • if you don't play from the very beginning of the variation, it will not count
  • Spaced Repetition - this will force playing extended interactive lessons variation by variation, randomly, based on success or failure
    • if you finish a variation successfully, the time until you can play it again will double
    • if you finish it with mistakes, the time until you can play it again will become two days
    • if you don't play from the very beginning of the variation, it will not count  
  • Both - this will behave as Spaced Repetition, but will take variations in order
    • the distinction is small, but it matters to some players to get the first variation that can be played

More options - only meaningful in the context of either or both Sequential or Spaced Repetition being enabled:

  • Avoid lines marked as mistakes - It makes sure that lines that contain moves of yours marked as dubious, mistake or blunder are not counted.
  • Hint excluded moves - In some lessons it's hard to understand which line has been picked as "right". You can use show solution first and then play it, but this will also help. When you have multiple options from your position, but only one is being trained, the hint will show the moves to avoid. So something like "Only one accepted move. Avoid b4, Nf3".

Notes

  • The default replay interval is one day.
  • This is a work in progress. It might not work exactly as you expect it. Please report any issues to me.
  • The currently selected Extended Interactive Lesson settings will be displayed when playing an Extended Interactive Lesson.

Ctrl-right to play random next move from list

category: Analysis, Study
values: yes / no - defaults to yes

This feature will allow you to play a random move from the PGN by pressing Ctrl-right. There is a mechanism to choose what the computer will play next as your opponent. It uses the number of branches in 8 ply (4 chess moves for both players) to determine which is more probable. This value can be changed (see Next move probability depth feature) For example if you have something like 1. e4 (1. d4 d5 2. Nc3 (2. Nf3)) 1... e5 2. Nf3, the mechanism will see that there are two possible branches for d4 as opposed to one for e4, so it will choose d4 66% of the time. The probability can be changed manually by adding a comment in the move with the format prc:<number>, where the number is a percentage between 1 and 100 (ex: prc:90). Also, if set in the Transpositions behavior feature, the moves can be picked from moves following transposing positions. 

Ctrl-left works almost like the left key, going to the previous position, but in this case it will go to the position you came from, not from the previous position on the line you've jumped to.

Notes:

  • if set in Transpositions behavior, Ctrl-right may choose a move from another line, but made from the same position, which means that going "back" will go to the previous position in the current line, not the original one. Use Ctrl-Left to return to the position you jumped from. 
  • the keyboard shortcuts will be shown in the keyboard help popup if this feature is enabled (press Shift-? for the help popup - this is a native lichess feature)

Behavior of transpositions

category: Analysis/Study - Advanced
values: exclude if same line / don't add identical next moves / play moves from transpositions - defaults to none

This feature determines what a transposition is for other features that use transpositions. The options are:

  • exclude if same line - two identical positions in the same PGN will not be considered transpositions of one another if they are in the same line of moves (one came before the other) (see Highlight moves in analysis and Show next moves from transpositions)
  • don't add identical next moves - when showing next possible moves at the bottom of the move list, if adding them from transposing positions, don't add the same move twice (see Show next moves from transpositions)
  • play moves from transpositions - when picking a next move to play, use transposing positions as well (see Ctrl-right to play random next move from the list and Extended Interactive Lessons)
  • none - when none of the values above are selected, any two identical positions will be considered transpositions, the move list can show multiple identical moves if they are coming from different transpositions/lines and the extension will not pick next moves using transpositions.

Next move probability depth

category: Analysis/Study - Advanced
values: equal / one move / two moves / three moves / four moves / five moves - defaults to four moves (8 ply)

This configures the mechanism calculating the probability of a next move in the PGN (see Extended Interactive Lessons and Ctrl-right to play random next move from list). The default value goes 4 moves for each player to see how many branches follow. It will then weigh each next move in the list based on that. If you want to turn this off completely, just select equal, which means it will not look at following moves at all. 

Variation arrows from transpositions

category: Analysis/Study - Advanced
values: yes / no - defaults to yes

This feature is showing variation arrows for transpositions, as defined in the Transpositions behavior feature.

Next move behavior for variations

category: Analysis/Study - Advanced
values: Normal / Hybrid / Force choice- defaults to Normal

This feature will change how the next move arrow works when there are multiple variations to choose from:

  • Normal - normal behavior
  • Hybrid - this will highlight the variation list, asking you to make a choice. Trying again will just pick the selected choice in the list. On desktop you can cycle between choices with the Shift key or just click on the move you want. On mobile you can tap the choice you want.
  • Force choice - this will show a popup with the list of variations and transposition moves. (similar to the Chessbase behavior)
    • On desktop you can:
      • select the one you want with up/down arrows.
      • to execute a choice: Right-arrow key, Enter, the OK button or right-click or double-click or click on an already selected option
      • to close the popup: Left-arrow key, Esc, the close button or clicking outside the popup 
    • On mobile you can:
      • select the one you want with a tap
      • to execute a choice: tap a selected variation
      • to close the popup: tap the close button or outside the popup

Notes:

  • the variation list might be affected by the Transpositions behavior feature. You could get a list of transposition variations, but then the Shift key will not work to shuffle between them. This is (so far) by design, because transposition moves are not actually moves, they are jumps to other branches.
  • if you have enabled the Lichess game behavior Scroll on the board to replay moves, then that will ignore this feature, per design. So if you want to just quickly go up and down your move tree without having to enable/disable this feature, use the mousewheel or the equivalent touchpad moves.
    • note that this was enabled before with a separate feature that mirrored the native Lichess functionality. That tool has been removed in v2.3.136.

PGN Editor

category: Analysis
values: yes / no - defaults to yes

This feature adds a new entry in the Tools menu called PGN Editor. Clicking on it will open a text editor where PGNs can be pasted, manipulated and copied from. The PGN Editor is actually a popup over the page you are on. For technical reasons, for the Evaluate function to work you must be in an analysis/study page, therefore if you open PGN Editor in any other page it will jump to Analysis Board page and show the popup there.

Functionalities (short version):

  • Merge - combine all games into one (or few) PGNs
  • Normalize - transfer all moves after transpositions to the first instance of the position
  • Denormalize - clone all variations from transposing positions into all instances of those positions
  • Split - split all variations into their own one line games
  • Search - find games with particular characteristics
  • Result - remove all games that were not marked as found by Search
  • Cut - remove things
  • Evaluate - add evaluation comments to the final moves in every variation
  • Extract - extract custom information from existing PGN as a downloaded file
  • Count - display the number of games and how many moves in the PGN
  • Cancel - cancel currently running operation
  • Copy/Undo/Redo/Clear/Upload/Download - operations with the content of the PGN Editor

Functionalities (oh, boy!):

  • Merge - this button will take multiple games in PGN format and merge them into as little games as possible. For example, all games starting from the same position can be merged into one. Also, games that start from a position present in another game will be merged there. Games starting from positions not present in the others cannot be merged.
    Example: 
    Original PGN content:
    1.e4 e5
    
    1.e4 d5
    
    After merge:
    1. e4 e5 ( 1... d5 ) *
    ​
  • Normalize - this button will, for each game in the PGN, take all moves made from a particular board position in any variation and group them in the first occurrence of that position.
    Example:
    1. e4 (1. d4 e5 2. e4 a5) 1... e5 2. d4 h5 
    
    (After both paths e4 d5 d4 and d4 d5 e4 the same position is reached (a transposition). In the original PGN the first path move from the common position is 2...h5 and in the second path 2...a5.)
    
    Normalizing this will result in:
    
     1. e4 ( 1. d4 e5 2. e4 ) 1... e5 2. d4 h5 ( 2... a5 ) 
    
    (both a5 and h5 moves from the mainline position, while the d4 path will stop at the common position, with no following moves.)
  • Denormalize - this button will, for each game in the PGN, take all the moves made from a particular board position and add them as actual moves in the PGN. The purpose is to create all possible lines as actual moves.
    • This is the reverse of the Normalize function, but Denormalizing and Normalizing doesn't yield the original PGN.
    • Denormalization will increase the size of your PGN.
  • Split - this button will, for each game in the PGN, split each variation into their own games. Example: 1. e4 e5 ( 1... d5 ) will be split into 1. e4 e5 and 1. e4 d5
    • This is the reverse of the Merge functionality above.
  • Search - this button will prompt for a string, then search the games for it.
    • The string can be part of a FEN or a PGN (wildcards * for anything and ? for one character are supported)
      • when searching for a PGN, the original PGN is searched as well as with comments and annotations removed and then with move numbers removed, see Examples
    • Another option is to search for PGN tags, like this: Black=totalnoob69 or opening*=Gass.
      • *= means contains, the tag name is case insensitive
    • You can search by index like this: Index=3 (the third game in the list)
    • You can also search the invalid games like this: Invalid (this marks invalid games as found)
    • Yet another option is to search for ply (half-moves), like this: ply=10, ply<30, ply>15
    • Searching is possible on eval comments generated by Evaluate, like this: eval=1, eval>0.4, eval<-1.5
    • The games that match will have a new PGN tag added (called Found) in the text area and also will be copied to the clipboard. Searching will remove previous search Found PGN tags.
    • Do not use full FEN strings, only the first four elements (board, who's turn it is to play, castling and en passant square) are supported (no clock values)
    •  Examples:
      • searching for rnbqkbnr/pp2pppp/2p5/3p4/2PP4/5N2/PP2PPPP/RNBQKB1R b KQkq - 1 3 will fail (because it has half clock and ply - 1 3 - at the end)
      • searching for rnbqkbnr/pp2pppp/2p5/3p4/2PP4/5N2/PP2PPPP/RNBQKB1R b KQkq would work for the games that reach that position
      • same for:
        • rnbqkbnr/pp2pppp/2p5/3p4/2PP4/5N2/PP2PPPP/RNBQKB1R - FEN search
        • pp2pppp - FEN search
        • rnbqkbnr/*/2p5 - FEN search
        • 5?2 - FEN search
        • ECO=C40 - PGN tag search
        • c4 c6 - PGN search
        • ply=10 - search games with exactly 10 ply (5 moves for each side)
        • ply>30 - search games with more ply than 30
        • ply<20 - search games with less play than 20
        • eval>1.5 - search games where a final move has been evaluated to more than 1.5 eval
          • note that if you have several branches in the games, it will show as found if at least on branch terminates in a matching eval.
      • for a game that looks like this: 1. e4 {some comment} ...c5 2. c3 , all of the following PGN search patterns will find it:
        • 1. e4 c5 2. c3
        • e4 c5 c3
        • e4 * c3
  • Result - this button will remove all games that are not marked with a Found tag and remove the Found tag from those found. The flow is: you press Search, it finds some games and marks them with a Found tag, you press Result and only the found games remain in the text area.
    • Warning! If you have not searched for anything before (or if you press the button twice), it will clear the text area
  • Cut - this button will remove things based on the prompt you give it:
    • if it contains "tags" it will remove all tags from games
    • if it contains "comments" it will remove all comments from games
    • if it contains "annotations" it will remove all annotations from games
    • if it contains "result" it will remove all found games (the opposite of the Result functionality)
    • if it contains "ply <some value>" it will remove everything after the specified number of ply (half moves), on every branch, in every game
    • if it contains "eval<operator><some value>" it will remove branches that have that particular eval, on every branch, in every game (i.e. eval<3 will cut everything with evaluation less than 3)
      • operator can be < > or =
      • this works with the comments for evaluation from the Evaluate command! It does not evaluate the position itself. 
    • if it contains "junk" it will attempt to eliminate from the text what appears to not be a valid PGN game. Use it after copy pasting text from chess webpages when you want to clean up the result.
    • the above patterns can be combined
    • Example: tags, comments, annotations, ply 10
  • Evaluate - this button will evaluate the end positions of each game in the PGN, adding an eval: <value> comment
  • Extract - this button will extract various types of information based on your prompt
    • if it contains "fen" it will extract the FEN for each move in each game. Games will be defined by their index, followed by the list of unique FEN positions
  • Count - this button will count the number of games and total number of moves in them
    • This is done automatically after most operations.
  • Cancel - this button will cancel the current operation (for example when trying to merge tens of thousands of games, it may take a while)
  • Copy - this button copies the content of the text area in the clipboard
  • Upload - this button will ask for a file to upload to the text area (dragging files and dropping them directly to the text area works as well)
  • Download - this button will download the content of the text area as a pgnEditor_<currentTime>.pgn file
  • Undo - this button will undo the changes in text area (equivalent to pressing Ctrl-z)
  • Redo - this button will redo the changes in text area (equivalent to pressing Ctrl-y)
  • Clear - this button will clear the text area as well as the entire undo/redo history.

Notes:

  • Games with no moves and no tags will be removed. Games with moves and no tags (example: after Cut "tags") will have an Event tag with the value "exported by LiChess Tools". This is there so that various import software, including Lichess studies, process the list correctly, not an unnecessary blurb.
  • Normalize changes the flow of the moves. Don't expect the normalized PGN to have the same structure as the original. This functionality is particularly for grouping the moves from a particular position in one place.
  • Tag search will search the exact string in the tag, but will ignore whitespaces. Use the *= syntax to search for containing strings (i.e. opening*=Gass)
  • I am thinking of a meta-search option, where you can search for pins, sacrifices, pawn structures, etc., but I don't know how many people use that. Let me know if you are interested.

Enhanced PGN import

category: Analysis
values: yes / no - defaults to yes

Another important feature of LiChess Tools, this one makes changes to the import mechanism in the Analysis board page. You can now import multiple PGNs at the same time and they will get merged into a single one. It is great for creating repertoires, analyzing the games of a specific player or creating Extended Interactive Lessons. From the Analysis board you can go to options and turn it into a study. Note that the recommended way to perform PGN operations is now the PGN Editor.

As part of this you will also get the Escape key functionality for the FEN and PGN inputs, clearing the focus and allowing key shortcuts again.

Notes:

  • the import mechanism in Analysis board ignores comments from the PGNs. This is a lichess limitation and to get around it I would have to rewrite the entire thing. Use PGN Editor for work with commented PGNs.
  • the import in Analysis board is different from the one in Studies. The one in Analysis board is client based, while the one in Studies is on the server. That is why I can only alter the one in Analysis board.
  • there is no logical limit to how many PGNs to import, but the Analysis board has a limit of about 5000 moves. Also, the API to turn it into a study has a size limitation, so if you try to turn a huge analysis to a study and it fails, know that it is too big. Highlighting moves on huge PGNs also is slow. So use with care.
  • From v2.1.21 the merge mechanism will check if the PGNs start from different positions and only merge what starts from the same position. Previously the merge seemed to be working, but it made no sense from the standpoint of PGNs, resulting in an invalid PGN that cannot be loaded.

Friends box

category: Friends
values: Default / Menu / Open / Hidden - defaults to Menu
Needs log in

This has evolved a lot. Originally it was automatically opening the friends box, but then several requests came that complained about the placement of the friends box and how distracting it was. So the current version of the feature can either:

  • Default - the default behavior of the friends list: stays in the bottom-right corner, only updates when opened, which requires a user click.
  • Button- the friends box is removed and replaced with a friends button, similar to the Notifications one. It will update in real time with the number of friends online and will change color when any one of them is playing.
  • Menu - the friends box is removed and replaced with a friends menu. It will update in real time with the number of friends online and will change color when any one of them is playing. It will also show the number of playing friends in a small blue square.
  • Open - the default behavior of the friends list, but it will open automatically when loading the page
  • Hidden - the friends list will disappear completely

Notes:

  • clicking on the main menu item directly will open the friends page, but not on mobiles
  • when the width of the page goes under 972px, menus are grouped under a hamburger menu. The Friends menu will disappear and become a button in that case.
  • playing friends will have the time control icon on the left of their name in the friends menu.

Live friends page

category: Friends
values: yes / no - defaults to yes
Needs log in

The default lichess behavior is to load whatever list of friends you have and then leave it at that. With this LiChess Tools feature the friends list will be updated in real time, while also allowing filtering by who is online, who is playing, who is active (played in the last year) and (only if player voice alerts are enabled) which player is muted. 

Each player will have a TV icon as well and (only if player voice alerts are enabled) a mute/unmute button to include them in the alerts. (see Sound and voice alert with friends start playing)

Sound and voice alert when friends start playing

category: Friends
values: Ultrabullet / Bullet / Blitz / Rapid / Classical / Standard only- defaults to none
Needs log in

This feature will beep and spell out the player name and type of game they started. The type of the game can be chosen from the values. The definition of the game type comes from lichess, which assumes a typical game will be around 40 moves.

You can also choose which specific players to have the alert for, by going to the friends page and clicking the mute buttons. (see Live friends page)

If you select Standard only, then the alerts will only be sounded for the Standard variant of the game.

Notes:

  • Chromium (and other) browsers disallow sounds from page load until the user does something like click on the page. In case an alert is attempted and audio is not allowed a red icon will appear next to the top buttons, which will disappear once the audio is allowed again.
  • The audio icon is part of lichess, which will also display it once sound is attempted but not allowed. At this time, the lichess icon will NOT disappear unless you click on it, different from how LiChess Tools uses it for alerts.
  • If you are playing a game on another tab, the sounds will not be played if the Quiet mode on all tabs feature is enabled.

Practice against moves from Opening Explorer

category: Analysis/Study
values: yes / no - defaults to yes

This is another great feature that allows you to play against whatever is selected in the Opening Explorer. Select masters to play against the best players, select Lichess and select the range of player to train against and select specific users to test your strategies against their played games. The feature can be turned on/off not only from Preferences, but also from the Explorer config screen.

In order to use this feature you need to go to the Analysis board or a study, open the Explorer and click on the icon next to the Masters tab, the one that looks like an arrow hitting a target.

One extra feature of this tool is making a random Explorer move if clicking on the total row on the bottom. It effectively makes a move as if Explorer Practice is enabled and it's the computer to move.

The feature is unavailable in the Analysis screen of a running correspondence game.

Notes:

  • you can toggle Explorer Practice by clicking on the arrow in the target button, but also with shift-L, to make it easier to switch between computer evaluation and the practice mode
    • the keyboard help popup shows this shortcut if the feature is enabled
  • by default the moves in the explorer window will get hidden in Analysis board, but not in studies. The motivation being that one is more like a game, with no lasting effects, the other is research. See Explorer Practice options in order to change that.
  • if the Show emojis when out of moves feature is enabled in Explorer Practice options, then at the end of a run, when there are no more moves available in the Explorer for the feature to make, a quick computer analysis will be run to show you a smiley (happy or sad).
  • When Explorer Practice is running, the normal Practice button will be hidden, in order to avoid both confusion and pressing on it accidentally on mobiles when wanted to go back to start.

Explorer Practice options

Options for the Explorer Practice feature:

  • Show emojis when out of moves - set by default - will run a short computer analysis when out of moves in Explorer Practice, then show an happy/sad emoji based on the eval.
  • Click Explorer Σ to make a move - set by default - clicking on the Total row in Explorer will make a random move, weighted by the probabilities of the move (basically a one turn Practice move)
  • Show opponent name - disabled by default - this will show a name next to the move made by the computer, giving you a hint about who played the same move in the same position
  • Explorer data in Study - set by default - this will show explorer rows while doing Explorer Practice in a Study page
  • Explorer data in Analysis - disabled by default - this will show explorer rows while doing Explorer Practice in the Analysis board page

Highlight moves in analysis

category: Analysis/Study - Advanced
values: Last move in each variation / Not commented last moves / Transpositions to current move / Highlight board when out of main line / Highlight pieces when out of main line / Highlight variation depth - defaults to Last move in each variation, Not commented last moves, Transpositions to current move

This feature will highlight moves in the analysis move list. Each option highlights a specific thing:

  • Last move in each variation - for each branch, highlights the last move
  • Not commented last moves - for each branch, highlights the last move that has no comment and is not a mate
  • Transpositions to current move - highlights positions that are identical to the current one in the same PGN (see Behavior of transpositions to change what the extension considers a transposition)
  • Highlight board when out of main line - dims the board a little when moving out of main line (similar to chess.com)
  • Highlight pieces when out of main line - dims pieces that moved from the mainline position (similar to Chessmaster 10th edition)
  • Highlight variation depth - it will change the display of the moves so that they have different colors depending on the variation depth level.
    • this replaced the Move colorizer theme that existed until version 2.3.
    • Warning: this may have adverse performance effects on really large PGNs (1000+ moves)
  • Highlight checks to kings - highlights moves that place a king in check

Extra context menu options

category: Analysis/Study
values: Copy branch as PGN / Engine evaluation for last moves / Highlight all transpositions / Remove superfluous / Show context menu when no moves - defaults to Copy branch as PGN, Engine evaluation for last moves, Remove superfluous, Show context menu when no moves

This feature will add extra options to the Analysis board/Study move list context menu. The options are:

  • Copy branch as PGN - this works in Analysis board and Studies and turns all the previous moves of the line you are in, plus all the branches after the move, into a PGN in your clipboard.
    • If you press the Shift key when clicking on Copy branch as PGN the copied PGN will start from current position, not from the beginning of the original chapter.
    • If you press the Control key when clicking on Copy branch as PGN each variation branch will be copied as a separate PGN game.
    • If you press the Alt key when clicking on Copy branch as PGN then the PGN will get copied only to the current position.
    • You can use it to split large PGNs by copying variations into their own chapters, then maybe deleting them from the original one.
  • Engine evaluation for last moves - this works only for Studies, because it involves move comments. It will go through all of the uncommented last moves and create a comment in the form eval:<evaluation> using the local computer engine. The evaluation will stop at the engine depth selected in Preferences (see Custom analysis engine depth).
  • Highlight all transpositions - this works for both Analysis board and Studies and highlights all moves that have transpositions. You can configure what a transposition is in Preferences (see Behavior of transpositions)
  • Remove superfluous - for purposes of saving space, this removes the following entries from the context menu:
    • Annotate with glyphs - there is a button for this under the board
    • Comment on this move - there is a button for this under the board
    • Copy variation PGN - LiChess Tools already provides a better version
  • Show context menu when no moves - this allows for showing the context menu when there are no moves in the tree. When the board starts from a FEN position, there is a little "..." element that you can right-click. When the board is completely empty, there is a row that highlights when you hover and you can right-click for the context menu.

Move assistant

category: Analysis/Study
values: yes / no - defaults to yes

This feature will add a little eye icon button () in the computer evaluation window, next to the settings. Clicking this button will enable the Move assistant, which will show, when selecting a piece, the evaluation on each possible destination square.

The colors represent the quality of the move. Green is good, Red is bad, Yellow is not recommended.

  • The small circle inside the destination square represents the evaluation relative to the worst and best possible move.
    • This means that if the best move achieves equality and the worst move loses 0.2 pawns, the first one will appear green and the other red.
    • This is the less important metric, so it's not that serious that you can't see it when the destination square is a capture. 
  • The border color of the destination square represents the inaccuracy/mistake/blunder metric.
    • While this is still a gradient, anything that will cause a 3 pawn loss from the best move will appear as red, 2 pawns will get you orange, 1 pawn will get you yellow and only under you will get green.
  • The bar inside the border represents the WDL (win-draw-loss) chances after making the move. Again, red is loss, green is win and yellow is draw.
    • Take these with a grain of salt, as the WDL values of Stockfish are not that relevant.

This is not meant to replace, but be complementary to the computer analysis. Move assistant enabled value is persistent on page reloads.

Once a piece is selected, the background engine will run using the configured thread count and hash - for 90 seconds and then stop. During that time the color of the squares will be updated as the evaluation changes. 90 seconds corresponds to a depth of about 20 on my older laptop in a middlegame position. Unselecting pieces will stop the processing.

Obviously, this consumes processor power, so if you are on a mobile device or a laptop it will consume battery. Running both local computer analysis and Move assistant will use CPU for both processes. Opening multiple analysis browser tabs will use resources for each tab in which a piece is selected.

Sometimes destination squares will not be colorized. For example, this is the case for mate threats, where moves that do not interfere with the mate will not be evaluated. 

Custom analysis engine depth

category: Analysis/Study - Advanced
values: a number representing the depth - defaults to empty

This feature will allow you to set a depth level for the computer engine. If the current move has a smaller depth level (let's say it was cached in the cloud with that level) it will start the local computer evaluation. Once it reaches the set depth, the engine will stop. You can restart the analysis by pressing the little + button next to the computer engine depth indication.

This feature is also used as the level at which to consider evaluation done for the Engine evaluation for last moves option (see Extra context menu options - Engine evaluation for last moves and PGN Editor - Evaluate)

This feature is also used in Practice, where it controls the level of play (See Custom analysis engine options)

Custom analysis engine options

category: Analysis/Study - Advanced
values: Ignore cloud data for evaluation / Ignore cloud data for external engines / Apply in Practice mode / Fix external engine 503 errors - defaults to none

This feature controls the behavior of the analysis engine used in Analysis board and Studies.

Options:

  • Ignore cloud data for evaluation - Use this option to never show computer evaluations from the cloud. For example if you want to not see evaluations over a certain level or in practice mode. You can also toggle this on/off from the Analysis board hamburger menu.
  • Ignore cloud data for external engines - just like the one above, but only applies when you have configured an external engine. This makes sense, as the evaluation in the cloud is computed by Stockfish and you might have another engine altogether. The Analysis board hamburger menu will only show this feature when the current active engine is external.
  • Apply in Practice mode - Use this to apply both the custom engine depth and the no cloud option before in Practice mode. This means you can play against a computer of your own level and ignore cloud and table bases. You can also toggle this on/off from the Analysis board hamburger menu.
  • Fix external engine 503 errors - When you configure external engines, you sometimes get 503 errors, meaning that the API was not reachable. This might be because you haven't started your Lichess Local Engine utility, but more often it's just a timeout. This will disable the alert and just silently retry after 5 seconds.
    • You probably will never need this, as the reason it was created was to fix a bug that had a different solution. But it might still be helpful if you have unreasonable timeouts.

LiChess Tools analysis engine threads

category: Analysis/Study - Advanced
values: a number representing the number of threads - defaults to 1

LiChess Tools uses a local analysis Stockfish engine for various features, like Move Assistant or PGN Editor. This configures how many threads to use for that engine. Note that this value applies per open tab, so if you have Move Assistant enabled in Analysis board, for example, and select one piece in multiple tabs, the number of threads will multiply with the tab count.

LiChess Tools analysis engine hash

category: Analysis/Study - Advanced
values: a number representing the number of megabytes in the hash - defaults to 128

LiChess Tools uses a local analysis Stockfish engine for various features, like Move Assistant or PGN Editor. This configures how many MB or memory to use for that engine. Note that this value applies per open tab, so if you have Move Assistant enabled in Analysis board, for example, and select one piece in multiple tabs, the size of the hash will multiply with the tab count. 

Show next moves from transpositions

category: Analysis/Study - Advanced
values: yes / no - defaults to yes

When you get to a certain position in the PGN which has transpositions, the next moves from those transpositions will be displayed under the move list, just like for a fork into multiple variations. You can configure what a transposition is, as well as if you want multiple identical moves to be shown or not and if the moves in this list should be considered by Ctrl-right and Extended Interactive Lessons in Preferences (see Behavior of transpositions)

Extra key shortcuts

category: General - Advanced
values: yes / no - defaults to yes

This feature adds extra key shortcuts:

  • to the Analysis board/Studies: 
    • first it changes the functionality of the i, m and b keys to work in Analysis board as well as Studies and to use all variations, not just the main line as the original lichess behavior. The functionality of these keys is to jump to the next inaccuracy, mistake or blunder, respectively
    • it adds the same functionality to Alt-i, Alt-m and Alt-b, only for the opponent
    • g and Alt-g cycle through good/brilliant/interesting moves
    • if Explorer is shown:
      • shift-T will cycle between Masters and Lichess database
    • it adds the ability to select any of the moves in the available moves lists:
      • press . (dot) and then a digit and it will make to the nth next move available in the PGN (see Transpositions behavior if you want to select moves from transpositions, too)
      • press Ctrl-. and then a digit and it will make to the nth next move available in the computer evaluation list
      • press Shift-. and then a digit and it will make to the nth next move available in the opening explorer list
    • ` (the key before 1) and then f will freeze/unfreeze the board - this means you can still move pieces, but the board will appear as when it was frozen. Helps with visualization.
    • ` (the key before 1) and then r will activate the random chapter navigation button. You need to have that button enabled in order for it to work.
    • in correspondence games, in analysis mode, the Backspace key can be used to return to the current position
  • in the Board Editor screen:
    • 1-8 to select the buttons under the board (select, pawn, knight, bishop, rook, queen, king, erase)
    • Shift+1-8 to select the buttons above the board (same thing, different color)
    • c to clear the board
    • p for the starting position
  • everywhere:
    • ` (the key before 1) and then h will toggle the header of the site. It's a pretty niche feature, but it helps if you are distracted by the header, like when you're playing in 3D mode and the header overlaps the taller pieces.

Notes:

  • the keyboard help popup (Shift-?)  shows all of these shortcuts if the feature is enabled

Additional glyphs

category: Study - Advanced
values: yes / no - defaults to yes

This feature displays an extra # glyph on mate moves. Also it enlarges glyphs on mobile devices.

Notes:

  • The lichess UI allows for multiple glyphs on the same move. The one shown on board will just be the first one in the list.
  • Originally this feature was created to show annotations that lichess was not showing. From September 2023 lichess started natively showing all annotations, therefore eliminating the need for much of the functionality of the feature.

Extra analysis charting

category: Analysis/Study - Advanced
values: Material / Principled / Max tension / Max potential / Find interesting moves / ... more moves / Local eval / Accuracy / Sharpness / Chart smoothing / on Eval gauge  - defaults to Material, Principled, Max tension, Find interesting moves, Accuracy, Chart smoothing, on Eval gauge

When not logged in, Local eval, Find interesting Moves and ... move moves are enabled by default.

This feature is adding extra lines on the computer analysis chart. In the search for good/great/brilliant moves - as shown on chess.com and requested by a lot of players, the lines drawn over the normal computer eval chart are meant to give some indication of what is going on without asserting an exact significance of the values. The lines are purposefully left without explanation, in the hope that players recognize some aspects of the game in the numerical values charted and their intersection.

For example, many of the moves generally considered brilliant see a steep increase in evaluation, but a steep decrease in material and/or principled position, indicating a sacrifice or an unnatural seeming move that wins the game.

If Find interesting moves is enabled then an extra entry in the analysis summary shows the total of interesting/good/brilliant moves in the PGN. With ... move moves the extension will endeavor to show which moves are good, best and brilliant, but take it with a grain of salt.

Options:

  • Material - green dashed line shows a more classical material difference between the sides
  • Principled - blue dashed line shows how principled the position is. This means stuff like square control, freedom of movement, developed centralized pieces, etc, but excepting material value.
  • Max tension - red dotted vertical line shows the point of maximum tension in the game. Tension here is defined as the total material that can be captured by both sides in just one move.
  • Max potential - green dotted vertical line shows the point of maximum potential (similar to tension, but it superficially looks at capture chains)
  • Find interesting moves - if enabled, this will show good/brilliant/interesting moves in the analysis summary as a link that cycles through them. It will also automatically find some categories of interesting moves and mark them with !? glyphs (if not already annotated). The glyphs added by this algorithm will be temporary (not persisted on the server).
  • ... more moves - this will automatically calculate good/best/brilliant moves. It will also change the behavior of the good/brilliant/interesting moves link to only search brilliant and interesting moves. The G shortcut will work as before.
    • this uses both the server evaluation and the local computer eval. If you run the computer engine locally it will change the glyphs in real time.
    • every move that isn't bad is good, so you will get A LOT of good moves. 
    • as I don't know which is the best move, only the eval associated with it, a "best move" is a move as good as the previous evaluation. This means more moves could be "best" and depending on Fishnet, you will sometimes need to run local eval to get a "best" or to clear a false one.
  • Local eval - if this is set, the local evaluation will also generate a yellow line chart, with a semitransparent background under it. This will also add charting to the Analysis board, once the local engine has been started, and it also updates various other chart lines with local eval, if the depth is higher than the server one.
    • the yellow chart shows the evaluation of the current variation branch, not the mainline like all the other chart lines. Meaning that the chart line will appear and disappear depending on if the current branch has computer evaluations.
    • if the chart is local only (no server eval available or run yet) this will show inaccuracies, mistakes and blunders as well. The nice summary on the right side that you get with the server eval will NOT be there.
  • Accuracy - if this is set, the accuracy of the moves of the side the board is oriented from is charted with a magenta color. More on the actual formula here: Lichess Accuracy Metric
  • Sharpness - if this is set, the sharpness of the position is charted with pink.
    • note that this chart depends on Explorer values, so it will only show as far as there are records in the Lichess Explorer database and you have visited those positions with Explorer enabled.
  • Chart smoothing - if this is enabled, the chart will be smoothed, removing sharp spikes. 
  • on Eval gauge - if this is set, two lines (one green and one blue) will appear on the evaluation gauge when it is visible, changing with the values of material and principled values, respectively.

Notes:

  • I called it "interesting moves" because there is no objective good/brilliant move algorithm. If you want those, enable ... more moves.
  • If you are not logged in, Local evalFind interesting moves and ... more moves will be enabled by default.

Study links options

category: Study - Advanced
values: Video popup - defaults to Video popup

This feature handles links inside study comments. It enables Chessable/Chessmood kind of courses, where you can play the course or do the puzzles or research lines while the video is running on top.

Options:

  • Video popup - if the link is to a recognized video provider, clicking on the link will open a popup where the video runs. The popup can be resized, moved and the settings for this will be persisted for the current device.
    • only YouTube, Vimeo and Twitch videos are supported for now, because Lichess blocks anything else
    • start timestamps are supported for all three types of videos
    • for YouTube links an "e" parameter just like "t" can be use to end the video at that timestamp. Example: https://youtu.be/<someId>?t=300&e=400
    • this does not work in Firefox because they don't support credentialless iframes
  • Open links to studies in same window - this makes links from move list comments which lead to studies to open in the same window. The reason for this is that you want to continue a variation that is split into multiple chapters or that leads to another study in the same window, especially in Extended Interactive Lesson mode. Now you can utilize this with the Bookmarks option of the Move List Options feature to jump from move to move and chapter to chapter.

Notes:

  • the video popup will snap to the margins of the screen, so if you place it in the bottom right corner and resize the window, it will keep a fixed position relative to the bottom and the right sides of the screen
  • if less than 50% of the video header is outside the screen, the popup will reset to original position: center of the screen with 640x480 size
  • the video link can have a start time parameter which should be respected by the video popup

Learn from your mistakes in Studies

category: Study - Advanced
values: yes / no - defaults to no
Needs log in

This feature will add a Learn from your mistakes button for study chapters that have a server computer analysis, just like for game analysis.

Change chapter names from PGN tags

category: Study - Advanced
values: yes / no - defaults to yes
Needs log in

This feature will give you the option to quickly change the name of a study chapter to either the content of its Event PGN tag or the White and Black PGN tags combined when editing the chapter. Sometimes people want to import a series of PGNs into a study, but with the default lichess behavior only the first chapter gets a proper naming from the PGN tags, the rest getting the default Chapter 2, Chapter 3... etc name. With LiChess Tools you can go to each of them, edit them by clicking the cog button next to their names, then choosing with one click the name the chapter should have.

A newer functionality of this feature is to suggest a name based on the mainline moves. It should help to structure studies with a variation per chapter.

Study chapter navigation controls

category: Study - Advanced
values: yes / no - defaults to yes

This feature will add a set of buttons at the end of the chapter list in a study. The buttons navigate to the first chapter, previous chapter, random chapter, next chapter and last chapter respectively.

Notes

  • You can add in the title a rnd:N text, where N is a percentage number between 0 and 100. This will change the chance that a chapter will be selected by the random button.
  • If the mechanism above is used, the current chapter can be chosen (so basically remains the same) by pressing the random button

Sticky study Preview mode

category: Study, Interactive Lesson chapters - Advanced
values: yes / no - defaults to yes

This feature will keep you in Preview mode as you move from one Interactive lesson chapter to another. As one trains using interactive lessons, at the end of one they are presented with the option to move to the next chapter. The default lichess behavior is to show you the chapter in edit mode (assuming you are the owner or a contributor) which requires you to press the Preview button all the time to continue training, after also having seen the move list. Now you can press Preview once and play chapter after chapter with no hassle.

This is preserved also between page reloads, so you will have to manually unset Preview mode to edit a study Interactive Lesson.

No spoilers

category: Broadcasts - Advanced
values: Broadcast - defaults to none

This feature will hide the scores in the games in broadcasts. It will also add a "No spoilers" checkbox in broadcasts so you can set/unset it from there.

Show game opening names

category: General
values: For large board / For minigames / In Explorer - defaults to all

This feature will load the lichess opening name for games and display it. When watching a game or analyzing it, the opening will be shown under the player names. For mini-games (the tiny ones that appear when hovering over a game link or put somewhere on the page) it will appear at the bottom. For Analysis board, if the wiki side is empty, it will show the opening there, assuming the position is in the local cache. For Explorer, if open and the option is set, the extension is going to attempt to add just the relevant information to the existing opening name.

Options:

  • For large board - this will enable showing the opening name for Analysis Board, Studies, Board Editor, TV games.
  • For minigames - this will enable showing the opening name for games shown when hovering over a player name, games shown in the Current Games or broadcasts and any other games shown in small board format.
  • In Explorer - this will enable showing extra opening information in the Explorer header, next to the normal opening name coming from Lichess, if applicable.

In the very rare cases where the same exact position is found with colors reversed, the name of the opening will appear with a little (R) at the end.

This should work for Analysis Board, Game analysis, Studies, TV games, Board Editor, Broadcasts, Swiss tournaments, etc.

Show pawn structures

category: General
values: Enabled / Only named structures / Fuzzy search - defaults to Only named structures, Fuzzy search 

This feature, similar to Show game opening names, shows the pawn structure of the current game position. Because it's all very local, with no API requirements, it also works for current game pages.

An entire blog post about it can be found here: The Pawn Structure feature in LiChess Tools

Options:

  • Enabled - enables or disables the feature - disabled by default.
  • Only named structures - show only structures with names. This is enabled by default, but of course will not work unless enabling the whole feature. If you disable this, you will see a very technical name for each and every move.
  • Fuzzy search - this will show named pawn structures within a certain proximity. It helps to determine the general structure, even if it might not be totally accurate.

Notes:

  • This feature has a lot of potential, as the pawn structure is something that informs medium to long term plans. Knowing these will help you grow a lot as a chess player.
  • If the pawn structure is named, it will show as a link which can be clicked to learn more.
  • If the structure is not found in the available list, it will be searched from the opponent's perspective, in which case it will be shown with a (R) at the end if found

Show player country flags

category: General
values: yes / no - defaults to yes

A very early feature of the extension, it has also evolved a lot. The latest version is much more efficient in terms of how it gets the data from the server and adds flags to almost every place where a user link is shown.

In order to not use too many resources, the flags for players are cached for 10 days. If you want to clear the cache, go to Preferences and turn it off and on again.

Show player score deviation

category: General - Advanced
values: yes / no - defaults to no

This feature will add the rating deviation to some of the ratings in the user popups (the one popping up when you mouse over player links). The deviation will be either red, normal or green based on the progression in the latest games. Red means loss of rating, green means increase in rating.

Chat/forum options

category: General
values: Paste image support / Large one emoji message - defaults to all
Needs log in

This feature applies to the inbox chat and writing forum posts. There is another type of chat (below) used in games, studies and team pages.

Options:

  • Paste image support - allows for pasting images directly in the chat or the forum. Here, by "directly", I mean that it uploads the image to Imgur, retrieves a URL for it and pastes the resulting link. From there, Lichess has support to display the image.
  • Large one emoji per line - in Inbox chat, when you have only one emoji message, like 👍, it will appear larger

Team/Study chat options

category: General
values: Highlight URLs / No length limit / Image support / Team chat notifications - defaults to all
Needs log in

This feature adds some much needed functionality to the chat used in games, studies and team pages:

  • Highlight URLs will turn URLs in the chat text into links
  • Image support will show images instead of text in the highlighted URLs (assuming the URL is of an image) - requires Highlight URLs
  • No length limit will allow you to write as much as you want and then split the message in 140 characters slices - because that's what the lichess server allows
  • Team chat notifications will show you notifications when messages are added to the chat of a configured team. The teams list will now show a notification bell next to each team that will toggle notifications for that team. A maximum of three teams can be configured for notifications. By default, no team is configured for notifications.
    • If you stay on the team list page long enough, the notification bell button for enabled teams might show a number on it. That's the number of people active on the chat (which includes people who have enabled notifications for that team) if there are more than 1. Obviously, in order for this to work, you must be one of them.

Notes:

  • this is different than the team "Subscribe to team messages" toggle, which is a native lichess control for receiving mass team messages from the team admins.
  • visiting the page of a team will reset the notification for new messages (will mark all as read).

Better exported board image

category: Analysis/Study/Board editor - Advanced
values: yes / no - defaults to yes

This feature will override:

  • the default share Board button in studies
  • Screenshot current position in game analysis
  • SCREENSHOT button in the board editor

It will also add a SCREENSHOT button to the analysis board with the same functionality.

When clicked, the button will export not only the board position, but also the arrows and anything else drawn on the board in the current position. You retain the original behavior by right-clicking the button and opening in a new tab or window.

If you Shift-click, the board will be rendered without coordinates.

Link to current analysis

category: Analysis - Advanced
values: yes / no - defaults to yes

You ever wanted to send to a friend the state of the Analysis Board you've been working on for? Now you can. Under the PGN label of the text under the Analysis Board you get a small link icon that contains the link to the Analysis board with the same PGN, orientation and move number.

Notes:

  • the maximum allowed size for a browser URL is 2048 characters. If that size is exceeded, the link will not be available.

Autosave analysis for reload

category: Analysis - Advanced
values: yes / no - defaults to yes

This happened to me a lot of times: I am analyzing something and I accidentally swipe the touchpad or press some key that reloads the page. All my work is gone! This feature keeps track of the latest modifications of Analysis board PGN and reloads it on page load. It is your choice if you want to import it or not by going to the PGN text area and clicking the Import PGN button.

Notes:

  • The saved PGN as well as the Analysis board import text area content will be overwritten by whatever move you make, so if you fail to import the PGN and make a move, you lose the data. 

Opening explorer player features

category: Analysis/Study - Advanced
values: Me button to switch to your player - defaults to Me button to switch to your player
Needs log in

This feature controls the choice of the player in the Opening Explorer.

  • Me button to switch to your player - adds a tab next to Masters database, Lichess and Player named Me. If you click on it the choice of the player will toggle from your user to the last selected user.  The button can be shown/hidden from the Explorer config screen as well. 

Notes:

  • The Me button will appear only if you have any another players configured for the Player tab name list

Toggle snapshots of Explorer settings

category: Analysis/Study - Advanced
values: yes / no - defaults to yes

This feature will add a new button called Snap! in the Explorer settings of the Lichess database tab. This will allow to save the current Explorer settings under a name, then quickly toggle between the various sets saved by clicking on the same tab, which will now change text to reflect the name of the selected "snap". You can easily delete existing snaps and create others.

Resize Explorer

category: Analysis/Study - Advanced
values: yes / no - defaults to yes

This feature will allow you to resize the Explorer window height inside the analysis tools, therefore controlling how much space it takes when opened. Just drag the divider above or below the Explorer to change the size.

Notes:

  • The mechanism works very differently from desktop to mobile (to the point where I had to install a polyfill to enable drag and drop on mobile). On desktop the divider is on top, on mobile is on the bottom. Also, because lichess is not really particular about how the website looks on mobile, you will probably not be happy unless you also enable the Mobile theme. Tests with various devices show wildly different results. On my phone and the Chrome emulator it works smoothly, on a friend's Motorola the resize bar doesn't seem to work properly. So be warned, mobile support is (and will probably remain) sketchy.
  • Turning the feature off and on again will also reset the heights, if you get in some sort of trouble.

Sound Options

category: General - Advanced
values: No move sounds - defaults to none

This feature gives finer options for sound. At the moment it has just one setting, to disable piece movement sounds only. Note that if you have set the Silent sound schema or the volume to 0 you will not hear anything anyway. 

Sound volume (0-100)

category: General
values: Number between 0 - 100 - defaults to 70

Self explanatory. It sets the volume of the sounds generated by LiChess Tools.

Time alert (minutes)

category: Play - Advanced
values: 0:30 / 1:00 / 1:30 / 2:00 / 3:00 / 5:00 / Sound alert- defaults to none

This feature allows you to choose additional time warnings during play. Every time an enabled threshold is reached, the bottom player name and clock section will glow red and, if so enabled, a low time sound will be emitted.

Various TV options

category: TV
values: Link for current TV game / Bookmark for current TV game / Streamers current games / Friends current games / Previous two games in player TV / Prevent screen lock with TV / Persistent TV category- defaults to all

This feature has been introduced in version 2.2.0 to merge four existing tools for TV with the same functionality. Make sure you review your Preferences.

Options:

  • Link for current TV game - adds a link to the currently played game in TV on the title, just like in Analysis mode
  • Bookmark for current TV game - adds the ability to bookmark a currently playing game by hovering the mouse next to the game title
  • Streamers current games - adds a Streamers tab in the Current Games page where you can see the games of all currently playing streamers
  • Friends current games - adds a Friends tab in the Current Games page where you can see the games of all currently playing players that you follow
  • Previous two games in player TV  - In category TV (when you are watching Blitz games for example) you get a list of two previous games in that category under the main playing board. For player TV, when you go to a specific player to watch their games, this is missing. This feature will add the two previously played games by the player you are watching.
  • Prevent screen lock with TV - will prevent screen locking on mobiles or other such devices while you are on a TV page.
  • Persistent TV category - will remember which "channel" you watched on (best, blitz, classical, etc.) and will select it again when you go to Watch -> Lichess TV.

Previously viewed game menu item

category: TV - Advanced
values: yes / no - defaults to yes

  • This feature adds an extra menu item in the Watch menu that will take you to the previously seen chess game. Just opening any game will consider it as watched. If you go to the previously watched game, then clicking on the menu item again will take you to the game you watched before that, and so on. The total number of remembered games is 10.

Pin broadcasts and studies to home page

category: General- Advanced
values: yes / no - defaults to yes

This feature will add a red pin to the studies and broadcasts tabs on the top left, right after the search icon. Click on this pin to pin/unpin the study or broadcast to the home page. All the things you pinned will be added to the spotlights area of the main page (top left corner)

Last visited study menu

category: Study - Advanced
values: yes / no - defaults to yes

This feature adds an extra menu item in the Learn menu that will take you to the previously visited study.

Hovering over the entry will show a maximum of 5 previously visited studies. This feature does not work for mobile devices.

Just opening any study will consider it as visited.

Notes:

  • the Broadcasts feature and some Puzzles use studies in the background, so this will show them as the last visited study

Styling for study comments

category: Study
values: yes / no - defaults to yes
Needs log in

This feature adds the ability to style the comments in your PGNs. You can choose between a number of styles that you can place anywhere in a comment with cls:<styleName>. It also adds a new button next to the comment button in a study chapter (a quill in an inkwell ) that with cycle through all of the classes at the very beginning of the comment to the current move. The usable classes are: red, orange, yellow, green, lightgreen, cyan, lightblue, blue, violet, magenta, pink, underline, strikethrough, italic, bold, cursive and nothing or clear to clear existing class. (ex: cls:red will make the rest of line of the comment red)

Notes:

  • the name of the class declares the intent, not the actual result of the styling. Given that there are dark and light themes on lichess, the styles have been updated to be readable in both situations, using shadows or slightly different colors.
  • the style of the comment will only be visible to you and people with LiChess Tools installed. All others will see cls:blue or whatever in the comment.
  • you can actually put anything as the class name and the comment will be put inside a span with the class lichessTools-<your class name>, which allows you to customize your style even more with the addition of custom styles from other extensions like Stylus. In this case all people seeing the comment would also need the custom styling.

Show the order of arrows and circles

category: Analysis/Study - Advanced
values: yes / no - defaults to no

This feature shows a number on each drawn shape, so that you can see their order. Sometimes in studies you want to convey the moves that could follow the current position using arrows and circles, but in certain situations the order of the moves is important. Set this to true in order to see which arrow comes first.

Ctrl-Space for best computer move

category: Analysis/Study - Advanced
values: yes / no - defaults to yes

The default functionality of the Space bar in analysis mode is to start the computer engine if not started or play the best move in the computer move list. Because I was often using lichess with YouTube in another tab, pressing Space accidentally was always an annoyance. This feature changes the shortcut to Ctrl-Space.

Notes:

  • A previous version of the feature was using Shift-Space, but it would overlap with a lichess feature.

Clear chapter artifacts

category: Study - Advanced
values: yes / no - defaults to yes

This feature allows you to choose which artifacts to clear from the current study chapter only. To use it, click on the cog button next to the chapter name and, instead of the Clear annotations button now you get the choice of just comments, glyphs (good move, bad move, that kind of thing) and drawn shapes (circles and arrows) as well as all of the above. There is an extra option of clearing all PGN tags. This feature also adds individual delete buttons to all tags in the current study chapter.

Notes:

  • this only works for the current chapter, as the site does not have access to the moves or tags in the PGNs of other chapters
    • the feature could be modified to work on all chapters, but it would have to first select the chapter, then alter it, which I think is not something that should be done automatically.
  • this works on the client, which means that instead of sending one command to the lichess site, it creates delete requests for each item. If the PGN is large, this can take a long time.

Customize chat buttons

category: Play
values: yes / no - defaults to no
Needs log in

When playing the first few moves and after the game has ended, lichess gives you the option to click on some buttons for some standardized message like Hello, or Have fun! This feature will give you the ability to customize these buttons.

The interface may not be the most intuitive. To edit buttons you click on the little cog button, to exit edit mode you click on the same. This allows altering, adding and deleting buttons. Click on the small X button to enter delete mode, after which you click on buttons to delete them. Delete them all and you get the default buttons back.

In order to add or alter buttons you have to write in the chat text input something like <name>/<message>. Example: hi/Why, hello there, old chap!, which will create a button with the text HI which will send the chat text "Why, hello there, old chap!". In order to add the button, you click the + button. In order to alter an existing button, you click on that button.

Notes:

  • the name of the button can be only 2,3 or 4 characters long.
  • if you attempt to add or edit a button without a recognizably correct input text, the input box will jiggle to let you know you are doing something wrong
  • to edit the end of game buttons you have to reach the end of a game. This may be inconvenient and I am thinking of solutions
  • I am considering expanding this feature with buttons for the duration of the game as well as for spectators. Let me know what you think!

Player lag indicators

category: Play
values: none / bars / chart - defaults to none
Needs log in

This feature adds bars or a chart next to your and your opponent's name showing the lag and server latency. To limit use of server resources, the opponent lag indicator is updated only every 5 seconds, while yours every second or so.

Player warning alert

category: Play - Advanced
values: yes / no - defaults to no
Needs log in

This feature will add a small warning icon next to the opponent's name if the percentage of disconnects for the current time control is higher than 3%. Other warning reasons may be added in the future. The purpose of this is to allow you to abort a game before wasting time on a malicious opponent.

Note: this is just an informative alert, you do what you want with it. If you abort too many games, you might end up getting punished by lichess.

Common teams

category: Play/Analysis/ Study - Advanced
values: yes / no - defaults to yes

This feature will add a small icon in the player crosstable (the thing showing you how many times the players have played against each other and the results of the latest games) if the two players in the game share at least one team. Mouse over the icon to see which teams. Clicking on the link will open the first team page. 

Play layout

category: Play
values: Normal / Hide left side / Hide chat - defaults to Normal

This feature will control the layout of the page when playing.

Options:

  • Normal - no changes
  • Hide Left side - will hide completely the left side of the screen (game information and chat) in large screen layouts (width 1260px or more)
  • Hide chat - will hide the chat and rotate the game information, gaining some space in large screen layouts (width 1260px or more)
    • in this mode, the game icon in the game information section will glow if there are unread chat messages. Clicking on it will toggle the chat being shown/hidden and mark existing chat messages as read.
  • Option to hide chat - same as Hide chat, but chat starts by being shown and you have the option to click on the game icon to toggle the chat.

Timeline notifications

category: General - advanced
values: Forum post / Blog post / Lichess announcement / Stream start / Simul create / Simul join / Team create / Team join / Tournament join / Following / Study like / Blog post like - defaults to Forum post, Blog post
Needs log in

This feature will add a notification when there are unread items in your Timeline. The default values include comments on forum or blog posts you follow, forum or blog posts from people you follow. Basically posts that you wouldn't normally be notified about. 

Clicking on the notification will take you to the Timeline page. Opening it from here or anywhere else will consider the items read and so you will not see the notification until new ones turn up.

Notes:

  • there will be no notification if quiet mode is on (meaning you are playing a game or you have quiet mode manually set)

Mobile device features

category: General
values: Evaluation gauge / Hide the octopus mascot / Analysis arrows / Random move button / ... only when variations /Scroll lock when playing - defaults to Evaluation gauge, Random move button, ... only when variations 

This feature alters some behavior specifically for mobile devices. There are Chromium-based mobile browsers, like Kiwi, which accept browser extensions. Enjoy LiChess Tools on mobile installing one and then the extension, then customize the experience with this feature.

The options are:

  • Evaluation gauge - makes the evaluation gauge visible even on small screen widths (for mobile)
  • Hide the octopus mascot - hides the octopus mascot that takes a lot of space in Interactive Lessons
  • Analysis arrows - adds a button next to the Explorer and Practice ones that allows for drawing arrows and circles on mobile devices in Analysis board and Studies
  • Random move button - adds a button between the previous and next move buttons that will randomly play a move from the move list (same functionality as Ctrl-right to play random next move from list on desktop)
  • ... only when variations - this makes the Random move button above only appear when there are variations to choose from
  • Screen lock when playing - will lock scrolling and zooming on mobiles when playing (or during puzzles). A lock icon will appear as a button on top of the screen that you can tap to temporarily lock/unlock the scrolling on that page (refreshing or going to other screens will again automatically lock the screen unless you unset the value from Preferences). Whether the screen is locked or not will be persisted, so you have to tap it again to enable if you disabled it.

Notes:

  • Because both the shape drawing and random move buttons take up space, this feature also changes the style of the buttons so that they take two rows of space: the first for utility buttons (left) and the hamburger menu button (right) and the second row for PGN navigation buttons (first, previous, random, next, last move). If none of the two options mentioned are enabled, then the regular "one row for all buttons" style is used.
  • Screen locking when "playing" doesn't necessarily means when playing, but when lichess is in "playing mode". For example that also means when you haven't yet started the game or when you just ended the game or when you are doing puzzles.

Mobile device game features

category: General - Advanced
values: Game arrows / Standard buttons / Swap user and clock - defaults to none

This feature alters some behavior specifically for mobile devices when in-game. This means playing, or solving puzzles or even watching running TV games. There are Chromium-based mobile browsers, like Kiwi, which accept browser extensions. Enjoy LiChess Tools on mobile installing one and then the extension, then customize the experience with this feature.

The options are:

  • Game arrows - adds a button next to the button for Analysis that allows for drawing arrows and circles on mobile devices in games
  • Standard buttons - the default behavior of lichess.org is to hide the move navigation buttons for games on small screens, instead showing one line of PGN with previous and next move buttons on either side. Set this in order to see all buttons (including the Game arrows one above). For normal play this is not necessary, but in puzzles, TV and such screens this is the only way to access the drawing arrows button.
  • Swap user and clock - swaps the position of user and clock during play, to avoid hiding the clock with your dominant finger.

Colors for shapes on mobile

category: General - Advanced
values: 1 / 2 / 3 / 4 - defaults to 1

This is part of the Mobile Experience feature and it selects the count of colors you can use on mobile to draw arrows and circles. If you only want to turn the drawing mode on/off with a single tap, select 1.

Show evaluation of explorer moves

category: Analysis/Study - Advanced
values: From computer eval / From ChessDb / From Lichess / From winning stats / Rows from eval / Hidden - defaults to From computer eval, From ChessDb

Options:

  • From computer eval - will show the evaluation from the computer engine
  • From ChessDb - will show the evaluation from the chessdb.cn database
  • From Lichess - will show the evaluation from the Lichess evaluation API
  • From winning stats - will compute an evaluation based on the win/draw/loss statistics
  • Rows from eval - will add extra rows with the move and the evaluation if the explorer doesn't contain a line for that move
  • Bar precision - will add a decimal digit of precision to the percentages in the move Explorer bars
  • Hidden - hides any evaluation in explorer, but retains the settings if you want to show them again. This option can also be changed from the Explorer settings

This feature will show the move evaluation for Explorer moves. This information is retrieved from three different sources that can be enabled or disabled: the local computer eval, chessDb.cn, the lichess evaluation API and the Explorer stats themselves. If Hidden is set, then the settings for evaluation will remain, but the column will not be shown. The feature can be hidden not only from Preferences, but also from the Explorer config screen.

ChessDb.cn will be used first (if enabled) and then the Lichess eval API, so if you prefer the Lichess API, you should disable ChessDb. In case ChessDb fails for whatever reason, lichess eval API will be used instead. Just note that the Lichess API is limited in how much calls one can make and contains less data than ChessDb.cn.

The statistics eval will only be shown if there are 100 or more games in the lichess database for that move and not all won by one side. Its faded coloring signifies that it's not a true eval, but if enabled can compare with the other values. 

Computer evaluations will have a white color, stats evaluations will have a grey faded color and the cloud evaluations will be slightly blue. If using chessDb, the eval will show either red, green or bright green for bad, good and best moves.

This feature also adds a warning icon on the right side of moves that have large differences between evaluation and winning stats, indicating a possible trap or gambit situation. It also calculates the sharpness of a move, as defined in Evaluating sharpness with Leela’s WDL and adds a blue warning icon on the right side of the move when it's higher than 100.

The feature is unavailable in the Analysis screen of a running correspondence game.

Notes:

  • The more lines you have configured on your computer analysis, the more items in the list will be evaluated. Explorer can show 12 moves, for example, while the computer analysis is configured with Multiple lines=2, this means a maximum of 2 items in the Explorer will have an evaluation. With 5, you get 5, assuming the computer moves are in the Explorer list.
  • There is an internal cache of these evaluations, so you can run the computer eval for some moves, then stop it, but when going to those moves you will still see the evaluations as done before at whatever depth was last computed.
  • Take care with stats evals in positions with few games. It might tell you that you are absolutely winning, but that's just because no one played a winning move from that position. That is why eval from winning stats is disabled by default.
  • The evaluations from cloud differ in depth based on how many moves you want to see. For example you could ask for just one move (the best in the position) and it might show you the eval with depth 55, but if you ask for two moves it will give you depth 44, for 20 moves you would get depth 13 or even nothing. To account for this, cloud eval combines the values from two calls: for 5 moves and for 10 moves. Since the cloud data comes from local evals, server evals and different versions of Stockfish and I am combining two different depth evals, take the evaluation as an estimation, not a given.
  • Changing the options for evaluation in Preferences will reset the local cache for each move.
  • Lichess' cloud eval API will return 404 when no data is available, resulting in ugly red network lines and error messages in the browser developer tools. Those are not errors, but there is no way to hide them in Chromium browsers from JavaScript. If it annoys you, you can turn them off from DevTools (see https://stackoverflow.com/questions/4500741/suppress-chrome-failed-to-load-resource-messages-in-console)
  • Depending on how much you do analysis and how overloaded the servers are, cloud eval might start returning 429 errors, meaning the servers report you are abusing them. A warning will appear every minute while that happens. The workaround is to disable From Lichess and use just computer eval (which, of course, will also use cloud eval :-P). The configuration on lichess' side, at least for the moment, is 3000 calls per IP address per day. That's a bit low, but it might be enough.
  • If computer evaluation is started and used as a data source, the cloud eval will not be accessed.

Show explorer moves leading to gambits

category: Analysis/Study - Advanced
values: yes / no - defaults to no

This feature adds a new column to the Explorer table showing the number of gambits reachable from the current position and for each move to play. The feature can be turned on/off not only from Preferences, but also from the Explorer config screen.

The feature is unavailable in the Analysis screen of a running correspondence game.

Options for puzzles

category: Puzzles - Advanced
values: Prevent screen lock playing puzzles - defaults to Prevent screen lock playing puzzles

This features controls various options related to puzzles.

Prevent screen lock playing puzzles - this will prevent the screen from autolocking when playing puzzles (or thinking about how to solve them).

Puzzle performance chart in Profile

category: Puzzles - Advanced
values: yes / no - defaults to yes
Needs log in

This feature will add a new Puzzles entry in the Profile, right under the ones for various time controls (blitz, classical, etc.). The top part of the page will show a chart and a time slider to select the period for the statistics.

If the slider end is the same as for the selected interval, the bottom part will list the puzzle themes and the performance for each, as well as links to the failed puzzles that need replaying.

A new entry in the Puzzle menu called Puzzle stats will lead to the same page.

Notes:

  • if you have enabled Profile slider options, all of the settings there will apply to this slider as well.
  • if the selected time interval does not end at the end of the entire slider period, the bottom statistics will not be shown, as the data for them is only extracted relative to the current date. In fact, the end date of the slider might be different from today, so the stats are taken from the beginning of the interval to today.
  • the green background bars show the puzzles you completed, with a darker gradient towards the puzzles you completed on replay. Mouse over to see the actual values of wins + replay wins.
  • click on the theme name to play puzzles in that theme. click on the To replay numbers to replay the puzzles in that category.
  • The links to replaying puzzles are formed using the number of days you've selected in the time slider, but on the server side (which I don't control) that number is limited to one in the following list: 1, 2, 3, 7, 10, 14, 21, 30, 60, 90. So let's say you move the slider to 2057 days into the past, it will actually serve you the puzzles in the last 90 days. Same for 76. Unfortunately that is a Lichess limitation, designed to not overload their servers, so nothing to be done there.
  • Warning: based on which theme you choose, you might find that you lose a lot when you fail and win very little when you win, or vice versa. Truly, the idea of a general puzzle rating makes no sense and you should not consider it. Instead, look at the performance value for each theme. Do not let your chess progress get hampered by a meaningless numerical value.

Find position in Lichess puzzles

category: Puzzles/Analysis/Study - Advanced
values: a NIF file

Work in progress! - this means use at own risk.

This feature requires a separate file to be downloaded on your computer. Once loaded, the Explorer will try to find puzzles similar to the current position. Since there are more than four million Lichess puzzles, the only way to create a small enough index on your local machine was to just keep the significant elements of the position FEN, meaning that the positions will not be exactly the same. In v2.3.172 I've added a CRC mechanism to dramatically reduce false positives. 

Get the latest file here: puzzle.nif.zip (about 330MB) - download it and extract it somewhere, then pick the file in the Preferences.

So it works like this: in analysis, if the current position is found in Lichess puzzles, a new section will be added to Explorer called Puzzles, with a list of puzzle links. When this happens, also a new tab is added to Explorer with a magnifying glass icon on it. You click it and Explorer will scroll down to the Puzzles section.

Notes:

  • let me know if you have any issues with decompressing the zip file. I've used some extreme compression.

Download PGN for puzzles

category: Puzzles - Advanced
values: yes / no - defaults to yes

This feature will add a button next to the puzzle id (once the puzzle has been completed or abandoned) to download the puzzle PGN. A popup with the PGN will appear and you can copy whatever part of it you want. The PGN will start with a FEN position and the puzzle moves.

Quiet mode on all tabs

category: Play - Advanced
values: yes / no - defaults to yes

When a game starts, lichess sets a quietMode variable to true, instructing various notifications to not be displayed. Unfortunately, that only happens on the page that one plays on. This feature makes all open lichess pages get the value for quiet mode from the same place, so they don't behave inconsistently.

There is also a button added to the lichess menu which can manually enable/disable quiet mode. Warning: once manually enabled, quiet mode will remain on until manually disabled! The normal game playing quiet mode will turn on and off automatically, as before, only it will affect all open lichess pages.

Note:

Insert new chapter after current one

category: Study - Advanced
values: yes / no - defaults to yes
Needs log in

This feature adds a button to the create study chapter form with the text Create after current. Using this button instead of the normal Create chapter will create the chapter immediately after the currently selected chapter.

Note: the button will not appear if already on the last chapter in the study.

Force add Stockfish 16+

category: Analysis/Study - Advanced
values: yes / no - defaults to no

Some browsers have issues with the new Stockfish 16 engine and above, but these issues are not clearly defined. For example many users of the Brave browser complained of division by zero errors. I use Brave, I've never seen this. Therefore, if you are a user of Brave or some other browser that does not support the Stockfish 16 engine or higher, this will force it to be available. However, the responsibility of enabling this and using the engine are yours.

Don't worry, there is nothing bad that can happen, you just switch to Stockfish 14 and you're done in case this doesn't seem to work.

Show PGN in studies

category: Study - Advanced
values: yes / no - defaults to yes

This feature adds a textarea in the study Share tab called PGN. Similar to the one in Analysis board, it will show the PGN text of the current chapter. The PGN will be generated by the same code that generates the one from Extra context menu options and may differ from the one generated by the Copy PGN or Download PGN buttons.

Persist study settings

category: Study - Advanced
values: New/edit chapter settings Position/move in the study - defaults to Position/move in the study
Needs log in

Options

  • New/edit chapter settings - will persist the settings for studies when you create or edit them. Then it will use the same values when creating new studies.
  • Position/move in the study - will remember the position (move in the list) in a study chapter and restore it on page refresh
    • Note that if lichess does not restore the chapter on refresh (it happens sometimes when the user get disconnected) then this will not work. This just restores the move in the current chapter, it does not change it.
    • Also note that this will not work in Interactive chapters while playing them 

Move list options

category: Analysis/Study - Advanced
values: Indented variations / Bookmarks / Expanded move list / Hide left side / Open in new window / Eval button on the right - defaults to Bookmarks

This feature will change the functionality or appearance of the move list in Analysis board. There are already such changes with the Highlight moves in analysis functionality.

Options:

  • Indented variations - this will make even variations that follow inline (when they are less than three, they are displayed one after the other in parentheses, like in a PGN text) show as tree branches, increasing readability and preparing for new features that will use this.
  • Bookmarks - Study only - this will allow for bookmarks, which are very cool (read below). Let me know how they could be more of use to you.
  • Expanded move list - Only for desktop resolutions (1260px+), this feature is removing the left and right margins and expanding the move list to the edge of the screen and also downwards. It is meant to improve analysis on very complex PGNs.
  • Hide left side - Most of the time the left side of the analysis screen is useless: chat, notes, study participants and stuff like that. With this, you can hide that side to gain even more space for the move list. This is intended to be used together with Expanded move list, but you can use it separately as well. 
  • Open in new window - Study only - this adds a small button in the top-right corner of the page, just before the computer evaluation toggle. Clicking it opens a new window with just the analysis tools (move list, computer eval, explorer) that you can move to another monitor, for example, or resize and place wherever you want. Use the study SYNC button to keep the two windows synchronized. (the SYNC button only appears under the board when the study is set to Enable sync)
    • this is also useful for printing PGNs, as the new window is optimized for printing.
  • Eval button on the right - this will move the computer evaluation button to the right side of the eval header and also make it a little bit smaller.

How bookmarks work:

  • right-click on a move in a study move list and select Add/Remove bookmark from the context menu
  • put any text in the textbox that appears (or remove it all to delete the bookmark)
  • this will create a bookmark, which serves several purposes:
    • it will show as a named label in the move list (good for naming variations or making the PGN more readable)
    • it will allow to expand/collapse the branch from that move on (which will also persist between reloads)
    • it will serve as an anchor for URLs to this exact variation
  • for any bookmarked move you can right-click it and get:
    • Collapse/Expand all bookmarks - collapse and expand all bookmarks in the tree
    • Get bookmark URL - will copy to clipboard a URL to that specific move in that specific chapter and study (the link will look like this: https://lichess.org/study/<studyId>/<chapterId>#<bookmark name>)
    • Split chapter here - only if the bookmarked node has children (following moves) - it will create a new chapter with the following moves, then add a comment with the URL to the new chapter. If you want to also delete the following moves, press Shift when you click on the menu item. The confirmation dialog should reflect that moves will be deleted.

Notes:

  • Bookmarks are saved in the comments as bkm:<label>
  • Only you and people with the LiChess Tools extension (and bookmarks enabled) can see and use the bookmarks, the rest will just see the bkm:<label> in the comment
  • Splitting a chapter with Shift-click DELETES THE EXISTING FOLLOWING MOVES from the initial chapter. Don't tell me you weren't warned.
  • You cannot collapse a bookmark if the current selected move is under it
  • selecting or moving to a position under a collapsed bookmark will expand it

Link to download all studies of a player

category: Analysis/Study - Advanced
values: yes / no - defaults to yes

This feature will add a "Download all studies" link in the studies list section whenever a user is selected in the query. This happens in two situations: either you went to your studies or you selected the studies of another player. The necessary condition for the link to appear is that the study search query contains "owner:<user>" where <user> is any user id. The link will download one PGN with ALL studies of the selected user that you have access to. Naturally, your studies will all be downloaded. For other users, only the public studies will be downloaded.

Study flairs

category: Study - Advanced
values: Author flair / Member flairs / Flairs from study topics - defaults to Flairs from study topics

Important: Lichess has implemented the same feature for study and study owner flairs. If you want to stick with the native version, turn all options off here!

This feature allows adding flairs to studies. The first two options add the flairs from the author and/or members of the study. The third one allows adding your own flairs to the study, using the study topics.

Flairs will appear in this order:

  • study flair - as chosen by the native study flair (only if the topic flairs is on)
  • study topics - as chosen in the study topics (only if the topic flairs is on)
  • study owner (only if the author flair is on)
  • study members (only if the member flairs is on)

Example: you want to add an alien flair to your study. The flair name is smileys.alien, so your topic needs to be flair.smileys.alien. Don't worry, all you have to do is go to your study, PGN tags, select Manage topics then type alien and the smiley will appear in the dropdown ready to select.

An even simpler solution is to press the Flairs button on the left of the popup which gives you a normal flair picker to select with.

The result is that, in the studies list, instead of the four chess squares icon for all studies you will get the first study flair icon, and the rest of the flairs will be listed on the bottom of the study. The flairs of the study come first, then the one of the author, then the one of the invited members (if the options are set to show them).

The list of all possible flairs can be found at https://lichess1.org/assets/flair/index.html

Notes:

  • user flairs will show the user powertip on mouse over
  • topic flairs will go to the topic search on right click. This is to avoid confusion for people who just want to open the study. On mobile this works with long click.
  • for people not having LiChess Tools installed, there will be no flairs in the study lists and when opening the study they will see the flair as text (ex: flair.smileys.alien)

Mirror button in Board Editor

category: Board Editor - Advanced
values: yes / no - defaults to yes

This will add a new button to the Board Editor () which will mirror the position you have currently. Unlike Flip board, it will create the exact same position for the other side, with the exact same valuation and move opportunities.

Custom mini-game size

category: General - Advanced
values: a number - defaults to unset

This feature sets a custom size to mini games, which are the boards that appear when you hover over a playing player link or in the Current Game or Broadcasts section, etc. The default is unset, which keeps the native lichess style. An equivalent numerical value for the default would be around 20. Change the number to increase or decrease the size of mini boards.

Notes:

  • the minimum value that will be taken into account for mini-games is 17. Lower values will only affect the popup board in the computer eval window. That's because we have to take into account the ratings and username text in the user info popups.

Remove chat link warning

category: General - Advanced
values: yes / no - defaults to yes
Needs log in

An annoying "feature" in lichess is asking (randomly and inconsistently) if you want to leave the Lichess web site when clicking on a link in the inbox chat. This tool removes that warning.

Lobby page elements

category: General - Advanced
values: Side / Play grid / Play buttons / TV / Blog / Daily puzzle / Support / Feed / Tournaments / Leaderboard / Winners / About - defaults to all

This feature selectively hides/shows elements in the lobby. Customize the main Lichess page to your heart's desire.

If the Play grid is hidden, then the link to Play will go to a page that shows just the play grid and buttons - this only happens in desktop mode, because on mobile there is just one link to the main page, not two.

Notes:

  • At the moment the elements will just be hidden, the space they take remains there, unless an entire row of elements is hidden. Making every possible combination of elements arrange correctly is not trivial.

Daily quote

category: General - Advanced
values: yes / no - defaults to yes

This feature will show a daily chess quote in your lobby on large enough screens. You can close it, which means you will not see it again that day.

Timeline in Profile

category: General - Advanced
values: yes / no - defaults to yes
Needs log in

This feature will add a new tab to your profile page with the timeline items. The same can be achieved by clicking on the "more" link at the end of the lobby timeline or if you enabled timeline notifications and you click on the notification. However, since the lobby feature can remove that part of the page and you may not want to enable notifications, here is a simple way to get to that page without any issues.

Fix board coordinate position

category: General - Advanced
values: Fix outside coordinates / Larger coordinate font / On each square - defaults to Fix outside coordinates

This feature has two purposes. The first is to fix a Lichess bug that doesn't apply the preference for board coordinates on the outside in Analysis/Study. The second is to fix the CSS a little bit and also to enlarge the coordinates font.

Since most people found the larger coordinate font ugly, you have to enable the larger font manually and is disabled by default.

Also, a third option that doesn't exist natively on Lichess will put the coordinates On each square of the board. (Lichess also implemented this, so you get a choice on what to use)

Profile slider options

category: General - Advanced
values: Show dates / Add 1W filter / Fix small intervals - defaults to all

On the profile of a user there are buttons to select the range of the chart on top of the page. There is also a slider that can select custom ranges and one can also drag the selection on the chart itself. This feature improves the way these elements work:

  • Show dates - will show the start/end date text in a label
  • Add 1W filter - will add a one week filter button
  • Fix small intervals - will update the slider minimum and maximum values in order to be able to be able to control small time intervals. When the start and/or end of the slider is unbounded (no left/right border) it means that there is more on that side which can become accessible if you increase the size of the interval or if you pan the slider in that direction. Having extra information to the left or right of the slider will change the text of the label to orange accordingly (start date, end date or both).

Game list options

category: General - Advanced
values: Filters / Selection - defaults to all

This feature handles options for list of chess games, like in Profile or Advanced Search. The options will be stored locally so they persist on page reloads

Options:

  • Filter aborted - a filter to show/hide aborted games. Aborted games are considered games where one side has not moved.
    • Unfortunately that also includes currently playing games where no one has moved yet.
  • Filter analysed - a filter to show/hide games with a computer analysis
    • Warning: if you have a lot of games and very few with computer analysis, this will hide all of the games without analysis, leading to loading many pages of the game list really fast. Lichess might report a server overload.
  • Filter titled opponents - a filter to show/hide games against a titled opponent.
    • an opponent is considered a player that is not the one on who's profile you are on. If the page is not a profile page, like Advanced Search, then an opponent is a player that is not you.
    • Warning: if you have a lot of games and very few with titled opponents, this will hide all of the games without titled opponents, leading to loading many pages of the game list really fast. Lichess might report a server overload.
  • Color by players - will change the background color of each game based on the player names. The same two players, regardless of the side they play, should generate the same background color. This helps highlight matches.
  • Go direct to analysis - will make clicking on a game row take you directly to its analysis page, bypassing the game page.
  • Selection - this will add a checkbox to every game. Once at least one is selected, a copy button will appear at the top of the list which will copy all the PGNs of the selected games to the clipboard.

More decimals for computer evaluation

category: Analysis/Study - Advanced
values: yes / no - defaults to no

If you enable this feature, the computer evaluation will show two decimals instead of one for computer evaluation values. This applies to the main evaluation value, the evaluation of each point of view as well as the evaluations of individual moves in the move list (if available).

Active title icon

category: General - Advanced
values: yes / no - defaults to no

This feature will replace the default lichess tab icon in your browser with the lichess flair icon by default - which I believe is much nicer - and then change it depending on various conditions.

If the tab contains a game (whether watching TV, a broadcast, a study or a game, playing or running puzzles) and the game is not ended, then the icon will change to a black or white pawn, depending on whose turn it is.

If you need more icons for other situations, let me know. So far, the reason I added this tool is to easily see if someone moved in the game I was watching or if the game has ended or a new one started.

Blog editing options

category: General - Advanced
values: Auto save / Save button - defaults to Save button
Needs log in

Options:

  • Auto save will automatically save the blog you are editing every 30 seconds. This will only happen if the content of the blog has changed from last save and it is still in draft.
  • Save button will add a Save button 😁. This will allow you save the blog you are editing and continue working on it.

Blog visit history

category: General - Advanced
values: Show visited - defaults to Show visited

This feature will make it easier to understand which blog posts you have read and liked. At this point all it does is record what you visited and then indicate that in blog post lists.

Options:

  • Show visited will show an eye icon on blog post cards if that blog post has been visited in the past. If you liked the post, it will show as a red heart instead.

Note: you must visit the blog post after this feature has been added for it to show. Also, this is stored locally, so changing devices will show a different view.

Computer evaluation line options

category: Analysis/Study - Advanced
values: Highlight same moves - defaults to none

Options:

  • Highlight same moves - this will colorize the moves if found several times in the computer eval lines. Each specific move will have a different color, so you can easily determine the difference between moves.

Go to Analysis on game end

category: Play
values: loss / draw / win - defaults to none
Needs log in

This feature will automatically open the Analysis page when your game ends with the selected outcome. Note that draw means anything that is not a win or a loss, so even aborted games.

Themes

category: General - Advanced
values: whatever themes are available - defaults to none

This feature will enable/disable various CSS themes. If an external theme (made by someone other than me) it will show attribution in the Preferences page. It will also be the creator's responsibility to maintain it.

Available themes:

  • Performance - performance CSS changes, mainly attempting to remove all animations, which cause slow rendering
  • Just Explorer - will hide the computer eval moves (but not the arrows, if enabled) and the move list when the Explorer is open. This will only be applied for mobile devices
  • Mobile - a lot of style improvements for mobile, especially aimed at studies and interactive lessons
  • Slim arrows - will make arrows less thick: color arrows, variation arrows and computer evaluation arrows.
  • ... slimmer - only with Slim arrows enabled, makes the arrows even slimmer
  • Less icons - will hide the header lichess and logged user icons
  • No sticky header - will make the page header scroll with the page
  • No study chat - eliminate the chat from studies and expand the chapter list for large screen layouts.
  • Nicer piece drag - adds some sizing and borders to piece dragging, enhancing the experience
  • No grab cursor - the default lichess functionality is to have a hand mouse cursor when hovering over a piece and a grabbing cursor when grabbing it. Due to popular demand, this theme reverts that behavior and only uses the default arrow mouse cursor for pieces.
    • lichess reverted the change, so there is no grab cursor anyway. I leave this here for historical purposes, but might be removed in the future.
  • No Practice button - especially useful on mobile devices, it hides the Practice with computer button under the analysis tools, thus preventing you from starting analysis for no good reason by mistake
  • Flexible game move list - the move list in games (so when playing or watching games on Lichess TV) is pretty limited in space. This theme fixes that
  • Thick analysis gauge - the analysis gauge will be 50px thick

Notes:

  • Multiple themes can be applied at the same time, but beware of conflicts. 

Wiki pages based on FEN

category: Analysis board - Advanced
values: yes / no - defaults to yes

This feature will show Wiki pages on openings even if the order of the moves changes. Basically, it looks for the Wikibooks Chess Opening page associated with the current position.

OBS Integration

category: Integration
values: yes / no - defaults to no

This feature will add an OBS button to broadcasts. There you can set up mappings between broadcast boards/chapters and OBS scenes, so that changing the board selection will change the scene as well. Each broadcast has its own setup and mappings.

Don't forget to enable the WebSocket server in OBS' WebSocket Server Settings

The default OBS connection settings are localhost, port 4455, no password. If you want to use passwords or some other URL, you will have to open the OBS setup popup by pressing the button (you will get no scenes to map), then update the password and/or URL, save the settings, then reopen the OBS setup. Now, with the correct password, the OBS scenes should be available. But the simplest thing is to not use a password and run the server locally on the default port.

By default, broadcasts will have OBS disabled and the OBS button for them will appear dimmed. Click on it to set up the mappings and connection properties and save to enable it. You can also enable/disable the OBS integration for the broadcast by right-clicking on the OBS button or by pressing O.

There is a default scene mapping that, when set, will change the scene for all boards that don't have a specific mapping. This scene will also be used for the board list view of a broadcast (no big board displayed, just the list). If you don't want this functionality, set the default scene to empty.

Unselect piece after specified seconds

category: Play - Advanced
values: numeric- defaults to empty

If you select a piece while playing (games or puzzles) and wait for the number of seconds specified by this setting, the piece will get automatically unselected. This only works for the last move in the list, so for example this will stop working after you make a mistake in a puzzle and there is a wrong move after the current position.

Easy access full screen button

category: General - Advanced
values: yes / no - defaults to no

If enabled, this will hide the Lichess header in full screen mode and will add a top header button () that will enable a full screen mode when pressed. To return to normal press Esc, F11 or move the mouse to the top of the screen and click the hovering X button.

Notes:

  • this only works in Desktop mode, not for mobile.
  • in Zen mode the full screen button will be visible. If the option is on, full screen in Zen mode will not show the Lichess logo and the button to exit Zen mode, therefore if you want to exit Zen mode you either use the Z key shortcut or exit full screen mode, then use the exit Zen mode button.

One click move

category: Analysis/Study - Advanced
values: Analysis/Study / Only orientation side / Move from PGN - defaults to none

This feature enables one click moves, when clicking on a square where only one piece can legally move will perform that move.

Options:

  • Analysis/Study - this enables one click move in Analysis or Studies
  • Only orientation side - this forces the feature to only work for the side that the board is oriented for. So if you see the board from the White orientation, it will only work for when it's White's turn to move.
  • Move from PGN - this is only for the situation where the square you clicked on can accept multiple pieces moving there. In that situation, it will only work if you are not in Interactive mode or you can write to the study (owner or write access contributor). Then if the PGN (analysis or study) contains only one move that reaches the destination square, it will make that one.
    • this is mostly an accessibility feature to help easily do training without clicking and moving the mouse a lot.
    • when it's ambiguous what the player meant with a click, the pieces that can move to that square will flash briefly. This also will happen when there is only one move in the study you own and that move will be made.

Notes:

  • this only works in Analysis/Study for now. Altering the way the game is played is against the Lichess Terms of Service, but I am working on convincing them to implement it natively.
  • to clarify the Move from PGN option, it will not apply in the following situations:
    • you are in interactive mode and you are not an owner or writing contributor - the idea here is that if you can always exit interactive/preview mode you can find out what the next move is, but if you cannot, you don't know what the next move should be
    • there are moves in the PGN that reach the clicked square, but there are multiple ones - LiChess Tools doesn't know which one to pick
    • obviously, if you have access to the PGN you can just look what the move is, so there is no conflict in non interactive mode or in the Analysis board
    • running correspondence games

Mouse wheel during game play

category: Play
values: yes / no - defaults to no

This feature will enable mouse wheel during play. Just like in Analysis, it will move to the previous/next move in the move list. This behavior is disabled by default in Lichess as to not interfere with game play, so that's why it's also not enabled by default in LiChess Tools.

Expand all variations

category: Analysis/Study - Advanced
values: Show button / Auto expand - defaults to false

Options:

  • Show button - adds a button looking like a magnifying glass with a plus sign in in () in front of the first move in the move list tree in case any of the variations in the tree are collapsed. Clicking on the button will expand all variations recursively and then hide the button. Any operation that will result in collapsed variation will show the button again.
  • Auto expand - auto expands all collapsed variations in a study chapter or analysis tree the first time they are loaded

Commands

The commands feature is actually a combination of tools that register themselves with the cliCommands tool. This enables you to type / and then a command and execute various functions, besides the standard ones. Since commands are executed manually, they have no visible Preference to disable them.

Here is the list of available commands:

  • board - it will show/hide the board in Analysis mode (Analysis board and Studies). Use this with the Expanded move list and Hide left side options of the Move list options feature to have a move list filling the whole screen (good for presenting, for example).
  • trapvalue - provided the current move is in the Explorer database, this command will calculate the trap value of the current position. For more details on what that means, check out How To Calculate The Trappiest Chess Openings Using The Lichess API
  • copypgn ["fen"] ["separate"] ["tohere"] ["unicode"] - this will copy the moves in the analysis move list (Analysis board and Studies) to the clipboard as the moves reaching the current position and any branching moves from it.
    • if fen is specified, the PGNs will start from the current position with the FEN tag specified
      • same as Shift-click on the Copy PGN menu item 
    • if separate is specified, each variation will be saved as a separate linear PGN
      • same as Ctrl-click on the Copy PGN menu item
    • if tohere is specified, the PGN only copies moves to the current position
      • same as Alt-click on the Copy PGN menu item
    • if unicode is specified, the PGN will have unicode pieces instead of letters
      • note that results in a text that is meant for human readers, no longer a valid PGN
  • readgame [speed] [voice] [instrument] - this will read the game moves from the current position. It will follow only the first variation of every node, ignoring the others.
    • speed is an optional integer number, defaults to 100. Larger values makes the speech faster, lower makes it slower.
    • voice is an optional integer index number, defaults to 0. Changing it will change the voice which reads the moves, depending on your own browser setup.
    • instrument is an optional integer index number, defaults to 0. Changing it will enable a sound to be played in the background, based on the computer evaluation, if the game has been analyzed.
    • example: /readgame 80 2 1
    • this command also adds a feature to read a game in analysis if you add #readgame at the end of the URL (i.e. https://lichess.org/<game id>#readgame or https://lichess.org/<game id>/black#readgame or https://lichess.org/study/<study id>/<chapter id>#readgame etc.)
  • skipmove - this will generate 5 moves (if possible) to reach the same position, but with the other side to play.

Also save options for browser private/incognito mode

category: General - Advanced
values: yes/no - defaults to no

This was a user request to find a way to save the options outside the local browser cache, as he was playing the game from incognito/private browser mode. Since no other solution was better, this saves the options as notes in the first chess game you ever played on lichess. So be careful that this will alter those notes, although I am not aware of many people using the private notes feature.

Notes:

  • be aware that it will alter the private notes of the very first game you played on lichess
  • the extension will use whatever options you have in the browser local cache. Only if they are not there it will take them from the notes. That means that you can do weird stuff like enabling the feature, saving options, disabling it, changing the options and now you will have different settings in normal and incognito mode. So use with care.

Hide score tally crosstable

category: Play - Advanced
values: yes/no - defaults to no

Another user request was to not see the crosstable, the thing that shows how many games you played with the same opponent and what the results and games were. It was intimidating. This feature will blur it out, but allow you to click on it to unblur it. It's a silly feature that may not survive long because there is also the Zen mode lichess option which overlaps this behavior, but it's here for the moment.

  I was thinking today about our (meaning "the Western Coalition" of countries with a common anti-Putin position) handling of the conflict in Ukraine. I was imagining a reporter trying to ascertain whether people support Ukraine or Russia, Zelensky or Putin, going on the street with a microphone and asking randomly for opinion. And I realized that would be impossible, because any positive support for Putin's aggression will immediately lead to negative personal consequences, so why would anyone be honest about that?

  Somehow, people saw there was a war in Ukraine and they thought it's like a Twitter war. "Russia attacked Ukraine. We're cancelling Russia!". Fine, people were trained to respond to conflict with some kind of mob action, do it your way! But how can you expect that the result of the same action will be different in the case of Russia? On Twitter people mob on someone until their life is ruined, they mob back stronger or they just don't care and leave Twitter. What exactly do people expect Putin is going to do? An insincere apology on Oprah? No. Either Russia will be ruined, with all of its people, they will mob back, and you don't want that from a nuclear power, or they will just not care and carry on, which will ruin both Russia and Ukraine, with all of their people.

  We are in a situation where our entire society punishes dialogue, even compassion. How can you resolve a conflict if you are unwilling to even consider the point of view of the other side? What do you expect? Putin to one day wake up and think "All these people say I am evil. Perhaps I am. Shame on me! Ok, guys, stop the war! Do no evil"? As long as open discussion of all of the view points - regardless of their validity or moral value - is impossible so is the end of the conflict outside the complete destruction of one or both sides.

  How exactly did societies that took pride in their democratic ideals reach a point where dissent is censored, dissenters punished, their lives destroyed and discussion stifled?

  How daft to believe that skirting the responsibilities of principle will ensure the victory of that principle. How idiotic to assume that a position of strength validates your moral stance. Putin does that! People from behind the Iron Curtain had that during the Communist era, where everything anyone would say is how wonderful our magnificent leader is and how the Communist ideals are all we think about. North Korea uses the same system. And now "the free world". "Oh, another tyrant! Let's tyrannize them!". 

  Taking a side in this is as debatable as in any other conflict because both sides would act righteously. What I am saying is that resolution of conflict lies in the ability to debate it, not in coercing people to sing your tune.

  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

  So yeah, I've decided to try out stock trading. I wanted to see how it works, how it feels and if it's a valid avenue for investment versus something like placing money in a bank. Long story short: it is! I fact, I would say placing money in banks feels stupid now. Will this make me a billionaire in Euros? No. But let me detail.

  Usually, when people get some extra money they think: should I leave them in my expenses account or should I move a sum to a savings account? The difference being the amount of interest and some rules against retrieving money from the savings account. One account is for fast operations, the other is for the rainy days, one you think of in days, the other in months. Well, imagine you have to save money in order to someday retire. That's one you would think of in decades. Well, in that case, stocks are what you need. 

Here is a chart of QQQ, a aggregate stock on the top performing stock, for the last 22 years. Its value rose consistently and grew 536%. That's 8.7% a year on average. In comparison, the average inflation rate in the same period is something like a third. Tell me, which bank will give you this interest?

But take a closer look. You see that big spike at the end? That's November 2021, when the U.S. market reached its apex, due to various reasons. Since then it plummeted, so the value now is the same as in June 2021. If you would have read a blog post like this and invested all your money in QQQ stock in November, you would have found a special set of skills, found me and killed me now. Or look on the left of the chart, to the spike there. In March 2000 the value increased to 118, only to then go down for a period of 16 years, only to grow 250% in the next 6 years!

So in the end, it goes to your trust in the world as a whole. Will it grow, stagnate or disintegrate? If you are optimistic in the long run or at least think that the next 20 years will go the same, then this is for you.

Of course, it was an interesting moment to start learning and experiment with stock trading in 2022. The boom that the trillions of US dollars injected by Biden in the economy because of Covid (so yeah, you read that right, the economy went up during the pandemic) ended, also the distraction caused by Covid which turned from an excitingly unexpected threat to life to an endemic virus that coexists with all the others we got used to. Now we have to look back at how to get those trillions paid, how much good Brexit does to the economy, how the European Union economy recovers and, to add insult to injury, another psychopathic world leader threatening World War III. Can you even think of making money on the stock market now?

The answer is again, yes! Did I make more money? No. But I didn't lose that much either and I believe that loss will disappear. I won't go into the details, but enough to say that while the stocks that took the market to that November high dropped, but other stocks that are considered safe, like the dividend stocks of huge companies, went up. And there is another hook: if the market goes down and you trust it to increase (on average) every year, that means the lower the stocks the higher they will rise in the future!

But, you will ask yourself, what am I missing? I everybody could do that, why don't they? Where is the high risk that everybody warns me about when talking about the stock market?

Well, first there are the short to medium term risks like the 2008 economic crisis or a measly World War. However, can you show me without looking at the years where is that crisis on the chart above? As I said, this is a "sure thing" only on large periods of time and while the global order remains largely unchanged. Also, money itself is a form of national stock. That's why you get inflation, where the buying power of the same sum of the same currency is vastly different from year to year. It's not a matter of money vs stock, but of stock vs stock, of managing risk.

Again with the risk! Where is it? Personally I think there is a huge psychological risk. Because you have a lot more options, you get more opportunities to fuck it all up. For example a guy sold his house and bought Tesla stock for all the money. He even tweeted to Elon Musk to encourage him to increase the value of the stock from $900 to $1000. The highest value for Tesla was 1222, but now it's 838. The guy could have increased his personal wealth 20% in just 20 days if he bought in October 2021. He didn't.

There is a huge pressure to perform when you gamble (and that's the correct word) with your money. You may take a few hundred Euros like me and play around, then the pressure is not that high, but if you put most of your savings into this, you always get to second guess yourself. Did I buy the correct thing? Oh, it's growing! Oh, it's going down! Oh, no, I am losing money, should I sell early or wait until it gets back up?

Sometimes you trust a company so much that it makes no sense to invest in something else. So you just buy the one stock. And then it goes bankrupt! Or the stock falls so much and forever that you have lost all of your savings. Having a diverse portfolio decreases your risk, but also your revenue.

There is a saying among traders that goes something like this: 95% of people trading are losing money and the rest of 5% bought some stock and then forgot about it for a few years. This says something about the safest way to proceed, but also tells you something about where the money from trading is coming from: those 95%.

So I am not an expert in any conceivable way, but I am going to try things out. There is a lot to learn, but when you push everything aside, there are two basic strategies: timing the market and investing long term.

Timing the market is to "buy the dip" when the stocks are low and sell them when they spike. The good news is that it makes you filthy rich, the bad news is that you can't time the market. And I am not joking. This is basically playing Roulette. If you consistently place your bets on the right number, you become filthy rich (or are thrown out of the casino), but that's theoretically impossible. And while a casino game is probabilistic, the market is actually fighting against you, adapting to strategies and making them obsolete in days (if not in minutes, considering you are competing with AI algorithms run by companies betting billions).

Investing long is what I described above. You take your savings (which come after you've bought your house, saved some in the bank and you have a comfortable sum left to live on) and you buy either diverse stocks from the top 500 or ETF (Exchange traded fund) which does this for you, for a small percentage. Invesco QQQ from above is an ETF, for example. And you do it with your monthly savings, every month. And you leave it alone. And you count your money (or lack thereof) when you retire.

That being said, there is a lot to learn about trading. The statistical indicators, what they mean, the math, the taxes, the way to investigate companies, how to structure your portfolio, the information sources, the gotchas, the various people and tricks that want to manipulate you and/or the market so that they make the money.

and has 0 comments

  Decency makes us abstain from doing something that we could do, we might be inclined to do, but we shouldn't do. It's living according to some general principles that are intimately connected to our own identity. And when someone else is indecent, we try to steer them towards the "right path", for our own sake as well as theirs. This is what I was raised to think. Today, though, decency is more and more proclaimed for actively opposing things that are declared indecent and nothing else. It's the glee that gives it away, that twisted joy of destroying somebody else after having being given permission to do so. You see it in old photos, where decent town folk were happily and communally lynching some poor soul. After half a century the world is finally becoming a global village, but not because of the free sharing of information, as the creators of the Internet naively believed, but because of social media and 24 hour news cycles. And we are behaving like villagers in tiny isolated bigoted villages.

  South Park is a comedy animated show that has a similar premise: a small U.S. town as a mirror for the world at large. And while 25 years ago that was a funny idea, now it feels weirdly prescient. The latest episode of the show depicts the vilifying of some local residents of Russian descent because of the Ukraine conflict as a symptom of nostalgia towards the Cold War era. Then too, people were feeling mighty good about themselves as they were fighting the Ruskies, the Commies, the Hippies, or anything that was threatening democracy and the American way of life.

  This is not an American affliction as it is human nature. Witch hunts, lynching, playing games with the heads of your enemies, sacrificing virgins, they all have the same thing in common: that feeling that you have social permission to hurt others and that if they are bad, that makes you good. But acting good is what makes you good, not merely destroying evil. When Stalin was fighting Hitler no one said what a nice decent guy Stalin was. Yet now this mob mentality has been exported, globalized, strengthened by the sheer number of people that now participate. It's not easy to mention decency when thousands of people may turn on you for defending their sworn enemy. This "either with us or against us" feeling is also old and symmetrically evil, because usually all sides harbor it towards the others.

  I have started this post two times before deleting everything and starting again. At first I was continuing the story of the playground war, South Park style, where the town people refuse service to the family of the bully, start giving the victim crotch protectors and helmets at first, then baseball bats and pocket knives, slowly delimiting themselves from that family and ostracizing it as "other", even while the two kids continue to go to school and the bullying continues. But it was the glee that gave it away. I was feeling smart pointing out the mistakes of others. Then I tried again, explaining how Putin is wrong, but that's not the fault of the entire Russian people, most of them already living in poverty and now suffering even more while the rich are merely inconvenienced. I also shed doubt on the principledness of vilifying Russia when we seem to do no such thing to Israel, for example. And then I felt fear! What if this is construed to be antisemitic or pro Putin? What if I want to get hired one day and corporate will use the post as proof that I am a terrible human being? Because some nations can be vilified, some must be, but other should never ever be. And I may be a terrible human being, as well.

  Isn't stifling free expression for the sake of democracy just as silly as invading a country for the sake of peace?

  Regardless of how I feel about it, I am inside the game already. I am not innocent, but corrupted by these ways of positioning and feeling and doing things. I am tempted to gleefully attack or to fearfully stay quiet even when I disagree. So take it with a grain of salt as I am making this plea for decency. The old kind, where acting badly against bad people is still bad and acting good and principled is necessary for the good of all.

  Only you can give yourself permission to do something, by the way.

and has 0 comments

  It all reminded me of a playground brawl between kids. Here is the big brawny kid, beating the smaller one. Other small kids shout in support of the victim, but neither does anything. Teachers preach sternly about principles that kids should obey, how bullying is just wrong and one shouldn't do it, parents at home advise kids to stand up for their rights and take a stand. The school psychologists preach that violence at home leads to violence in children and we are all victims. And the result? Small kids keep getting bullied.

  The small kid has options. He can fight - hopelessly, he can run - not for long, he can take a big stick from a friend and bloody the bully's nose - and be mauled for it. But more often they cower in fear, stunned, frozen, hoping things are not happening. And if they are, they won't be so bad. And if they are bad, they would eventually stop. His eyes dart from one person to another in the group of onlookers. "Please! Please, help me!" they silently beg. But some people are frozen, too, some are indifferent, some are expressing disapproval, but then moving on. Most of them pretend it doesn't happen.

  And the kid is thinking, stuck in his inadequate body: This will stop, because it doesn't make sense. And he thinks of all the ways of why his abuse does make sense. Perhaps they miscalculated somehow. Things have to make sense!

  Worse of all, some people would just assume that the bullied child deserves it. He must have done something! There must be a reason for why a kid would attack another. They might even consider various options. Does the bully have an abusive father or other family problems? Is it poverty? Is it education? Perhaps the smaller kid disrespected the larger one on account of religion, race or sexual orientation. Surely, a small kid in school would ONLY behave rationally! And the kid, too, gets to think that perhaps he does deserve it.

  That's us, surrounding ourselves in rationalizations, morals, laws and principles. Trying to contain reality in nice neat boxes and then deny there is anything outside those boxes.

  That's me, too. I watch and I am thinking. Maybe it is military exercises. How funny it would be for Russians to just stop and go home. OK, the mad discourse on TV is troubling, but maybe it's just a bargaining chip in a discussion I am not privy to. They invaded Ukraine, but maybe they stop at the border of the rebel regions. They attack the whole Ukraine, but surely they're gonna stop at its borders. They claim Transnistria is Russia, too, but maybe they won't attack Moldova. Maybe they will stop at the border of Moldova. Maybe they won't enter Romania! Maybe the economic sanctions and stern wording of the Western teachers is going to calm the kid down. Maybe no one will use nukes!! Perhaps they will not shoot each other's satellites from orbit, stranding everybody on this shit planet! Maybe China will stay out of it?

  Maybe Russia has a reason to do all of this, because of the US slowly suffocating that country, economically, militarily and culturally, using their EU henchmen!!! Yes! It all makes sense! It is domestic violence, if only Russia would go to therapy, everything would be all right. I mean, they HAVE TO act rationally, right? They're a country! A whole country big as a continent. And surely the West will understand they are people, too, and show them compassion and help them get past it. Aren't we all human? Can't Biden call Putin as tell him "Dude, chill! I apologize. Let me give you a hug. You are appreciated and I love you!". Isn't this just a joke? 

  I blame us. Whenever a new personality cult pops up we secretly (or less so) hope this is the one. That person who is really strong and not just posturing, intelligent not just conniving, competent not just overconfident, caring and not just obsessing, principled and not just frustrated. We crave for a god to follow and obey and who would make us feel safe. And we tried different things, too. Let's replace a person with multiple ones: senates, parliaments, committees, counsels, parties, syndicates, omertas, majority rule, Twitter likes. It never works. Every time, the power people wield gets to them and somehow... makes them less.

  As I stood there, watching Vladimir Putin explain like a stern grandfather who is also a complete psycho how their brothers across their border are not really a country, nor a people and he has absolute rights over them, I despaired. "Not again!", I thought. I am not much into history, but it felt familiar somehow. Are we getting one of these every century? The strongman going nuts with an entire country following him because... what else is there? For decades people have asked what has made people follow Hitler. The answer seems to be that they thought about it and then went "Meh!".

  And then I watched the valiant exponents of democracy: the EU, the UK, the US. All posturing, talking about principles and international law, begging Putin to stop, making stern discourses on how Putin doesn't have the right to do what he does. What are these people doing? I've worked for them, I know how ineffectual they are, I know that every word in their mouth is unrelated to the truth. They are not lies, per se, just complete fabrications and fantasies. Now, of all times, one should snap out of it, right? Nope. Not happening. They convince themselves that people can't think any other way than them. Surely Putin will stop when his country will slide into economic crisis, because we are all bureaucratic machines that care about profit only. Surely Putin will stop because Biden tells him to. Surely the EU's committees will find a way to word a stern letter that would convince Putin to think about humanity!

  We're screwed.

and has 0 comments

Intro

  A month ago I was lamenting the state of social media (as well as the normal news media and the state of web blogs) and looking to transition to a system of information that would be best for me. It would have to be effective (giving me interesting information) it would have to be efficient (giving me information that is mostly useful for me and not wasting my time) and it would have to be tailored to my own style (should fit in my normal schedule, not be forced in). And I found it, relatively easy, because it was not a new system, but a very old one: RSS feeds!

History

  For people who don't know what Really Simple Syndication (or RDF Site Summary) means, it is a standardized way of publishing just the information of a web site and any updates, for various use: aggregators, readers, automatic processes, even reuse in the website itself as a data source. It was most popular in the time of blogs (remember Web 2.0?) where people would just get a list of all the blogs they enjoyed and then read all of them in some software that would allow them to see them in one place. That software is called an RSS reader.

  Imagine for a moment the grandiose design of RSS. Someone would spend considerable effort to design an attractive web site that would contain useful or entertaining information, then spend even more effort for creating content regularly, so that people would visit and get them ad revenue or make them well known in a community or hire them. Then they would allow you, the reader, to bypass all the design, the ads and what made that blog unique, for your own benefit, in order to get that information. And only if you are interested in what the post has to say, then you click on it and visit their website. Do you see the design flaw here? Of course someone would pervert it into a wall of images and videos followed by a little text, arranged and controlled by them, not by you, filled with ads and other nasty things. Because that's minimum effort for maximum gain, instead of the original purpose of Web 2.0: community effort for the gain of all.

  Slowly, RSS feeds were pushed away from the people's consciousness, became obsolete. Free blogging platforms became bloated, then more and more irrelevant as no one spent any effort updating them with the times. Sites like Twitter started with having RSS feeds for any page, then just removed it later. People stopped blogging. RSS was dead... or was it?

Solution

  Remember that RSS is a standard, so as long as you have a web site with periodical updates, implementing it is simple and often comes out of the box. For websites that refuse to implement RSS, someone else might come and parse their content and publish it as RSS. RSS feed reader software might also implement custom features for specific sources that are not, strictly speaking, RSS. And then what do you get? Exactly what I was looking for:

  • a single source of information
  • aggregating most of what I am interested in
  • in the order, organization and format I want and control

  And it doesn't even need to be an application you install on your computer, as there are free web sites that function as RSS feed readers. I know, it's the same old trap all over again, where you trust a "free" site and then it starts feeding (pardon the pun) on you, but this time it's quite hard to force people into anything. As quick as it becomes annoying, you just switch to another reader, because the reader does not hoard or control the source of information, it is just a tool.

  So I use Feedly, which I think it's very nice. There are a lot of alternatives, though, with various features, some paid, some free. Feedly comes as a free RSS reader, it allows you to also add web sites as sources directly (so they would parse the web site for you and serve it as RSS) and has other gathering methods that are paid, but as I will show you, can be replaced by free options. You can mark items for reading later or use some other system, like opening them in the browser and then reading and closing tabs.

  Here is what you do:

  1. go to Feedly and create a free account
  2. add sources from the web sites you are interested in
  3. read the things you want, how you want them, when you want them
    • use the browser to read them on the Feedly web site
    • use the Feedly app to read it on your phone or tablet
  4. Usually it is a two step process:
    • you scan the list of items and select only the ones that are interesting to you (not unlike a social media wall)
    • you read the things you selected on their original web sites

Q&A

  Now, there are some things that you might want to consider before you embark on trying this method. I will organize this section as an FAQ. Feel free to propose other questions and I will update the post.

Q: I am trying to read the articles I am interested in, but web sites are filled with ads! What to do?
A: for desktop browsers Chrome and Edge install an extension to block ads. I use uBlock Origin and I am very satisfied with it. When you get to a web site that is not covered or that has some non-advertising related page elements that annoy you, the extension has an option to let you choose the things you want to block.
A: for phone/tablet browsers, download and use Brave, which is a fork of Chrome with ad blocking included.

Q: I am getting stuff that I am interested in, then go to web sites and they have paywalls! What to do?
A: Yes, sites like NewScientist, TheEconomist, NewYorkTimes, even Medium, etc. love to ask you for money to read their stuff. There are methods to bypass those paywalls, but not always and not always reliable. For example Readium, or there is a web site that is called 12ft.io, which works as a proxy to remove paywalls, but it doesn't always work. I am sure there must be alternatives out there, too. Share them with me if you find them and I will update this answer.

Q: I love my RSS reader, but it always annoys me with requests to upgrade to a paid version or buy other things! What to do?
A: see the answer above, you can use uBlock Origin to block individual web page elements, assuming you use a web based RSS reader

Q: I am going through my list of items and then I am interrupted by some RL bullshit, I come back and I forgot where I was! What to do?
A: for Feedly, at least, there is an option to mark items as read as you scroll along, which I think it's very nice. Also, for the mobile app, the default way of reading things is to give you a list of up to 30 items, after which you have the option of marking them all as read and continue to the next batch of items

Q: But I liked to see what people say on Twitter! What to do?
A: Some RSS readers have the option to read items from Twitter directly. Feedly has it, too, but it's a paid option. So instead, use Nitter, which is a web site that give you an RSS feed for any Twitter URL, for free.

Q: But I liked to see what people say on Facebook! What to do?
A: Due to the assholiness of that platform, it is next to impossible to get a feed of items compatible with an RSS feed, but there are some options. Some are little more than hacks, using not the Facebook API, but asking you to give them the browser cookies you have (for a few months) when you connect to your Facebook account. First of all, I don't recommend this at all, since it is a horrible security breach. Second of all, it would only give you the items in the Facebook feed you would normally get when using the web site, probably with ads included, and the normal crappy item order, duplicates and having a different list of items every time you refresh the page. The optimal way of using this would be something that could safely get the list of your friends, read the list of the posts of each of them, then return an actual list of posts in chronological order as an RSS feed. Alas, I couldn't find a free version of a software to do that and I fear the Facebook API would intentionally prevent you from doing this anyway. However, who knows, maybe I will attempt to build such a tool myself in the future. Interested?

Q: But I liked to see what videos appeared on YouTube! What to do?
A: actually, YouTube channels have their own RSS feed you can use. The problem is that YouTube videos are not really... web pages. I usually follow and watch those as a separate process, using the YouTube web site. But that's my own choice.

Q: I got the reader, but where do I get the blogs that hold the information I want?
A: Feedly has a very nice feature to add items. You can add a web site, you can search for keywords, etc. It's not perfect, though, and perhaps you don't want to trust their list of information sources. There is of course Google, but what I found is that most "Top X blogs in field Y" pages are woefully incomplete or outright misleading. I guess this part is always the hardest: find sources of information that can be trusted and provide accurate information in the fields you are interested in.

Q: I want to get suggestions for interesting web sites or share my own choices with others! How?
A: RSS feeds are usually shared or backed up as OPML content, which is a standard XML file containing the list of RSS feeds, organized in the categories you have chosen for them. I recommend you periodically export your OPML file to your computer, so you can always switch from a reader to another or make sure you don't lose the hard sought sources of information you found. Any RSS reader worth the name has an import/export feature for OPML files.

Q: What are your sources?
A: That could be a blog post in itself. I start with the web sites that I am usually following, like BBC News, for example. But I am saving the feeds for the categories I am interested in: Science, Medicine, Entertainment, etc. This way I get around all the stupid politics. Then there are web sites like Phys.org, Hacker News, Space News, Medical Xpress, Ars Technica, etc. Of course, every time I find an interesting person, book author, good programmer and so on, I try to find their blog and add it to the list, or at least their Twitter feed (see above). And then there are some web sites that pride themselves in serving "long content": well thought out articles, researched and crafted over time. Alas, most of them tend to be political, but still very informative occasionally. Mentioning just a few: Longform, Longreads, The Conversation, The American Scholar.

Further steps

This is by no means the end all solution. In fact, as in the title, it is a (permanently?) transitional one. A complete solution would include reading a lot of books, making more personal connections and meeting new people, experimenting with everything I read, since experience only comes through trial, not information absorption. This is not just a need for hobbies and social interaction brought on by the pandemic, but a necessary step towards establishing a network of reliable sources of experience. While I would prefer I do everything passively, online and automated, alas, I have reached the conclusion it's not feasible at the moment.

First of all, the state of the blogosphere, as far as I see, is not good. Influenced by pressure from various (some even well intentioned) directions, people have stopped investing in regularly updated personal content sites. Facebook pushed people towards sharing rather than digesting information, meaning the Internet is flooded with shares, but not with actual original content. Twitter pushed people towards microblogging, which is basically limiting what you have to say about things and then sharing something. Dev.to is a blogging platform for developers, anyone can blog there. Great source for information, one might think, but it quickly turned into a place where people recycle short content in order to be rewarded with "hearts", which most people do not award to articles that are informative, complex and take a long time to read and process. They don't even read those. This of course if they do not blatantly advertise something or push some agenda. So many people have moved their tutorials, experiments and knowledge sharing to video, as this is the way children and young people absorb information nowadays. It is slow and not something that can be browsed easily or split into useful bits that can be reused. All of these are making people write less, in smaller bits and with reduced complexity or publish it as video. Basically the ordinary TV news item that I am trying to avoid.

Second of all, most content that requires effort also often requires financial or political capital. Meaning even long form content on the Internet is corrupted by market forces, with truth and innovation secondary to whatever purpose the author is pursuing. Without personal effort to detect early and filter out this kind of stuff, the method I outlined above will not work. The list of information sources you consume must be constantly curated. Forever.

One big peril of this method is having so many sources that to keep up with the news (RSS feeds are read only from a few days ago, so if you completely miss a week of RSS, you will lose those articles) you need to devote a lot of time to reading them. In the end, you get an even more addictive social media feed, that gives you more interesting things with less annoyance. The solution for this, I believe, is to dedicate a maximum time for news reading. This way, when the number of sources becomes untenable, you are forced to remove the less relevant ones.

I hope you find this guide useful for your own purposes and it helps you expand and enrich your experience. Please do share any questions, ideas or anything relevant to improving the method and this post. Be Web2.0 again!

and has 2 comments

Intro

Four years ago I was writing about being on social media for a year, as a follow up for another post about being on social media for four months. I do promise not to make this into a series. Probably it will be the last post on the subject anyway. Hopefully.

So five years ago I was saying: "I had high hopes that once I connect with all my friends I would share of their interesting experiences and projects, we would communicate and collaborate better, we would organize more parties or gettogethers, meet up more frequently if we are in the same area. Be interesting, passionate; you know... social. Instead I got cute animal videos, big pointless images with texts plastered all over them". That has not changed at all. My hopes waned, but never completely vanished, as I was trying and tweaking various methods of controlling content, but the quality of things has never actually improved. My desire to share in the actual life important events of others is still there, only it's clear I won't get that from social media. Long story short, I intend to stop reading social media, instead trying to find an effective method of getting the connection I need.

Facebook

I have to admit I've had some success in "taming" the platform to provide some interesting content. I've unfollowed every source that didn't give me relevant information, I've followed science, technology and medicine accounts, I've actively used the "Hide posts like this" option until my "wall" became less annoying. I even tried "Liking" stuff that I wanted more of, although that actually seemed to be the least consequential action I was making (maybe because of the algorithm's superficial understanding of what I am actually looking for). However, it was always a tiring activity, having to aggressively fight the system instead of being served by it. Like riding a raging bull to work every day. Inevitably, some click bait or ad post would arouse my curiosity and, after clicking on it, I would be presented with more of that crap, even if I didn't like it. Meanwhile, my "friends" were posting photos of themselves, political rants and useful announcements like when they had their latest baby. I mean, even programmers that I know are active were never posting anything remotely technical or at least news worthy. That, frankly, I don't understand.

At the same time I tried as best I could to post science and software links and relevant content about interesting books and whatever caught my fancy that was NOT funny animals or sarcastic humor (although some of that might have slipped in) in the hope of improving the walls of all my friends. Some seemed to like it. I guess some of you are my *real* Facebook friends and most of you are not! 

But the app itself figured out I was less engaged (or just spammed everybody because why not) and started showing me alerts for absolutely everything. People are live streaming, people are going to events, people are having a shit. And with the new normal for everything to be fighting for your attention, it got annoying. I had to navigate the large (and increasing) number of possible alerts and choose what I wanted because the default is that you want everything all the time to snap you from whatever you are doing. Like that makes sense.

Twitter

There are some things that I want to document, but I don't want to blog about anymore. They are not appropriate on Facebook either, as I believe the audience is wrong. One such example is TV (if one can still call them that) series, where I can throw a small rant, complete with hashtags, for everyone who would be interested in opinions about the show, not my own personal stuff. I guess it might work on Facebook, but I haven't tried. The hashtaggy thing should remain on Twitter, it feels only right. Also, it has this system where you are not friends with anybody, you just follow what they are saying. That's good.

Like with Facebook, I've curated the sources of my tweets and the content is mostly... really really informative. I want to say that I will devote no more time reading Twitter, but it's a lot harder to do than with Facebook. Twitter has a very simple, but somewhat effective filtering system based on keywords. Once I removed political keywords, US president names, everything -ist, -phobe, woke and the like, the bullshit I normally have on Facebook largely disappeared. Actually, I haven't done that on Facebook because on Twitter I mostly follow international accounts (in English) and filtering posts on exact words in Romanian, with all of its conjugations and possible forms and lettering would be a nightmare.

BTW, I've set up Twitter to give me tweets in English, Romanian, Dutch, Bulgarian, Italian, German and some other languages. I think the only tweet I got in another language than English was this year, and only because I has followed the guy myself.

There are issues on Twitter as well. One of things that I had to struggle with constantly is telling the app to show me tweets in chronological order. Instead, it wanted to decide FOR ME what I should be looking at. And, when it finally got it straight that I want all my Tweets as they come, they added a feature to restrict the number of tweets that are loaded. The button to "Show more Tweets" looks exactly like any other link and I may just miss it entirely. I can't mark tweets as read, specify a lower time bound for tweets or disable that stupid button. And even if I use the button, I can only do it a few times until it won't load more things because software developers on mobiles never used WPF and then made fun of it for being slow and working only on Windows. (look up Virtualization in WPF, guys!)

And the same issue I had on Facebook I had here: most developers or movie people or science people share all kind of personal opinions and rarely what they are working on, links on the things that inspire them or anything actually connecting anyone with anything. Meanwhile the platform is going further towards blinky images and large texts and video previews and longer text. Having Dorsey step down from Twitter doesn't help either, as corporate assholes will make the decisions now.

Anything else

I have not been active and I don't intend to become on any of the Instagram, YouTube, TikTok, Twitch, etc. platforms, because they are visual in nature. I am more textual.

But I did start to watch more stuff on YouTube and I've got the feeling that many people have started to express themselves more there, as it feels more digestible for younger people. The new "streamer" fad has become very influential. I've found development, science, movie, chess, nature, medicine, humor channels that entertain me an inordinate amount of time while also being very informative. To me watching somebody speak at normal speed about something until they get to the part that actually interests me is torture. Luckily, YouTube has the option to choose a speed of play. It's not exactly a complete solution, but it does help. However watching, let's say, software development videos at 2.5 speed is tiring and you get no inkling on where to skip to get to the good part without missing out.

Of course, having an ad blocker makes this a lot more fun that it would have been without it. I doubt I could stand YouTube otherwise.

But even YouTube has this system in which it tries to control what you are watching, even if it's your Subscription list. If there are too many videos, I feel like it applies a little filtering or ordering. And the list of items in your subscription is generated occasionally, not whenever you open the page.

The video watching stuff will probably continue to take a lot of my time. It's a passive activity, though, so I will have to limit it in some way. More in the conclusion of the post. 

My blog

As you may know, I've moved the blog to my own domain because Google Blogger just decided to automatically, unilaterally and permanently block my blog account. No appeal request was ever answered. I've only had my blog on their platform for 12 years, so who cares? That liberated me, though, to control the full content and functionality of the blog, but it probably lost me a lot of ranking. The result is that very rarely someone comes on the blog for help or interaction. Sites like Stack Overflow solve the issue of finding answers to small problems and people seem to care less about long form content.

Having lately worked in highly paid yet technically dead jobs and a general feeling of "been there, done that" also made me post less and less on the blog. If you look in the last few years, most of the stuff I write about are the books that I read, and lately I haven't been reading that much (except Twitter and Facebook) either. Surely that didn't help people wanting to connect with me. Yet at the same time, I don't want to pretend I have something to teach when myself have not been learning anything new in ages.

If (I am giving myself an out here) I stop wasting so much time parsing walls of stuff trying to occasionally get to something good (BTW, that sounds like gambling, Belgium lawyers! People are performing the same actions but get content they want randomly), watching videos I don't need to watch (because some of them are quite pointless, even if occasionally entertaining) and not watch news anymore (everybody has some agenda behind their news items, but lately it's been so damn obvious that you can't even call it "hidden agenda" and feel smug about yourself), then I should have at least enough time to read more books. I don't know if I will have the material, inspiration and time to research new software technologies in my spare time to start writing meaningful technical content, though. One can only hope. And I mean me.

Conclusion

Lately I've spent my last hour or more before I go to sleep skimming through Twitter and Facebook items, looking for a good reason to continue doing so. I couldn't find it. If I find something interesting (usually on Twitter, but sometimes on Facebook) I share it with my friends on Facebook. It is a rather significant account of my state of mind, since my personal life is hardly something to publish, and these are the things I am interested in.

Before that, I go through my YouTube videos. Some of the things there are what could be considered high level content: documentaries, expert opinions, etc., but most of the ones I find time to consistently watch are short funny animations, short angry rants and short... you get the pattern already.

Therefore my New Year's Resolution (I know they are considered toxic now, but it comes from a good place I think) is to stop reading social media and instead find a more focused solution on getting only exactly the content I need. That requires defining what precisely is the content I need, but at least vaguely I know:

  • I want to find again (if it exists anymore) the software development community that was so active fifteen years ago: blogs, people that share their work and are proud of their accomplishments rather than their opinions on everybody else's, aggregators of actual work, not sharing obvious derivative content or tutorial achievements.
  • I need to restrict myself to the channels where people choose to share educational content. So even if I know someone is a hot shot in software development, I won't just add him as a friend or follow him and hope some day he will stop talking about systemic racism and instead focus on computer systems.
  • Some things will catch my interest for a limited time, like standup comedy for the last year, but I will feel when it starts to get repetitive or slide into something else and cut them off
  • The method of finding relevant content has to be less manual. Instead of trying to find the gem in the mud, just avoid mud in a sea of gems.

Failing at that, I will have to get my content from the original long form content: books. It will be an activity that sounds passive, but it won't be. Books require effort reading them, a focus of attention and so on. More than skimming two page long Internet content, that's for sure. That, if I don't listen to the books instead of reading them, falling asleep and then pretending to have read the thing. No, I won't do that.

I will also continue to share what I find interesting on Facebook. Sharing is caring after all. I just won't read what everybody else is sharing. I know that sounds more self absorbed than useful, but that's the best I can do. The alternative would be to post everything to my blog and repost the links to social media automatically. I just don't feel sharing a link is actually blog post material, which is traditional long form (like this shitty thing no one will read). I mean, how ridiculous it would be to get a link to my blog in Twitter, than you then follow to get to the link I liked while looking at Twitter?

However, it is clear that, as a principle, what I need to remove from my life is as much passivity as possible. I need to involve myself more, pay more attention, focus, make personal connections. That's also something I will attempt to do, though I will likely not share that on social media, except as occasional blog posts on how great my life is and how yours sucks balls.

At this point I only hope you had the attention span to read this to the end, the emotional involvement required for you to care and that you will understand why I don't Like anything you post. I didn't do that even when I was active on social media, I will certainly not do it now.

One possibility is that I will fail at this resolution completely. I gauge this as very remote a possibility, but it exists nonetheless. I really hope someone will smack over the head if I get to that point. I would certainly deserve it. Not you, wife! (she likes smacking me)

I know it's premature, but I wish you a Happy New Year, as I do indeed intend to have one myself.

  I've accepted the old man should teach me as the only solution to becoming a champion, but it is hard to swallow it. He is very old, but mischievous, so whenever I try to learn something from him, he kicks me to the ground. He tricks me again and again and again. I am frustrated, but I am trying to keep my cool. I am strong. If I were to really fight him, he might be smart, but every attack would break bone and then what good would he be? Just a bag of meat and broken shards. I close my eyes, I breath, I tell myself it is worth it.

  The old man apologizes and offers me a hand, I take it, only to be kicked in the ass and thrown into a jumble of debris. I lose my temper and stomp away. He doesn't understand. Getting angry at him is pointless, hurting him futile. I have nothing to learn from him. I walk through the old grounds of my conquests, now just the walled in and decrepit underground of the large arena above. I feel a presence behind me and I see the old man is following me, eyes to the ground. Contrition? Surely another of his tricks. "Begone!" I roar at him, but he goes to his knees and kowtows in front of me, his hands touching my feet. I feel tears swelling up in my eyes. He might as well be a little boy asking for forgiveness. Just who is the teacher and who is the student? Who is the adult here?

  "How did you get to a hundred years or whatever behaving like a little kid?! You are a child!" I shout at him in admonishment. I look around and ghosts of my past awaken my anguish. I feel my face contort into a painful grin as my tears flow freely. "Every week I was coming here to murder people!", I rage, my voice barely my own, a booming, low, animal growl, my expression that of an enraptured madman, for sure. "I would stake my life every time and I would leave, alive, every time!". The images of old fights flash before my wet blurred vision and I imagine that some of the painted white walls might contain some of the scrolls of the ancient arts, built over by a world that doesn't get it anymore. "I loved it!", I say, walking in the dead halls, every step a pulse of power overlaying glorious past over grey reality. My body is shaking with now uncontrollable weeping. "I killed so many people and I miss it... so.... very... MUCH!".

  Does he get it now, I ask myself? Has he even an inkling of the power he needs to teach me to control? I burst through the door to the surface and climb the stairs that get me to the arena above. The seats are packed with oblivious spectators, all watching some performance I don't even care to notice. I breathe in the fresh air and feel better. Ready to come to a final understanding with the old man, if he is capable of it ,I turn around. There is little time and we should not fight each other. But the old man is gone.

   I strain my eyes into the darkness of the stairs and I feel it, The Beast, the adversary I need to fight is there. He's got the old man and, even if I cannot see it, I know it is there, all cunning, fury and power. My body roars by itself, a predator sound, strong and fearless, no sound a man should ever be able to make. The arena spectators panic in surprised horror, but I ignore them. I jump into the darkness with animal strength. I will fight this beast, I will meet it head on, I will be the most savage, alone I will remain alive.

and has 0 comments
Just has a revelation. There are studies that show the moment you introduce currency in a social transaction, the dynamics change dramatically, leading to conflict, selfishness and the dissolution of societal and even emotional bonds. For a random reference check this article: Why Good Deeds and Money Don’t Mix.

I've been struggling with this new political correctness movement because 1) I didn't get it 2) almost every one of the people actively acting offended in this context appears to be... not nice and 3) it doesn't seem to be helping any. So, am I the bad guy? I started to ask myself. Am I a racist homophobic sexist misogynistic normie white male working in the tech field or is there something else going on? Judging by how far from normie people who actually know me think I am, I started to think about it more.

And it came to me! Political correctness is a form of currency forcefully introduced into our social transactions. Not only is it causing trouble for people who are assholes, but also for normal people who suddenly feel they have to pay something. And, as currency does, it breaks society, not strengthens it.

That is why so many people caught in this are so violent and partisan about it. That is why when you are nice towards a - I don't even know how to call them these days - not white person it feels good, as it would being nice towards anybody else, but when you are forced to do it, it well... feels forced. It feels like duty, like work, like paying a tax. The concept of balance slowly creeps in and makes one push back. Maybe with a joke, maybe with an angry tweet, maybe with something worse like actually picking on someone for their skin color, sex, age, religion or anything else. And they do it because picking on someone for being... I don't know... Romanian, doesn't feel like restoring anything. And now Romanians are pretty angry, because offending Jewish people or of recent African descent is somehow "wronger", so they get offended and feel left out. It's wrong to pick on anyone either way, deal with it!

In the end, introducing currency just pushes people into two diametrical opposed groups: the payers and the people who are owed. And of course, the people who ride the wave and get their little percentage to convert it to any other currency: money, hate, power, etc. We become slaves to the middlemen even when we interact with other people! Hell, they want to introduce ethics for computers now. Where does it end?!

So, as I am an egalitarian in my misanthropy, I submit that you should get offended by people just like any other person would. Leave currency to bankers. Or pick on them! No one ever got into a twist for calling bankers names.

and has 0 comments
Recently I've started seeing a lot of opinions about what is called "fat shaming", the practice of making fun of someone or being offensive towards them because they are overweight. Some say that being morbidly obese should feel shameful, others that shaming people for their weight is cruel and doesn't help in any way, as stress and low self esteem lead to even more weight gain. There are even scientific reports in mainstream media about this.

I am here to tell you that, as someone who has always been heavier than desired, that probably shame doesn't help, but having a clear idea of your normal weight does. When I has about 115kg I felt fine, I felt normal, I had to have friends tell me that I gained too much weight. So I went to a nutritionist, lost weight, it wasn't even very difficult. I went to 102kg and stabilized around 105. I felt absolutely thin and sexy! I gained weight again after, but my image of myself had changed. I didn't feel normal at 115, so I started taking care of what I was eating. I am still orbiting 105kg now and probably it will be very hard for me to go under that limit, however what I am trying to tell you is that if I feel fat at one level, I will make at least a modicum of effort to not gain more weight. If my image of myself, both conscious and unconscious, is that normal is somewhere, I will go towards that limit.

Picking on someone or intentionally offending them is an asshole move, obviously, but changing the level of "normal" to suite the current average or culturally accepted weight in the name of niceness and political correctness is absolutely wrong. Just my two cents.

Intro


Istanbul is a beautiful lie. You are being served, begged of, you can haggle any price and no one will get upset, you are a king among serfs, everything is ancient, colorful and traditional. But as you walk around in the high but pleasant sea-side heat you can't help but wonder: how high was that initial price if you can lower it again and again and again? How are you a king while walking in the most populous city of one of the most powerful countries in the region? Why are there armored cars here and there, watching you while you unsuccessfully try to reach Wikipedia on your cell phone in Democracy Park? How can all these traditional shops sell the exact same thing all over the city? Why are there so many types of tea in the bazaar, but when you go to a cafe they only serve one?

Now, I enjoyed my visit to Istanbul. My hotel was sub par, but I didn't care about it too much because the staff was doing their best to be accommodating. Yet there are some things I would have liked to know before going there. Here are my thoughts.

Prerequisites


The first thing to consider when going to Istanbul is if you want to rent a car. The answer to this is "I do not want to rent a car, because I want to survive this vacation". The driving is chaotic and the roads are steep and crowded. Most of the time you don't even want to take cabs. People cross the street randomly and there are scooters that speed onto any temporarily free surface. Yet, except a motorcycle guy that probably died on the freeway, I have not seen even a car bump in this mess. To be a driver in Istanbul is both a badge of honor and skill and a psychiatric condition. You've been warned!

The second thing you need is select the part of Istanbul you want to be based in, because the city is vast and split by the sea into three parts: two in Europe and one in Asia. If you are a touristy kind of person, go to the Sultanahmet, Eminonu side. If you want more authenticity, real people living their lives, go to the Asian side, while the other European side is more for the city lifestyle and shopping, like in Taksim square. I haven't been to the modern part of the city, but from afar the buildings there look tall and beautiful and I am told it's great, too.

You've got to be careful choosing your hotel. Istanbul is so chocked with them that when you look at the map you feel that you have not zoomed in enough. In fact every building in some areas is a hotel and all that separates them are small windy one car streets: no side walk, no parking spaces, no green space. You have to pay attention to the pictures of the hotel, to how may rows of windows they have, for example. It will tell you how tall they really are and how many windows your room will have. A lot of these places have large lobbies and terraces, but it's where you enter the hotel and where you get breakfast in the morning, while your room might have just a window overlooking a fence. I've seen rooms that had no windows. So it is vital you speak directly to the hotel and discuss the conditions of your rooms (do not trust they will get the information from Booking or act on it). It's not that they want to cheat you, but everything in Istanbul is negotiable. You need to speak to an actual person. The city abhors algorithms.

One more important thing is your infrastructure. You need information and transportation. In Istanbul a lot of transportation works with an IstanbulKart, an electronic card you can put money on and then pay for trams, buses, ferries, etc. Cabs, of course, are different. Careful with the cabs: you might get a perfectly good one from the airport, with a meter and a credit card reader, then get another that only accepts cash and you must negotiate the price. Now, it might feel like a waste, but I recommend you get one kart for each person. While you can very well use only one for an entire group, I got into the situation where my wife passed and I didn't, so she had to wait until I found a recharging station and had to negotiate with the Turkish only interface.

That gets me to the information portion: Turkey is not in the EU. That means that calls and SMS messages are very expensive and probably mobile Internet as well. While most shops have WiFi, when you are on the road you need Internet. If you have a dual SIM phone (and even if you don't) I recommend you buy a prepaid Turkish card for your Internet and local calls. I didn't do that, so I got stuck a lot of times. As so many translation systems work online, too, I think it's a good idea. Everything in Istanbul is in Turkish, with occasional afterthoughts about other languages. People there know very little English and when they do, you are not sure if they understood what you told them or they simply don't want to appear stupid.

The fun


The fun is all on you! I won't tell you what is good and what is not, because not one of the people that prepared me for my trip had an experience even close to mine. It's not that I am special, but people really are different and Istanbul provides differently depending on your style. What I can tell you is that it is a city worth visiting, but perhaps not for the usual reasons. It feels different. It's not a clone of all the other cities I've been to. It really has its own culture, it's not overwhelmed with the same multinational corporations, it doesn't have banks and pharmacies everywhere, and the lack of rules (or the difference in them) opens the mind to possibilities.

For me the mosques were all the same, the palaces were just buildings with old furniture in them, the museums collections of objects with little life to them. For example I went to the Royal Kitchens in Topkapi; there was nothing to reflect the life that went on there. Just random kitchen implements nicely ordered inside transparent cages. I didn't find the haggling with shop owners pleasant or the ice cream seller antics entertaining. The food was nice, but not extraordinary. The bazaars were full of shops that sold the exact same things. I couldn't get close to a shop without someone harassing me about buying or entering. These are not the reasons why I enjoyed Istanbul.

Instead, it was the weird combination of new and old, of people living their lives differently, the all present sea breeze which made the heat bearable. It was the way people did all of these annoying things and yet I felt no malice from or toward them. It all felt viscerally eternal, like this city had the power to survive the world encroaching on it.

I don't know, maybe you just need to have played Quest for Glory II to feel this way. Or maybe it's just me. I don't think I would want to return soon, but it's an experience I recommend. And now, try to get this out of your head:

I am going to try something new with this blog post. Usually, when I go somewhere on vacation, the things that capture my attention are not what interest about anybody else in my entourage. I am also not a very lyrical writer, so what's the point of enumerating the places I've been from the perspective (oh, so much used!) of the casual tourist. I imagine myself writing one of those horrid "10 things to do in..." articles, promptly vomit and desist from thinking about it.

With this post, though, I am going to tell you of the wild (but accessible) area that I've explored and where to find it, how I felt and, if I can find the references, what plants and animals live there. You see, when I go somewhere, I avoid people and take really bad pictures of flowers and plants, butterflies, weird things and sometimes landscapes.

The place


I've been to Cheile Bistritei Valcene (the canyon of the river Bistritza from Valcea - there is another one in the north of the country) and in the valley of the Luncavatz river. The vegetation and insects are very similar, so I am going to treat this as a single area, even if their locations are 20 KMs apart:

  • Cheile Bistritei: from 45.189828, 24.039859 to 45.197871, 24.030284
  • Raul Luncavat: from 45.186682, 23.917856 to 45.190084, 23.914488


The area is very nice, easy to get to by car, but not very touristic yet, so not a lot of people having picnics and listening loudly to music. Leave your car and walk on the sides of the river(s) and the scenery is verdant and quiet. I have to warn you that even if in Romanian they are called rivers, they are more like creeks, especially at this time of the year. You can even find some caves in the area and if you are the long walk type of person, some 4-5 hour hike routes to more remote areas. Some flowers are white, but the vast majority of them are either yellow-orange or violet in color and probably are much more interesting in ultraviolet than human vision.

Animal life


I haven't seen any animals other than birds, a running lizard and a lot of insects.

I saw several species of butterflies, the most common by far being a medium sized orange with black spots, a fritillary, probably the Silver-washed fritillary (Argynnis Paphia) or mantia imparatului in Romanian. They were frolicking on these tall yellow flowers with large leaves: the yellow oxeye (Telekia speciosa) or brusture and ochiul-boului in Romanian. The next most common was a shy dark butterfly with a crimson edge on its wings. Probably the Woodland ringlet (Erebia Medusa), I have no idea what the Romanian popular name for it is.



Argynnis Paphia on a Telekia speciosa



Erebia Medusa



Some other butterflies: the cabbage white (Pieris rapae) or fluturele de varza in Romania, the peacock (Aglais io) or ochi de paun de zi in Romanian, the swallowtail (Papilio machaon) or coada de rindunica in Romanian and even one glimpse of what I think was a marbled white (Melanargia galathea) or tabla de sah in Romanian.



Pieris Rapae



Aglais Io (during my youth Innachis Io)



Papilio Machaon



Melanargia Galathea



One fascinating specimen looked similar to a peacock butterfly from afar only for it to settle in a triangular black and white shape when it stopped. It must have been a moth! I've identified it as a Jersey tiger moth (Euplagia quadripunctaria) or fluturele urs dungat in Romanian.



Euplagia Quadripunctaria



What I also found fascinating is a tree that had apparently been colonized by ants. A lot of wood dust was on the ground and a lot of activity was inside the trunk. Still, there was another hole in the trunk that was filled with wood dust, but no ant activity. Could it have been some sort of other factor, termites or perhaps a disease, that destroyed the tree trunk's interior and the ants were just opportunists?

[youtube:5ewcsMPzSm4]
Ants or termites? New behavior or opportunism?



Plants


Now, plants are easier to photograph, but harder to identify. I've mentioned the oxeye. Then there was the touch-me-not (Impatiens noli-tangere) or slabanog and bradulet in Romanian, which appears to have been used traditionally for its medicinal properties, mostly related to kidney or gynecological issues. The Spreading bellflower (Campanula patula) was there, together with its close relative, the Creeping bellflower (Campanula rapunculoides) - both are called clopotei in Romanian. There was the mountain geranium (Geranium robertianum) or napraznic and priboi and iarba sfintului Robert in Romanian, which appears to have anti-stress, anti-cancer and fertility related purposed in traditional medicine.



Impatiens Noli-tangere



Campanula Patula



Campanula Rapunculoides



Geranium Robertianum



Field mustard was present as well (Brassica rapa). This plant was and is used for a variety of reasons in many cultures. The leaves and roots are rich in oil. In Puglia they use the buds as cimedirape in the making of orecchiette pasta. It is a plant from the cabbage family of plants, probably explaining the presence of the cabbage butterflies.



Brassica Rapa



A very interesting flower has a very weird name: the Viper's bugloss (Echium vulgare) or iarba sarpelui in Romanian. It has blue flowers but the filaments of the stamens are red, contrasting with the petals and giving it a violet color per whole. It has medicinal uses as well, as an antidote for snake bites and for its antibiotic and astringent properties.



Echium Vulgare



Another violet flower, with uses in homeopathic medicine but also in poisonings, is aconite or wolfsbane (Aconitum napellus) or omag in Romanian. It contains powerful alkaloids and at one time it was forbidden to grow this plant anywhere in the Roman Empire on penalty of death. Death from intoxication with the plant can occur in as little as half an hour!



Aconitum Napellus



And since we are talking about a violet flower with medicinal properties, how can we ignore the heal-all (Prunella vulgaris) or busuioc salbatic in Romania. The young leaves and stems can be eaten raw in salads; the plant in whole can be boiled and eaten as a potherb; and the aerial parts of the plant can be powdered and brewed in a cold infusion to make a beverage and it is used as an astringent in folk medicine.



Prunella Vulgaris



Not often, but when it happened it was a whole field of them, I found the Orange mullein (Verbascum phlomoides) or luminarica in Romanian. It is also a medicinal plant, used for the calming, sweat inducing and expectorant effects.



Verbascum Phlomoides



I've seen some daisies in the area and also another flower from the same family: the fleabane (Erigeron annuus) or bunghisor in Romanian. Used in salads as well as against the common cold or stomach aches in folk medicine.



Erigeron Annuus



Last, but not least, the evening-primrose or sundrop (Oenothera biennis) or luminita noptii in Romanian. It started as an American plant, much like the fleabane, but it was brought and naturalized in Europe. It has been used medicinally by the native Americans for all kinds of ailments, as it is an edible plant containing an oil with anti inflammatory properties.



Oenothera Biennis



There were a lot of plants without flowers, but I haven't had the time or patience for them. There was one with huge leaves and I photographed it for identification purposes. It turns out it was either the butterbur (Petasites hybridus) or the burdock (Arctium lappa) both called brusture in Romanian, but different species altogether. It's probably the Arctium, but I can't be sure!



Petasites hybridus or Arctium lappa? A lot of stuff called brusture in Romanian!



Resources


It would have been a lot more difficult for me to write this post if it weren't for sites like:


Even with these great resources, it was obvious that not many people will publish nature related posts in any systematic manner. Even this post, three hours in the making, is a random mess of blurry pictures and random observations.