about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--users/tazjin/blog/posts.nix7
-rw-r--r--users/tazjin/blog/posts/tvix-eval-talk-2023.md13
-rw-r--r--users/tazjin/presentations/tvix-eval-2023/default.nix12
-rw-r--r--users/tazjin/presentations/tvix-eval-2023/presentation.tex13
4 files changed, 34 insertions, 11 deletions
diff --git a/users/tazjin/blog/posts.nix b/users/tazjin/blog/posts.nix
index 60ce82f620..9f5ea67a43 100644
--- a/users/tazjin/blog/posts.nix
+++ b/users/tazjin/blog/posts.nix
@@ -1,6 +1,13 @@
 # This file defines all the blog posts.
 [
   {
+    key = "tvix-eval-talk-2023";
+    title = "[доклад] tvix-eval, имплементация языка Nix на Rust";
+    date = 1694102400;
+    content = ./posts/tvix-eval-talk-2023.md;
+    listed = false; # publish after the talk recording is available
+  }
+  {
     key = "emacs-is-underrated";
     title = "Emacs is the most underrated tool";
     date = 1581286656;
diff --git a/users/tazjin/blog/posts/tvix-eval-talk-2023.md b/users/tazjin/blog/posts/tvix-eval-talk-2023.md
new file mode 100644
index 0000000000..ca09a8f7a8
--- /dev/null
+++ b/users/tazjin/blog/posts/tvix-eval-talk-2023.md
@@ -0,0 +1,13 @@
+7 сентября я выступил с докладом про реализацию языка Nix на Rust, на
+[Московском Rust-митапе][rustmsk] / [Московском клубе
+программистов][progmsk].
+
+Вот все связанные с ним ссылки, которые могут быть интересны:
+
+* [Tvix](https://tvix.dev), главный сайт проекта
+* [TVL](https://tvl.fyi), наше онлайн-сообщество
+* [Tvixbolt](https://tvixbolt.tvl.su/), наш "godbolt" для tvix
+* [MMTk](https://www.mmtk.io/), Rust-библиотека с компонентами для garbage-collection
+
+[rustmsk]: https://t.me/ruRust_msk
+[progmsk]: https://prog.msk.ru/
diff --git a/users/tazjin/presentations/tvix-eval-2023/default.nix b/users/tazjin/presentations/tvix-eval-2023/default.nix
index 6b30768950..ce831556de 100644
--- a/users/tazjin/presentations/tvix-eval-2023/default.nix
+++ b/users/tazjin/presentations/tvix-eval-2023/default.nix
@@ -1,7 +1,7 @@
 { depot, pkgs, ... }:
 
 let
-  inherit (pkgs) fontconfig texlive stdenv imagemagick;
+  inherit (pkgs) fontconfig texlive stdenv imagemagick runCommand qrencode;
 
   tex = texlive.combine {
     inherit (texlive)
@@ -22,6 +22,15 @@ let
       translator;
   };
 
+  linksQrCode = runCommand "qrcode.png" { } ''
+    ${qrencode}/bin/qrencode -o code.png -s 8 \
+      --background=fafafa \
+      --foreground=000000 \
+      'https://tazj.in/blog/tvix-eval-talk-2023'
+
+    # latex has trouble with the PDF produced by qrencode
+    ${imagemagick}/bin/convert code.png $out
+  '';
 in
 stdenv.mkDerivation {
   name = "progmsk-tvix-eval";
@@ -40,6 +49,7 @@ stdenv.mkDerivation {
 
     # webp images can't be included directly, need to convert to PNG
     convert ${depot.tvix.website}/tvix-logo.webp tvix-logo.png
+    cp ${linksQrCode} qrcode.png
 
     # As usual, TeX needs to be run twice ...
     ${tex}/bin/xelatex presentation.tex
diff --git a/users/tazjin/presentations/tvix-eval-2023/presentation.tex b/users/tazjin/presentations/tvix-eval-2023/presentation.tex
index 3eb1658036..5cb8cd5065 100644
--- a/users/tazjin/presentations/tvix-eval-2023/presentation.tex
+++ b/users/tazjin/presentations/tvix-eval-2023/presentation.tex
@@ -138,17 +138,10 @@
   \end{frame}
 
   \begin{frame}{Спасибо!}
-    Ссылки:
-    \begin{itemize}
-    \item tvix.dev
-    \item tvl.fyi
-    \item tvixbolt.tvl.su
-    \end{itemize}
-
-    % TODO: QR code or something for these links
-
-    \vspace{3cm}
     \begin{center}
+      \includegraphics[width=6cm,keepaspectratio=true]{qrcode.png}
+
+      https://tazj.in/blog/tvix-eval-talk-2023 \\
       t.me/tazjin | tazjin@tvl.su
     \end{center}
   \end{frame}