<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Sophie Bosio</title>
    <link>https://sophiebos.io/</link>
    <description>Recent content on Sophie Bosio</description>
    <generator>Hugo -- 0.150.0</generator>
    <language>en</language>
    <lastBuildDate>Tue, 23 Sep 2025 23:57:00 +0200</lastBuildDate>
    <atom:link href="https://sophiebos.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Interactive Development: Pair Programming and the REPL</title>
      <link>https://sophiebos.io/posts/pair-programming-and-the-repl/</link>
      <pubDate>Tue, 23 Sep 2025 23:57:00 +0200</pubDate>
      <guid>https://sophiebos.io/posts/pair-programming-and-the-repl/</guid>
      <description>&lt;p&gt;There is no best way to learn programming, but if I were going to pick a favourite, I&amp;rsquo;d probably choose pair programming.&lt;/p&gt;
&lt;p&gt;In my team at work, we do a fair bit of it. Pairing is different with every partner, so it&amp;rsquo;s difficult to define it or really talk about specifics, and I&amp;rsquo;ve had a hard time formulating what I like about it so much.&lt;/p&gt;
&lt;p&gt;After thinking about it for a while, I realised that it might be the interactivity of it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Emacs LSP-Mode For Clojure</title>
      <link>https://sophiebos.io/posts/lsp-mode-for-clojure/</link>
      <pubDate>Tue, 17 Sep 2024 22:42:00 +0200</pubDate>
      <guid>https://sophiebos.io/posts/lsp-mode-for-clojure/</guid>
      <description>&lt;p&gt;I use &lt;a href=&#34;https://clojure.org/&#34;&gt;Clojure&lt;/a&gt; on the backend &lt;a href=&#34;https://www.ardoq.com/&#34;&gt;where I work&lt;/a&gt;. I think it&amp;rsquo;s really fun, especially in combination with Emacs, since Emacs is built with Emacs Lisp and Clojure is a Lisp dialect. So many of Emacs&amp;rsquo; default keybindings started clicking for me once I started working with a language in the same tradition, editing structurally and by semantic units rather than line-by-line or character-by-character. I&amp;rsquo;m not alone in loving both and there&amp;rsquo;s clearly a lot of overlap between the two communities, which is evident from the number of Clojure packages for Emacs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building Your First Emacs Config</title>
      <link>https://sophiebos.io/posts/first-emacs-config/</link>
      <pubDate>Thu, 21 Dec 2023 23:29:00 +0100</pubDate>
      <guid>https://sophiebos.io/posts/first-emacs-config/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;Emacs&lt;/a&gt; is a wonderful piece of software. It&amp;rsquo;s easily my favourite program of all
time. It can also be a little overwhelming to configure for the first time.&lt;/p&gt;
&lt;p&gt;One of the many things that make Emacs great, though, is its dedicated and
helpful user base. I hope to add a small contribution to that community with
this post, going over what I would have told my past self as I was just starting
out using Emacs and trying to write my first Emacs configuration file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prettifying Emacs Org Mode</title>
      <link>https://sophiebos.io/posts/prettifying-emacs-org-mode/</link>
      <pubDate>Thu, 10 Aug 2023 22:19:00 +0200</pubDate>
      <guid>https://sophiebos.io/posts/prettifying-emacs-org-mode/</guid>
      <description>&lt;p&gt;In my opinion, the power of Emacs is that you&amp;rsquo;re able to program your own
working environment. Other editors may be just as, or possibly more, efficient
to use, but I haven&amp;rsquo;t come across any that give you control over as many aspects
of your editor as Emacs does. Customising and tweaking your configuration may be an
endless endeavour, but it&amp;rsquo;s also a highly rewarding one.&lt;/p&gt;
&lt;p&gt;All that being said, I was inspired to tweak the look of my Org Mode setup,
especially after reading the blog post
&lt;a href=&#34;https://zzamboni.org/post/beautifying-org-mode-in-emacs/&#34;&gt;Beautifying
Org Mode in Emacs&lt;/a&gt;. Below you can find screenshots and code. I
hope there&amp;rsquo;s something in here that you might want to steal for your own config!
In case I change these settings later, my most recently updated config is always
available on my &lt;a href=&#34;https://github.com/SophieBosio/.emacs.d&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://sophiebos.io/about/</link>
      <pubDate>Thu, 08 Jun 2023 17:43:00 +0200</pubDate>
      <guid>https://sophiebos.io/about/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m Sophie! I was born in Oslo in 1999, and after some moving back and forth
for my studies, I&amp;rsquo;m back in my home city.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m very interested in programming, coffee, natural languages, and music.&lt;/p&gt;
&lt;p&gt;Currently, I&amp;rsquo;m working as a software engineer at &lt;a href=&#34;https://www.ardoq.com/&#34;&gt;Ardoq&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I recently graduated with an MSc from the University of Oslo, where I wrote my thesis on &lt;a href=&#34;https://medium.com/criteo-engineering/introduction-to-property-based-testing-f5236229d237&#34;&gt;property-based
testing&lt;/a&gt;. I designed and implemented a small functional language called &lt;a href=&#34;https://github.com/SophieBosio/contra&#34;&gt;Contra&lt;/a&gt;, which has native support for defining properties and a built-in property-checker. It&amp;rsquo;s capable of automatically generating counterexamples, even for user-defined algebraic data types, using SMT solving.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Education</title>
      <link>https://sophiebos.io/education/</link>
      <pubDate>Thu, 08 Jun 2023 14:48:00 +0200</pubDate>
      <guid>https://sophiebos.io/education/</guid>
      <description>&lt;h2 id=&#34;msc&#34;&gt;MSc&lt;/h2&gt;
&lt;p&gt;I have a master&amp;rsquo;s degree in &lt;a href=&#34;https://www.uio.no/studier/program/informatikk-programmering-master/&#34;&gt;Programming and System Architecture&lt;/a&gt; from the &lt;a href=&#34;https://www.uio.no/&#34;&gt;University of Oslo&lt;/a&gt;, Norway, with a specialisation in software. 🌱&lt;/p&gt;
&lt;p&gt;My thesis project and thesis text are available on &lt;a href=&#34;https://github.com/SophieBosio/contra&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The courses I have taken at UiO are briefly summarised below.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Courses in Programming and System Architecture at UiO (in order of attendance)&lt;/summary&gt;
&lt;div class=&#34;details&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.uio.no/studier/emner/matnat/ifi/IN5130/index-eng.html&#34;&gt;IN5130&lt;/a&gt; - Modelling Unassailable IT-Systems&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.uio.no/studier/emner/matnat/ifi/IN5170/index-eng.html&#34;&gt;IN5170&lt;/a&gt; - Models of Concurrency&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.uio.no/studier/emner/matnat/its/TEK5510/index-eng.html&#34;&gt;TEK5510&lt;/a&gt; - Security in Operating Systems and Software&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.uio.no/studier/emner/matnat/ifi/IN5570/index-eng.html&#34;&gt;IN5570&lt;/a&gt; - Distributed Objects&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.uio.no/studier/emner/matnat/ifi/IN5580/&#34;&gt;IN5580&lt;/a&gt; - Computability Theory&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.uio.no/studier/emner/matnat/ifi/INF5110/&#34;&gt;INF5110&lt;/a&gt; - Compiler Construction&lt;/li&gt;
&lt;li&gt;Special Curriculum - Advanced Functional Programming, Semantics, and Types&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id=&#34;bsc&#34;&gt;BSc&lt;/h2&gt;
&lt;p&gt;I have a bachelor&amp;rsquo;s degree in &lt;a href=&#34;https://www.uib.no/en/studies/BASV-KOGNI&#34;&gt;Cognitive Science&lt;/a&gt; from the &lt;a href=&#34;https://www.uib.no/&#34;&gt;University of Bergen&lt;/a&gt;, Norway.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Static Site Generation with Hugo</title>
      <link>https://sophiebos.io/posts/hugo/</link>
      <pubDate>Thu, 08 Jun 2023 12:18:00 +0200</pubDate>
      <guid>https://sophiebos.io/posts/hugo/</guid>
      <description>&lt;p&gt;This website is built with &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt; and &lt;a href=&#34;https://ox-hugo.scripter.co/&#34;&gt;&lt;code&gt;ox-hugo&lt;/code&gt;&lt;/a&gt;, an exporting engine that lets me
write my posts in &lt;a href=&#34;https://orgmode.org/&#34;&gt;Org mode&lt;/a&gt; and then put it online easily.&lt;/p&gt;
&lt;p&gt;Org mode is a really clever and powerful plain text format that works great for note
taking, text editing, and TODO lists/agendas. Moreover, there are a lot of
convenient features for us Emacs users when using &lt;code&gt;ox-hugo&lt;/code&gt; to write our blogs
(besides staying in the comfort of a well-known format and editing flow).&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
