Things that live here:

  1. Work log, where I note things I feel I'll have to Google later.
  2. Journal, very similar but about non-IT topics.
  3. Blog for rare longer-form posts (last one below).
  4. Links blog, formerly my personal wiki.

Feel free to look at what you can find here and enjoy yourself.

~17% of my country is occupied by Russia, and horrible things are happening there. You can help stop this! If you can donate - I contribute to (and fully trust) Come Back Alive and Hospitallers, but there are also other ways to help.

If you're in Germany, DHL sends packets with humanitarian help for free!

Latest posts from the Work log

Day 1960

NII files

Inkscape bullet points

Day 1952 / Hack for quarto roughnotation and speaker view

Quarto’s roughnotation works either in speaker view or in the presentation, separately from each other.

Very brittle, but:

  • jitsi share my presentation window, “show me what I’m sharing” and then right click picture-in-picture
  • drag that picture over the presentation in speaker view :)

.. yeah.

Day 1947

Inkscape poster video notes

So I learned that poster videos are a thing, 10 years ago I’d have used Prezi but not now

And TIL inkscape has neat keybindings for zooming.


  • Inkscape keyboard and mouse reference | Inkscape

  • View -> Zoom has a list as well

    • I should have looked at it earlier — it has neat things e.g. X-ray etc.: 2024-04-30-191715_929x886_scrot.png
  • 3 zooms in to the selected element

  • 1-6 are all zooming things (from the docu):

    • 2024-04-30-192013_734x670_scrot.png
  • 3-Layout-extraction-1 is a 6min description I have not watched but could be nice.

Inkscape not exporting to PDF after crash

A particularly complex file after a crash became cursed: two boxes would export to PNG fine, but not to PDF.

2024-04-30-183747_596x262_scrot.png 2024-04-30-183807_489x267_scrot.png

After closing and opening these two boxes became just as in the PDF export.

Solution: delete the problematic elements from the PDF and recreate them.

Day 1941

Presentations with Quarto and Reveal.js



    slide-number: true
    hash-type: number

Hide slide: ## Slide Title {visibility="hidden"}

Slides themselves

Title slide

If you exclude title and author from frontmatter, no title slide will be created and you can create your own


Asides exist: :::{.aside}


Centering stuff

Complex layouts are possible with layouts:

::: {layout="[[1],[-1,1,1,1,-1]]"}
![](./images/logos/logo_chatgpt.png){.nostretch width="500px" fig-align="center"}

![](./images/logos/l2.png){.nostretch width="200px"}

![](./images/logos/l1.png){.nostretch width="200px"}

![](./images/logos/l3.png){.nostretch width="200px"}



## {.classname}

::: {.classname}
div with class=classname

::: {}
div with no class — we still need the {} for it to be a div

::: {.one-div}
:::: {.inside-another}
But the number of : doesn't matter as long as it's >3 — they aren't even matching by count, it's just divs inside divs inside divs, the number of : is just for readability



quarto-ext/attribution: Display attribution text sideways along the right edge of Revealjs slides.

	revealjs: ...
  - attribution

## attribution
![testatt](./images/logos/logo_chatgpt.png){.nostretch width="600px" fig-align="center"}

::: {.attribution}
Photo courtesy of [@ingtotheforest](


EmilHvitfeldt/quarto-roughnotation: An extension that uses the roughnotation javascript library to add animated annotations to revealjs documents.

R to run.

Sample presentation: RoughNotation; its source: quarto-roughnotation/example.qmd at main · EmilHvitfeldt/quarto-roughnotation

title: Simple roughnotation setup
   - roughnotation
- [type]{.rn rn-type=circle}
- [animate]{.rn rn-animate=false}
- [animationDuration]{.rn rn-animationDuration=20000}
- [color]{.rn rn-color=blue}
- [strokeWidth]{.rn rn-strokeWidth=3}
- [multiline multiline multiline multiline multiline multiline multiline multiline multiline multiline]{.rn rn-multiline=true}
- [iterations]{.rn rn-iterations=1}
- [rtl]{.rn rn-rtl=false}


{.rn rn-type=underline}

Key bits:

And this will be [circled]{.rn rn-type=circle rn-color=orange}
and [underlined]{.rn rn-type=underline rn-color=orange rn-animate=false}
and [boxed]{.rn rn-type=box rn-color=blue rn-animate=false}
and [crossed]{.rn rn-type=crossed-off rn-color=blue rn-animate=false}
and [crossed again]{.rn rn-type=strike-through rn-color=blue rn-animate=false}


rn-index=2 for order so that the animations happpen one after the other

Works for entire divs as well: RoughNotation

Problems with RN

It highlights the wrong places for me if the presentation is too narrow, both on mobile and desktop browsers; zooming out helps but too much breaks it again. EDIT: a known issue mentioned in the last slide of the sample presentation, they also suggest zooming.

EDIT: No one said I have to use half a screen for previewing, this is a nice layout that solves multiple problems:



Quarto – Reveal Themes

Default theme: quarto-cli/src/resources/formats/revealjs/quarto.scss at main · quarto-dev/quarto-cli

Centering everything

/*-- scss:defaults --*/
$presentation-slide-text-align: center !default;
    theme: [default, my_scss_file.scss]

BUT for some things it’s ugly, like lists. Then:

.notcenter {
  text-align: left;
### Outline 
::: {.notcenter}
- English example
	- Morphology
	- Agreement


{.smaller} works on full slides only, this works for divs too:

.newsmaller {
	font-size: calc(#{$presentation-font-size-root} * #{$presentation-font-smaller});

Increasing slide number size

.reveal .slide-number {
	font-size: 30px !important;

Both linked by the excellent and thorough Beautiful Reports and Presentations with Quarto

References / citations

Quarto – Citations & Footnotes

.biblatex file exported from Zotero and optonally a CSL style (citation-style-language/styles: Official repository for Citation Style Language (CSL) citation styles.)

bibliography: ../../Masterarbeit.bib
csl: ./diabetologia.csl

# etc. In diabetologia this gives the usual [1] thingies.
[see @key]

Then autocomplete in vim-quarto (!)

Dynamism and animations

Incremental lists are {.incremental}, or the entire presentation can be

    incremental: true  

with {.nonincremental} parts.

Otherwise Fragments1 exist with more control.

r-stack allows to make images overlapping: Quarto – Advanced Reveal

Simple template for slides with everything

## Title {.smaller}
::: {.notcenter}

:::: {.incremental}
- some
- list

<!-- footnotes here if needed
[^leaderboard]: <>

::: {.notes}
sp. notes.

::: footer
Chapter - Section

More inkscape bits learned doing posters

Context: 240423-1912 Better Posters notes


  • Two — once in document properties, and there seems to be a tool for this as well.
  • units are important — doing math in mm and then creating a grid in px/pc/pt/… may create not-obvious errors
  • Snapping to an invisible grid still works — neat for a sub-grid that would create too much garbage but is needed (e.g. margins in a column)


  • You can select items by color/stroke/type/… in Edit -> Select…
    • E.g. select all texts, all blue rectangles etc.

Resizing boxes

You can disable scaling the stroke size together with the box in the upper-right toolbar! (The same one where locking aspect ratios is)


  • You can draw a rectangle and then add text to it — use the text tool to draw this rectangle.
  • Text -> Flow into frames can do what it says on the label: 2024-04-24-191704_370x98_scrot.png
  • If it looks weird or different from other text but font and size and the rest match, the text likely has a stroke.

Tracking invisible items

For things into which text “flows” etc. — if you have a white background making them white works for keeping them selectable when needed. (And removing the background makes them visible).

Smile for the screenshot

Damn I love doing random vector stuff. 2024-04-30-185655_2556x1436_scrot.png

Day 1940 / Better Posters notes

The book by Better Posters’s author is freaking awesome. Short summary follows, not copypasting too much because copyright, but the book is 12/10.

Chapter 1: short form

TL;DR how to do a poster if you read only one chapter

  • Three columns, margins around them and between them at 50mm
  • so 8 inches/200mm for the margins toatl
  • take the width of your paper, subtract 8 inches (200 mm) for the margins,

and divide by three to find your column width. If your poster is 48 inches (1,220 mm), your columns will be 13⅓ inches (340 mm) wide. Yes, it’s an awkward number, but computers don’t care.

Short note to self

  • A0 is 841 x 1189mm1
    • My arm is around 70cm
  • Later the recommendation is 6 columns because flexibility
  • So now it’s margins 50mm top/down/l/r w/ columns like this
> cc (1189-100)/6
> cc (841-100)/6

After playing around, this is good enough I guess! (Ignore Y grid) 2024-04-23-194612_1313x930_scrot.png

After ignoring even more advice: 2024-04-23-195109_849x1113_scrot.png (EDIT: oh damn it’s 7, not 6!)


  • To look for typos, changing the font and column size helps! p. 49


  • Narrative
    • AND, BUT, THEREFORE (ABT) p.59
      • We scanned the salmon AND saw brain activity BUT this is impossible THEREFORE we should …
    • Find a narrative and keep it in mind when doing the poster; get other people to do their narrative and see if it’s at least close to yours

Visual thinking (p.64 Chapter 7)

Quoting directly because it’s freaking awesome.

  • “Dan Roam argues that there are six basic ways to show something, and you can recognize which you need by the kind of question you hear (Roam 2013)”:
    • If you hear a name – a “who or what” – you need a portrait. This is not necessarily a realistic or detailed portrait like a painting or a posed photo. A stick and ball chemical structure is a “portrait” of a molecule. A smiling emoji can be a portrait.
    • • If you hear a number – a “how many” – you need a chart or graph. A bar graph is a simple example.
    • • If you hear a location or a list – a “where” – you need a map. Again, this need not be a literal cartographic map. Anytime you talk about something “above,” “below,” “closer,” or “overlapping,” you have the potential to create a map. Examples include concept maps, pedigrees and phylogenies, org charts and Venn diagrams.
    • • If you hear a history – a “when” – you need a timeline. “Time” is one of the most common variables shown graphically (Tufte 2001).
    • • If you hear a sequence or process – a “how” – you need a flowchart.
    • • If you hear some complex combinations – a “why” – you need a multi-variable plot, like a scatterplot.
  • Design is making things look similar (consistency, grids, fonts) and different (h2 vs the text, etc.)

  • Main rules:

    • repetition, alignment, contrast, proximity
  • p.85 100-300 dpi is the sweet spot for posters

  • 108 when deciding how much to narrow/widen a line graph, aim for a max slope of about 45 degrees

  • 153 a font family is designed so that different fonts look OK together — DAMN.


The most important takeaway.

  • 165 “layouts that never work”
    • [--][ ] two wides one tall
    • [-] [-----] swedish flag
  • Numerate the order if it’s not obvious
  • Vary the place of the break so it’s not squares (right?down?) but obviously rows or columns:


[   ][    ]
[   ][    ]


[     ][  ]
[   ][    ]


  • p.191 has a list of cliches to replace, e.g. “make use of” -> “use” and “the use of” -> (Omit)
  • all-caps headers are worse because you can’t see the shape of the words — which is important from far away.
  • serif or no serif doesn’t really matter from a design perspective.

Before you print

221 checklist and ratings

Practical bits

  • Get a document tube! (And write your name on it!)
  • How to do conferences shoes to stand in for hours, tacks, PDF to print it if sth happens etc.

Not from Better Posters

Random gray or whatever color stripes can live up a white background


See also

Day 1936

Zathura is awesome

Have been using it casually but now I wanted a quick way to follow internal links in my Thesis and go back.

Zathura can do this and not just this apparently!

zathura(1) — Arch manual pages

  • Tab goes to index mode, where space/enter follow the link in the index
  • f shows links that can be followed by typing the number and then enter
  • ^o, ^i: Move backward and forward through the jump list! Practically ^o is basically “go back”.

It even has a config file, with remapping, design and stuff zathurarc(5) — Arch manual pages


  • the numbers shown w/ f are too small, and no way to change them
  • the follow-on-single-click option is in newer version than what I have access to (I should reinstall my system actually)

Latex footnotes in descriptions don't work

\item[Brown-UK\footnote{\href{}{}}] is an open, balanced ..

Nope. It’s like tables — you’ll get the mark but not the actual footnote. Hard to notice.

Day 1935

Latex centering wide tables

… is hard and nothing worked. If it’s over the margin at least.

After trial and error I got this1.

% \centerline{
% \begin{center}
    \addtolength{\leftskip} {-2cm} % increase (absolute) value if needed
% \begin{adjustbox}{center}
% \resizebox{1.0\textwidth}{!}{% Adjust the scale as needed
                          &   LOW &   WIS &   cats\_bin &   cats\_mc &   wordalpha &   wordlength &   UA-CBT &   UP-masked &   UP-unmasked \\
 BASELINE-human           &       0.97 &       0.94 &            0.97 &           0.98 &             0.92 &              0.94 &     0.94 &        0.84 &          0.88 \\
 BASELINE-random          &       0.09 &       0.05 &            0.50 &           0.20 &             0.50 &              0.50 &     0.17 &        0.10 &          0.10 \\
 Mistral-7B-Instruct-v0.2 &       0.34 &       0.19 &            0.59 &           0.71 &             0.48 &              0.71 &     0.46 &        0.75 &          0.86 \\
 Ms-Inst-Ukr-SFT          &       0.31 &       0.16 &            0.66 &           0.55 &             0.48 &              0.66 &     0.42 &        0.82 &          0.87 \\
 Ms-Inst-Ukr-Slerp        &       0.35 &       0.19 &            0.66 &           0.66 &             0.49 &              0.70 &     0.45 &        0.79 &          0.87 \\
 Ms-Inst-Ukr-sherl        &       0.37 &       0.19 &            0.69 &           0.76 &             0.50 &              0.75 &     0.55 &        0.88 &          0.92 \\
 gpt-3.5-turbo            &       0.68 &       0.34 &            0.68 &           0.91 &             0.78 &              0.89 &     0.61 &        0.77 &          0.86 \\
 gpt-4-1106-preview       &       0.67 &       0.39 &            0.86 &           0.93 &             0.85 &              0.95 &     0.97 &        0.96 &          0.97 \\
% }
% \end{adjustbox}
% \caption[Evaluation scores]{\TODO{Scores of selected models}}
% \end{center}
% }

The width 1.25\textwidth has to be manually chosen otherwise the table lines are too long or short for the text.

If it’s too low or too high it causes this (left is low):

2024-04-18-140659_239x215_scrot.png 2024-04-18-140750_112x229_scrot.png

As usual, when doing these things, Overleaf’s draft mode is golden.

For positioning on the page, quoting Overleaf2:

The parameter `h!` passed to the table environment declaration establishes that this table must be placed _here_, and override LATEX defaults. The positioning parameters that can be passed-in include:

Will place the table _here_ approximately.

Position the table at the _top_ of the page.

Position the table at the _bottom_ of the page.

Put the table in a special page, for tables only.

Override internal LATEX parameters.

Place the table at this precise location, pretty much like h!.

Footnotes inside table latex

Fought long and hard on this till I got enlightened. The trivial stupid way works.


% put it wherever in the table

\caption[Evaluation scores]{Scores of selected models. 

\dagtab LMES tasks (shortened for brevity)

This was so easy.

\ddag double dagger also exists
! as well

Day 1934

Insights on my writing with Grammarly

The UNLP workshop generously included a 3 months trial of Grammarly Premium, and this was interesting.

  • Shown in Fig. XXX

  • Oxford commas — Grammarly wants them, I seem to not, but I should decide on one

  • it specified the requirements, THE complexity of the story, … — when I list things I can’t use one article for all of them!

    • I would never write “I have a cat, dog, rabbit”, and that’s the same thing
  • e.g. requires a comma only in American English

  • I do A LOT of errors with duplicated words (the the)

    • A book I’m reading suggests using a different font and column width when proofreading just to catch such things
  • I don’t know how to spell a number of English words

    • accommodate
  • Many typos are acoustical ones if I’m tired, e.g. doc instead of dog

  • I use too many words

    • A lot of my passive can be really neatly rephrased into not-passive, for shorter sentences with fewer words
    • verb+noun often can be just a better verb (like make predictions => predict)
  • it removes many of my commas

    • I know it’s my Slavic language interference, but in many cases it makes the text way less clear imo

General impressions

  • It even knows that written in python requires Python to be capitalized!

i.e. and e.g. and commas

Comma after ‚i.e.‘ and ‚e.g.‘ – Business English & Übersetzungen:

  • i.e. means that is / in other words (from id est)
  • e.g. means for example

They are followed by commas in American English but not in British English.

Day 1933 / CLI webservice for easy sharing of files via curl

kubectl cp failed with errors, so. - Super simple file sharing

(rapids) root@lm-eval-sh:/data/output# curl -F ""


Generally, free curl file sharing online - Google Suche returns many services with potential.

Day 1932

Seaborn barplot ordering gotcha

seaborn.barplot — seaborn 0.13.2 documentation:

passing order=[list,of,cats,in,order] decides the ordering.

Otherwise “it will be inferred” except that it’s not always trivial to understand how exactly (or I’m too sleep-deprived).

And if I’m drawing horizontal lines on top of the bars in the barplot based on indexes then the order may be sligthly different.

Latex automated title case in titles

With the help of ChatGPT


% Specify words to remain in lowercase unless they are the first word
\Addlcwords{the and but or nor for a an at by to in on with of}





\section{an example of a section with and without uppercasing specific words}
This is some text.

\subsection{exploring the integration of tools in the workplace}
More text here.


Latest post from Blog

'The Hacker Manifesto', переклад українською

Оригінал: .:: Phrack Magazine ::.
Контекст: Маніфест хакера — Вікіпедія / Hacker Manifesto - Wikipedia
Існуючий дуже класний переклад, не відкривав, поки не закінчив свій: Маніфест хакера | Hacker’s Manifesto | webKnjaZ: be a LifeHacker

                               ==Phrack Inc.==

                    Том I, випуск 7, Ph-айл[0] 3 з 10

Наступне було написано невдовзі після мого арешту...

	                        \/\Совість хакера/\/


	                          +++The Mentor+++

	                           8 січня 1986р.

	Сьогодні ще одного спіймали, пишуть у всіх газетах. "Кібер-скандал:
підлітку повідомили про підозру", "Кіберзлочинця затримали після
проникнення в систему банку".
	Тупа школота[1], вони всі однакові.

	Та чи ви, з вашою трафаретною ментальністю[2] та знаннями 
інформатики зразка першої половини пʼятидесятих[3], коли-небудь дивилися 
в душу хакера?[4] Чи вас колись цікавило, що є причиною його поведінки[5], 
які сили на нього впливали, що його сформувало?
	Я хакер, ласкаво прошу у мій світ...
	Мій світ почався ще зі школи... Я розумніший за більшість інших
дітей, і дурниці, які нам викладають, мені набридають.
	Тупий відстаючий[6], вони всі однакові.

	Восьмий, девʼятий, десятий, одинадцятий клас[7]. В пʼятнадцятий
раз слухаю, як вчителька пояснює, як скорочувати дроби. Мені все ясно. "Ні, 
Вікторія Миколаївна[8], я не написав проміжні кроки, я розвʼязав все усно..."
	Тупий підліток. Мабуть списав. Всі вони такі.

	Сьогодні я зробив відкриття. Я знайшов компʼютер. Ха, почекай-но,
це круто. Він робить те, що я від нього хочу. І якщо він помиляється,
це тому, що помилився я. А не тому що він мене не любить...
                         Або відчуває від мене загрозу...
                         Або думає що я тіпа самий умний[9]...
                         Або не любить викладати[10] і йому тут не місце...
	Тупий підліток. Він постійно тільки грає в свої ігри. Всі вони такі...

	Потім це відбулось... відчинились двері в світ... несучись телефонною 
лінією як героїн венами наркомана, надсилається електронний пульс,
шукається спасіння від невігластва навколо...[11] Знаходиться борд.[12]
	"Це воно... це те, до чого я належу..."
	Я з усіма тут знайомий... попри те, що я з ними ніколи не 
зустрічався, не розмовляв, і колись можливо більше нічого не чутиму про 
них... Я їх всіх знаю...
	Тупий підліток. Знову займає телефонну лінію... Вони всі однакові.

	Та можете не сумніватись,[13] що ми всі однакові... Нас годували
дитячими сумішами з ложки, коли ми хотіли стейк... а ті куски мʼяса, які 
до нас все ж потрапляли, були вже пережовані і без смаку. Над нами
панували садисти, або нас ігнорували байдужі. Для тих, хто хотіли чомусь 
нас навчити, ми були вдячними учнями, але їх було як краплин дощу в

	Цей світ зараз наш... світ електрона і комутатора, світ краси
бода[14]. Ми користуємося існуючою послугою не платячи за те, що могло б 
бути дуже дешевим, якби ним не завідували ненажерливі бариги[15], і ви 
називаєте нас злочинцями. Ми досліджуємо... і ви називаєте нас 
злочинцями. Ми шукаємо знання... і ви називаєте нас злочинцями. Ми 
існуємо без кольору шкіри, без національності і без релігійної 
нетерпимості... і ви називаєте нас злочинцями. Ви будуєте атомні бомби, 
ви ведете війни, ви вбиваєте, обманюєте, і брешете нам, намагаючись 
заставити нас повірити, що ви це робите для нашого блага, і попри все - 
це ми тут злочинці.

	Так, я злочинець. Мій злочин - моя допитливість. Мій злочин - 
оцінювати людей по тому, що вони кажуть і думають, а не по тому, як 
вони виглядають. Мій злочин в тому, що я вас перехитрив, і ви мене 
ніколи не пробачите за це.

	Я хакер, і це мій маніфест. Можливо ви зупините мене як особу, але ви 
ніколи не зупините нас всіх... зрештою, ми всі однакові.


  1. Ph-айл: worst of both worlds between phile and файл
  2. Damn kids: тупі/кляті/грьобані діти/школота1/малолітки2? Дякую цьому твіту Букви, який дає мені моральне право використовувати слово “школота”, бо нічого інше не клеїлося (“Окаяні дітлахи!")
  3. three-piece-psychology: інтерпретую як невисоку оцінку розвитку внутрішнього світу. Тому: пересічним/шаблонним/банальним/трафаретним3/примітивним/нехитрим/безхитрим; psychology: ‘інтелект’ але не зовсім, мені подобається ‘ментальність’
  4. and 1950’s technobrain: Німецький переклад, який сподобався англіцизмами та дав ідею перекласти technobrain в значенні “знання про компʼютери”, а не слово в слово: Berühmte Manifeste 2 – openPunk
  5. хакер/гакер: Вікіпедія вважає обидва допустимими; сам Авраменко ссилаючись на ті самі правила українського правопису теж вважає обидва допустимими, але все ж любить “г” більше (Хакер чи гакер - експрес-урок - YouTube). А я не можу і не буду. Хакер. I will die on this hill.
  6. what makes him tick: TODO, нічого не подобається. Що його рухає/надихає, що у нього в середині, …
  7. underachiever: хай буде “відстаючий”. Хоча пригадую з ЗНО, що суфікси уч/юч обмежені у вживанні, правильніше ВІДСТАЛИЙ мені не подобається.
  8. junior high or high school: тут додаю драми замість дослівності, тому що все ближче до оригіналу, що я можу придумати, занадто канцеляристично: “я закінчую базову чи повну загальну середню освіту”..?
  9. Ms. Smith:
  10. I’m a smart ass
  11. doesn’t like teaching: оплакую невикористаний варіант від душі “ненавидить себе, дітей, і педагогіку”. Дуже оплакую.
  12. a refuge from the day-to-day incompetencies is sought
  13. a board is found: мається на увазі електронна дошка оголошень (BBS — Вікіпедія), дід форумів і прадід іміджбордів. Найцікавіше слово для перекладу. Якщо буде “борд” то збережеться драматизм оригіналу, але є шанси, що хтось спутає з іміджбордами. Коли вони були популярні, нормальні люди в Україні їх не називали ніяк, російською були варіанти “доска”, “бибиэска”4. “BBS” був би найпростішим виходом; “електронна дошка оголошень” знову ж таки канцеляризм. По контексту далі очевидно, що мова йде про якесь спілкування, тому хай буде “борд”, принесу в жертву однозначність і зрозумілість милозвучності.
  14. you bet your ass we’re all alike: як же складно підбирати такі речі. Умовні embeddings з ML тут були б в тему. “Дай мені щось на кшталт ‘авжеж’ тільки більш emphatical”. Попередня версія “Авжеж ми всі однакові!”
    1. You bet – phrases: базара нет, по любому, я вас умоляю
    2. Будьте певні5
    3. ЩЕ Б ПАК — СИНОНІМІЯ | Горох — українські словники
      1. Авжеж?6
  15. the beauty of the baud: Бод — Вікіпедія Нехай мій (і єдиний можливий) переклад буде всім настільки ж зрозумілим, наскільки мені був зрозумілий оригінал, коли я його читав вперше.
  16. profitteering gluttons

Hat tip to: