<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blogs on Marten Lienen</title><link>https://martenlienen.com/blog/</link><description>Recent content in Blogs on Marten Lienen</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 20 Mar 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://martenlienen.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>What is dϐ in an SDE?</title><link>https://martenlienen.com/blog/what-is-dbeta/</link><pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/what-is-dbeta/</guid><description>&lt;p&gt;In the following, I give you my basic understanding of stochastic differential equations (SDEs) that I gathered from chapter 4 of &lt;a href="https://www.cambridge.org/core/books/applied-stochastic-differential-equations/6BB1B8B0819F8C12616E4A0C78C29EAA"&gt;Applied Stochastic Differential Equations by Särkkä &amp;amp; Solin&lt;/a&gt;. This text follows their structure and flow but I write out some parts in more detail to aid my own understanding.
&lt;span class="sidenote-number"&gt;&lt;span class="sidenote"&gt;
and skip several things not directly related to the understanding of SDEs I am after
&lt;/span&gt;&lt;/span&gt;
The book is a great practical introduction to the numerical solution of SDEs and the theory behind the continuous-time Kalman filter.&lt;/p&gt;</description></item><item><title>80/20 LaTeX Snippets to Polish Your Papers</title><link>https://martenlienen.com/blog/latex-80-20/</link><pubDate>Sat, 26 Oct 2024 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/latex-80-20/</guid><description>&lt;figure&gt;&lt;img src="https://martenlienen.com/latex-80-20/drake.webp"
 alt="Drake meme visualizing the advice in the post" width="100%"&gt;
&lt;/figure&gt;

&lt;p&gt;Making latex documents look great, while satisfying, is generally a painful experience.
&lt;span class="sidenote-number"&gt;&lt;span class="sidenote"&gt;
It would probably be a lot more bearable and maybe even fun, if latex had a sane scripting language like &lt;a href="https://typst.app/"&gt;typst&lt;/a&gt;.
&lt;/span&gt;&lt;/span&gt;
However, I have a handful of snippets that require no tweaking but immediately make your documents look more polished.&lt;/p&gt;
&lt;p&gt;First, use the &lt;code&gt;pdfusetitle&lt;/code&gt; option with hyperref. This puts the title of your paper into the metadata of the PDF file. Then, when somebody downloads your paper from arxiv, the tab title will be the actual title of your paper instead of &lt;code&gt;2006.09011v2.pdf&lt;/code&gt;. See &lt;a href="https://arxiv.org/pdf/2306.01776"&gt;this paper&lt;/a&gt; for an example.
&lt;span class="sidenote-number"&gt;&lt;span class="sidenote"&gt;
You can also put other metadata into the PDF file such as the author names or the publication venue by passing &lt;code&gt;pdfauthors&lt;/code&gt; etc to &lt;code&gt;\hypersetup&lt;/code&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Gaussian Processes are Bayesian Linear Regression</title><link>https://martenlienen.com/blog/gaussian-processes-are-bayesian-linear-regression/</link><pubDate>Sat, 23 Jan 2021 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/gaussian-processes-are-bayesian-linear-regression/</guid><description>&lt;p&gt;When I was taking classes on machine learning, I learned about SVMs and the kernel trick to get non-linear SVMs. The last slide usually said something along the lines of &amp;ldquo;you can also kernelize other methods&amp;rdquo; without giving anymore hints as to which methods this refers to that could be rewritten in terms of inner products and thus kernelized. So it came as a surprise to me when I began reading &lt;a href="http://www.gaussianprocess.org/gpml/"&gt;Gaussian Processes for Machine Learning&lt;/a&gt; and learned that not only is Bayesian linear regression (BLR) one of those methods but kernelizing it gets you Gaussian Processes (GPs).
&lt;span class="sidenote-number"&gt;&lt;span class="sidenote"&gt;
The distill journal has a &lt;a href="https://distill.pub/2019/visual-exploration-gaussian-processes/"&gt;nice visual introduction&lt;/a&gt; to GPs.
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Research Advice for Myself</title><link>https://martenlienen.com/blog/research-advice-for-myself/</link><pubDate>Sat, 04 Apr 2020 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/research-advice-for-myself/</guid><description>&lt;p&gt;It has not even been half a year since I started my second foray into research and this time I want to do a few things differently. One of them is to follow advice from more experienced researchers such as my advisor without questioning it too much. I trust that their approach is more informed than mine and that I will progress faster as a result. A recent example is the importance of fast prototyping over first gaining a broad understanding of a method or field. I can see the reason and yet it goes against my intuition.&lt;/p&gt;</description></item><item><title>Uniform Edge Sampling from Complete k-Partite Graphs</title><link>https://martenlienen.com/blog/sampling-k-partite-graph-edges/</link><pubDate>Thu, 29 Aug 2019 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/sampling-k-partite-graph-edges/</guid><description>&lt;p&gt;This week I implemented &lt;a href="https://github.com/martenlienen/graph2gauss-pytorch"&gt;my own version&lt;/a&gt; of &lt;a href="https://github.com/abojchevski/graph2gauss"&gt;graph2gauss&lt;/a&gt;, a deep learning model for node embeddings, in PyTorch. At its core is a loss function with the following structure.&lt;/p&gt;
&lt;p&gt;\[\sum_{i = 0}^n \sum_{\scriptstyle j, k \atop\scriptstyle \operatorname{sp}(i, j) &amp;lt; \operatorname{sp}(i, k)} f(i, j, k)\]&lt;/p&gt;
&lt;p&gt;Here the inner sum iterates over all possible pairs of nodes that have a different shortest-path distance to the node \(i\). In the &lt;a href="https://openreview.net/pdf?id=r1ZdKJ-0W"&gt;paper&lt;/a&gt;, the authors derive the Monte-Carlo approximation&lt;/p&gt;</description></item><item><title>Starting a User Service on Suspend</title><link>https://martenlienen.com/blog/systemd-user-service-suspend/</link><pubDate>Sun, 11 Jun 2017 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/systemd-user-service-suspend/</guid><description>&lt;p&gt;Systemd user services are a great way to run services as your user for as long as you are logged in or also during the complete uptime of your system. Some people use it for example to manage their mpd. After learning about them, I thought that they would a great way to lock my laptop and mute any music whenever I suspend. Just put a few user services before &lt;code&gt;suspend.target&lt;/code&gt;. However, for security reasons user services are not notified of such system targets. My way around this is a system unit &lt;code&gt;user-suspend@.service&lt;/code&gt; that forwards any of the interesting targets to my user&amp;rsquo;s systemd instance.&lt;/p&gt;</description></item><item><title>From Jekyll to Nikola</title><link>https://martenlienen.com/blog/from-jekyll-to-nikola/</link><pubDate>Thu, 14 Jul 2016 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/from-jekyll-to-nikola/</guid><description>&lt;p&gt;I have recently moved my website from &lt;a href="https://jekyllrb.com/"&gt;Jekyll&lt;/a&gt; to &lt;a href="https://getnikola.com/"&gt;Nikola&lt;/a&gt;, another static site generator. The main reason was that I wanted to move from ruby to a python solution because I have pretty much stopped using ruby since I left my side job. In university python is my language of choice anyway because of its math and plotting libraries, so it makes sense to use it for scripting and my website, too.&lt;/p&gt;</description></item><item><title>Installing CyanogenMod on a Samsung Galaxy S4</title><link>https://martenlienen.com/blog/installing-cyanogenmod/</link><pubDate>Sat, 26 Dec 2015 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/installing-cyanogenmod/</guid><description>&lt;p&gt;First and foremost a &lt;strong&gt;DISCLAIMER&lt;/strong&gt; as you see them on every single post on this topic ever. The procedure described in this post &lt;em&gt;will&lt;/em&gt; void your warranty permanently and irreversibly and at the same time &lt;em&gt;may&lt;/em&gt; brick your device, meaning that it is rendered totally, unrecoverably unusable.&lt;/p&gt;
&lt;p&gt;You are interested in switching from your preinstalled and probably bloated android version to &lt;a href="http://www.cyanogenmod.org/"&gt;CyanogenMod&lt;/a&gt;. Sadly this is not as easy as you would want it to be when you have to gather every piece of this multi-step process from different blog and forum posts. In the end it turns out to consist of&lt;/p&gt;</description></item><item><title>Writing a Research Paper</title><link>https://martenlienen.com/blog/writing-a-research-paper/</link><pubDate>Wed, 20 May 2015 00:00:00 +0000</pubDate><guid>https://martenlienen.com/blog/writing-a-research-paper/</guid><description>&lt;p&gt;Prof. Simon Peyton Jones gave &lt;a href="https://sms.cam.ac.uk/media/1464870"&gt;a great talk&lt;/a&gt; about how to write a research paper. I will summarize it here, so that you can check and review the individual suggestions without skipping through the video.&lt;/p&gt;
&lt;h2 id="don-t-wait-write--0-21"&gt;Don&amp;rsquo;t wait: write (&lt;a href="https://youtu.be/g3dkRsTqdDA?t=21s"&gt;0:21&lt;/a&gt;)&lt;/h2&gt;
&lt;p&gt;Write your paper right from the beginning. It will drive your thought process and let you see more clearly, which parts need further refinement. The paper in progress also serves another way of communicating with fellow students, researchers or your advisor.&lt;/p&gt;</description></item></channel></rss>