<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Rik Voorhaar — Blog</title><description>Articles about data science, mathematics, and programming</description><link>https://rikvoorhaar.com/</link><language>en</language><item><title>Introducing the IJ Programming Language</title><link>https://rikvoorhaar.com/blog/ijzer/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/ijzer/</guid><description>I made an array programming language as a language extension to Rust</description><pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate></item><item><title>My self-hosting journey</title><link>https://rikvoorhaar.com/blog/selfhosted/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/selfhosted/</guid><description>Self-hosting your own cloud services not only saves money, it is also a great way to learn</description><pubDate>Thu, 01 Aug 2024 00:00:00 GMT</pubDate></item><item><title>On Kalman filters and how I made them 20x faster using Rust</title><link>https://rikvoorhaar.com/blog/ukf/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/ukf/</guid><description>In my first dive into Rust, I implemented an unscented Kalman filter in and made it 20x faster than the equivalent Python implementation.</description><pubDate>Sat, 07 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Dev log: interactive website dashboard</title><link>https://rikvoorhaar.com/blog/dashboard/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/dashboard/</guid><description>I made an interactive dashboard for this website, and here is the story of how I did it.</description><pubDate>Mon, 01 May 2023 00:00:00 GMT</pubDate></item><item><title>My thesis in a nutshell</title><link>https://rikvoorhaar.com/blog/thesis/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/thesis/</guid><description>Read this blog post if you&apos;re curious what I worked on during my PhD!</description><pubDate>Sun, 26 Feb 2023 00:00:00 GMT</pubDate></item><item><title>GMRES: or how to do fast linear algebra</title><link>https://rikvoorhaar.com/blog/gmres/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/gmres/</guid><description>Linear least-squares system pop up everywhere, and there are many fast way to solve them. We&apos;ll be looking at one such way: GMRES.</description><pubDate>Tue, 29 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Machine learning with discretized functions and tensors</title><link>https://rikvoorhaar.com/blog/discrete_function_tensor/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/discrete_function_tensor/</guid><description>We recently made a paper about supervised machine learning using tensors, here&apos;s the gist of how this works.</description><pubDate>Thu, 10 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Low-rank matrices: using structure to recover missing data</title><link>https://rikvoorhaar.com/blog/low_rank_matrix/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/low_rank_matrix/</guid><description>A lot of data is naturally of &apos;low rank&apos;. I will explain what this means, and how to exploit this fact.</description><pubDate>Sun, 26 Sep 2021 00:00:00 GMT</pubDate></item><item><title>How to edit Microsoft Word documents in Python</title><link>https://rikvoorhaar.com/blog/python_docx/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/python_docx/</guid><description>Parsing and editing Word documents automatically can be extremely useful, but doing it in Python is not that straightforward.</description><pubDate>Sun, 29 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Blind deconvolution #4: Blind deconvolution</title><link>https://rikvoorhaar.com/blog/deconvolution_part4/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/deconvolution_part4/</guid><description>Finally, let&apos;s look at how we can automatically sharpen images, without knowing how they were blurred in the first place.</description><pubDate>Mon, 31 May 2021 00:00:00 GMT</pubDate></item><item><title>Blind Deconvolution #3: More about non-blind deconvolution</title><link>https://rikvoorhaar.com/blog/deconvolution_part3/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/deconvolution_part3/</guid><description>Deconvolving and sharpening images is actually pretty tricky. Let&apos;s have a look at some more advanced methods for deconvolution.</description><pubDate>Sun, 02 May 2021 00:00:00 GMT</pubDate></item><item><title>Blind Deconvolution #2: Image Priors</title><link>https://rikvoorhaar.com/blog/deconvolution_part2/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/deconvolution_part2/</guid><description>In order to automatically sharpen images, we need to first understand how a computer can judge how &apos;natural&apos; an image looks.</description><pubDate>Fri, 09 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Blind Deconvolution #1: Non-blind Deconvolution</title><link>https://rikvoorhaar.com/blog/deconvolution_part1/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/deconvolution_part1/</guid><description>Deconvolution is one of the cornerstones of image processing. Let&apos;s take a look at how it works.</description><pubDate>Sat, 13 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Time series analysis of my email traffic</title><link>https://rikvoorhaar.com/blog/email_datetime/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/email_datetime/</guid><description>I have 15 years worth of email traffic data, let&apos;s take a closer look and discover some fascinating patterns.</description><pubDate>Sat, 13 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Modeling uncertainty in exam scores</title><link>https://rikvoorhaar.com/blog/bayes_exam/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/bayes_exam/</guid><description>We use exams to determine how much a student knows, but exams aren&apos;t perfect. How can we estimate the uncertainty in students&apos; exams scores?</description><pubDate>Mon, 09 Nov 2020 00:00:00 GMT</pubDate></item><item><title>How big should my validation set be?</title><link>https://rikvoorhaar.com/blog/validation_size/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/validation_size/</guid><description>Cross validation is extremely important, but how should we choose the size of our validation and test sets?</description><pubDate>Wed, 26 Aug 2020 00:00:00 GMT</pubDate></item><item><title>How do my music preferences evolve?</title><link>https://rikvoorhaar.com/blog/lastfm/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/lastfm/</guid><description>I use last.fm to track my music listening. Let&apos;s look at my data to discover how my musical preferences evolve over time.</description><pubDate>Wed, 12 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Is my data normal?</title><link>https://rikvoorhaar.com/blog/normal_data/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/normal_data/</guid><description>Normally distributed data is great, but how do you know whether your data is normally distributed?</description><pubDate>Mon, 10 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Bias in figure skating judging</title><link>https://rikvoorhaar.com/blog/figure_skating/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/figure_skating/</guid><description>Judging in figure skating is biased. Let&apos;s use data science to figure out just how bad the issue is.</description><pubDate>Sat, 20 Jun 2020 00:00:00 GMT</pubDate></item><item><title>First post</title><link>https://rikvoorhaar.com/blog/first_post/</link><guid isPermaLink="true">https://rikvoorhaar.com/blog/first_post/</guid><description>My first post in this blog</description><pubDate>Fri, 19 Jun 2020 00:00:00 GMT</pubDate></item></channel></rss>