<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Mikhail Popov</title>
    <link>https://mpopov.com/</link>
    <description>Recent content on Mikhail Popov</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 23 Sep 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://mpopov.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>License</title>
      <link>https://mpopov.com/license/</link>
      <pubDate>Sat, 23 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/license/</guid>
      <description>&lt;p&gt;My &#xA;&lt;a href=&#34;https://mpopov.com/blog/&#34;&gt;blog posts&lt;/a&gt; and &#xA;&lt;a href=&#34;https://mpopov.com/tutorials/&#34;&gt;tutorials&lt;/a&gt; are released under a &#xA;&lt;a href=&#34;https://creativecommons.org/licenses/by-sa/4.0/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Creative Commons Attribution-ShareAlike 4.0 International License&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Privacy Policy</title>
      <link>https://mpopov.com/privacy-policy/</link>
      <pubDate>Sat, 23 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/privacy-policy/</guid>
      <description>&lt;h2 id=&#34;who-i-am&#34;&gt;Who I am&#xA;  &lt;a href=&#34;#who-i-am&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;My website address is: &#xA;&lt;a href=&#34;https://mpopov.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://mpopov.com/&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This website is administered by Mikhail Popov (&#xA;&lt;a href=&#34;mailto:mikhail@mpopov.com&#34;&gt;mikhail@mpopov.com&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;what-data-i-collect&#34;&gt;What data I collect&#xA;  &lt;a href=&#34;#what-data-i-collect&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;I do not use any cookies and I does not send tracking data to any third-party services.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wikipedia Preview for R Markdown documents</title>
      <link>https://mpopov.com/blog/2022/04/09/wikipediapreview-rmd-docs/</link>
      <pubDate>Sat, 09 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2022/04/09/wikipediapreview-rmd-docs/</guid>
      <description>&lt;script src=&#34;https://unpkg.com/wikipedia-preview@1.8.0/dist/wikipedia-preview.production.js&#34; type=&#34;text/javascript&#34;&gt;&lt;/script&gt; &lt;script type=&#34;text/javascript&#34;&gt;     window.onload = function() {       wikipediaPreview.init({         lang: &#39;en&#39;,         selector: &#39;.wiki&#39;,         detectLinks: true       });     };&lt;/script&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://www.mediawiki.org/wiki/Wikipedia_Preview&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikipedia Preview&lt;/a&gt; (developed by Wikimedia’s &#xA;&lt;a href=&#34;https://www.mediawiki.org/wiki/Inuka_team&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Inuka team&lt;/a&gt;) is so cool:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;When readers navigate in and out of a webpage through interacting with several hyperlinks, they can easily lose context of what they were reading in the first place. Content sites would like their readers to read and engage with their content and understand it without having to get contextual information elsewhere. Wikipedia Preview can solve this problem for content providers by allowing readers to have concise and visual contextual information from Wikipedia within a content provider’s mobile properties - website or webapp.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Even faster matrix math in R on macOS with M1</title>
      <link>https://mpopov.com/blog/2021/10/10/even-faster-matrix-math-in-r-on-macos-with-m1/</link>
      <pubDate>Sun, 10 Oct 2021 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2021/10/10/even-faster-matrix-math-in-r-on-macos-with-m1/</guid>
      <description>Instructions for switching R to use Apple&amp;rsquo;s math library optimized for Apple Silicon and some benchmarks comparing the performance.</description>
    </item>
    <item>
      <title>Making Of: Session Tick visualization</title>
      <link>https://mpopov.com/blog/2021/03/13/making-of-session-tick-visualization/</link>
      <pubDate>Sat, 13 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2021/03/13/making-of-session-tick-visualization/</guid>
      <description>In this post I will walk through my R code for a data visualization I created for the session length dataset project at the Wikimedia Foundation.</description>
    </item>
    <item>
      <title>Animation of optimization in torch</title>
      <link>https://mpopov.com/blog/2021/02/28/animation-of-optimization-in-torch/</link>
      <pubDate>Sun, 28 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2021/02/28/animation-of-optimization-in-torch/</guid>
      <description>&lt;p&gt;In this post I will show you how to use the &#xA;&lt;a href=&#34;https://gganimate.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;{gganimate}&lt;/a&gt; R package to make an animated GIF illustrating Adam optimization of a function using &#xA;&lt;a href=&#34;https://torch.mlverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;{torch}&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://mpopov.com/images/adam-animated.gif&#34; alt=&#34;Animated GIF illustrating Adam optimization of a function&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(torch)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(gganimate)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(tidyverse)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We will use &#xA;&lt;a href=&#34;https://torch.mlverse.org/docs/reference/optim_adam.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;torch::optim_adam()&lt;/code&gt;&lt;/a&gt; to find the value of x that minimizes the following function:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;f &lt;span style=&#34;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;font-weight:bold&#34;&gt;function&lt;/span&gt;(x) (&lt;span style=&#34;color:#099&#34;&gt;6&lt;/span&gt; &lt;span style=&#34;font-weight:bold&#34;&gt;*&lt;/span&gt; x &lt;span style=&#34;font-weight:bold&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;2&lt;/span&gt;) ^ &lt;span style=&#34;color:#099&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;font-weight:bold&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;sin&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;12&lt;/span&gt; &lt;span style=&#34;font-weight:bold&#34;&gt;*&lt;/span&gt; x &lt;span style=&#34;font-weight:bold&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;4&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The function looks as follows:&lt;/p&gt;&#xA;&lt;img src=&#34;https://mpopov.com/blog/2021-02-28-animation-of-optimization-in-torch_files/figure-html/old-par-1.svg&#34; width=&#34;672&#34; /&gt;&#xA;&lt;p&gt;The &lt;code&gt;adam_iters&lt;/code&gt; dataset will contain an &lt;code&gt;iter&lt;/code&gt; column (for the iteration/step identifier) and an &lt;code&gt;x&lt;/code&gt; column (the value of x after each iteration):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pivoting posteriors</title>
      <link>https://mpopov.com/blog/2020/09/07/pivoting-posteriors/</link>
      <pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2020/09/07/pivoting-posteriors/</guid>
      <description>&lt;p&gt;In &#xA;&lt;a href=&#34;https://mc-stan.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Stan&lt;/a&gt;, when a parameter is declared as an array, the samples/draws data frame will have columns that use the &lt;code&gt;[i]&lt;/code&gt; notation to denote the &lt;code&gt;i&lt;/code&gt;-th element of the array. For example, suppose we had a model with two parameters &amp;ndash; &lt;code&gt;\(\lambda_1\)&lt;/code&gt; and a &lt;code&gt;\(\lambda_2\)&lt;/code&gt;. Instead of declaring them individually &amp;ndash; e.g. &lt;code&gt;lambda1&lt;/code&gt; and &lt;code&gt;lambda2&lt;/code&gt;, respectively &amp;ndash; we may declare them as a single &lt;code&gt;lambda&lt;/code&gt; array of size 2:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-stan&#34; data-lang=&#34;stan&#34;&gt;parameters {&#xA;  real lambda[2];&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When we sample from that model, we will end up with samples for &lt;code&gt;lambda[1]&lt;/code&gt; and &lt;code&gt;lambda[2]&lt;/code&gt;. We want to extract the &lt;code&gt;i&lt;/code&gt; from &lt;code&gt;[i]&lt;/code&gt; and the name of the parameter into separate columns, yielding a tidy dataset.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Forensics</title>
      <link>https://mpopov.com/blog/2020/08/25/git-forensics/</link>
      <pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2020/08/25/git-forensics/</guid>
      <description>&lt;p&gt;Earlier today I was helping a coworker with a question about data related to block messages on mobile, like this:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Lol.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://mpopov.com/images/krmaher-wiki-blocked.png&#34; alt=&#34;Screenshot of &amp;ldquo;your account has been blocked from editing Wikipedia&amp;rdquo; notice&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;— Katherine Maher, &#xA;&lt;a href=&#34;https://twitter.com/krmaher/status/1053561497786425344&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;October 20, 2018&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;I did not anticipate my investigation to become what I might best describe as &amp;ldquo;git forensics&amp;rdquo;. First, let&amp;rsquo;s introduce our &lt;em&gt;dramatis personae&lt;/em&gt;:&lt;/p&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&lt;strong&gt;&lt;em&gt;MobileFrontend&lt;/em&gt;&lt;/strong&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;When you browse the mobile (&amp;ldquo;m.&amp;rdquo; subdomain) version of &#xA;&lt;a href=&#34;https://www.wikipedia.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikipedia&lt;/a&gt; in a browser, what you see rendered is largely due to the &#xA;&lt;a href=&#34;https://www.mediawiki.org/wiki/Extension:MobileFrontend&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MobileFrontend&lt;/a&gt; extension for &#xA;&lt;a href=&#34;https://www.mediawiki.org/wiki/MediaWiki&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MediaWiki&lt;/a&gt; (the software that powers Wikipedia, &#xA;&lt;a href=&#34;https://commons.wikimedia.org/wiki/Main_Page&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikimedia Commons&lt;/a&gt;, and &#xA;&lt;a href=&#34;https://www.wikimedia.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikimedia projects&lt;/a&gt;).&lt;/dd&gt;&#xA;&lt;dt&gt;&lt;strong&gt;&lt;em&gt;Git&lt;/em&gt;&lt;/strong&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;a href=&#34;https://git-scm.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Git&lt;/a&gt; is a free and open source system for version control.&lt;/dd&gt;&#xA;&lt;dt&gt;&lt;strong&gt;&lt;em&gt;Phabricator&lt;/em&gt;&lt;/strong&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;a href=&#34;https://www.phacility.com/phabricator/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Phabricator&lt;/a&gt; is an open source toolkit for code review, repository hosting, bug tracking, and project management. If you&amp;rsquo;re familiar with &#xA;&lt;a href=&#34;https://www.atlassian.com/software/jira&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jira&lt;/a&gt; it&amp;rsquo;s kind of like that.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;The story begins with the Phabricator task &#xA;&lt;a href=&#34;https://phabricator.wikimedia.org/T260218&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;T260218&lt;/a&gt; to &amp;ldquo;Add logging for measuring impact of our work on improving the mobile block messages.&amp;rdquo; The task mentions that this has been done in the past and links to a task from August 2018: &#xA;&lt;a href=&#34;https://phabricator.wikimedia.org/T201719&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;T201719&lt;/a&gt;. What happened to that tracking? Is that data still available?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using R to help my wife manage Sims screenshots</title>
      <link>https://mpopov.com/blog/2020/08/02/r-sims-screenshots/</link>
      <pubDate>Sun, 02 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2020/08/02/r-sims-screenshots/</guid>
      <description>&lt;p&gt;I grew up with &lt;a href=&#34;https://en.wikipedia.org/wiki/The_Sims_(video_game)&#34; class=&#34;wikiPreview&#34; data-wiki-lang=&#39;en&#39; data-wiki-title=&#39;The Sims (video game)&#39;&gt;The Sims&lt;/a&gt; and remember spending what is probably hundreds of hours of my childhood with that game, so it was a special feeling to share that with my wife and introduce her to &lt;a href=&#34;https://en.wikipedia.org/wiki/The_Sims_3&#34; class=&#34;wikiPreview&#34; data-wiki-lang=&#39;en&#39; data-wiki-title=&#39;The Sims 3&#39;&gt;The Sims 3&lt;/a&gt; a few years ago.&lt;/p&gt;&#xA;&lt;p&gt;Coming from &lt;a href=&#34;https://en.wikipedia.org/wiki/Animal_Crossing:_Happy_Home_Designer&#34; class=&#34;wikiPreview&#34; data-wiki-lang=&#39;en&#39; data-wiki-title=&#39;Animal_Crossing:_Happy_Home_Designer&#39;&gt;Animal Crossing: Happy Home Designer&lt;/a&gt;, the expanded toolset for interior design (AND addition of architecture tools) hooked her, but she wasn&#39;t that into the non-building part of playing The Sims. It actually wasn&#39;t until last year when we got &lt;a href=&#34;https://en.wikipedia.org/wiki/The_Sims_4&#34; class=&#34;wikiPreview&#34; data-wiki-lang=&#39;en&#39; data-wiki-title=&#39;The Sims 4&#39;&gt;The Sims 4&lt;/a&gt; (TS4) at a discount that she got into the full Sims experience, because TS4 is waaaaaaay better in every way (from building houses, to playing with your sims).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Replacing the knitr engine for Stan</title>
      <link>https://mpopov.com/blog/2020/07/30/replacing-the-knitr-engine-for-stan/</link>
      <pubDate>Thu, 30 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2020/07/30/replacing-the-knitr-engine-for-stan/</guid>
      <description>&lt;p&gt;&lt;strong&gt;2020-08-03 UPDATE&lt;/strong&gt;: Good news! A version of this engine is now included in versions 0.1.1 and later of {CmdStanR}. Use &#xA;&lt;a href=&#34;https://mc-stan.org/cmdstanr/reference/register_knitr_engine.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;cmdstanr::register_knitr_engine()&lt;/code&gt;&lt;/a&gt; at the top of the R Markdown document to register it as the engine for &lt;code&gt;stan&lt;/code&gt; chunks. See the vignette &#xA;&lt;a href=&#34;https://mc-stan.org/cmdstanr/articles/r-markdown.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;em&gt;R Markdown CmdStan Engine&lt;/em&gt;&lt;/a&gt; for examples. Shoutout to the maintainers Jonah Gabry &amp;amp; Rok Češnovar for a super positive code review experience with the pull request for this.&lt;/p&gt;&#xA;&lt;p&gt;I originally dabbled with custom &#xA;&lt;a href=&#34;https://yihui.org/knitr/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;{knitr}&lt;/a&gt; engine creation &#xA;&lt;a href=&#34;https://mpopov.com/blog/2020/06/10/introducing-dotnet-knitr-engine/&#34;&gt;last month&lt;/a&gt;, when I made &#xA;&lt;a href=&#34;https://github.com/bearloga/dotnet&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;{dotnet}&lt;/a&gt; which enables R Markdown users to write chunks with C# and F# programs in them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing &#39;dotnet&#39; knitr engine for C# &amp; F# chunks in R Markdown</title>
      <link>https://mpopov.com/blog/2020/06/10/introducing-dotnet-knitr-engine/</link>
      <pubDate>Wed, 10 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2020/06/10/introducing-dotnet-knitr-engine/</guid>
      <description>&lt;p&gt;I had a thought &amp;ldquo;wouldn&amp;rsquo;t it be cool to do a blog post about Bayesian inference with &#xA;&lt;a href=&#34;https://dotnet.github.io/infer/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Infer.NET&lt;/a&gt;?&amp;rdquo; and then a follow-up thought &amp;ldquo;wouldn&amp;rsquo;t it be &lt;em&gt;even cooler&lt;/em&gt; to have the probabilistic programs as R Markdown chunks that would be actually built/compiled and then run/executed just like Python and Julia chunks would be?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;And that&amp;rsquo;s how I ended up spending an evening learning how to make &#xA;&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown-cookbook/custom-engine.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;custom language engines&lt;/a&gt; for &#xA;&lt;a href=&#34;https://yihui.org/knitr/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;{knitr}&lt;/a&gt; and making one for C# and F# languages.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Strings in R 4.x vs 3.x (and earlier)</title>
      <link>https://mpopov.com/blog/2020/05/22/strings-in-r-4.x/</link>
      <pubDate>Fri, 22 May 2020 10:25:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2020/05/22/strings-in-r-4.x/</guid>
      <description>&lt;p&gt;Among the several user-facing changes listed in R 4.0.0&amp;rsquo;s &#xA;&lt;a href=&#34;https://cran.r-project.org/doc/manuals/r-devel/NEWS.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;release notes&lt;/a&gt; was this point:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;There is a new syntax for specifying raw character constants similar to the one used in C++: &lt;code&gt;r&amp;quot;(...)&amp;quot;&lt;/code&gt; with &lt;code&gt;...&lt;/code&gt; any character sequence not containing the sequence &lt;code&gt;)&amp;quot;&lt;/code&gt;. This makes it easier to write strings that contain backslashes or both single and double quotes. For more details see &lt;code&gt;?Quotes&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;To get a better sense of this (wonderful) feature addition, I thought it&amp;rsquo;d be useful to see some before/after examples.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ordinary Differential Equations with Stan in R</title>
      <link>https://mpopov.com/tutorials/ode-stan-r/</link>
      <pubDate>Fri, 22 May 2020 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/tutorials/ode-stan-r/</guid>
      <description>A tutorial on fitting a Bayesian ODE model with Stan, R, and {cmdstanr} package.</description>
    </item>
    <item>
      <title>Approximating probabilities</title>
      <link>https://mpopov.com/tutorials/approximating-probabilities/</link>
      <pubDate>Sat, 10 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/tutorials/approximating-probabilities/</guid>
      <description>A tutorial on using R and Monte Carlo simulation as a substitute for analytical solutions to &amp;ldquo;what is the probability of?&amp;rdquo; problems.</description>
    </item>
    <item>
      <title>Faster matrix math in R on macOS</title>
      <link>https://mpopov.com/blog/2019/06/04/faster-matrix-math-in-r-on-macos/</link>
      <pubDate>Tue, 04 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2019/06/04/faster-matrix-math-in-r-on-macos/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update (October 2021)&lt;/strong&gt;: macOS 10.14 &amp;ldquo;Big Sur&amp;rdquo; and later &#xA;&lt;a href=&#34;https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes/#Kernel&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;do not ship with Accelerate BLAS dynamic libraries in the filesystem&lt;/a&gt;, so this trick only works up to macOS 10.13 &amp;ldquo;High Sierra&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;If you want faster matrix operations in R on your Mac, you can use &#xA;&lt;a href=&#34;https://developer.apple.com/documentation/accelerate/blas&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Apple&amp;rsquo;s BLAS&lt;/a&gt; (Basic Linear Algebra Subprograms) library from their &#xA;&lt;a href=&#34;https://developer.apple.com/documentation/accelerate&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Accelerate framework&lt;/a&gt; instead of the library which comes with the &#xA;&lt;a href=&#34;https://cran.r-project.org/bin/macosx/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R binary that you get from CRAN&lt;/a&gt;. (Unless you built R from source yourself.) CRAN recommends against this, saying:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modeling a logic puzzle as a constraint satisfaction problem with OMPR</title>
      <link>https://mpopov.com/tutorials/logic-puzzle-ompr/</link>
      <pubDate>Sat, 04 May 2019 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/tutorials/logic-puzzle-ompr/</guid>
      <description>A tutorial on treating a logic puzzle as constraint satisfaction problem and coding it as an integer program to solve using the R package {ompr}.</description>
    </item>
    <item>
      <title>Bayesian Optimization in R</title>
      <link>https://mpopov.com/tutorials/bayesopt-r/</link>
      <pubDate>Tue, 16 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/tutorials/bayesopt-r/</guid>
      <description>A tutorial on using Bayesian optimization to find the minimum of a function with only a few evaluations of the functions, using different approaches to identify the best next value to evaluate the function at.</description>
    </item>
    <item>
      <title>My recipe for the best breakfast potatoes (and terrific bacon)</title>
      <link>https://mpopov.com/blog/2018/08/15/best-breakfast-potatoes-recipe/</link>
      <pubDate>Wed, 15 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2018/08/15/best-breakfast-potatoes-recipe/</guid>
      <description>&lt;p&gt;&lt;script src=&#34;https://unpkg.com/wikipedia-preview@1.8.0/dist/wikipedia-preview.production.js&#34; type=&#34;text/javascript&#34;&gt;&lt;/script&gt; &lt;script type=&#34;text/javascript&#34;&gt;     window.onload = function() {       wikipediaPreview.init({         lang: &#39;en&#39;,         selector: &#39;.wiki&#39;,         detectLinks: true       });     };&lt;/script&gt;&lt;/p&gt;&#xA;&lt;p&gt;Everyone I treat with these bomb-ass potatoes always tells me how amazing they are and it’s a bit of an elaborate process to describe, so I decided to write it up here. There are actually two recipes in this post and one is (kind of) a prerequisite for the other, but if you’re vegetarian/vegan or don’t eat pork for religious (or other) reasons, feel free to skip to the second stage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Data Analyst vs Data Scientist: Industry Perspectives</title>
      <link>https://mpopov.com/blog/2018/05/24/data-analyst-vs-data-scientist-industry-perspectives/</link>
      <pubDate>Thu, 24 May 2018 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2018/05/24/data-analyst-vs-data-scientist-industry-perspectives/</guid>
      <description>&lt;p&gt;Both &amp;ldquo;Data Analyst&amp;rdquo; (DA) and &amp;ldquo;Data Scientist&amp;rdquo; (DS) are titles that vary greatly between industries and even amongst individual organizations within industries. As the roles behind titles change over time, it is natural for some teams to ask themselves the following questions: should we have distinct roles or just stick to one? How would we differentiate the roles in a way that fulfills our organization&amp;rsquo;s needs and is generally consistent with similar organizations? Do we want to consider a DS to be equivalent to a Sr. DA, the only difference being the title? Answering these questions not only establishes clear responsibilities and expectations, but enables hiring managers and recruiters to communicate clearly with potential applicants in the future (in job postings, for example).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resources for learning to visualize data with R/ggplot2</title>
      <link>https://mpopov.com/blog/2018/03/21/learning-to-visualize-data-with-ggplot2/</link>
      <pubDate>Wed, 21 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2018/03/21/learning-to-visualize-data-with-ggplot2/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;I&amp;rsquo;m currently learning visualisation with R/ggplot2 and was wondering whether you could share tips/links/videos/books/resources that helped you in your journey :-)&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Sure! Here ya go:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;tips&#34;&gt;Tips&#xA;  &lt;a href=&#34;#tips&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The only tip I&amp;rsquo;ll give is that you should strive to make every chart look exactly how you want it to look and say exactly what you want it to say. You will learn in the process of doing. When it&amp;rsquo;s time to visualize the data and you have an idea for a very specific look and story, don&amp;rsquo;t give it up or compromise on your vision &lt;em&gt;just&lt;/em&gt; because you don&amp;rsquo;t know how to do it. Trust me, there is so much documentation out there and so many posts on Stack Overflow that you will be able to figure it out. (But also it&amp;rsquo;s totally fine to get 90-95% of the way there and call it done if that last 5-10% sprint is driving you bonkers.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>The journey so far…</title>
      <link>https://mpopov.com/blog/2017/09/21/the-journey-so-far/</link>
      <pubDate>Thu, 21 Sep 2017 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2017/09/21/the-journey-so-far/</guid>
      <description>&lt;p&gt;I recently received an email which said, &amp;ldquo;I&amp;rsquo;m interested in learning more about you and your journey to where you are today,&amp;rdquo; so I thought I&amp;rsquo;d describe how I went from studying visual arts to analyzing data at &#xA;&lt;a href=&#34;https://wikimediafoundation.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikimedia Foundation&lt;/a&gt; (WMF).&lt;/p&gt;&#xA;&lt;p&gt;Growing up I excelled in visual arts and mathematics at school, and they continued to be my strongest subjects. My parents and I immigrated to US from Russia when I was 10, and I spent the first few years focused on learning English – which was especially difficult because I was the only Russian-speaking person at my school. I was okay at English when I entered 6th grade, having learned a lot of it from &lt;em&gt;The Simpsons&lt;/em&gt; of all things. That was also the year I joined band and started learning trombone, but that wouldn&amp;rsquo;t last.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advice for graduates applying for data science jobs</title>
      <link>https://mpopov.com/blog/2017/08/16/advice-for-grads-entering-industry-datasci/</link>
      <pubDate>Wed, 16 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2017/08/16/advice-for-grads-entering-industry-datasci/</guid>
      <description>&lt;h1 id=&#34;2019-08-01-update&#34;&gt;2019-08-01 update&#xA;  &lt;a href=&#34;#2019-08-01-update&#34;&gt;&lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;Things were a little different when I wrote this in 2017. These days I constantly see new/junior data scientists get rejected because they don&amp;rsquo;t have the experience. Even those who have an impressive portfolio of projects to show off that they have the technical know-how get thumbs down. I firmly believe this is a failure of employers, not the new generation of recently graduated data scientists entering the field.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing GPU version of TensorFlow™ for use in R on Windows</title>
      <link>https://mpopov.com/blog/2017/06/11/r-win-gpu-tensorflow/</link>
      <pubDate>Sun, 11 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2017/06/11/r-win-gpu-tensorflow/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&#xA;  &lt;a href=&#34;#intro&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The other night I got &#xA;&lt;a href=&#34;https://www.tensorflow.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TensorFlow™&lt;/a&gt; (TF) and &#xA;&lt;a href=&#34;https://keras.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Keras&lt;/a&gt;-based &#xA;&lt;a href=&#34;https://rstudio.github.io/keras/articles/examples/imdb_fasttext.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;text classifier in R&lt;/a&gt; to successfully run on my gaming PC that has Windows 10 and an &#xA;&lt;a href=&#34;http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-980&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;NVIDIA GeForce GTX 980&lt;/a&gt; graphics card, so I figured I&amp;rsquo;d write up a full walkthrough, since I had to make minor detours and the official instructions assume &amp;ndash; in my opinion &amp;ndash; a certain level of knowledge that might make the process inaccessible to some folks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Probabilistic programming languages for statistical inference</title>
      <link>https://mpopov.com/blog/2017/01/10/probabilistic-programming-languages-for-statistical-inference/</link>
      <pubDate>Tue, 10 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2017/01/10/probabilistic-programming-languages-for-statistical-inference/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&#xA;  &lt;a href=&#34;#introduction&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;This post was inspired by a question about &#xA;&lt;a href=&#34;http://mcmc-jags.sourceforge.net/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;JAGS&lt;/a&gt; vs &#xA;&lt;a href=&#34;http://www.mrc-bsu.cam.ac.uk/software/bugs/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BUGS&lt;/a&gt; vs &#xA;&lt;a href=&#34;https://mc-stan.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Stan&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;right, that&amp;rsquo;s what got me confused! so they.. do the same thing?&lt;/p&gt;&#xA;&lt;p&gt;— Andrew MacDonald, &#xA;&lt;a href=&#34;https://twitter.com/polesasunder/status/818897121676029955&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;January 10, 2017&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Explaining the differences would be too much for Twitter, so I&amp;rsquo;m just gonna give a quick explanation here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mostly-free resources for learning data science</title>
      <link>https://mpopov.com/blog/2015/12/22/mostly-free-resources-for-learning-statistics/</link>
      <pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2015/12/22/mostly-free-resources-for-learning-statistics/</guid>
      <description>&lt;p&gt;In the past year or two I&amp;rsquo;ve had several friends approach me about learning statistics because their employer/organization was moving toward a more data-driven approach to decision making. (This brought me a lot of joy.) I firmly believe you don&amp;rsquo;t actually need a fancy degree and tens of thousands of dollars in tuition debt to be able to engage with data, glean insights, and make inferences from it. And now, thanks to many wonderful statisticians on the Internet, there is now a plethora of freely accessible resources that enable curious minds to learn the art and science of statistics.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Guide to Shiny apps with Shiny Server on Amazon EC2</title>
      <link>https://mpopov.com/blog/2014/06/01/guide-to-shiny-apps-with-shiny-server-on-amazon-ec2/</link>
      <pubDate>Sun, 01 Jun 2014 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2014/06/01/guide-to-shiny-apps-with-shiny-server-on-amazon-ec2/</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Preface&lt;/strong&gt;: posting this for archive purposes only. This was the first of its kind and has been succeeded by better guides.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&#xA;  &lt;a href=&#34;#introduction&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;I am writing this guide because this guide did not exist when I decided to put my &#xA;&lt;a href=&#34;https://github.com/bearloga/2010-US-Census-Shiny-App&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;2010 US Census Shiny App&lt;/a&gt; on Amazon&amp;rsquo;s servers. Surely I can&amp;rsquo;t be the only one who&amp;rsquo;s never had any experience with EC2 (or SSH or vi, for that matter).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quartile-Frame Scatterplot with ggplot2</title>
      <link>https://mpopov.com/blog/2014/06/01/quartile-frame-scatterplot-with-ggplot2/</link>
      <pubDate>Sun, 01 Jun 2014 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/blog/2014/06/01/quartile-frame-scatterplot-with-ggplot2/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://mpopov.com/images/ggtufte.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Inspired by &lt;em&gt;The Visual Display of Quantitative Information&lt;/em&gt; by Edward R. Tufte&lt;/p&gt;&#xA;&lt;p&gt;The goal is to make the axes tell a better story about the data. This is done by turning the axes into quartile plots (cleaner boxplots).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Usage Example&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Only x and y are required, everything else is optional.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-R&#34; data-lang=&#34;R&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;qsplot&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  x &lt;span style=&#34;font-weight:bold&#34;&gt;=&lt;/span&gt; mtcars&lt;span style=&#34;font-weight:bold&#34;&gt;$&lt;/span&gt;wt, y &lt;span style=&#34;font-weight:bold&#34;&gt;=&lt;/span&gt; mtcars&lt;span style=&#34;font-weight:bold&#34;&gt;$&lt;/span&gt;mpg,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  main &lt;span style=&#34;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b84&#34;&gt;&amp;#34;Vehicle Weight-Gas Mileage Relationship&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  xlab &lt;span style=&#34;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b84&#34;&gt;&amp;#34;Vehicle Weight&amp;#34;&lt;/span&gt;, ylab &lt;span style=&#34;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b84&#34;&gt;&amp;#34;Miles per Gallon&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  font.family &lt;span style=&#34;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b84&#34;&gt;&amp;#34;Gill Sans&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# alternatively: &amp;#34;Times New Roman&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The R code can be found on &#xA;&lt;a href=&#34;https://github.com/bearloga/Quartile-frame-Scatterplot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Miscellaneous</title>
      <link>https://mpopov.com/misc/</link>
      <pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/misc/</guid>
      <description>&lt;h2 id=&#34;talks&#34;&gt;Talks&#xA;  &lt;a href=&#34;#talks&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/wmf/tree/master/presentations/lessons/Power%20Analysis%20of%20Mixed-Effects%20GLMs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;No one GLM should have all that power&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Power analysis of multilevel/hierarchical generalized models&lt;/dd&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://bearloga.github.io/pittsburgh-user-bayesian-2018/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A Workflow For Bayesian Modeling and Reporting in R&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Talk on Bayesian modeling, model comparison, and presentation of results for Pittsburgh useR meetup, December 2018&lt;/dd&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://bearloga.github.io/fts-bayesian-r-workflow-2019/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A Workflow For Bayesian Modelling and Reporting in R&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Talk on Bayesian modeling, model comparison, and presentation of results with R for Friendly Tech Space folks&lt;/dd&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/wmf/tree/master/presentations/talks/Cascadia%20R%20Conference%202017&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Open knowledge in R with Wikimedia APIs&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Presented at Cascadia R Conference on 2 June 2017&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;guest-appearances-interviews-and-blogs&#34;&gt;Guest Appearances, Interviews, and Blogs&#xA;  &lt;a href=&#34;#guest-appearances-interviews-and-blogs&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;https://blog.wikimedia.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikimedia Blog&lt;/a&gt; published &#xA;&lt;a href=&#34;https://blog.wikimedia.org/2017/02/02/hiring-data-scientist/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;my post explaining how my team hires data scientists&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;NSF-Census Research Network featured me in their &#xA;&lt;a href=&#34;https://www.ncrn.info/news/newsletter/ncrn-newsletter-volume-3-issue-2&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;NCRN Newsletter Volume 3, Issue 2&lt;/a&gt;&amp;rsquo;s section on the program&amp;rsquo;s alumni&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Master&amp;rsquo;s in Data Science&lt;/em&gt; interviewed me for their &#xA;&lt;a href=&#34;http://www.mastersindatascience.org/careers/statistician/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Life of a Statistician feature&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;a href=&#34;%28http://onemoreturnpodcast.wordpress.com/2014/03/27/5-questions-with-mikhail-popov/%29&#34;&gt;One More Turn: 5 Questions&lt;/a&gt; (&#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=Hr1OwFNEprY&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Watch on YouTube&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Projects</title>
      <link>https://mpopov.com/projects/</link>
      <pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://mpopov.com/projects/</guid>
      <description>&lt;h2 id=&#34;r-packages&#34;&gt;R Packages&#xA;  &lt;a href=&#34;#r-packages&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;api-wrappers&#34;&gt;API wrappers&#xA;  &lt;a href=&#34;#api-wrappers&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://bearloga.github.io/waxer/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;waxer&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;R wrapper for the Wikimedia Analytics Query Service (AQS). This particular wrapper is for the &lt;code&gt;/metrics&lt;/code&gt; endpoint of the REST API which provides data and metrics around traffic, users, and content on Wikimedia sites. &#xA;&lt;a href=&#34;https://bearloga.github.io/waxer/articles/waxer.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Get started&amp;hellip;&lt;/a&gt;&lt;/dd&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/WikidataQueryServiceR&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;WikidataQueryServiceR&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Interface to &#xA;&lt;a href=&#34;https://query.wikidata.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikidata Query Service&lt;/a&gt; API for querying &#xA;&lt;a href=&#34;https://www.wikidata.org/wiki/Wikidata:Main_Page&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikidata&lt;/a&gt; using SPARQL and getting back data.frames in R. Available on &#xA;&lt;a href=&#34;https://cran.r-project.org/package=WikidataQueryServiceR&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRAN&lt;/a&gt;.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;r-markdown&#34;&gt;R Markdown&#xA;  &lt;a href=&#34;#r-markdown&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://bearloga.github.io/wikipediapreview-r/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;wikipediapreview&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Enables easy integration of &#xA;&lt;a href=&#34;https://www.mediawiki.org/wiki/Wikipedia_Preview&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikipedia Preview&lt;/a&gt; popup context cards in R Markdown documents &amp;ndash; compatible with &#xA;&lt;a href=&#34;https://rstudio.github.io/distill/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;distill&lt;/a&gt;, &#xA;&lt;a href=&#34;https://pkgdown.r-lib.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;pkgdown&lt;/a&gt;, and &#xA;&lt;a href=&#34;https://pkgs.rstudio.com/blogdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown&lt;/a&gt; &amp;ndash; refer to &#xA;&lt;a href=&#34;https://mpopov.com/blog/2022/04/09/wikipediapreview-rmd-docs/&#34;&gt;the blog post&lt;/a&gt; for more info&lt;/dd&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/wmf-product-analytics-report&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;wmfpar&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Template based on &#xA;&lt;a href=&#34;https://hebrewseniorlife.github.io/memor/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;memor&lt;/a&gt;, for use by the &#xA;&lt;a href=&#34;https://wikimediafoundation.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikimedia Foundation&lt;/a&gt;&amp;rsquo;s &#xA;&lt;a href=&#34;https://mediawiki.org/wiki/Product_Analytics&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Product Analytics&lt;/a&gt; team for PDF reports written in R Markdown&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;rstudio-add-ins&#34;&gt;RStudio add-ins&#xA;  &lt;a href=&#34;#rstudio-add-ins&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/tinydensR&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tinydensR&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;An &#xA;&lt;a href=&#34;https://shiny.rstudio.com/articles/gadgets.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio add-in&lt;/a&gt; for playing with distribution parameters and visualizing the resulting probability density and mass functions.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h3 id=&#34;machine-learning&#34;&gt;Machine learning&#xA;  &lt;a href=&#34;#machine-learning&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/dpmclust&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;dpmclust&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Implements the DP-means algorithm introduced by Kulis and Jordan in their article &#xA;&lt;a href=&#34;https://arxiv.org/abs/1111.0352&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;em&gt;Revisiting k-means: New Algorithms via Bayesian Nonparametrics&lt;/em&gt;&lt;/a&gt;. Instead of specifying how many clusters to partition the data into, like one would with k-means, user specifies a penalty parameter λ which controls if/when new clusters are created during iterations.&lt;/dd&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/maltese&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;maltese&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Little utility R package for transforming time series data into a format that&amp;rsquo;s more machine learning-friendly &amp;ndash; previous &lt;em&gt;p&lt;/em&gt; observations become features.&lt;/dd&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/MLPUGS&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;M&lt;/strong&gt;ulti&lt;strong&gt;L&lt;/strong&gt;abel &lt;strong&gt;P&lt;/strong&gt;rediction &lt;strong&gt;U&lt;/strong&gt;sing &lt;strong&gt;G&lt;/strong&gt;ibbs &lt;strong&gt;S&lt;/strong&gt;ampling&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Users can employ an external package (e.g. &amp;lsquo;randomForest&amp;rsquo;, &amp;lsquo;C50&amp;rsquo;), or supply their own. New observations are classified using a Gibbs sampler since each unobserved label is conditioned on the others. The package includes methods for evaluating the predictions for accuracy and aggregating across iterations and models to produce binary or probabilistic classifications. Available on &#xA;&lt;a href=&#34;https://cran.r-project.org/package=MLPUGS&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRAN&lt;/a&gt;.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;python-packages&#34;&gt;Python packages&#xA;  &lt;a href=&#34;#python-packages&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/gsc-utils&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;gsc-utils&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Utilities for accessing and downloading the statistics on a site&amp;rsquo;s presence in Google&amp;rsquo;s search results via &#xA;&lt;a href=&#34;https://developers.google.com/webmaster-tools/search-console-api-original/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Search Console API&lt;/a&gt;.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;h2 id=&#34;games-and-apps&#34;&gt;Games and apps&#xA;  &lt;a href=&#34;#games-and-apps&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;&#xA;      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;&#xA;&lt;a href=&#34;https://github.com/bearloga/taskviewr&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;taskviewr&lt;/a&gt;&lt;/dt&gt;&#xA;&lt;dd&gt;Shiny application for browsing R packages listed on &#xA;&lt;a href=&#34;https://cran.r-project.org/web/views/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRAN&amp;rsquo;s Task Views&lt;/a&gt;. It includes their URLs and licensing details, which can be very helpful if you are looking for, say, a machine learning package that is MIT-licensed.&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;p&gt;My other Shiny applications include &#xA;&lt;a href=&#34;https://bearloga.shinyapps.io/freelancr/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;freelancr&lt;/a&gt; (for figuring out freelancing hourly rates) and the &#xA;&lt;a href=&#34;https://discovery.wmflabs.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Discovery Dashboards&lt;/a&gt;, which I maintain as a Data Scientist on the &#xA;&lt;a href=&#34;https://mediawiki.org/wiki/Product_Analytics&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Product Analytics team&lt;/a&gt; at the &#xA;&lt;a href=&#34;https://wikimediafoundation.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Wikimedia Foundation&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
