Свидетельство того или тому?

I was puzzled by this sentence on the BBC Russian Service:

Нет свидетельств тому, что на нынешних выборах дело обстоит иначе.

ББС Мошенничество на выборах в США? Проверяем факты в речи Трампа

It means “There is no evidence that in the current election things are any different." but the puzzle isn’t the meaning, it’s the grammatical case in which the author has placed the demonstrative pronoun то , which is dative here тому . The thing is that you see examples where either the genitive or the dative follows свидетельство . So what’s the difference?

It turns out that, as usual, Rozental comes to the rescue:

  1. чего (при выражении зависимого слова именем существительным). Свидетельство наших успехов.
  2. чему (при выражении зависимого слова указательным местоимением). [Любишкину] с немалым трудом удалось увести корову [из дома], свежая царапина на щеке была тому свидетельством (Шолохов).

Д.Э. Розентал Пунктуация и управление в русском языке

So in plain language, when the dependent word is a noun, it should follow свидетельство in the genitive case. But when the the dependent word is a pronoun, it must be in the dative case.

A few examples:

  1. Свидетельство неудач Трампа можно найти повсюду. - Evidence of Trump’s failures can be found everywhere. Here, неудача is in the genitive case because it’s a noun.
  2. Неисправимый лжец, президент не представил свидетельство тому, что его оппоненты жульничали на выборах. - “A persistent liar, the president presented no evidence that his opponents cheated in the election." And here we have тому because it’s a pronoun (involved in the so-called “T-K construction.")
  3. Нет свидетельств мошенничества. - “There is no evidence of fraud." Again, мошенничествo is in the genitive case here (мошенничества ) because it’s a noun.
  4. Нет никаких свидетельств тому, что он солгал. - “There’s no evidence that he lied."
  5. Another sentence from the same article: Однако доказательств этому нет. - “However there is no evidence of that." This is a little different from the examples of the тому, что variety; but it still adheres to the pronoun → dative rule. Also note that the rules pertaining to свидетельствo also apply to доказательствo .

One way to think about this is to consider the difference between “evidence of” and “evidence that” in English. It’s not a perfect analogy but it may help.


Escaping "Anki hell" by direct manipulation of the Anki sqlite3 database

There’s a phenomenon that verteran Anki users are familiar with - the so-called “Anki hell” or “ease hell.”

Origins of ease hell

The descent into ease hell has to do with the way Anki handles correct and incorrect answers when it presents cards for review. Ease is a numerical score associated with every card in the database and represents a valuation of the difficulty of the card. By default, when cards graduate from the learning phase, an ease of 250% is applied to the card. If you continue to get the card correct, then the ease remains at 250% in perpetuity. As you see the card at its increasing intervals, the ease will remain the same. All good. Sort of.

But what happens if you fail the card at some point in the review process, then the ease becomes 250% minus 15% or 235%. Then, say, you relearn the card and the ease has stablized at 235% percent again. Then later you miss the card. Now you get another 15% hit to the ease. For older cards, you can see where this is going. Eventually the ease bottoms out at 130% and you will see the card frequently forever…

Unless you intervene in one of a handful of ways. The simplest approach is to keep track of the ease values and use the “Easy” button on the card to recover the 15% that was deducted when you missed the card previously. The logical problem behind all of this is that getting a card wrong leaves you with 15% less ease, but getting a card correct has no effect.

A blunt force approach to fixing ease hell

I was skeptical of the concept of ease hell until I ran a search on all my 22,000 Russian cards. Sure enough thousands were stuck at an ease of 130%. My solution was to identify these cards in ease hell and put them back to the starting point of 250%. Here’s the process I used:

  1. Quit Anki so that you can manipulate the database behind its back.
  2. Find the location of the database. On macOS, it’s ~/Application Support/Anki2/name_of_collection/collection.anki2
  3. Open the database using Base sqlite3 database editor, or you can just use sqlite3 straight from the Terminal or iTerm. The advantage of using the GUI application Base is that it’s easier to see the results of your actions; but either way works. If you’re using Base, skip to step 5, otherwise go to step 4
  4. In Terminal or iTerm (I use the latter.) open the Anki collection database: sqlite3 path_to_your_db. To illustrate how SQL queries work, you can execute a quick query against the cards table: SELECT * FROM cards LIMIT 2; The query should return some data with fields delimited by ‘|’ characters.
  5. In Base find the SQL tab. In the text box, you can input a SQL query and press “Execute”.
  6. To target all cards in ease hell, those having an ease factor of 130 (or 1300) as it’s encoded in the database, you would issue the SQL query:
UPDATE cards SET factor = 2500 WHERE factor = 1300 AND factor > 0

Save the database and exit. Now Anki should reflect that ease factor changes.

Alternative approach

You can also accomplish this same feat using an add-on. For example, ResetEZ.py discussed on Mass Immersion Approach will reset all of the ease factors. The same page also features other components of the low-key Anki approach that will maintain the ease factors at 250%.

Maintenance after climbing out of Anki hell

One approach is to simply abuse the Easy button which will repeatedly boost the ease and, in time, build up a buffer against potential future incorrect responses. Another approach to maintenance is to adopt the “straight reward” approach while adds ease bonuses for several correct responses in a row.


Anki hell, also known as ease hell is a real phenomenon, one that defeats the effciencies that could otherwise be gained through spaced repetition.


  • Staight Reward add-on - I haven’t used this one because I’m stuck on an earlier version of Anki due to incompatibilities with other add-ons. But it is widely used.
  • Low-key Anki - this site has a suite of add-ons available in a zip file. Together, they correct and prevent ease hell by resetting and keeping all of the ease factors at 2500.
  • Explanation of ease hell - AnKing explains the phenomenon.

Typing Russian stress marks on macOS

While Russian text intended for native speakers doesn’t show accented vowel characters to point out the syllabic stress (ударение) , many texts intended for learners often do have these marks. But how to apply these marks when typing? Typically, for Latin keyboards on macOS, you can hold down the key (like long-press on iOS) and a popup dialog will show you options for that character. But in the standard Russian phonetic keyboard it doesn’t work.

Stripping surveillance parameters from Facebook and Google links

While largely opaque to most users, Facebook and Google massage any links that you acquire on their sites to include data used to track you around the web. This script attempts to strip these surveillance parameters from the URL’s. It is by no means all-inclusive. Imaginably, there are links that I haven’t yet encountered and that need to be considered in a future version. So consider this a proof-of-concept. The problem For example, I performed a Google search1 for “Smarties”.

Predictions 2021

Predictions for 2021 Humans are notoriously poor at assigning probabilities to events, even those that are highly relevant to their daily lives. This year I’m making a deliberate attempt to calibrate my prediction abilities by correlating predictions with reality. The judgments of truth of these outcomes will be made on December 31, 2021, although some of the outcomes will have been decided substantially in advance of that. Coronavirus An effective vaccine will be widely available in Canada: 70%.

Extracting ID3 tags from the command line - two methods

As part of a Hazel rule to process downloaded mp3 files, I worked out a couple different methods for extracting the ID3 title tag. Not rocket science, but it took a little time to sort out. Both rely on non-standard third-party tools, both for parsing the text and for extracting the ID3 tags. Extracting ID3 title with ffprobe ffprobe is part of the ffmpeg suite of tools which on macOS can be installed with Homebrew.

Using variables in Keyboard Maestro scripts

Having fallen in love with Keyboard Maestro for its flexibility in macOS automation, I began experimenting with scripting in various languages, like my old favourite Perl. That’s when the fun began. How do we access KM variables inside a Perl script. Let’s see what the documentation says: So the documentation clearly states that this script #!/usr/bin/perl print scalar reverse $KMVAR_MyVar; should work if I have a KM variable named MyVar. But, you guessed it - it does not.

Hugo cache busting

Justification Although caching can make page loads notably faster, it comes with a cost. Browsers aren’t always capable of taking note when a cached resource has changed. I’ve noticed recently that Safari utterly refuses to reload .css files even after emptying the browser cache and clearing the web history. Background With a lot of help from the a pair of articles written by Ukiah Smith, I’ve developed a workflow for dealing with this problem during the deployment process.

iOS shortcut to clear Safari

(N.B. The next installment in my obsessional interest in thwarting surveillance capitalism. Read Shoshana Zuboff’s seminal work on the subject and you’ll see.) Justification Last week I outlined my evolving comprehensive approach to thwarting surveillance capitalism - that is the extraction, repurposing and selling of online behavioural surplus for the purposes of altering future behaviour. This is a simple iOS shortcut to the embedded Safari setting for clearing Safari history and website data.

My macOS and iOS security setup - Update 2020

(N.B. I am not a security expert. I’ve implemented a handful of reasonable measures to prevent cross-site tracking and limit data collection about my preferences and actions online.) Surveillance capitalism is a real and destructive force in contemporary economics, politics and culture. Whatever utopian visions that Silicon Valley may have had about the transformative power of ubiquitous network technologies have been overwhelmed by the pernicious and opaque forces that profit from amplifying divisions between people.