<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Jonas Brusman</title>
  <subtitle>I like to do high fives, take photographs and make cool things with Ruby and JavaScript.</subtitle>
  <link href="https://jonas.brusman.se/rss.xml" rel="self"/>
  <link href="https://jonas.brusman.se/"/>
  <updated>2025-08-17T20:00:00Z</updated>
  <id>https://jonas.brusman.se/</id>
  <author>
    <name>Jonas Brusman</name>
  </author>
    
    <entry>
      <title>Green and Gray</title>
      <link href="https://jonas.brusman.se/green-and-gray/"/>
      <updated>2025-08-17T20:00:00Z</updated>
      <id>https://jonas.brusman.se/green-and-gray/</id>
      <content type="html">
        <![CDATA[<img src="/img/JQzk8osCEw-1200.jpeg">
        <img src="/img/jxPV0kTy_f-1200.jpeg">
        <p><em>June 2025</em></p>
<p>Some more or less nice views on my bike ride home from my mum's place.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Green and Gray">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Åhus</title>
      <link href="https://jonas.brusman.se/ahus/"/>
      <updated>2025-08-12T20:03:00Z</updated>
      <id>https://jonas.brusman.se/ahus/</id>
      <content type="html">
        <![CDATA[<img src="/img/Rg63TftafW-1200.jpeg">
        <img src="/img/Idg1cgy76k-1200.jpeg">
        <img src="/img/qUpmXv58bF-1200.jpeg">
        <img src="/img/Mai8xvThVa-1200.jpeg">
        <img src="/img/QZT5Ko8ROK-1200.jpeg">
        <img src="/img/RoGN5ZUZtO-1200.jpeg">
        <img src="/img/0FkWTJkIg5-1200.jpeg">
        <img src="/img/LNzVAyTDlM-1200.jpeg">
        <img src="/img/Guv6qQHimo-1200.jpeg">
        <img src="/img/SJw3AiLB14-1200.jpeg">
        <p>Took the caravan down to the south of Sweden and had a great time with the family in Åhus.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Åhus">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Midsummer Eve</title>
      <link href="https://jonas.brusman.se/midsummer-eve/"/>
      <updated>2025-06-24T13:20:00Z</updated>
      <id>https://jonas.brusman.se/midsummer-eve/</id>
      <content type="html">
        <![CDATA[<img src="/img/SmzEt7MS0U-1200.jpeg">
        <p>Celebrated Midsummer with friends and family in the countryside where I grew up. The photo is from our walk to my aunt's house, where we had lunch, played games, and danced around the maypole.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Midsummer Eve">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Midsummer Picnic</title>
      <link href="https://jonas.brusman.se/midsummer-picnic/"/>
      <updated>2025-06-23T16:12:00Z</updated>
      <id>https://jonas.brusman.se/midsummer-picnic/</id>
      <content type="html">
        <![CDATA[<img src="/img/WXJOlQpPIJ-1200.jpeg">
        <img src="/img/QZ-JWxyXYi-1200.jpeg">
        <img src="/img/KApNFyovYT-1200.jpeg">
        <p>Another year and <a href="https://jonas.brusman.se/gota-kanal/">another traditional bike trip</a> to my mum's place right next to Göta Canal.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Midsummer Picnic">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Now – 2025 April</title>
      <link href="https://jonas.brusman.se/now-2025-april/"/>
      <updated>2025-04-20T09:00:00Z</updated>
      <id>https://jonas.brusman.se/now-2025-april/</id>
      <content type="html">
        <![CDATA[<ul>
<li>
<p>🎧 Music – <a href="https://www.last.fm/user/himynameisjonas">Top artists the last 30 days</a></p>
<p><img src="https://jonas.brusman.se/images/top-30-artist-2025-april.png" alt="Top artists the last 30 days" /></p>
<ul>
<li><strong>Cocteau Twins</strong> 55 plays</li>
<li><strong>Broder Daniel</strong> 15 plays</li>
<li><strong>Beach House</strong> 13 plays</li>
<li><strong>The Hidden Cameras</strong> 13 plays</li>
<li><strong>Tunde Adebimpe</strong> 13 plays</li>
<li><strong>Slowdive</strong> 10 plays</li>
<li><strong>Asobi Seksu</strong> 9 plays</li>
<li><strong>Markus Krunegård</strong> 9 plays</li>
</ul>
</li>
<li>
<p>📚 Books (Follow me on <a href="https://hardcover.app/@himynameisjonas">Hardcover</a> or <a href="https://www.goodreads.com/user/show/1769297-jonas-brusman">Goodreads</a>)</p>
<ul>
<li>Currently reading <a href="https://hardcover.app/books/kallbrand/editions/31981285"><strong>Kallbrand</strong> by Cilla Börjlind and Rolf Börjlind</a>, the fifth book in the <a href="https://hardcover.app/series/ronning-stilton">Rönning &amp; Stilton series</a>.</li>
<li>Just finished the <a href="https://hardcover.app/books/sov-du-lilla-videung"><strong>Sov du lilla videung</strong> by Cilla Börjlind and Rolf Börjlind</a></li>
</ul>
</li>
<li>
<p>🎮 Games</p>
<ul>
<li>Have had super fun playing <a href="https://jonas.brusman.se/minecraft-cross-play/">Minecraft</a> with almost the whole family, everyone except Nora, who’s a bit young at just 2 years old.</li>
<li>Still playing <a href="https://www.reachthefinals.com/">The Finals</a> whenever I get the chance.</li>
<li>Had two after works/board game nights with my coworkers, playing <a href="https://boardgamegeek.com/boardgame/167791/terraforming-mars">Terraforming Mars</a> both times.</li>
<li>Bought <a href="https://boardgamegeek.com/boardgame/373106/sky-team">Sky Team</a> to <a href="https://tacocat.space/@eva">Eva</a> as a birthday present but we haven't had time to play it yet.</li>
</ul>
</li>
<li>
<p>🏢 Work</p>
<ul>
<li>Mostly been focusing on unifying our different &quot;stacks&quot; into one single frontend, i.e have <a href="https://app.teamtailor.com/">our Ember app</a> talking to different backends in different regions.</li>
</ul>
</li>
</ul>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Now – 2025 April">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>La Manga del Mar Menor</title>
      <link href="https://jonas.brusman.se/la-manga/"/>
      <updated>2025-04-18T09:00:00Z</updated>
      <id>https://jonas.brusman.se/la-manga/</id>
      <content type="html">
        <![CDATA[<img src="/img/xLo_3unEjN-1200.jpeg">
        <img src="/img/JOeYvfrywM-1200.jpeg">
        <img src="/img/zRHSSYfUtW-1200.jpeg">
        <img src="/img/_E0ghE29MM-1200.jpeg">
        <img src="/img/yr4T9i9iJP-1200.jpeg">
        <img src="/img/lawsxQTGpL-1200.jpeg">
        <p>Oct, 2024</p>
<p>Teamtailor, <a href="https://career.teamtailor.com/departments/product">my employer</a>, brought the whole team to La Manga del Mar Menor for last year's company trip. Fortunately, it was a lot more fun than the photos show.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: La Manga del Mar Menor">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Football practice</title>
      <link href="https://jonas.brusman.se/football-practice/"/>
      <updated>2025-04-08T16:28:00Z</updated>
      <id>https://jonas.brusman.se/football-practice/</id>
      <content type="html">
        <![CDATA[<img src="/img/7WitVzTfKF-1200.jpeg">
        <img src="/img/gpb6eoWBSj-1200.jpeg">
        <img src="/img/x_se1hlkIM-1200.jpeg">
        <p>Waiting for Tor's football (soccer) practice to finish.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Football practice">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Lärkstugan</title>
      <link href="https://jonas.brusman.se/larkstugan/"/>
      <updated>2025-03-16T09:24:00Z</updated>
      <id>https://jonas.brusman.se/larkstugan/</id>
      <content type="html">
        <![CDATA[<img src="/img/N-QooapnYS-1200.jpeg">
        <img src="/img/Ha3fYReBjx-1200.jpeg">
        <img src="/img/FN2VWzjhcU-1200.jpeg">
        <img src="/img/A1ihxPFM6J-1200.jpeg">
        <img src="/img/zVPVcu7Wbb-1200.jpeg">
        <p>My kids and I visited my brother-in-law, and I took a walk with my youngest in the stroller.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Lärkstugan">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Minecraft cross-play between Playstation, Switch and Mac</title>
      <link href="https://jonas.brusman.se/minecraft-cross-play/"/>
      <updated>2025-03-15T17:35:00Z</updated>
      <id>https://jonas.brusman.se/minecraft-cross-play/</id>
      <content type="html">
        <![CDATA[<p>My wife, friends, and I used to play Minecraft together, but we haven't done that in years, like since we had kids. Now the kids are old enough to play Minecraft themselves, and we want to play together again as a family.</p>
<p>The problem is that the kids play on a PlayStation 5 and a Nintendo Switch, while we parents play on Mac computers, and Minecraft doesn't support cross-play between the Bedrock (consoles) and Java Edition (Mac/PC).</p>
<h2>Enter Geyser</h2>
<p><a href="https://geysermc.org/">Geyser</a> is a plugin for the Java Edition that allows Bedrock Edition clients to join the Java Edition server. See their <a href="https://geysermc.org/wiki/geyser/setup/">Setup Instructions</a> for how to install it. I did a quick evaluation/comparison of the <a href="https://geysermc.org/wiki/geyser/supported-hosting-providers">listed hosting providers</a> and found that <a href="https://cloudnord.net/aff.php?aff=40">CloudNord hosting</a> has built in support for Geyser.</p>
<blockquote>
<p>I've been a very happy CloudNord customer for my Minecraft hosting. If you're looking for Minecraft server hosting, you can use <a href="https://cloudnord.net/aff.php?aff=40">my affiliate link</a> to sign up - and I'll receive some hosting credits.</p>
</blockquote>
<p>You will also probably need to install the <a href="https://geysermc.org/wiki/floodgate/">Floodgate extension</a>; it handles some account-specific things between Bedrock and Java Edition players.</p>
<h2>Connecting to the Server</h2>
<p>It is still a <a href="https://geysermc.org/wiki/geyser/using-geyser-with-consoles">bit complicated</a> to connect to a Java server from Switch/PlayStation when Geyser is up and running, but there's a nice solution for that as well: the <a href="https://github.com/MCXboxBroadcast/Broadcaster">MCXboxBroadcast Geyser extension</a>. That uses an Xbox Live account, and every friend of that account will see it as online on the server, which makes it easy to join the server from both Switch and PlayStation. I created a new dummy account for this purpose and made sure to befriend everyone who should be able to join the server.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Minecraft cross-play between Playstation, Switch and Mac">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Webmentions</title>
      <link href="https://jonas.brusman.se/webmentions/"/>
      <updated>2025-03-15T08:30:00Z</updated>
      <id>https://jonas.brusman.se/webmentions/</id>
      <content type="html">
        <![CDATA[<p>I came across a <a href="https://ttntm.me/blog/implementing-webmentions/">blog post by Tom where he discusses his simple webmention implementation in Eleventy</a>.</p>
<p>I decided to do something similar for this site, so now each post includes webmention statistics instead of the already existing stats from the Fediverse.</p>
<p>I made <a href="https://github.com/himynameisjonas/jonas.brusman.se/commit/263ab9bc0894421ebebaa75f8e92b8aa8aa91fed#diff-8b43a81e37dfe07b699be671ac44b58fece73e27f8dbc2e1fda99c0e13ffec90R24-R26">one small change</a> to the webmention fetch function by combining <code>mention-of</code> and <code>in-reply-to</code> numbers.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Webmentions">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>How to fix a non-opening electric door on the passenger side of a Volkswagen Sharan after replacing the 12V battery</title>
      <link href="https://jonas.brusman.se/volkswagen-sharan-door-issue/"/>
      <updated>2025-02-24T20:24:00Z</updated>
      <id>https://jonas.brusman.se/volkswagen-sharan-door-issue/</id>
      <content type="html">
        <![CDATA[<p><em>I thought the fix was so weird that I decided to write a blog post about it.</em></p>
<p>Have you ever wondered why the electric door on the passenger side of the Volkswagen Sharan won't open after you've fitted a new battery? Neither had I until last week when I picked up my car from the mechanic and noticed that the door button was blinking, and nothing happened when I pressed it. The closing mechanism was working fine after I, with quite some force, opened the door manually.</p>
<p>I asked the shop for help, but they were clueless and tried to diagnose the issue by connecting their iPad to the car's diagnostic port and running a series of tests with no luck. While they did that, I decided to do a quick search online and found a potential solution on <a href="https://www.volkswagenforum.co.uk/posts/163876/">a forum</a>. The solution is to reset the automatic window setup on the door that won't open.</p>
<h3>The solution</h3>
<ol>
<li>Using the window button on the door that won't open, open the window fully.</li>
<li>Release the button and press it again for 3 seconds.</li>
<li>Close the window fully.</li>
<li>Release the button and press it again for 3 seconds.</li>
</ol>
<p>I did this once, and the blinking stopped, and the door opened when I pressed the door button. It was a <strong>weird</strong> fix, but it worked!</p>
<hr />
<p><em>PS. I do like long blog post titles.</em></p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: How to fix a non-opening electric door on the passenger side of a Volkswagen Sharan after replacing the 12V battery">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Now – 2025 February</title>
      <link href="https://jonas.brusman.se/now-2025-february/"/>
      <updated>2025-02-24T09:00:00Z</updated>
      <id>https://jonas.brusman.se/now-2025-february/</id>
      <content type="html">
        <![CDATA[<ul>
<li>🏢 Work
<ul>
<li>I'm still enjoying my role as a <em>señor</em> developer at <a href="https://career.teamtailor.com/departments/product">Teamtailor</a>, now in my 11th year. 🚀</li>
</ul>
</li>
<li>📚 Books (Follow me on <a href="https://hardcover.app/@himynameisjonas">Hardcover</a> or <a href="https://www.goodreads.com/user/show/1769297-jonas-brusman">Goodreads</a>)
<ul>
<li>Currently reading <a href="https://hardcover.app/books/spring-tide-2012/editions/31892694">Springfloden Cilla Börjlind, Rolf Börjlind</a></li>
<li>Just finished the <a href="https://hardcover.app/series/beartown">Beartown series by Fredrik Backman</a></li>
</ul>
</li>
<li>🎮 Games
<ul>
<li><a href="https://www.reachthefinals.com/">The Finals</a></li>
<li><a href="https://boardgamegeek.com/boardgame/167791/terraforming-mars">Terraforming Mars</a></li>
</ul>
</li>
</ul>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Now – 2025 February">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Gryt</title>
      <link href="https://jonas.brusman.se/gryt/"/>
      <updated>2024-07-22T06:24:00Z</updated>
      <id>https://jonas.brusman.se/gryt/</id>
      <content type="html">
        <![CDATA[<img src="/img/uaow0aBTee-1200.jpeg">
        <img src="/img/W6N4gT88Ns-1200.jpeg">
        <p>We went on a boat trip to <a href="https://en.wikipedia.org/wiki/Harstena">Harstena</a> and on the way back we stopped at Gryt for a swim. The water was a bit cold but really refreshing.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Gryt">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Zed and Standard Ruby</title>
      <link href="https://jonas.brusman.se/zed-and-standard-ruby/"/>
      <updated>2024-07-02T18:49:00Z</updated>
      <id>https://jonas.brusman.se/zed-and-standard-ruby/</id>
      <content type="html">
        <![CDATA[<h3>Update 2024-08-30</h3>
<p>You can enable Standard formatting with the built in ruby-lsp extension in Zed. Just add this to your <code>config.json</code>:</p>
<pre class="language-json"><code class="language-json"><span class="token property">"languages"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
  <span class="token property">"Ruby"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
    <span class="token property">"language_servers"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"ruby-lsp"</span><span class="token punctuation">,</span> <span class="token string">"!solargraph"</span><span class="token punctuation">,</span> <span class="token string">"!rubocop"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
    <span class="token property">"formatter"</span><span class="token operator">:</span> <span class="token string">"language_server"</span>
  <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token property">"lsp"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
  <span class="token property">"ruby-lsp"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
    <span class="token property">"initialization_options"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
      <span class="token property">"enabledFeatures"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
        <span class="token property">"diagnostics"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
        <span class="token property">"formatting"</span><span class="token operator">:</span> <span class="token boolean">true</span>
      <span class="token punctuation">}</span><span class="token punctuation">,</span>
      <span class="token property">"formatter"</span><span class="token operator">:</span> <span class="token string">"standard"</span>
    <span class="token punctuation">}</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre>
<h1>Zed and Standard Ruby</h1>
<p>I’ve been using <strong><a href="https://zed.dev/">Zed</a></strong> as my main editor for the last two weeks or so. It feels great, lean, and fast compared to VS Code that I’ve been using for years. Last time I tried Zed, there were no possibilities to install extensions or add/customize language servers, <a href="https://zed.dev/blog/language-extensions-part-1">but this has changed</a>, and there are more and more extensions being built.</p>
<p>I missed one particular feature while working with Ruby code, <strong>formatting with <a href="https://github.com/standardrb/standard">Standard</a></strong> (<em>&quot;…a linter &amp; formatter built on RuboCop…&quot;</em>) so I set out on a mission to try to create one, <em>how hard can it be?</em></p>
<p>Turns out it was a bit harder than I thought but not too bad. You have to write Rust, which I had never done before. Luckily, there were a lot of extensions to look at, and with that, I could quite quickly throw together a working extension that wraps Standard’s language server and uses that for linting and formatting.</p>
<h2>Introducing the Standard extension for Zed</h2>
<p><img src="https://jonas.brusman.se/images/zed-standard-ruby.png" alt="Screenshot showing the Standard extension in use within Zed" /></p>
<p>Github: <strong><a href="https://github.com/himynameisjonas/zed-standardrb">himynameisjonas/zed-standardrb</a></strong></p>
<p>The implementation is quite naive, and I'm not sure if I should submit it to Zed's extension library. We'll see. But until then, you can clone/download the code and use the &quot;install dev extension&quot; feature to use it yourself.</p>
<p>To enable it, you can add this snippet to your <code>config.json</code>:</p>
<pre class="language-json"><code class="language-json"><span class="token property">"languages"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
  <span class="token property">"Ruby"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
    <span class="token property">"language_servers"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"standardrb"</span><span class="token punctuation">]</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span></code></pre>
<p>Feel free to contribute or give feedback. I'm sure there are a lot of improvements that can be made, but for now, it works for me, and I have a huge lack of time to work on it further. I hope it can be useful for someone else as well.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Zed and Standard Ruby">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Göta Kanal</title>
      <link href="https://jonas.brusman.se/gota-kanal/"/>
      <updated>2024-06-28T10:16:00Z</updated>
      <id>https://jonas.brusman.se/gota-kanal/</id>
      <content type="html">
        <![CDATA[<img src="/img/JAw_vEHvzd-1200.jpeg">
        <img src="/img/E5a_eb9jCr-1200.jpeg">
        <img src="/img/YM8nZRC4u_-1200.jpeg">
        <img src="/img/mbDom_vKJ8-1200.jpeg">
        <p>The traditional bicycle trip along the picturesque Göta Canal to my mom's place for a family picnic takes place every year on the Sunday after Midsummer.</p>
<p>Nora was riding in a child seat on my bike and screamed the whole time. She really doesn't like wind in her face, and we had a headwind the entire way there.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Göta Kanal">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Glyphhanger – subset fonts for the web</title>
      <link href="https://jonas.brusman.se/glyphhanger/"/>
      <updated>2024-05-17T19:28:00Z</updated>
      <id>https://jonas.brusman.se/glyphhanger/</id>
      <content type="html">
        <![CDATA[<p>This site uses two custom fonts, and I wanted to see if I could make them smaller to improve loading times. I found a tool called <a href="https://www.zachleat.com/web/glyphhanger/">Glyphhanger</a> that does just that: subsetting fonts to only include the characters needed.</p>
<h2>The &quot;logo&quot;</h2>
<p>The &quot;logo&quot; on this site that is set in a custom font. It felt very wasteful to load the entire font just for displaying my name. Using the following command (I used Docker to run the tool to avoid installing all dependencies on my machine), I shrunk the font file from 79KB to just 6.5KB.</p>
<pre class="language-sh"><code class="language-sh"><span class="token function">docker</span> run <span class="token parameter variable">--rm</span> <span class="token parameter variable">-v</span> <span class="token string">"./:/app"</span> talentplatforms/glyphhanger <span class="token parameter variable">--whitelist</span><span class="token operator">=</span><span class="token string">"JONAS BRUSMAN"</span> <span class="token parameter variable">--family</span><span class="token operator">=</span><span class="token string">"Tropi Land"</span> <span class="token parameter variable">--subset</span><span class="token operator">=</span>TropiLand.ttf <span class="token parameter variable">--formats</span><span class="token operator">=</span>woff2,woff,woff-zopfli <span class="token parameter variable">--css</span></code></pre>
<p>I ran the command in the directory where the font file is located. The <code>--whitelist</code> flag specifies the characters I want to include in the subset. The <code>--family</code> flag specifies the name of the font. The <code>--subset</code> flag specifies the name of the output file. The <code>--formats</code> flag specifies the formats I want to generate. The <code>--css</code> flag generates a CSS file with the <code>@font-face</code> rule that I copied and pasted into my site's CSS file.</p>
<h2>The main font</h2>
<p>The main font on this site is also a custom font. I used the following command to shrink the font file from 318KB to just 32.7KB.</p>
<pre class="language-sh"><code class="language-sh"><span class="token function">docker</span> run <span class="token parameter variable">--rm</span> <span class="token parameter variable">-v</span> <span class="token string">"./:/app"</span> talentplatforms/glyphhanger http://host.docker.internal:8080/texts/ http://host.docker.internal:8080/photos/ <span class="token parameter variable">--jsdom</span> <span class="token parameter variable">--US_ASCII</span> <span class="token parameter variable">--family</span><span class="token operator">=</span><span class="token string">"Overpass"</span> <span class="token parameter variable">--subset</span><span class="token operator">=</span>Overpass-VariableFont_wght.ttf <span class="token parameter variable">--formats</span><span class="token operator">=</span>woff2,woff,woff-zopfli <span class="token parameter variable">--css</span></code></pre>
<p>This time I used the <code>--jsdom</code> flag to make the tool visit the URLs I specified to find the characters used on the site. I ran a local server (using Eleventy) on port 8080 and pointed the tool to the URLs where the text is located. The rest of the flags are the same as in the previous command.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Glyphhanger – subset fonts for the web">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Views in Port de Sóller</title>
      <link href="https://jonas.brusman.se/views-in-port-de-soller/"/>
      <updated>2024-05-07T19:28:00Z</updated>
      <id>https://jonas.brusman.se/views-in-port-de-soller/</id>
      <content type="html">
        <![CDATA[<img src="/img/CKL87hBNeI-1200.jpeg">
        <img src="/img/CjrMlMOUCD-1200.jpeg">
        <img src="/img/fKZ5_75wNy-1200.jpeg">
        <img src="/img/aC_KPlbdpL-1200.jpeg">
        <p>Third post from this year's trip to Mallorca.</p>
<p>See also <a href="https://jonas.brusman.se/a-walk-in-port-de-soller/">A walk in Port de Sóller</a> and <a href="https://jonas.brusman.se/back-in-port-de-soller/">Back in Port de Sóller</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Views in Port de Sóller">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>A walk in Port de Sóller</title>
      <link href="https://jonas.brusman.se/a-walk-in-port-de-soller/"/>
      <updated>2024-05-04T19:28:00Z</updated>
      <id>https://jonas.brusman.se/a-walk-in-port-de-soller/</id>
      <content type="html">
        <![CDATA[<img src="/img/g7_fdnzGSd-1200.jpeg">
        <img src="/img/MIEc9YoszC-1200.jpeg">
        <img src="/img/RQmLbv71nx-1200.jpeg">
        <img src="/img/PmkzFMuaiS-1200.jpeg">
        <img src="/img/oRJuDF8BOs-1200.jpeg">
        <p>Went for a walk around Port de Sóller on <a href="https://jonas.brusman.se/back-in-port-de-soller/">the work-away trip two of weeks ago</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: A walk in Port de Sóller">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Back in Port de Sóller</title>
      <link href="https://jonas.brusman.se/back-in-port-de-soller/"/>
      <updated>2024-04-28T17:30:00Z</updated>
      <id>https://jonas.brusman.se/back-in-port-de-soller/</id>
      <content type="html">
        <![CDATA[<img src="/img/DafjSyUQQk-1200.jpeg">
        <img src="/img/HVyMS9AzF6-1200.jpeg">
        <img src="/img/MafEF_FrpW-1200.jpeg">
        <img src="/img/hpWsv9WXLd-1200.jpeg">
        <p>Went back to Port de Sóller for <a href="https://jonas.brusman.se/workaway-port-de-soller/">another workaway trip</a>. We tried to find a different place to stay but ended up at the same place as last time. It's a nice house, so we're not complaining. As last time, we had a great time, got a lot of work done, cooked good food, and enjoyed, as seen in one of the pictures, a lot of Jamón ibérico.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Back in Port de Sóller">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Farewell Inter, Hello Overpass and Tropi Land</title>
      <link href="https://jonas.brusman.se/farewell-inter-hello-overpass-and-tropi-land/"/>
      <updated>2024-03-19T06:54:00Z</updated>
      <id>https://jonas.brusman.se/farewell-inter-hello-overpass-and-tropi-land/</id>
      <content type="html">
        <![CDATA[<p>I got, <em>as usual</em>, bored with the previous design of this site, so I decided to change it. This is something that happens from time to time and it gives me the chance to experiment with new things.</p>
<h2>Some <s>more or</s> less notable changes</h2>
<ul>
<li>New colors which I found on <a href="https://tacocat.space/@randomColorContrasts@botsin.space">@randomColorContrasts@botsin.space</a>.</li>
<li>Trying out <a href="https://openheart.fyi/">Open Heart Protocol</a> buttons on each post, a tiny heart button to show appreciation for the post. Found out about it from <a href="https://www.benji.dog/articles/interactions-or-reactions/">benji</a>.</li>
<li>Removed <a href="https://rsms.me/inter/">Inter</a> and replaced it with two new fonts:
<ul>
<li>Added <a href="https://www.fontspace.com/tropi-land-font-f101440">Tropi Land</a> as the custom font for the &quot;logo&quot; to give it a more playful look.</li>
<li>Added <a href="https://overpassfont.org/">Overpass</a> as the main font for the site.</li>
<li>Used <a href="https://github.com/zachleat/glyphhanger">Glyphhanger</a> to subset the fonts to only the characters used on the site. Overpass went from 310.95 KB to 31.98 KB and Tropi Land from 77.11 KB to 6.42 KB.</li>
</ul>
</li>
<li>Renamed Notes to <a href="https://jonas.brusman.se/articles/">Articles</a>, not sure if that will stick but notes sounded too much like short posts. Maybe it will come back, but as a syndication of the notes I post on <a href="https://tacocat.space/@jonas">Mastodon</a>.</li>
<li>Sprinkled some <a href="http://heroicons.com/">icons from Heroicons</a> to the main elements/navigation.</li>
<li>Replaced <a href="https://instant.page/">Instantpage</a> with <a href="https://getquick.link/">Quicklink</a> for prefetching links.</li>
<li>Setup <a href="https://vitejs.dev/">Vite</a> for js bundling with <a href="https://github.com/11ty/eleventy-plugin-vite">eleventy-plugin-vite</a>.</li>
</ul>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Farewell Inter, Hello Overpass and Tropi Land">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Introducing the new bookmarks page</title>
      <link href="https://jonas.brusman.se/introducing-the-new-bookmarks-page/"/>
      <updated>2024-03-06T07:42:06Z</updated>
      <id>https://jonas.brusman.se/introducing-the-new-bookmarks-page/</id>
      <content type="html">
        <![CDATA[<p>I have added a new page to this site: <a href="https://jonas.brusman.se/bookmarks/">Bookmarks</a>, where I will share links I find interesting or good. You can subscribe to it with its <a href="https://jonas.brusman.se/bookmarks/rss.xml">new RSS feed</a>.</p>
<p>I suppose it will include links related to my interests, such as web development, programming in general, photography, the IndieWeb, and other random things.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Introducing the new bookmarks page">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Deploy an Eleventy site to Cloudflare Pages efficiently with GitHub&#39;s action cache</title>
      <link href="https://jonas.brusman.se/deploy-eleventy-to-cloudflare-with-githubs-action-cache/"/>
      <updated>2024-02-29T00:00:00Z</updated>
      <id>https://jonas.brusman.se/deploy-eleventy-to-cloudflare-with-githubs-action-cache/</id>
      <content type="html">
        <![CDATA[<p>I have wanted to move this site from <em>Netlify</em> for a while now, but the <a href="https://www.reddit.com/r/webdev/s/2A07zZuKoQ">recent news about their bandwidth pricing</a> made me finally do it. I looked into some alternatives (like Render, Cloudflare, Vercel, etc.) and decided to go with Cloudflare Pages. I liked Cloudflare the best because of their generous free tier.</p>
<p>I connected my GitHub repository to Cloudflare Pages and had Cloudflare build and deploy the site. It worked, but was really slow due to the large photos it has to process every time it rebuilds. <strong>It took over 14 minutes to build and deploy the site</strong> 😩. Cloudflare supports build caching, but only for a few specific frameworks, and unfortunately, Eleventy is not one of them.</p>
<p>I remember reading about how <a href="https://localghost.dev/blog/how-i-deploy-my-eleventy-site-to-neocities/">Sophie Koonin deploys her site to NeoCities using GitHub Actions</a> (go read that; it is a really good write-up of how things work). Knowing that GitHub Actions has support for custom caching, I decided to do the same but with Cloudflare Pages instead of NeoCities.</p>
<h2>Deploy to Cloudflare Pages with GitHub Actions</h2>
<p>I created a GitHub Actions workflow that caches the <code>node_modules</code> and <code>.cache</code> directories, as well as the <code>img</code> directory where the photos are stored. This reduced the build time to <strong>just over 2 minutes, a 7x improvement</strong>!</p>
<h3>The full workflow</h3>
<p>This is the complete workflow as I write this post. I may have updated it since then, so please refer to the <a href="https://github.com/himynameisjonas/jonas.brusman.se/blob/master/.github/workflows/deploy.yml">source code</a> for the latest version.</p>
<pre class="language-yaml"><code class="language-yaml"><span class="token key atrule">name</span><span class="token punctuation">:</span> Build and Deploy

<span class="token key atrule">on</span><span class="token punctuation">:</span>
  <span class="token key atrule">push</span><span class="token punctuation">:</span>
    <span class="token key atrule">branches</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">"master"</span><span class="token punctuation">]</span>
  <span class="token key atrule">pull_request</span><span class="token punctuation">:</span>
    <span class="token key atrule">branches</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">"master"</span><span class="token punctuation">]</span>
  <span class="token key atrule">schedule</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> <span class="token key atrule">cron</span><span class="token punctuation">:</span> <span class="token string">"17 8 * * 6"</span>

<span class="token key atrule">jobs</span><span class="token punctuation">:</span>
  <span class="token key atrule">build</span><span class="token punctuation">:</span>
    <span class="token key atrule">name</span><span class="token punctuation">:</span> <span class="token string">"Build and Deploy"</span>
    <span class="token key atrule">runs-on</span><span class="token punctuation">:</span> ubuntu<span class="token punctuation">-</span>latest

    <span class="token key atrule">steps</span><span class="token punctuation">:</span>
      <span class="token punctuation">-</span> <span class="token key atrule">uses</span><span class="token punctuation">:</span> actions/checkout@v3
      <span class="token punctuation">-</span> <span class="token key atrule">uses</span><span class="token punctuation">:</span> actions/setup<span class="token punctuation">-</span>node@v4
        <span class="token key atrule">with</span><span class="token punctuation">:</span>
          <span class="token key atrule">node-version</span><span class="token punctuation">:</span> 20.10.0
          <span class="token key atrule">cache</span><span class="token punctuation">:</span> <span class="token string">"yarn"</span>
      <span class="token punctuation">-</span> <span class="token key atrule">run</span><span class="token punctuation">:</span> yarn install <span class="token punctuation">-</span><span class="token punctuation">-</span>frozen<span class="token punctuation">-</span>lockfile

      <span class="token punctuation">-</span> <span class="token key atrule">uses</span><span class="token punctuation">:</span> actions/cache/restore@v4
        <span class="token key atrule">id</span><span class="token punctuation">:</span> cache
        <span class="token key atrule">with</span><span class="token punctuation">:</span>
          <span class="token key atrule">path</span><span class="token punctuation">:</span> <span class="token punctuation">|</span><span class="token scalar string">
            .cache
            img</span>
          <span class="token key atrule">key</span><span class="token punctuation">:</span> 11ty<span class="token punctuation">-</span>$<span class="token punctuation">{</span><span class="token punctuation">{</span> runner.os <span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">-</span>$<span class="token punctuation">{</span><span class="token punctuation">{</span> github.run_id <span class="token punctuation">}</span><span class="token punctuation">}</span>
          <span class="token key atrule">restore-keys</span><span class="token punctuation">:</span> <span class="token punctuation">|</span><span class="token scalar string">
            11ty-${{ runner.os }}
            ${{ runner.os }}-11ty</span>

      <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> Build 11ty site
        <span class="token key atrule">run</span><span class="token punctuation">:</span> yarn build
        <span class="token key atrule">env</span><span class="token punctuation">:</span>
          <span class="token key atrule">ENABLE_ANALYTICS</span><span class="token punctuation">:</span> $<span class="token punctuation">{</span><span class="token punctuation">{</span> github.ref == 'refs/heads/master' <span class="token punctuation">}</span><span class="token punctuation">}</span>

      <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> Publish to Cloudflare Pages
        <span class="token key atrule">uses</span><span class="token punctuation">:</span> cloudflare/pages<span class="token punctuation">-</span>action@v1
        <span class="token key atrule">with</span><span class="token punctuation">:</span>
          <span class="token key atrule">apiToken</span><span class="token punctuation">:</span> $<span class="token punctuation">{</span><span class="token punctuation">{</span> secrets.CLOUDFLARE_API_TOKEN <span class="token punctuation">}</span><span class="token punctuation">}</span>
          <span class="token key atrule">accountId</span><span class="token punctuation">:</span> 8dfec48c278d5a97c93de33e072261bd
          <span class="token key atrule">projectName</span><span class="token punctuation">:</span> jonas<span class="token punctuation">-</span>brusman<span class="token punctuation">-</span>se
          <span class="token key atrule">directory</span><span class="token punctuation">:</span> dist
          <span class="token key atrule">gitHubToken</span><span class="token punctuation">:</span> $<span class="token punctuation">{</span><span class="token punctuation">{</span> secrets.GITHUB_TOKEN <span class="token punctuation">}</span><span class="token punctuation">}</span>
          <span class="token key atrule">branch</span><span class="token punctuation">:</span> $<span class="token punctuation">{</span><span class="token punctuation">{</span> github.head_ref <span class="token punctuation">|</span><span class="token punctuation">|</span> github.ref_name <span class="token punctuation">}</span><span class="token punctuation">}</span>
          <span class="token key atrule">wranglerVersion</span><span class="token punctuation">:</span> <span class="token string">"3"</span>

      <span class="token punctuation">-</span> <span class="token key atrule">uses</span><span class="token punctuation">:</span> actions/cache/save@v4
        <span class="token key atrule">with</span><span class="token punctuation">:</span>
          <span class="token key atrule">path</span><span class="token punctuation">:</span> <span class="token punctuation">|</span><span class="token scalar string">
            .cache
            img</span>
          <span class="token key atrule">key</span><span class="token punctuation">:</span> 11ty<span class="token punctuation">-</span>$<span class="token punctuation">{</span><span class="token punctuation">{</span> runner.os <span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">-</span>$<span class="token punctuation">{</span><span class="token punctuation">{</span> github.run_id <span class="token punctuation">}</span><span class="token punctuation">}</span></code></pre>
<p>The workflow does the following:</p>
<ol>
<li>Checks out the code and sets up Node.js with a specific version, enabling caching for dependencies installed with Yarn.</li>
<li>Installs dependencies using Yarn.</li>
<li>Restores cached directories for faster builds. I use the unique <code>github.run_id</code> to create a unique key for the cache so it can be updated with new content/images on every build.</li>
<li>Builds the 11ty site and sets some environment variables for the build.</li>
<li>Publishes the site to Cloudflare Pages using the <a href="https://github.com/cloudflare/pages-action">Cloudflare Pages Action</a>, specifying project details and authentication. I had to specify the branch name manually with <code>branch: ${{ github.head_ref || github.ref_name }}</code> to make it work with pull requests.</li>
<li>Caches the contents in the specified directories to speed up future builds.</li>
</ol>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Deploy an Eleventy site to Cloudflare Pages efficiently with GitHub&#39;s action cache">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Öland</title>
      <link href="https://jonas.brusman.se/oland/"/>
      <updated>2024-02-24T00:00:00Z</updated>
      <id>https://jonas.brusman.se/oland/</id>
      <content type="html">
        <![CDATA[<img src="/img/6FU4Jjf-MC-1200.jpeg">
        <img src="/img/OuNkXrGjOR-1200.jpeg">
        <img src="/img/djHz1kRFgQ-1200.jpeg">
        <img src="/img/3QKDDqbtWZ-1200.jpeg">
        <img src="/img/DXt3E3yKU2-1200.jpeg">
        <img src="/img/IL3_IDGfOh-1200.jpeg">
        <p>August 2022</p>
<p>Took the caravan and went to Öland with the family and some friends.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Öland">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Another success story with Jemalloc</title>
      <link href="https://jonas.brusman.se/another-success-story-with-jemalloc/"/>
      <updated>2023-12-27T20:17:29Z</updated>
      <id>https://jonas.brusman.se/another-success-story-with-jemalloc/</id>
      <content type="html">
        <![CDATA[<p>I recently merged a Pull Request to enable Jemalloc in our (Teamtailor's) production Rails app, and the results were impressive.</p>
<p><img src="https://photo-storage.brusman.se/jemalloc/ed1719d6225f87e3.png" alt="A graph showing memory usage before (6GB) and after (2.5GB)" /></p>
<p>After deploying Jemalloc, our app's memory usage decreased from around 6 GB to just 2.5 GB. Super nice!</p>
<p>Our next step involved switching to ARM architecture with AWS Graviton for our ECS tasks, resulting in improved performance at a lower cost. Two big wins in a short time!</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Another success story with Jemalloc">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Ruby on Rails and Docker: Jemalloc in multi-platform images</title>
      <link href="https://jonas.brusman.se/ruby-on-rails-docker-jemalloc-multi-platform-image/"/>
      <updated>2023-12-05T19:29:03Z</updated>
      <id>https://jonas.brusman.se/ruby-on-rails-docker-jemalloc-multi-platform-image/</id>
      <content type="html">
        <![CDATA[<p>Teamtailor has been <a href="https://tacocat.space/@jonas/111499803357547924">running with jemalloc in production</a> for a couple of days, <a href="https://tacocat.space/@jonas/111499996256547764">with great success</a>. Today, we wanted to try running the app on AWS's Graviton, their ARM-based CPUs, to see if we could get a better cost/performance ratio.</p>
<p>Our Docker image setup for jemalloc, based on <a href="https://gist.github.com/jjb/9ff0d3f622c8bbe904fe7a82e35152fc">a gist</a> from <a href="https://mastodon.social/@johnjoseph">John Bachir</a>, was using a hard-coded path containing a reference to <code>x86_64</code>:</p>
<pre class="language-dockerfile"><code class="language-dockerfile"><span class="token instruction"><span class="token keyword">ENV</span> LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2</span>
<span class="token instruction"><span class="token keyword">ENV</span> MALLOC_CONF=<span class="token string">"dirty_decay_ms:1000,narenas:2,background_thread:true"</span></span></code></pre>
<p>The solution I came up with to support both <code>linux/amd64</code> and <code>linux/arm64</code> was to use a symlink:</p>
<pre class="language-dockerfile"><code class="language-dockerfile"><span class="token instruction"><span class="token keyword">RUN</span> ln -s /usr/lib/*-linux-gnu/libjemalloc.so.2 /usr/lib/libjemalloc.so.2</span>
<span class="token instruction"><span class="token keyword">ENV</span> LD_PRELOAD=/usr/lib/libjemalloc.so.2</span>
<span class="token instruction"><span class="token keyword">ENV</span> MALLOC_CONF=<span class="token string">"dirty_decay_ms:1000,narenas:2,background_thread:true"</span></span></code></pre>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Ruby on Rails and Docker: Jemalloc in multi-platform images">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Party in Greece</title>
      <link href="https://jonas.brusman.se/party-in-greece/"/>
      <updated>2023-11-19T21:10:32Z</updated>
      <id>https://jonas.brusman.se/party-in-greece/</id>
      <content type="html">
        <![CDATA[<img src="/img/rP7ALgg8NJ-1200.jpeg">
        <img src="/img/Wugl-j5xcy-1200.jpeg">
        <img src="/img/0vw4BoV1-u-1200.jpeg">
        <img src="/img/tMriQjElxD-1200.jpeg">
        <p>In 2019, Teamtailor's yearly trip went to Greece. 🥳</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Party in Greece">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Hello Migadu, Goodbye Fastmail</title>
      <link href="https://jonas.brusman.se/migadu-my-new-email-provider/"/>
      <updated>2023-11-16T19:52:00Z</updated>
      <id>https://jonas.brusman.se/migadu-my-new-email-provider/</id>
      <content type="html">
        <![CDATA[<p>You might have noticed in <a href="https://jonas.brusman.se/my-default-apps-at-the-end-of-2023/">my last post</a> that I am using <a href="https://www.migadu.com/">Migadu</a> as my email service provider. Back in June, I changed my domains DNS to point to Migadu instead of Fastmail has been as worry-free as Fastmail, just cheaper. The main domain I use is based on my wife's family name, and we've got a few folks who would love to have their own <em>firstname@lastname</em> email addresses. Unfortunately, it became quite costly with my previous provider, Fastmail. So, I began exploring other options.</p>
<h2>The big win</h2>
<p>That's when I found Migadu. They have a different billing approach that works better for families like mine. Instead of charging for the number of email addresses or accounts, Migadu’s pricing depends on the volume of emails sent and received. This means I can create as many accounts, addresses, or aliases as we want without worrying about the cost.</p>
<h2>The missing stuff</h2>
<p>Migadu doesn't offer calendar or contact syncing, but I solved this by moving these functions to Apple iCloud, which is fine since I'm already in the Apple ecosystem.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Hello Migadu, Goodbye Fastmail">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>My default apps at the end of 2023</title>
      <link href="https://jonas.brusman.se/my-default-apps-at-the-end-of-2023/"/>
      <updated>2023-11-07T20:48:49Z</updated>
      <id>https://jonas.brusman.se/my-default-apps-at-the-end-of-2023/</id>
      <content type="html">
        <![CDATA[<p>After scrolling past both <a href="https://adamfortuna.com/apps-i-use-2023">Adam's</a> and <a href="https://kevquirk.com/my-default-apps-at-the-end-of-2023">Kev's</a> posts on Mastodon, in which they shared their lists of default apps for 2023, I thought it might be fun to create one myself. There's even <a href="https://defaults.rknight.me/">a list of other people's posts like this</a>.</p>
<p>📨 <strong>Mail Service:</strong> <a href="https://www.migadu.com/">Migadu</a></p>
<p>📮 <strong>Mail Client:</strong> Apple Mail</p>
<p>📝 <strong>Notes:</strong> Apple Notes &amp; <a href="https://logseq.com/">Logseq</a></p>
<p>✅ <strong>To-Do:</strong> <a href="https://culturedcode.com/things/">Things</a></p>
<p>📆 <strong>Calendar:</strong> Apple Calendar</p>
<p>🗞️ <strong>RSS service:</strong> <a href="https://feedbin.com/">Feedbin</a></p>
<p>⌨️ <strong>Launcher:</strong> <a href="https://www.raycast.com/">Raycast</a></p>
<p>🛹 <strong>Clipboard manager:</strong> <a href="https://www.raycast.com/">Raycast</a></p>
<p>☁️ <strong>Cloud storage:</strong> iCloud</p>
<p>🌅 <strong>Photo library:</strong> iCloud</p>
<p>🤳🏻 <strong>Photo editing:</strong> <a href="https://darkroom.co/">Darkroom</a></p>
<p>🌐 <strong>Web Browser:</strong> <a href="https://browser.kagi.com/">Orion</a> for browsing, <a href="https://www.mozilla.org/firefox/">Firefox</a> for web development</p>
<p>💬 <strong>Chat:</strong> <a href="https://signal.org/">Signal</a></p>
<p>🎤 <strong>Podcasts:</strong> <a href="https://overcast.fm/">Overcast</a></p>
<p>🎶 <strong>Music:</strong> <a href="https://music.apple.com/">Apple Music</a></p>
<p>🔐 <strong>Passwords:</strong> <a href="https://1password.com/">1Password</a></p>
<p>💁🏻‍♂️ <strong>Social:</strong> <a href="https://tacocat.space/@jonas">Mastodon</a></p>
<p>🐘 <strong>Mastodon:</strong> <a href="https://tapbots.com/ivory/?ref=birchtree.me">Ivory</a></p>
<p>🌤️ <strong>Weather:</strong> <a href="https://www.meetcarrot.com/weather/">Carrot Weather</a></p>
<p>🔎 <strong>Search:</strong> <a href="https://kagi.com/">Kagi</a></p>
<p>🎮 <strong>First game I play each morning:</strong> <a href="https://apps.apple.com/us/app/threes-freeplay/id976851174">Threes</a></p>
<p>👨🏻‍💻 <strong>Terminal:</strong> <a href="https://iterm2.com/">iTerm2</a></p>
<p>🧮 <strong>Code Editor:</strong> <a href="https://code.visualstudio.com/">Visual Studio Code</a></p>
<p>🛍️ <strong>Grocery List:</strong> <a href="https://www.matlistan.se/">Matlistan</a></p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: My default apps at the end of 2023">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Sicily</title>
      <link href="https://jonas.brusman.se/sicily/"/>
      <updated>2023-10-19T00:00:00Z</updated>
      <id>https://jonas.brusman.se/sicily/</id>
      <content type="html">
        <![CDATA[<img src="/img/GZQoLEeapZ-1200.jpeg">
        <img src="/img/vXclURk17y-1200.jpeg">
        <img src="/img/t3jX9UVdAM-1200.jpeg">
        <img src="/img/Cessr6lO7z-1200.jpeg">
        <p>It was time for the yearly trip with <a href="https://www.teamtailor.com/">Teamtailor</a>. This time, we went to Sicily and had a whole hotel to ourselves. It was very nice but a bit too hot for my taste. I didn't take that many photos, but here are a few.</p>
<p><em>P.S. <a href="https://career.teamtailor.com/">Come work with me</a> and join the next trip!</em></p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Sicily">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Port de Sóller</title>
      <link href="https://jonas.brusman.se/workaway-port-de-soller/"/>
      <updated>2023-08-01T00:00:00Z</updated>
      <id>https://jonas.brusman.se/workaway-port-de-soller/</id>
      <content type="html">
        <![CDATA[<img src="/img/VLFuPczlTS-1200.jpeg">
        <img src="/img/oYLaw3NbP4-1200.jpeg">
        <img src="/img/oDSZiOYLKn-1200.jpeg">
        <img src="/img/DVpUnT5twv-1200.jpeg">
        <img src="/img/BkpnFHiDBh-1200.jpeg">
        <img src="/img/IjqmSyQ_x7-1200.jpeg">
        <img src="/img/O17osI4nuL-1200.jpeg">
        <img src="/img/heSTtrpr_6-1200.jpeg">
        <img src="/img/9LIiypiQan-1200.jpeg">
        <img src="/img/TCV7KGeKrU-1200.jpeg">
        <img src="/img/YgJLsP2HFl-1200.jpeg">
        <img src="/img/oSOYecKu9A-1200.jpeg">
        <p>Port de Sóller, Mallorca, Spain, May 15-17 2023.</p>
<p>My workplace, <a href="https://teamtailor.com/">Teamtailor</a>, has a concept called &quot;Workaway,&quot; where 4-10 of us, from different offices, go on a trip for a couple of days to get together and work in person. This time we went to Mallorca and stayed in a house in Port de Sóller. We had a great time and got a lot of work done. We also had a lot of fun, ate good food, and enjoyed the sun and the pool.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Port de Sóller">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Monitor multiple Redis servers on Heroku with Datadog</title>
      <link href="https://jonas.brusman.se/heroku-redis-monitor-with-datadog/"/>
      <updated>2023-01-22T00:00:00Z</updated>
      <id>https://jonas.brusman.se/heroku-redis-monitor-with-datadog/</id>
      <content type="html">
        <![CDATA[<p>Our main Rails app on Heroku uses multiple redis instances. We have one instance for our job queue, one for caching and one instance for our session store. This is how we setup Datadog to monitor the health of our redis instances.</p>
<p>The setup is based on <a href="https://docs.datadoghq.com/agent/guide/heroku-ruby/">Datadog's article on monitoring Ruby on Rails on Heroku</a>. So we need to enable the redis integration in Datadog by adding a file at <code>datadog/conf.d/redisdb.yaml</code> with the following content:</p>
<pre class="language-yaml"><code class="language-yaml"><span class="token key atrule">init_config</span><span class="token punctuation">:</span>

<span class="token key atrule">instances</span><span class="token punctuation">:</span>
  <span class="token comment"># populated by prerun.sh</span></code></pre>
<p>Then we need to modify the <code>datadog/prerun.sh</code> script to add the redis instances to the <code>redisdb.yaml</code> file. The script is executed before the Datadog agent is started. The script looks like this:</p>
<pre class="language-bash"><code class="language-bash"><span class="token assign-left variable">redis_regex</span><span class="token operator">=</span><span class="token string">'(\w+)_URL=redis:\/\/([^:]*):([^@]+)@([^:]+):([0-9]*)$'</span>
<span class="token function">env</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token string">"REDIS.*_URL="</span> <span class="token operator">|</span> <span class="token keyword">while</span> <span class="token builtin class-name">read</span> <span class="token parameter variable">-r</span> line <span class="token punctuation">;</span> <span class="token keyword">do</span>
  <span class="token keyword">if</span> <span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token variable">$line</span> <span class="token operator">=~</span> <span class="token variable">$redis_regex</span> <span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span>
    <span class="token punctuation">{</span>
      <span class="token builtin class-name">echo</span> <span class="token string">"  - host: <span class="token variable">${<span class="token environment constant">BASH_REMATCH</span><span class="token punctuation">[</span>4<span class="token punctuation">]</span>}</span>"</span><span class="token punctuation">;</span>
      <span class="token builtin class-name">echo</span> <span class="token string">"    port: <span class="token variable">${<span class="token environment constant">BASH_REMATCH</span><span class="token punctuation">[</span>5<span class="token punctuation">]</span>}</span>"</span><span class="token punctuation">;</span>
      <span class="token builtin class-name">echo</span> <span class="token string">"    username: <span class="token variable">${<span class="token environment constant">BASH_REMATCH</span><span class="token punctuation">[</span>2<span class="token punctuation">]</span>}</span>"</span><span class="token punctuation">;</span>
      <span class="token builtin class-name">echo</span> <span class="token string">"    password: <span class="token variable">${<span class="token environment constant">BASH_REMATCH</span><span class="token punctuation">[</span>3<span class="token punctuation">]</span>}</span>"</span><span class="token punctuation">;</span>
      <span class="token builtin class-name">echo</span> <span class="token string">"    tags:"</span><span class="token punctuation">;</span>
      <span class="token builtin class-name">echo</span> <span class="token string">"      - name:<span class="token variable">${<span class="token environment constant">BASH_REMATCH</span><span class="token punctuation">[</span>1<span class="token punctuation">]</span>}</span>"</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span> <span class="token operator">>></span> <span class="token string">"<span class="token variable">$DD_CONF_DIR</span>/conf.d/redisdb.d/conf.yaml"</span>
  <span class="token keyword">fi</span>
<span class="token keyword">done</span></code></pre>
<p>It will fetch all <code>REDIS_*_URL</code> environment variables and add them to the <code>redisdb.yaml</code> file. The <code>tags</code> section is optional and can be used to add tags to the redis instance. In our case we add a tag with the name of the redis instance.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Monitor multiple Redis servers on Heroku with Datadog">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Gotland 2019</title>
      <link href="https://jonas.brusman.se/gotland-2019/"/>
      <updated>2023-01-11T00:00:00Z</updated>
      <id>https://jonas.brusman.se/gotland-2019/</id>
      <content type="html">
        <![CDATA[<img src="/img/jeDqXlObZW-1200.jpeg">
        <img src="/img/853zisq9pq-1200.jpeg">
        <p>Fårö, Gotland, 27 July 2019.</p>
<p>Celebrated my mother-in-law's 70th birthday with a week on Gotland. We stayed in a house in the middle of the island, and used our rented mini bus to explore the island. We also took a ferry to Fårö, a small island just off the coast of Gotland.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Gotland 2019">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Christmas Eve 2022</title>
      <link href="https://jonas.brusman.se/christmas/"/>
      <updated>2023-01-06T00:00:00Z</updated>
      <id>https://jonas.brusman.se/christmas/</id>
      <content type="html">
        <![CDATA[<img src="/img/vzTYcHNTfV-1200.jpeg">
        <img src="/img/-ZQ_yukUlO-1200.jpeg">
        <img src="/img/zHkAUd16tN-1200.jpeg">
        <img src="/img/_ieurRuIuJ-1200.jpeg">
        <img src="/img/m8Hepwf0Ei-1200.jpeg">
        <img src="/img/VVf5vvXgY8-1200.jpeg">
        <hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Christmas Eve 2022">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Nora Brusman</title>
      <link href="https://jonas.brusman.se/nora/"/>
      <updated>2022-12-02T00:00:00Z</updated>
      <id>https://jonas.brusman.se/nora/</id>
      <content type="html">
        <![CDATA[<img src="/img/1LjON3DAyC-1200.jpeg">
        <img src="/img/d88SZtEhUD-1200.jpeg">
        <img src="/img/j2dLhfLZCw-1200.jpeg">
        <img src="/img/N76jtIYm1b-1200.jpeg">
        <p>After three days in the maternity ward, my wonderful wife delivered our third child, a cute little baby named Nora.</p>
<ul>
<li><strong>Date of birth:</strong> 2022-11-24 01:25</li>
<li><strong>Weight:</strong> 3370kg</li>
<li><strong>Length:</strong> 49 cm</li>
<li><strong>Favorite food:</strong> Breast milk</li>
</ul>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Nora Brusman">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Late morning in bed</title>
      <link href="https://jonas.brusman.se/late-morning/"/>
      <updated>2022-10-16T00:00:00Z</updated>
      <id>https://jonas.brusman.se/late-morning/</id>
      <content type="html">
        <![CDATA[<img src="/img/RheTGm0wt9-1200.jpeg">
        <img src="/img/h1Lam4TfHj-1200.jpeg">
        <p>My pregnant wife Eva rightfully enjoying a late morning in bed.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Late morning in bed">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Teamtailor in Croatia</title>
      <link href="https://jonas.brusman.se/teamtailor-in-croatia/"/>
      <updated>2022-10-16T00:00:00Z</updated>
      <id>https://jonas.brusman.se/teamtailor-in-croatia/</id>
      <content type="html">
        <![CDATA[<img src="/img/4aJxnLDoRt-1200.jpeg">
        <img src="/img/hK-lwwpzY0-1200.jpeg">
        <img src="/img/o020l-FQh9-1200.jpeg">
        <img src="/img/iYsyltCU5L-1200.jpeg">
        <img src="/img/kRSbYR7MxO-1200.jpeg">
        <img src="/img/NJzJNNn_6L-1200.jpeg">
        <img src="/img/PHV9_fJdkw-1200.jpeg">
        <img src="/img/F8do04fHwP-1200.jpeg">
        <img src="/img/nimmLsXAvj-1200.jpeg">
        <img src="/img/DSWAe487V2-1200.jpeg">
        <img src="/img/0G40q0xKOe-1200.jpeg">
        <img src="/img/m4WyOVYgbL-1200.jpeg">
        <img src="/img/9WuV7lUjXD-1200.jpeg">
        <img src="/img/TbLws7wLN2-1200.jpeg">
        <p><a href="https://www.teamtailor.com/">Teamtailor</a>, the company I work for, brought all employees to Croatia, to a nice hotel on the Rab island. It was four days filled with great company, nice food and parties.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Teamtailor in Croatia">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Falkenberg</title>
      <link href="https://jonas.brusman.se/falkenberg/"/>
      <updated>2022-07-30T00:00:00Z</updated>
      <id>https://jonas.brusman.se/falkenberg/</id>
      <content type="html">
        <![CDATA[<img src="/img/K_7uKl4ZKn-1200.jpeg">
        <img src="/img/0mbdiz6Npb-1200.jpeg">
        <img src="/img/UCdQIRpKWW-1200.jpeg">
        <img src="/img/dZxQjDeXd7-1200.jpeg">
        <img src="/img/lTNBnzCxD1-1200.jpeg">
        <p>Went to the west coast and Falkenberg. Had a lovely time there. We went crab fishing, swam in the ocean and ate Sweden's best pizza at <a href="https://lillanapoli.se/">Lilla Napoli</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Falkenberg">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Weekend in Stockholm</title>
      <link href="https://jonas.brusman.se/weekend-in-stockholm/"/>
      <updated>2022-05-23T00:00:00Z</updated>
      <id>https://jonas.brusman.se/weekend-in-stockholm/</id>
      <content type="html">
        <![CDATA[<img src="/img/iZnqZc4rih-1200.jpeg">
        <img src="/img/Iy3IC0Wh0e-1200.jpeg">
        <img src="/img/Sl4WmbBdhn-1200.jpeg">
        <img src="/img/eu0G2GC6la-1200.jpeg">
        <img src="/img/xhmxbo6Q2A-1200.jpeg">
        <p>Me and the family took the train to Stockholm over the weekend and brought with us my in-laws. Lots of good food, some museums, friends and the occasional beer.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Weekend in Stockholm">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Mastodon: Tacocat.space</title>
      <link href="https://jonas.brusman.se/tacocat-space/"/>
      <updated>2022-05-17T00:00:00Z</updated>
      <id>https://jonas.brusman.se/tacocat-space/</id>
      <content type="html">
        <![CDATA[<p>Decided that it was time to try <a href="https://joinmastodon.org/">Mastodon</a> again and after reading <a href="https://runyourown.social/">Run your own social</a> I knew just had to setup my own instance of the <a href="https://github.com/hometown-fork/hometown">Hometown-fork</a>.</p>
<p>After spending a couple of hours to find a new domain for the Mastodon server I finally found one that was available and that I liked: meet <strong><a href="https://tacocat.space/">tacocat.space</a></strong>.</p>
<p>Feel free to follow me on Mastodon at <a href="https://tacocat.space/@jonas">@jonas@tacocat.space</a>!</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Mastodon: Tacocat.space">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Orsa Grönklitt</title>
      <link href="https://jonas.brusman.se/orsa-gronklitt/"/>
      <updated>2021-08-11T00:00:00Z</updated>
      <id>https://jonas.brusman.se/orsa-gronklitt/</id>
      <content type="html">
        <![CDATA[<img src="/img/gQ3P5bx2Jj-1200.jpeg">
        <img src="/img/kn0sHEFV6F-1200.jpeg">
        <img src="/img/hRZ5HCfBAQ-1200.jpeg">
        <img src="/img/_vKuYnmso7-1200.jpeg">
        <p>Spent a summer week in a cottage in Orsa, Sweden. Went to various tourist destinations with the family and celebrated my mother-in-law's 70th birthday.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Orsa Grönklitt">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Snow and fire</title>
      <link href="https://jonas.brusman.se/snow-and-fire/"/>
      <updated>2021-02-08T00:00:00Z</updated>
      <id>https://jonas.brusman.se/snow-and-fire/</id>
      <content type="html">
        <![CDATA[<img src="/img/s-4pl-DdIP-1200.jpeg">
        <img src="/img/Y7f5EJeGUv-1200.jpeg">
        <img src="/img/uPOek9ag9l-1200.jpeg">
        <img src="/img/Pivi8qFKZs-1200.jpeg">
        <img src="/img/qzZSq2Sk4O-1200.jpeg">
        <img src="/img/PXB8_uNx7D-1200.jpeg">
        <img src="/img/1XSxNnKQ_x-1200.jpeg">
        <img src="/img/_VqChPXXac-1200.jpeg">
        <img src="/img/7s_wkn0G0--1200.jpeg">
        <img src="/img/vMDYrNls2c-1200.jpeg">
        <p>Went out into the snow and the magical winter landscape. Lit a warming campfire, grilled some sausages, and drank hot chocolate.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Snow and fire">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Bike ride</title>
      <link href="https://jonas.brusman.se/bike-ride/"/>
      <updated>2020-11-07T00:00:00Z</updated>
      <id>https://jonas.brusman.se/bike-ride/</id>
      <content type="html">
        <![CDATA[<img src="/img/w6oc3Ob_pK-1200.jpeg">
        <img src="/img/VfHPj5-xoL-1200.jpeg">
        <img src="/img/ZjIufzIFNX-1200.jpeg">
        <p>Nice foggy morning bike ride a couple of days ago.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Bike ride">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Home assistant presence detection with Homekit and iPhone</title>
      <link href="https://jonas.brusman.se/homekit-presence-home-assistant/"/>
      <updated>2020-09-13T00:00:00Z</updated>
      <id>https://jonas.brusman.se/homekit-presence-home-assistant/</id>
      <content type="html">
        <![CDATA[<p>I wanted a basic way of tracking in <a href="https://www.home-assistant.io/">Home assistant</a> if me and/or my wife was at home or not, to be able to make my home a bit smarter. I didn't want to have an other app on my iPhone tracking my location all the time, mostly due to avoid extra battery drainage. I already have Apple's Home app installed, which can trigger stuff based on if I arrive or leave the home, perfect! Now I just needed to sync that into Home assistant.</p>
<h3>Input boolean helpers</h3>
<p>Setup a boolean input helper in Home assistant for every member of your household that has a iPhone:</p>
<pre class="language-yaml"><code class="language-yaml"><span class="token key atrule">input_boolean</span><span class="token punctuation">:</span>
  <span class="token key atrule">jonas_present</span><span class="token punctuation">:</span>
    <span class="token key atrule">name</span><span class="token punctuation">:</span> Jonas
    <span class="token key atrule">icon</span><span class="token punctuation">:</span> mdi<span class="token punctuation">:</span>account
  <span class="token key atrule">eva_present</span><span class="token punctuation">:</span>
    <span class="token key atrule">name</span><span class="token punctuation">:</span> Eva
    <span class="token key atrule">icon</span><span class="token punctuation">:</span> mdi<span class="token punctuation">:</span>account</code></pre>
<p>And here is how it looks in Home assistant:
<img src="https://photo-storage.brusman.se/home-assistant-helpers.png" alt="Home assistant helpers configuration" /></p>
<h3>Home (Homekit)</h3>
<p>First, make sure you have enable and setup <a href="https://www.home-assistant.io/integrations/homekit/">the Homekit integration</a> in Home assistant. You then need to setup some automations. One that turns the helper off when the person leaves and one that turns the helper on when they arrive home. Repeat that for every person in the household.
<img src="https://photo-storage.brusman.se/homekit-automations.png" alt="Home app automations on Mac OS" /></p>
<h3>Device tracker and Persons</h3>
<p>By now we have a working solution that we can use in our automations. But i'm not quite happy just yet, I want to connect these input helpers as <a href="https://www.home-assistant.io/integrations/device_tracker/">device trackers</a> and add them to my <a href="https://www.home-assistant.io/integrations/person/">persons in Home assistant</a>.</p>
<p>You can create an automation in Home assistant that maps the input helpers state to device trackers by using the <a href="https://www.home-assistant.io/integrations/device_tracker/#device_trackersee-service">device trackers see service</a>. That service will update or create a device tracker with the specified name. Here's my automation that create a <code>device_tracker.homekit_*</code> for every member of the household.</p>
<pre class="language-yaml"><code class="language-yaml"><span class="token punctuation">-</span> <span class="token key atrule">alias</span><span class="token punctuation">:</span> Homekit to device tracker
  <span class="token key atrule">description</span><span class="token punctuation">:</span> <span class="token string">''</span>
  <span class="token key atrule">trigger</span><span class="token punctuation">:</span>
  <span class="token punctuation">-</span> <span class="token key atrule">entity_id</span><span class="token punctuation">:</span> input_boolean.eva_present
    <span class="token key atrule">platform</span><span class="token punctuation">:</span> state
  <span class="token punctuation">-</span> <span class="token key atrule">entity_id</span><span class="token punctuation">:</span> input_boolean.jonas_present
    <span class="token key atrule">platform</span><span class="token punctuation">:</span> state
  <span class="token key atrule">condition</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
  <span class="token key atrule">action</span><span class="token punctuation">:</span>
  <span class="token punctuation">-</span> <span class="token key atrule">data_template</span><span class="token punctuation">:</span>
      <span class="token key atrule">dev_id</span><span class="token punctuation">:</span> homekit_<span class="token punctuation">{</span><span class="token punctuation">{</span> trigger.to_state.name <span class="token punctuation">}</span><span class="token punctuation">}</span>
      <span class="token key atrule">location_name</span><span class="token punctuation">:</span> '<span class="token punctuation">{</span><span class="token punctuation">{</span> ''home'' if trigger.to_state.state == ''on'' else ''not_home''
        <span class="token punctuation">}</span><span class="token punctuation">}</span>'
    <span class="token key atrule">service</span><span class="token punctuation">:</span> device_tracker.see
  <span class="token key atrule">mode</span><span class="token punctuation">:</span> parallel
  <span class="token key atrule">max</span><span class="token punctuation">:</span> <span class="token number">10</span></code></pre>
<p>You can now assign the new device tracker to the corresponding person in home assistant. First you have to make sure that you have triggered the input boolean once first to force the automation to create the new device trackers. You can toggle the inputs in the Home app on your iPhone/Mac instead of leaving your house for real.</p>
<p>Here's the final result on my lovelace dashboard:
<img src="https://photo-storage.brusman.se/home-assistant-overview.png" alt="Home assistant persons overview" /></p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Home assistant presence detection with Homekit and iPhone">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Summer vacation</title>
      <link href="https://jonas.brusman.se/summer-vacation/"/>
      <updated>2020-09-12T00:00:00Z</updated>
      <id>https://jonas.brusman.se/summer-vacation/</id>
      <content type="html">
        <![CDATA[<img src="/img/cz1VqHop2q-1200.jpeg">
        <img src="/img/fTACM8Dhfy-1200.jpeg">
        <img src="/img/WrdGYoYmdE-1200.jpeg">
        <img src="/img/TpdhoKfjTj-1200.jpeg">
        <img src="/img/OwYMYRWaeS-1200.jpeg">
        <img src="/img/rhpYtI44ss-1200.jpeg">
        <img src="/img/pAcvQJA8Vx-1200.jpeg">
        <p>We took the in-laws' caravan and headed south. Stopped at some campsites along the way before we arrived in Malmö. Here we are at a caravan campsite that was right by the sea.</p>
<p>Nybrostrand, July 2020</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Summer vacation">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Visual Studio Code: Some extensions</title>
      <link href="https://jonas.brusman.se/vs-code-extensions/"/>
      <updated>2020-05-11T00:00:00Z</updated>
      <id>https://jonas.brusman.se/vs-code-extensions/</id>
      <content type="html">
        <![CDATA[<p>Why not blog about some VS Code extensions I'm using, maybe it can inspire someone. I tried to focus on the more unique and fun ones.</p>
<h4><a href="https://marketplace.visualstudio.com/items?itemName=TabNine.tabnine-vscode">TabNine</a></h4>
<p>Mindblowing autocompletion for all languages. It uses machine learning to predict what you're typing, and it's correct almost every time.</p>
<h4><a href="https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable">Unstable Ember Language Server</a></h4>
<p>A must-have when working with Ember.js, which I do for a living at <a href="https://www.teamtailor.com/">Teamtailor</a>.</p>
<h4><a href="https://marketplace.visualstudio.com/items?itemName=wmaurer.change-case">change-case</a></h4>
<p>Quickly toggle between camelCase and snake_case. Or between over ten other cases.</p>
<h4><a href="https://marketplace.visualstudio.com/items?itemName=dakara.transformer">Transformer</a></h4>
<p>I use the <em>unique lines</em> feature quite often.</p>
<h4><a href="https://marketplace.visualstudio.com/items?itemName=Thadeu.vscode-run-rspec-file">vscode-run-rspec-file</a></h4>
<p>Quickly run a single rspec file or even a single rspec line from within VS Code.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Visual Studio Code: Some extensions">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Midsummer 2012</title>
      <link href="https://jonas.brusman.se/midsummer-2012/"/>
      <updated>2019-11-30T00:00:00Z</updated>
      <id>https://jonas.brusman.se/midsummer-2012/</id>
      <content type="html">
        <![CDATA[<img src="/img/DLTPkYV8kj-1200.jpeg">
        <img src="/img/UqyqaRYssG-1200.jpeg">
        <img src="/img/Wb9UP9AV7B-1200.jpeg">
        <img src="/img/CcA9aXPkIP-1200.jpeg">
        <img src="/img/ZeEV5GyV27-1200.jpeg">
        <img src="/img/ltCwMwHE5q-1200.jpeg">
        <p>Found some old photos from midsummer 2012. I know I've <a href="https://jonas.brusman.se/midsummer/">posted some of these before</a> but i'm more happy with these new edits.</p>
<p>Björkvis brygga, 2012</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Midsummer 2012">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Tor</title>
      <link href="https://jonas.brusman.se/tor/"/>
      <updated>2019-10-22T00:00:00Z</updated>
      <id>https://jonas.brusman.se/tor/</id>
      <content type="html">
        <![CDATA[<img src="/img/ZszFhfv55--1200.jpeg">
        <img src="/img/db4JeUcTsi-1200.jpeg">
        <img src="/img/ylUMZmJLTb-1200.jpeg">
        <img src="/img/euERp2Qo-U-1200.jpeg">
        <p>2019-08-23</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Tor">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Gotland</title>
      <link href="https://jonas.brusman.se/gotland/"/>
      <updated>2019-06-01T00:00:00Z</updated>
      <id>https://jonas.brusman.se/gotland/</id>
      <content type="html">
        <![CDATA[<img src="/img/FEjuonrOm0-1200.jpeg">
        <img src="/img/0Nu_f5jiTy-1200.jpeg">
        <img src="/img/vUqViEm-Us-1200.jpeg">
        <p>Visby harbor, Gotland, 16 July 2018.</p>
<p>Celebrated my father-in-law's 70th birthday with a week in Visby. We're <a href="https://jonas.brusman.se/gotland-2019">going back to Gotland this summer</a> to celebrate my mother-in-law's 70th birthday. This time to a cottage in the middle of the island.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Gotland">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Easter picnic</title>
      <link href="https://jonas.brusman.se/easter/"/>
      <updated>2019-04-20T00:00:00Z</updated>
      <id>https://jonas.brusman.se/easter/</id>
      <content type="html">
        <![CDATA[<img src="/img/X1rBdMCAIL-1200.jpeg">
        <img src="/img/YDyIt5oL7--1200.jpeg">
        <img src="/img/OEBzsI_RHr-1200.jpeg">
        <p>Had no plans for this Saturday, so we packed a bag, a blanket and took our bikes out for a ride. Had a picnic and just enjoyed the really nice weather.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Easter picnic">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Cache Gatsby builds on Netlify</title>
      <link href="https://jonas.brusman.se/netlify-gatsby-cache/"/>
      <updated>2019-03-22T00:00:00Z</updated>
      <id>https://jonas.brusman.se/netlify-gatsby-cache/</id>
      <content type="html">
        <![CDATA[<p>When I started moving this site from Jekyll to <a href="https://www.gatsbyjs.org/">Gatsby</a> I noticed that my deploys to <a href="https://www.netlify.com/">Netlify</a> was very slow. Mostly because I have a lot of large photos that need to be converted and optimized to different sizes. I experienced deploy times over 10 minutes and thought that there must be something to do to speed things up.</p>
<p>When I was using Jekyll I just dumped my photos cache inside the <code>node_modules</code> directory and I thought that I just could do that now too. But it felt dirty. And hacky.</p>
<p>So I search the Netlify documentation but couldn't find anything about adding files to a cache between builds until I stumble upon a comment on StackOverflow (or was it on a Github issue?) that mentioned an undocumented cache folder and that someone <a href="https://www.npmjs.com/package/gatsby-plugin-netlify-cache">already had built a Gatsby plugin</a> that simply caches the Gatsby output in that Netlify folder. A piece of cake!</p>
<ol>
<li>Install the addon by running: <code>yarn add gatsby-plugin-netlify-cache</code></li>
<li>Add <code>'gatsby-plugin-netlify-cache'</code> to the plugins list in your <code>gatsby-config.js</code> file.</li>
</ol>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Cache Gatsby builds on Netlify">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Krakow</title>
      <link href="https://jonas.brusman.se/krakow/"/>
      <updated>2019-03-19T00:00:00Z</updated>
      <id>https://jonas.brusman.se/krakow/</id>
      <content type="html">
        <![CDATA[<img src="/img/JmcLAXK3PG-1200.jpeg">
        <img src="/img/e4rq16y7MA-1200.jpeg">
        <img src="/img/mULHr46EPt-1200.jpeg">
        <img src="/img/Udobpct384-1200.jpeg">
        <img src="/img/Jt-Lm_LE4G-1200.jpeg">
        <p>Went to Krakow with work. Drank some beer, played some pinball, drank some vodka, worked, drank some more beer. Had lots of fun.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Krakow">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Snow</title>
      <link href="https://jonas.brusman.se/snow-and-family/"/>
      <updated>2019-02-04T00:00:00Z</updated>
      <id>https://jonas.brusman.se/snow-and-family/</id>
      <content type="html">
        <![CDATA[<img src="/img/q8ByZYLaft-1200.jpeg">
        <img src="/img/vf80W316Lh-1200.jpeg">
        <img src="/img/qa3UpIIN0Y-1200.jpeg">
        <p>Went out the the family and some friends to enjoy the nice weather and play in the snow with my son.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Snow">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Artipelag</title>
      <link href="https://jonas.brusman.se/artipelag/"/>
      <updated>2018-05-13T00:00:00Z</updated>
      <id>https://jonas.brusman.se/artipelag/</id>
      <content type="html">
        <![CDATA[<img src="/img/2yzDwSzoEC-1200.jpeg">
        <img src="/img/v7BA4iT47_-1200.jpeg">
        <img src="/img/ALAOEAp1z5-1200.jpeg">
        <img src="/img/cU23kUr4pV-1200.jpeg">
        <p>Took my family, and my in-laws, out for a day in the sun. Walked the nice and accessible boardwalk and had a very nice summery day.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Artipelag">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Arvid</title>
      <link href="https://jonas.brusman.se/arvid/"/>
      <updated>2017-11-28T00:00:00Z</updated>
      <id>https://jonas.brusman.se/arvid/</id>
      <content type="html">
        <![CDATA[<img src="/img/pIMXkO2rm_-1088.jpeg">
        <img src="/img/U2u_T6mCZM-1200.jpeg">
        <img src="/img/UKgc113pU3-1200.jpeg">
        <img src="/img/Ihc2koj1t2-1200.jpeg">
        <p>2017-08-08</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Arvid">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Spain</title>
      <link href="https://jonas.brusman.se/spain/"/>
      <updated>2017-11-26T00:00:00Z</updated>
      <id>https://jonas.brusman.se/spain/</id>
      <content type="html">
        <![CDATA[<img src="/img/pLBU3EtkRC-1200.jpeg">
        <img src="/img/sDJuKwuHI9-1200.jpeg">
        <img src="/img/7bkT7KEZdl-1200.jpeg">
        <img src="/img/weZ25B8sCx-1200.jpeg">
        <p>Went to Spain with Teamtailor in the beginning of September. It was pretty nice. ☀️</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Spain">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Road trip – part 2</title>
      <link href="https://jonas.brusman.se/road-trip-part-2/"/>
      <updated>2016-07-18T00:00:00Z</updated>
      <id>https://jonas.brusman.se/road-trip-part-2/</id>
      <content type="html">
        <![CDATA[<img src="/img/DGf6FBn3cQ-1200.jpeg">
        <img src="/img/ZaoOP6MDpc-1200.jpeg">
        <img src="/img/5bO1fWbFbg-1200.jpeg">
        <img src="/img/5BcUSlD4Tl-1200.jpeg">
        <img src="/img/WJWYOv824e-1200.jpeg">
        <p>More photos from our <a href="https://jonas.brusman.se/road-trip/">road trip</a>.</p>
<p>See also: <a href="https://jonas.brusman.se/road-trip/">part 1</a></p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Road trip – part 2">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Road trip</title>
      <link href="https://jonas.brusman.se/road-trip/"/>
      <updated>2016-07-12T00:00:00Z</updated>
      <id>https://jonas.brusman.se/road-trip/</id>
      <content type="html">
        <![CDATA[<img src="/img/7SvjH2l2K2-1200.jpeg">
        <img src="/img/McvehE_gV2-1200.jpeg">
        <img src="/img/FzyNKrRn5C-1200.jpeg">
        <img src="/img/BmISdsXv0x-1200.jpeg">
        <img src="/img/7szL5S6PFh-1200.jpeg">
        <img src="/img/4QhmAG6aqf-1200.jpeg">
        <p>Eva and I rented a car (our first summer with driving licenses), filled it with clothes, a tent and some food and then took off on a little road trip down the east coast of Sweden.</p>
<p>See also: <a href="https://jonas.brusman.se/road-trip-part-2/">part 2</a></p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Road trip">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Campfire</title>
      <link href="https://jonas.brusman.se/campfire/"/>
      <updated>2015-10-03T00:00:00Z</updated>
      <id>https://jonas.brusman.se/campfire/</id>
      <content type="html">
        <![CDATA[<img src="/img/wl49NoVc4u-1200.jpeg">
        <img src="/img/AmYkYuR7qh-1200.jpeg">
        <img src="/img/a-nrNtr7ju-1200.jpeg">
        <img src="/img/XD9f8ZI5Ew-1200.jpeg">
        <p>Packed Henrik’s car with a tent, beer and firewood and went camping before it got too cold outside.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Campfire">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Springtime at Sörby</title>
      <link href="https://jonas.brusman.se/spring-at-sorby/"/>
      <updated>2015-05-24T00:00:00Z</updated>
      <id>https://jonas.brusman.se/spring-at-sorby/</id>
      <content type="html">
        <![CDATA[<img src="/img/CO95YAgv4Y-1200.jpeg">
        <img src="/img/xWX19yca4R-1200.jpeg">
        <hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Springtime at Sörby">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Divshot Jekyll hosting</title>
      <link href="https://jonas.brusman.se/divshot-jekyll-hosting/"/>
      <updated>2015-04-03T00:00:00Z</updated>
      <id>https://jonas.brusman.se/divshot-jekyll-hosting/</id>
      <content type="html">
        <![CDATA[<p>I used to <a href="https://jonas.brusman.se/jekyll-heroku-unicorn/">host this site on Heroku</a> but have now moved to a platform build for static sites, or as <a href="https://divshot.com/">Divshot</a> puts it: <em>Static Web Hosting for Developers</em>. Setting up the site on Divshot was a breeze, took just a couple of seconds from when I started reading <a href="http://docs.divshot.com/integrations/jekyll">the documentation</a> to when I had the site up and running. And they even have <a href="https://divshot.com/pricing">a free plan for small sites</a> like this one.</p>
<h3>Continious deployment with CircleCI</h3>
<p>My previous setup allowed me to just push my updates to the Github repository and have Heroku pull the changes and update the site automatically. The new setup uses <a href="https://circleci.com/">CircleCI</a> to accomplish the same. Add your Divshot token to the environment variables on CircleCi (<a href="http://docs.divshot.com/integrations/circleci">more info</a>) and then tell it to deploy on successful deploy by adding this to the <code>circle.yml</code> file in the root of the repository:</p>
<pre class="language-yaml"><code class="language-yaml"><span class="token key atrule">test</span><span class="token punctuation">:</span>
  <span class="token key atrule">override</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> bundle exec jekyll build
<span class="token key atrule">deployment</span><span class="token punctuation">:</span>
  <span class="token key atrule">production</span><span class="token punctuation">:</span>
    <span class="token key atrule">branch</span><span class="token punctuation">:</span> master
    <span class="token key atrule">commands</span><span class="token punctuation">:</span>
      <span class="token punctuation">-</span> npm install <span class="token punctuation">-</span>g divshot<span class="token punctuation">-</span>cli
      <span class="token punctuation">-</span> divshot push production —token $DIVSHOT_TOKEN
  <span class="token key atrule">staging</span><span class="token punctuation">:</span>
    <span class="token key atrule">branch</span><span class="token punctuation">:</span> /(^(<span class="token punctuation">?</span><span class="token tag">!master$).*$)/</span>
    <span class="token key atrule">commands</span><span class="token punctuation">:</span>
      <span class="token punctuation">-</span> npm install <span class="token punctuation">-</span>g divshot<span class="token punctuation">-</span>cli
      <span class="token punctuation">-</span> divshot push staging —token $DIVSHOT_TOKEN</code></pre>
<p>It will deploy the <em>master branch to the production</em> environment and <em>all other branches to the staging</em> environment. All automatically when pushing to Github.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Divshot Jekyll hosting">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Älvsala</title>
      <link href="https://jonas.brusman.se/alvsala/"/>
      <updated>2015-01-22T00:00:00Z</updated>
      <id>https://jonas.brusman.se/alvsala/</id>
      <content type="html">
        <![CDATA[<img src="/img/BJnwjR8wJq-1200.jpeg">
        <img src="/img/KWG-wOBHQj-1200.jpeg">
        <hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Älvsala">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Heroku’s GitHub Integration</title>
      <link href="https://jonas.brusman.se/heroku-github-integration/"/>
      <updated>2015-01-06T00:00:00Z</updated>
      <id>https://jonas.brusman.se/heroku-github-integration/</id>
      <content type="html">
        <![CDATA[<p>Heroku has finally released <em>their own integration with Github</em>. So it’s time for me to officially retire my current solution based on my <a href="https://github.com/himynameisjonas/heroku-deployer">HerokuDeployer</a> project. An app that I build for the sole purpose of deploying this Jekyll blog with just a push to the Github repository. I’ve been using the new official Github integration as part of the closed beta for a while and it has worked flawlessly.</p>
<p>Just log in to your Heroku dashboard to <em>enable automatic deploys</em> to make Heroku build and deploy all pushes to the specified branch.</p>
<p>Read more about the new Github integration in <a href="https://devcenter.heroku.com/articles/github-integration">Heroku’s Dev Center documentation</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Heroku’s GitHub Integration">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Snow</title>
      <link href="https://jonas.brusman.se/snow/"/>
      <updated>2015-01-05T00:00:00Z</updated>
      <id>https://jonas.brusman.se/snow/</id>
      <content type="html">
        <![CDATA[<img src="/img/ivM_qEKb55-1200.jpeg">
        <img src="/img/VyfAi8G7-D-1200.jpeg">
        <p>Finally, the snow decided to show up. It came a couple of days late, it missed christmas. And of course, it’s all gone by now.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Snow">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Fields</title>
      <link href="https://jonas.brusman.se/fields/"/>
      <updated>2014-08-30T00:00:00Z</updated>
      <id>https://jonas.brusman.se/fields/</id>
      <content type="html">
        <![CDATA[<img src="/img/DcfeHumnLI-1200.jpeg">
        <img src="/img/JA6LTjb4_y-1200.jpeg">
        <p>Sörby gård and Lärkstugan in the beginning and end of the summer.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Fields">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Deploy Jekyll to Heroku with a click on a button</title>
      <link href="https://jonas.brusman.se/deploy-a-unicorn-powered-jekyll-site-to-heroku-with-a-single-button-click/"/>
      <updated>2014-08-16T00:00:00Z</updated>
      <id>https://jonas.brusman.se/deploy-a-unicorn-powered-jekyll-site-to-heroku-with-a-single-button-click/</id>
      <content type="html">
        <![CDATA[<p>I've updated my <a href="https://github.com/himynameisjonas/jekyll-heroku-unicorn"><em>Jekyll + Heroku + Unicorn</em></a> sample app to the latest version of Jekyll available (2.3.0). It now have all the latest features from Jekyll!</p>
<p>I also added a <a href="https://blog.heroku.com/archives/2014/8/7/heroku-button">Heroku Button</a>. So you can deploy your own version of the Jekyll site to a new app on your Heroku account with <em>just a single click on a button</em>. You can try it directly here on this blog by clicking the button below.</p>
<div class="text-center"><a href="https://heroku.com/deploy?template=https://github.com/himynameisjonas/jekyll-heroku-unicorn"><img src="https://www.herokucdn.com/deploy/button.png" alt="Deploy" /></a></div>
<p>Pressing this button will deploy a Unicorn powered Jekyll site to Heroku. The blog will be <em>blazingly fast and handle a heavy load</em> by using Unicorn with multiple workers on per dyno. And by only using a Dyno the hosting will be <em>completely free</em>!</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Deploy Jekyll to Heroku with a click on a button">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Hi my name is Mr. Brusman</title>
      <link href="https://jonas.brusman.se/hi-my-name-is-mr-brusman/"/>
      <updated>2014-08-14T00:00:00Z</updated>
      <id>https://jonas.brusman.se/hi-my-name-is-mr-brusman/</id>
      <content type="html">
        <![CDATA[<img src="">
        <p>Me and Eva got married for nearly two weeks ago. I took Eva's surname and is now called <em>Brusman</em> instead of Forsberg. So I thought that this was a good opportunity to tweak the typography on this site while I changed all occurrences of my previous last name.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Hi my name is Mr. Brusman">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Puttgarden</title>
      <link href="https://jonas.brusman.se/puttgarden/"/>
      <updated>2014-07-20T00:00:00Z</updated>
      <id>https://jonas.brusman.se/puttgarden/</id>
      <content type="html">
        <![CDATA[<img src="/img/BexyNat5CN-1200.jpeg">
        <img src="/img/CvarroNm-H-1200.jpeg">
        <img src="/img/HeEv4JpENh-1200.jpeg">
        <hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Puttgarden">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Planning Poker with Ember.js and Firebase</title>
      <link href="https://jonas.brusman.se/planning-poker-with-ember-and-firebase/"/>
      <updated>2014-06-10T00:00:00Z</updated>
      <id>https://jonas.brusman.se/planning-poker-with-ember-and-firebase/</id>
      <content type="html">
        <![CDATA[<p>Had some fun with <a href="http://emberjs.com/">Ember.js</a> and <a href="https://www.firebase.com/">Firebase</a> today. Tried out the <a href="https://github.com/firebase/emberFire">EmberFire</a> lib provided by Firebase to use Firebase with Ember-Data. I also used the <a href="http://iamstef.net/ember-cli/">Ember CLI</a> for the first time, can really recommend it. Wanted to see how easy it would be to build an <em>real time syncing Ember.js app</em> and then deploy it to the new and easy to use <em>Firebase hosting</em> service.</p>
<p>It resulted in a <a href="https://mnd-vote.firebaseapp.com/">simple planning poker app</a> to help with the sprint planning for my remote team. I've uploaded the <a href="https://github.com/himynameisjonas/emberfire-poker">source to Github</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Planning Poker with Ember.js and Firebase">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Berlin</title>
      <link href="https://jonas.brusman.se/berlin/"/>
      <updated>2014-06-10T00:00:00Z</updated>
      <id>https://jonas.brusman.se/berlin/</id>
      <content type="html">
        <![CDATA[<img src="/img/QS6_7WpCih-1200.jpeg">
        <img src="/img/74nMLKw4aD-1200.jpeg">
        <img src="/img/SmzbMLkVU2-1200.jpeg">
        <img src="/img/ljVJ-x9aD3-1200.jpeg">
        <img src="/img/CY7uPJPu0k-1200.jpeg">
        <img src="/img/wcdA7nannR-1200.jpeg">
        <img src="/img/Sbs6y8RBn--1200.jpeg">
        <img src="/img/gNFGBsyeC3-1200.jpeg">
        <p>Lived i <em>Berlin</em> for half a year but <a href="https://www.flickr.com/photos/himynameisjonas/sets/72157644057988491">didn't use my camera much at all</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Berlin">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Sunday walk</title>
      <link href="https://jonas.brusman.se/sunday-walk/"/>
      <updated>2013-06-09T00:00:00Z</updated>
      <id>https://jonas.brusman.se/sunday-walk/</id>
      <content type="html">
        <![CDATA[<img src="/img/0RI8gtjhXI-1200.jpeg">
        <img src="/img/sqVHWHOs6F-1200.jpeg">
        <img src="/img/EAMs5cNECl-1200.jpeg">
        <img src="/img/HWpTRCMc3c-1200.jpeg">
        <p>Took a sunday walk with Eva and David and it resulted in four new photos to my serie <a href="http://www.flickr.com/photos/himynameisjonas/sets/72157634028509533/">&quot;from behind&quot;</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Sunday walk">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Jekyll 1.0</title>
      <link href="https://jonas.brusman.se/jekyll-1-dot-0/"/>
      <updated>2013-05-27T00:00:00Z</updated>
      <id>https://jonas.brusman.se/jekyll-1-dot-0/</id>
      <content type="html">
        <![CDATA[<p>The <a href="http://jekyllrb.com/">Jekyll</a> gem have been <em>updated to 1.0</em>. So I've now updated both <a href="https://github.com/himynameisjonas/jonas.brusman.se">this site's source</a> (even made the repository open!) and my example repository for <a href="https://jonas.brusman.se/jekyll-heroku-unicorn"><em>hosting a Jekyll site on Heroku</em></a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Jekyll 1.0">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>David</title>
      <link href="https://jonas.brusman.se/david/"/>
      <updated>2013-04-30T00:00:00Z</updated>
      <id>https://jonas.brusman.se/david/</id>
      <content type="html">
        <![CDATA[<img src="/img/q8TwqU968f-1200.jpeg">
        <p>This is my brother David last December. His band, <a href="http://skogenbrinner.com/">Skogen Brinner</a> has recently released their debut album. Listen to it on <a href="http://open.spotify.com/album/5OFeO6v7W2Z9IkiRSMBaMF">Spotify</a> or <a href="https://music.apple.com/se/album/1st/1532625632?l=en">Apple music</a></p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: David">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Ice fishing</title>
      <link href="https://jonas.brusman.se/ice-fishing/"/>
      <updated>2013-04-09T00:00:00Z</updated>
      <id>https://jonas.brusman.se/ice-fishing/</id>
      <content type="html">
        <![CDATA[<img src="/img/_Sab6pqJSC-1200.jpeg">
        <img src="/img/Jr-RYPjjc7-1200.jpeg">
        <img src="/img/835Kl2peZi-1200.jpeg">
        <p>Went Ice fishing with Eva's family and some friends on the easter holiday.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Ice fishing">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>09-07-09</title>
      <link href="https://jonas.brusman.se/09-07-09/"/>
      <updated>2013-03-04T00:00:00Z</updated>
      <id>https://jonas.brusman.se/09-07-09/</id>
      <content type="html">
        <![CDATA[<img src="/img/Sqdhmwe8N3-1200.jpeg">
        <hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: 09-07-09">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Dublin – part 2</title>
      <link href="https://jonas.brusman.se/dublin-part-2/"/>
      <updated>2013-03-03T00:00:00Z</updated>
      <id>https://jonas.brusman.se/dublin-part-2/</id>
      <content type="html">
        <![CDATA[<img src="/img/47hZ13d-Yr-1200.jpeg">
        <img src="/img/h66JyPGC61-1200.jpeg">
        <p>Two more photos from <a href="https://jonas.brusman.se/dublin">the trip to Dublin</a> last November.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Dublin – part 2">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Mormor 95</title>
      <link href="https://jonas.brusman.se/mormor-95/"/>
      <updated>2013-02-23T00:00:00Z</updated>
      <id>https://jonas.brusman.se/mormor-95/</id>
      <content type="html">
        <![CDATA[<img src="/img/3BJ8PfWq2Z-1200.jpeg">
        <img src="/img/tyWK24YDv0-1200.jpeg">
        <img src="/img/GTC3aNZgqU-1200.jpeg">
        <p>My grandmother, the best grandma in the whole world turned 95 and celebrated with a party last weekend. xoxo</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Mormor 95">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Breakfast at Mynewsdesk</title>
      <link href="https://jonas.brusman.se/breakfast-at-mynewsdesk/"/>
      <updated>2013-01-02T00:00:00Z</updated>
      <id>https://jonas.brusman.se/breakfast-at-mynewsdesk/</id>
      <content type="html">
        <![CDATA[<img src="">
        <img src="">
        <img src="">
        <img src="">
        <img src="">
        <img src="">
        <img src="">
        <img src="/img/NamEi_naeM-1200.jpeg">
        <img src="/img/aX2IZ6L6HS-1200.jpeg">
        <img src="/img/bez3gk86vm-1200.jpeg">
        <img src="/img/NLP-r3BPfW-1200.jpeg">
        <img src="/img/tTlNdWu2nx-1200.jpeg">
        <img src="/img/bTDMj1F2hV-1200.jpeg">
        <img src="/img/YRdD2RPvQY-1200.jpeg">
        <img src="">
        <img src="">
        <img src="">
        <img src="">
        <img src="">
        <img src="">
        <img src="/img/so9vqKji9G-1200.jpeg">
        <img src="">
        <img src="/img/QgQ5bpvivd-1200.jpeg">
        <img src="/img/5KxTwM6raC-1200.jpeg">
        <img src="/img/KtgfRY3E-M-1200.jpeg">
        <img src="/img/b5pshFycjG-1200.jpeg">
        <img src="/img/_phBMbPQ8K-1200.jpeg">
        <img src="/img/I3fr6GwDnF-1200.jpeg">
        <img src="/img/zFSGbOeFsM-1200.jpeg">
        <img src="/img/H63T77Xh-i-1200.jpeg">
        <img src="/img/LgEDxQ-1Js-1200.jpeg">
        <img src="/img/B5qsHieHkE-1200.jpeg">
        <img src="">
        <p>Every Monday morning at 8:00 breakfast is served for the Mynewsdesk employees at our headquarter in Stockholm. It became some sort of tradition for me to take a photograph of my breakfast every morning and here’s the result from 2012’s breakfasts.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Breakfast at Mynewsdesk">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Jekyll code highlighting on Heroku</title>
      <link href="https://jonas.brusman.se/jekyll-code-highlighting-on-heroku/"/>
      <updated>2012-12-31T00:00:00Z</updated>
      <id>https://jonas.brusman.se/jekyll-code-highlighting-on-heroku/</id>
      <content type="html">
        <![CDATA[<p>The built in code highlighter in Jekyll doesn't work on Heroku due to some issues with Python. I came up with a <em>work around by using the <a href="https://rubygems.org/gems/pygmentize">Pygmentize</a> gem</em> instead.</p>
<h3>Gemfile</h3>
<p>Add the Pygmentize gem to your gemfile:</p>
<pre class="language-ruby"><code class="language-ruby">gem <span class="token string-literal"><span class="token string">'pygmentize'</span></span></code></pre>
<p>And run <code>bundle install</code></p>
<h3>_plugins/highlight.rb</h3>
<p>Create a new file in the <code>_plugins</code> directory with the name <code>highlight.rb</code>. Paste the following code to <em>make the built in code highlighter use the new Pygmentize gem</em>:</p>
<pre class="language-ruby"><code class="language-ruby"><span class="token keyword">require</span> <span class="token string-literal"><span class="token string">'pygmentize'</span></span>
<span class="token keyword">class</span> <span class="token class-name">Jekyll</span><span class="token double-colon punctuation">::</span>HighlightBlock <span class="token operator">&lt;</span> Liquid<span class="token double-colon punctuation">::</span>Block
  <span class="token keyword">def</span> <span class="token method-definition"><span class="token function">render_pygments</span></span><span class="token punctuation">(</span>context<span class="token punctuation">,</span> code<span class="token punctuation">)</span>
    <span class="token variable">@options</span><span class="token punctuation">[</span><span class="token symbol">:encoding</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string-literal"><span class="token string">'utf-8'</span></span>
    output <span class="token operator">=</span> add_code_tags<span class="token punctuation">(</span>
      Pygmentize<span class="token punctuation">.</span>process<span class="token punctuation">(</span>code<span class="token punctuation">,</span> <span class="token variable">@lang</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
      <span class="token variable">@lang</span>
    <span class="token punctuation">)</span>

    output <span class="token operator">=</span> context<span class="token punctuation">[</span><span class="token string-literal"><span class="token string">"pygments_prefix"</span></span><span class="token punctuation">]</span> <span class="token operator">+</span> output <span class="token keyword">if</span> context<span class="token punctuation">[</span><span class="token string-literal"><span class="token string">"pygments_prefix"</span></span><span class="token punctuation">]</span>
    output <span class="token operator">=</span> output <span class="token operator">+</span> context<span class="token punctuation">[</span><span class="token string-literal"><span class="token string">"pygments_suffix"</span></span><span class="token punctuation">]</span> <span class="token keyword">if</span> context<span class="token punctuation">[</span><span class="token string-literal"><span class="token string">"pygments_suffix"</span></span><span class="token punctuation">]</span>
    output
  <span class="token keyword">end</span>
<span class="token keyword">end</span></code></pre>
<h3>Use</h3>
<p>Just use the <em>standard highlight blocks as usual</em>:</p>
<pre class="language-html"><code class="language-html">``` ruby gem 'pygmentize' ```</code></pre>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Jekyll code highlighting on Heroku">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Create Jekyll posts from the command line</title>
      <link href="https://jonas.brusman.se/create-jekyll-posts-from-the-command-line/"/>
      <updated>2012-12-28T00:00:00Z</updated>
      <id>https://jonas.brusman.se/create-jekyll-posts-from-the-command-line/</id>
      <content type="html">
        <![CDATA[<p>I got <em>tired on creating new files manually</em> for each new post a write so I put together this little <em>command line task</em> with <a href="https://github.com/wycats/thor">Thor</a>.</p>
<p>It creates a new file in the <code>_posts</code> directory with <em>today's date</em>, parses the <em>parameters to command as the post's title</em> and adds that as a slug to the new file. It then writes a <em>default yaml template</em> to the file (as specified in the script).</p>
<p>Running <code>thor jekyll:new New and shiny post</code> will for example create the file <code>_posts/2012-12-28-new-and-shiny-post.md</code>, populate it with an yaml template and finally open the file in my favorite editor.</p>
<h3>How to</h3>
<p>Add the following to your Gemfile:</p>
<pre class="language-ruby"><code class="language-ruby">gem <span class="token string-literal"><span class="token string">'thor'</span></span>
gem <span class="token string-literal"><span class="token string">'stringex'</span></span></code></pre>
<p>Run <code>bundle install</code> and create a <code>jekyll.thor</code> file with the following contents:</p>
<pre class="language-ruby"><code class="language-ruby"><span class="token keyword">require</span> <span class="token string-literal"><span class="token string">"stringex"</span></span>
<span class="token keyword">class</span> <span class="token class-name">Jekyll</span> <span class="token operator">&lt;</span> Thor
  desc <span class="token string-literal"><span class="token string">"new"</span></span><span class="token punctuation">,</span> <span class="token string-literal"><span class="token string">"create a new post"</span></span>
  method_option <span class="token symbol">:editor</span><span class="token punctuation">,</span> <span class="token symbol">:default</span> <span class="token operator">=></span> <span class="token string-literal"><span class="token string">"subl"</span></span>
  <span class="token keyword">def</span> <span class="token method-definition"><span class="token function">new</span></span><span class="token punctuation">(</span><span class="token operator">*</span>title<span class="token punctuation">)</span>
    title <span class="token operator">=</span> title<span class="token punctuation">.</span>join<span class="token punctuation">(</span><span class="token string-literal"><span class="token string">" "</span></span><span class="token punctuation">)</span>
    date <span class="token operator">=</span> <span class="token builtin">Time</span><span class="token punctuation">.</span>now<span class="token punctuation">.</span>strftime<span class="token punctuation">(</span><span class="token string-literal"><span class="token string">'%Y-%m-%d'</span></span><span class="token punctuation">)</span>
    filename <span class="token operator">=</span> <span class="token string-literal"><span class="token string">"_posts/</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">date</span><span class="token delimiter punctuation">}</span></span><span class="token string">-</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">title<span class="token punctuation">.</span>to_url</span><span class="token delimiter punctuation">}</span></span><span class="token string">.md"</span></span>

    <span class="token keyword">if</span> <span class="token builtin">File</span><span class="token punctuation">.</span>exist<span class="token operator">?</span><span class="token punctuation">(</span>filename<span class="token punctuation">)</span>
      abort<span class="token punctuation">(</span><span class="token string-literal"><span class="token string">"</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">filename</span><span class="token delimiter punctuation">}</span></span><span class="token string"> already exists!"</span></span><span class="token punctuation">)</span>
    <span class="token keyword">end</span>

    puts <span class="token string-literal"><span class="token string">"Creating new post: </span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">filename</span><span class="token delimiter punctuation">}</span></span><span class="token string">"</span></span>
    open<span class="token punctuation">(</span>filename<span class="token punctuation">,</span> <span class="token string-literal"><span class="token string">'w'</span></span><span class="token punctuation">)</span> <span class="token keyword">do</span> <span class="token operator">|</span>post<span class="token operator">|</span>
      post<span class="token punctuation">.</span>puts <span class="token string-literal"><span class="token string">"---"</span></span>
      post<span class="token punctuation">.</span>puts <span class="token string-literal"><span class="token string">"templateKey: blog-post"</span></span>
      post<span class="token punctuation">.</span>puts <span class="token string-literal"><span class="token string">"title: \"</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">title</span><span class="token delimiter punctuation">}</span></span><span class="token string">\""</span></span>
      post<span class="token punctuation">.</span>puts <span class="token string-literal"><span class="token string">"tags:"</span></span>
      post<span class="token punctuation">.</span>puts <span class="token string-literal"><span class="token string">" -"</span></span>
      post<span class="token punctuation">.</span>puts <span class="token string-literal"><span class="token string">"---"</span></span>
    <span class="token keyword">end</span>

    system<span class="token punctuation">(</span>options<span class="token punctuation">[</span><span class="token symbol">:editor</span><span class="token punctuation">]</span><span class="token punctuation">,</span> filename<span class="token punctuation">)</span>
  <span class="token keyword">end</span>
<span class="token keyword">end</span></code></pre>
<p>Use the new command:</p>
<pre class="language-shell"><code class="language-shell">$ thor jekyll:new The title of the new post</code></pre>
<p>You can even specify which editor to open the new file with:</p>
<pre class="language-shell"><code class="language-shell">$ thor jekyll:new The title of the new post <span class="token parameter variable">--editor</span><span class="token operator">=</span>vim</code></pre>
<p>The default editor is Sublime Text 2, just change on line 4 in <code>jekyll.thor</code> if an other editor is preferred.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Create Jekyll posts from the command line">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Merry Christmas</title>
      <link href="https://jonas.brusman.se/merry-christmas/"/>
      <updated>2012-12-26T00:00:00Z</updated>
      <id>https://jonas.brusman.se/merry-christmas/</id>
      <content type="html">
        <![CDATA[<img src="/img/Lm0hQZzX6W-1200.jpeg">
        <p>A very cozy welcome to yesterday's turkey dinner at my sister's house.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Merry Christmas">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Kläppen</title>
      <link href="https://jonas.brusman.se/klappen/"/>
      <updated>2012-12-19T00:00:00Z</updated>
      <id>https://jonas.brusman.se/klappen/</id>
      <content type="html">
        <![CDATA[<img src="/img/KNQluRVEMN-1200.jpeg">
        <img src="/img/14poh9Wbg9-1200.jpeg">
        <img src="/img/Y38GUHgIqv-1200.jpeg">
        <p>Taken at <a href="http://www.klappen.se/">Kläppen Ski Resort</a>, January 2006.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Kläppen">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Dublin</title>
      <link href="https://jonas.brusman.se/dublin/"/>
      <updated>2012-12-12T00:00:00Z</updated>
      <id>https://jonas.brusman.se/dublin/</id>
      <content type="html">
        <![CDATA[<img src="/img/hQET_JeOnm-1200.jpeg">
        <p>Thought I might be able to shoot a bit more again and get inspiration for some nice pictures when I was in Dublin for a couple of weekends ago. But i was a little bit disappointed when i transferred the photographs to my computer. Anyway, here is a photo of Eva on a shopping street in the middle of Dublin.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Dublin">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>A sunday walk to Långsjöbadet</title>
      <link href="https://jonas.brusman.se/a-sunday-walk-to-langsjobadet/"/>
      <updated>2012-11-11T00:00:00Z</updated>
      <id>https://jonas.brusman.se/a-sunday-walk-to-langsjobadet/</id>
      <content type="html">
        <![CDATA[<img src="/img/yuFut8FgoV-1200.jpeg">
        <p>Took a walk with Eva this grey Sunday. Came to a lake with a empty beach and came home with wet shoes. Looking forward to visit that beach in the summer instead.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: A sunday walk to Långsjöbadet">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Mynewsdesk through Loopcam</title>
      <link href="https://jonas.brusman.se/mynewsdesk-through-loopcam/"/>
      <updated>2012-10-11T00:00:00Z</updated>
      <id>https://jonas.brusman.se/mynewsdesk-through-loopcam/</id>
      <content type="html">
        <![CDATA[<p><img src="https://photo-storage.brusman.se/0053.gif" alt="Stekarveven" /></p>
<p><img src="https://photo-storage.brusman.se/0048.gif" alt=":D" /></p>
<p><img src="https://photo-storage.brusman.se/0034.gif" alt="Kickoff" /></p>
<p><img src="https://photo-storage.brusman.se/0033.gif" alt="Kickoff" /></p>
<p><img src="https://photo-storage.brusman.se/0043.gif" alt="RC-car" /></p>
<p><img src="https://photo-storage.brusman.se/0011.gif" alt="Nordic Ruby" /></p>
<p>Having fun with <a href="http://loopc.am/himynameisjonas">Loopcam</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Mynewsdesk through Loopcam">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Real-time Instagram feed for SilarApp</title>
      <link href="https://jonas.brusman.se/real-time-instagram-feed-for-silarapp/"/>
      <updated>2012-08-25T00:00:00Z</updated>
      <id>https://jonas.brusman.se/real-time-instagram-feed-for-silarapp/</id>
      <content type="html">
        <![CDATA[<img src="/img/fL9kycwveA-1200.jpeg">
        <p>Working on a <em>real-time Instagram photo feed</em> for a new <a href="http://silarapp.com/">SilarApp</a> dashboard. Perfect for an event or a venue who wants to encourage the use of Instagram to increase their reach in social media.</p>
<p>And by the way, I love my kitchen table!</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Real-time Instagram feed for SilarApp">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Forest</title>
      <link href="https://jonas.brusman.se/forest/"/>
      <updated>2012-08-18T00:00:00Z</updated>
      <id>https://jonas.brusman.se/forest/</id>
      <content type="html">
        <![CDATA[<img src="/img/ITXXD6rP2P-1200.jpeg">
        <img src="/img/BVCw0KsUfs-1200.jpeg">
        <p>The last days of my summer vacation was spent at my fathers house, out in the countryside. Among other things we took a walk in the forrest to pick some chanterelles. Did not find that much mushrooms but it did not matter because I'm not so fond of it.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Forest">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>A web interface to Jekyll</title>
      <link href="https://jonas.brusman.se/web-interface-to-jekyll-with-auto-deploy-to-heroku/"/>
      <updated>2012-08-08T00:00:00Z</updated>
      <id>https://jonas.brusman.se/web-interface-to-jekyll-with-auto-deploy-to-heroku/</id>
      <content type="html">
        <![CDATA[<p>Use <a href="http://prose.io/">Prose</a>, <em>a content editor for GitHub, optimized for managing websites</em>, to get a web based interface for managing your Jekyll site (or other text-based content in your Github repositories). You can now write a new blog post or fix that typo <em>without even leaving the browser</em>. You can even specify <a href="http://prose.io/help/handbook.html#metadata_defaults">metadata defaults</a> for your posts.</p>
<p>This work really out of the box if you host your site on Github via <a href="http://pages.github.com/">Github pages</a> but if you, like me, are using Heroku you need to set up some more automation. See my previous post on how to <em><a href="https://jonas.brusman.se/deploy-to-heroku-from-github">automatically deploy to Heroku when pushing to Github</a></em>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: A web interface to Jekyll">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Vacation</title>
      <link href="https://jonas.brusman.se/vacation/"/>
      <updated>2012-07-29T00:00:00Z</updated>
      <id>https://jonas.brusman.se/vacation/</id>
      <content type="html">
        <![CDATA[<img src="/img/bRCakdgsv4-1200.jpeg">
        <p>I'm in the middle of my four-week summer vacation and it has been awesome so far. Took this photo of Eva a couple of days ago when we were visiting my mother, who lives right next to Göta Kanal.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Vacation">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Deploy to Heroku from Github</title>
      <link href="https://jonas.brusman.se/deploy-to-heroku-from-github/"/>
      <updated>2012-07-29T00:00:00Z</updated>
      <id>https://jonas.brusman.se/deploy-to-heroku-from-github/</id>
      <content type="html">
        <![CDATA[<p><em>Automatically deployment of your app to Heroku when it has been pushed to Github</em> with <a href="https://github.com/ajlai/github-heroku-pusher">github-heroku-pusher</a> by <a href="https://github.com/ajlai">ajlai on Github</a>.</p>
<p>I found this little Sinatra app a couple of days ago and have now set up it to automatically deploy this Jekyll site to Heroku when I push the repository to my Github account. It receives a post from Github via the post-receive service hook, fetches the updates and push them to Heroku.</p>
<p>I have made some changes to the app, so <em>use <a href="https://github.com/himynameisjonas/github-heroku-pusher">my fork</a></em> until the pull requests has been merged. My fork adds support for <em>private repositories</em> and makes it run smoothly on just <em>one free Heroku Dyno</em>.</p>
<p>Just follow the instructions in <a href="https://github.com/himynameisjonas/github-heroku-pusher">the README</a> and you're <em>done in less than 5 minutes</em>.</p>
<hr />
<h3>Update <em>2014-06-10</em></h3>
<p>I've have switch to a <a href="https://github.com/himynameisjonas/heroku-deployer">more competent solution for my continuous deployment to Heroku</a>.</p>
<h3>Update <em>2015-02-01</em></h3>
<p>Heroku has released <a href="https://jonas.brusman.se/heroku-github-integration">their own Github integration</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Deploy to Heroku from Github">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Jekyll + Heroku + Unicorn = Blazing fast blogging</title>
      <link href="https://jonas.brusman.se/jekyll-heroku-unicorn/"/>
      <updated>2012-07-22T00:00:00Z</updated>
      <id>https://jonas.brusman.se/jekyll-heroku-unicorn/</id>
      <content type="html">
        <![CDATA[<p>Deploy your <a href="http://jekyllrb.com/">Jekyll</a> site on <a href="http://www.heroku.com/">Heroku</a> with <em>6 workers</em> ready to take on your massive traffic <em>without first having to generate</em> the Jekyll site locally and there's <em>no need for a third-party buildpack</em>. And the best of all, it runs on a <em>single and free Heroku Dyno</em>.</p>
<h3>Rack-Jekyll</h3>
<p>I have previously used <code>jekyll --server</code>in my <code>Procfile</code> on Heroku which in turn generated the jekyll site and booted up a webrick server. But I wanted to run my site with <a href="http://unicorn.bogomips.org/">Unicorn</a> and it's support for multiple workers on a single Dyno. And to do so my Jekyll site must be a <a href="http://rack.github.com/">Rack</a> app.</p>
<p><a href="https://github.com/adaoraul/rack-jekyll">Rack-Jekyll</a> to the rescue! It was exactly what I was looking for, it turned a Jekyll site into a Rack app. I had some issues with it on Heroku and made a pull request with the fixes. At this moment it has been merge with the master but there is not a new version released of the gem.</p>
<h3>Jekyll + Unicorn + Heroku</h3>
<p><a href="https://github.com/himynameisjonas/jekyll-heroku-unicorn">Jekyll-Heroku-Unicorn</a> is a sample app of a simple Jykyll site with <em>6 Unicorn workers</em> ready to be <em>deployed to a free Heroku Dyno</em>:</p>
<ol>
<li><code>git clone git@github.com:himynameisjonas/jekyll-heroku-unicorn.git</code></li>
<li><code>cd jekyll-heroku-unicorn</code> and run <code>bundle install</code></li>
<li><code>heroku create</code> followed of <code>git push heroku master</code></li>
<li><code>heroku open</code> <em>and you're done</em>!</li>
</ol>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Jekyll + Heroku + Unicorn = Blazing fast blogging">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Roxen</title>
      <link href="https://jonas.brusman.se/roxen/"/>
      <updated>2012-06-30T00:00:00Z</updated>
      <id>https://jonas.brusman.se/roxen/</id>
      <content type="html">
        <![CDATA[<img src="/img/sjMKtux_zb-1200.jpeg">
        <p>Took this photograph last year's spring at Roxen outside Linköping while we were out looking for a <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=f186d96e-1b03-4afb-b1d6-1c7d9f655b9d">Geocache</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Roxen">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Midsummer</title>
      <link href="https://jonas.brusman.se/midsummer/"/>
      <updated>2012-06-24T00:00:00Z</updated>
      <id>https://jonas.brusman.se/midsummer/</id>
      <content type="html">
        <![CDATA[<img src="/img/Q7JzZ1IN3K-1200.jpeg">
        <img src="/img/K83UkkFNrF-1200.jpeg">
        <img src="/img/GoMo5O6lhK-1200.jpeg">
        <img src="/img/pR3rGbklth-1200.jpeg">
        <p>Anders and Angelina came up from Malmö to celebrate midsummer with me and Eva here in Stockholm. On Midsummer's Eve we went to Björkviks brygga, Värmdö and spent a day on the rocks by the sea. We ate great food and drank ice cold beers, and had a wonderful day together.</p>
<p>Björkvis brygga is a new favorite place in the Stockholm area, a real highlight that I really can recommend a visit.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Midsummer">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Östergötland</title>
      <link href="https://jonas.brusman.se/ostergotland/"/>
      <updated>2012-05-20T00:00:00Z</updated>
      <id>https://jonas.brusman.se/ostergotland/</id>
      <content type="html">
        <![CDATA[<img src="/img/pXEDm9rfvC-1200.jpeg">
        <p>Spent the weekend in Linköping. PS. it’s only 5 days left until me and Eva are moving to our new apartment!</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Östergötland">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>A Flickr plugin to Jekyll</title>
      <link href="https://jonas.brusman.se/flickr-plugin-for-jekyll/"/>
      <updated>2012-04-15T00:00:00Z</updated>
      <id>https://jonas.brusman.se/flickr-plugin-for-jekyll/</id>
      <content type="html">
        <![CDATA[<p>This blog is driven by <a href="http://jekyllrb.com/">Jekyll</a> and i have written a simple plugin to Jekyll that makes it easy to embed photographs from <a href="http://flickr.com/">Flickr</a> directly into your posts.</p>
<p>If you have a Gemfile, start by adding the <code>fleakr</code> gem to your Gemfile and run <code>bundle install</code>.
If you don't have a Gemfile, install the gem with <code>gem install fleakr</code>.</p>
<pre class="language-ruby"><code class="language-ruby">source <span class="token symbol">:rubygems</span>

gem <span class="token string-literal"><span class="token string">'RedCloth'</span></span>
gem <span class="token string-literal"><span class="token string">'jekyll'</span></span>
gem <span class="token string-literal"><span class="token string">'fleakr'</span></span></code></pre>
<p>Then add the flickr plugin to your <code>_plugins</code> folder:</p>
<pre class="language-ruby"><code class="language-ruby"><span class="token keyword">require</span> <span class="token string-literal"><span class="token string">'liquid'</span></span>
<span class="token keyword">require</span> <span class="token string-literal"><span class="token string">'fleakr'</span></span>

Fleakr<span class="token punctuation">.</span>api_key       <span class="token operator">=</span> <span class="token string-literal"><span class="token string">"XXX"</span></span>
Fleakr<span class="token punctuation">.</span>shared_secret <span class="token operator">=</span> <span class="token string-literal"><span class="token string">"YYY"</span></span>
Fleakr<span class="token punctuation">.</span>auth_token    <span class="token operator">=</span> <span class="token string-literal"><span class="token string">"ZZZ"</span></span>

<span class="token constant">CACHED_IMAGES</span> <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>

<span class="token keyword">module</span> <span class="token class-name">Flickr</span>
  <span class="token keyword">def</span> <span class="token method-definition"><span class="token function">flickr_image</span></span><span class="token punctuation">(</span>url<span class="token punctuation">)</span>
    <span class="token string-literal"><span class="token string">"&lt;img alt='</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">image_object<span class="token punctuation">(</span>url<span class="token punctuation">)</span><span class="token punctuation">.</span>title</span><span class="token delimiter punctuation">}</span></span><span class="token string">' src='</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">image_object<span class="token punctuation">(</span>url<span class="token punctuation">)</span><span class="token punctuation">.</span>large<span class="token punctuation">.</span>url</span><span class="token delimiter punctuation">}</span></span><span class="token string">'>"</span></span>
  <span class="token keyword">end</span>

  <span class="token keyword">def</span> <span class="token method-definition"><span class="token function">flickr_medium_image</span></span><span class="token punctuation">(</span>url<span class="token punctuation">)</span>
    <span class="token string-literal"><span class="token string">"&lt;img alt='</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">image_object<span class="token punctuation">(</span>url<span class="token punctuation">)</span><span class="token punctuation">.</span>title</span><span class="token delimiter punctuation">}</span></span><span class="token string">' src='</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">image_object<span class="token punctuation">(</span>url<span class="token punctuation">)</span><span class="token punctuation">.</span>medium<span class="token punctuation">.</span>url</span><span class="token delimiter punctuation">}</span></span><span class="token string">'>"</span></span>
  <span class="token keyword">end</span>

  <span class="token keyword">private</span>

  <span class="token keyword">def</span> <span class="token method-definition"><span class="token function">image_object</span></span><span class="token punctuation">(</span>url<span class="token punctuation">)</span>
    <span class="token constant">CACHED_IMAGES</span><span class="token punctuation">[</span>url<span class="token punctuation">]</span> <span class="token operator">||=</span> Fleakr<span class="token punctuation">.</span>resource_from_url<span class="token punctuation">(</span>url<span class="token punctuation">)</span>
  <span class="token keyword">end</span>
<span class="token keyword">end</span>

Liquid<span class="token double-colon punctuation">::</span>Template<span class="token punctuation">.</span>register_filter<span class="token punctuation">(</span>Flickr<span class="token punctuation">)</span></code></pre>
<p>Read the <a href="https://github.com/reagent/fleakr">readme for the fleakr gem</a> on how to obtain your flickr api tokens. Then add them to the top of the flickr.rb file.</p>
<p>Loop over your photos in your post layout, for example like this:</p>
<pre class="language-html"><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>article</span><span class="token punctuation">></span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h1</span><span class="token punctuation">></span></span>{{ post.title }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h1</span><span class="token punctuation">></span></span>

  {% for flickr_url in post.flickr %}
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>{{ flickr_url }}<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>{{ flickr_url | flickr_image }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">></span></span>
  {% endfor %}

  {{ post.content }}

  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>footer</span><span class="token punctuation">></span></span>
    {{ post.date || date:"%Y-%m-%d" }}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>br</span><span class="token punctuation">></span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>footer</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>article</span><span class="token punctuation">></span></span></code></pre>
<p>Finally, the last step is to add one or more photos to your post:</p>
<pre class="language-html"><code class="language-html">---
title: A blog post with photos from flickr
photos:
  - 'https://photo-storage.brusman.se/6167152072.jpg'
  - 'https://photo-storage.brusman.se/6167152448.jpg'
  - 'https://photo-storage.brusman.se/6167153574.jpg'
---

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</code></pre>
<p>I have also published all these <a href="https://gist.github.com/2380125">examples as a gist</a>.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: A Flickr plugin to Jekyll">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>A night out</title>
      <link href="https://jonas.brusman.se/a-night-out/"/>
      <updated>2012-04-13T00:00:00Z</updated>
      <id>https://jonas.brusman.se/a-night-out/</id>
      <content type="html">
        <![CDATA[<img src="/img/Vi1zldyb8q-1200.jpeg">
        <img src="/img/1x45IqJp_s-1200.jpeg">
        <img src="/img/fvHygKgA5M-1200.jpeg">
        <p>A night out in July 2011. Emil and my brother David at Bröderna Olsson, Stockholm.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: A night out">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Prague</title>
      <link href="https://jonas.brusman.se/prague/"/>
      <updated>2012-04-09T00:00:00Z</updated>
      <id>https://jonas.brusman.se/prague/</id>
      <content type="html">
        <![CDATA[<img src="/img/J1C1xZsENa-1200.jpeg">
        <p>Where in Prague from Sunday to Wednesday. A sort of delayed weekend trip with Eva. I felt like a real tourist with my camera so this is basically the only picture I took that is not on when we drank beer at a random beer garden (the spring had arrived in Prague).</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Prague">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Herr och Dam</title>
      <link href="https://jonas.brusman.se/orebro/"/>
      <updated>2012-03-18T00:00:00Z</updated>
      <id>https://jonas.brusman.se/orebro/</id>
      <content type="html">
        <![CDATA[<img src="/img/iGTmncvaPj-1200.jpeg">
        <p>Took the train to Örebro with Eva over a Saturday a couple of weeks ago. Our objective was to see Eva's friend Emilie play her piece. The piece was played in the least inspiring places I've visited in a long time.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Herr och Dam">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Popaganda</title>
      <link href="https://jonas.brusman.se/popaganda/"/>
      <updated>2012-03-08T00:00:00Z</updated>
      <id>https://jonas.brusman.se/popaganda/</id>
      <content type="html">
        <![CDATA[<img src="/img/1-BVFhKcBl-1200.jpeg">
        <img src="/img/-LbhcKiH06-1200.jpeg">
        <img src="/img/KMeikWSW_A-1200.jpeg">
        <img src="/img/kOK8yFDX8j-1200.jpeg">
        <img src="/img/952dLvHLY2-1200.jpeg">
        <p>At the end of August last year, it was time for the yearly Popaganda festival. Most of it was totally awesome but the absolute best part was the concert with Arcade Fire. Lovely!</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Popaganda">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Gubbängen</title>
      <link href="https://jonas.brusman.se/gubbangen/"/>
      <updated>2012-02-25T00:00:00Z</updated>
      <id>https://jonas.brusman.se/gubbangen/</id>
      <content type="html">
        <![CDATA[<img src="/img/QdGJvl5fPF-1200.jpeg">
        <p>The snow is melting and spring is coming so what is not better than one last winter image with lots snow? Took this picture in Gubbängen, Stockholm, January 2007.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Gubbängen">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Mormor</title>
      <link href="https://jonas.brusman.se/mormor/"/>
      <updated>2012-02-22T00:00:00Z</updated>
      <id>https://jonas.brusman.se/mormor/</id>
      <content type="html">
        <![CDATA[<img src="/img/wKkzQZpuw3-1200.jpeg">
        <img src="/img/NOnJvXgIMe-1200.jpeg">
        <p>This is Eva, my grandma. She's the best! Went to Linköping last weekend to celebrate her 94th birthday but these photos are taken in June 2010 and July 2011.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Mormor">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Malmö</title>
      <link href="https://jonas.brusman.se/malmoe/"/>
      <updated>2012-02-14T00:00:00Z</updated>
      <id>https://jonas.brusman.se/malmoe/</id>
      <content type="html">
        <![CDATA[<img src="/img/7bRdjEA_ag-1024.jpeg">
        <p>Spent the weekend with Eva in Malmö, visiting Angelina and Anders. Here's Anders enjoying the winter view when we went to Västra Hamnen.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Malmö">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>SilarApp stickers</title>
      <link href="https://jonas.brusman.se/silarapp-stickers/"/>
      <updated>2012-02-13T00:00:00Z</updated>
      <id>https://jonas.brusman.se/silarapp-stickers/</id>
      <content type="html">
        <![CDATA[<img src="/img/E2_u5uoGvl-1200.jpeg">
        <p>We just got a delivery of sticker for <a href="http://silarapp.com/">SilarApp</a> and are very happy with the result. Just ping/say hello to <a href="http://twitter.com/silarapp">SilarApp</a>, <a href="http://twitter.com/himynameisjonas">me</a> or <a href="http://twitter.com/javve">Jonny</a> on twitter if you want one your self.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: SilarApp stickers">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Summer 2011</title>
      <link href="https://jonas.brusman.se/summer-2011/"/>
      <updated>2012-02-06T00:00:00Z</updated>
      <id>https://jonas.brusman.se/summer-2011/</id>
      <content type="html">
        <![CDATA[<img src="/img/GLYuX4FMkQ-1200.jpeg">
        <p>It has been something between -10° and -20° Celcius cold this last week so I think I have to post at least one more photograph from last summer. And If I had to choose one photograph from last summer, I think I would have choosen this one. Taken in Vällingby, Stockholm while Eva and I where on a bike trip.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Summer 2011">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Greece</title>
      <link href="https://jonas.brusman.se/greece/"/>
      <updated>2012-02-01T00:00:00Z</updated>
      <id>https://jonas.brusman.se/greece/</id>
      <content type="html">
        <![CDATA[<img src="/img/RFcvbVdPeI-1200.jpeg">
        <img src="/img/oeUczXpy7u-1200.jpeg">
        <p>Had to post some new photos as a contrast to <a href="https://jonas.brusman.se/winter">last post's photos</a>. Theese two are from last summer, when Eva and I spent two relaxing but very hot weeks in Greece.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Greece">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Malware, Reddit and Google Analytics</title>
      <link href="https://jonas.brusman.se/malware-reddit-and-google-analytics/"/>
      <updated>2012-01-31T00:00:00Z</updated>
      <id>https://jonas.brusman.se/malware-reddit-and-google-analytics/</id>
      <content type="html">
        <![CDATA[<p><img src="https://photo-storage.brusman.se/malware_analytics.png" alt="malware analytics" title="malware analytics" />
This is what happens with your traffic when one of your sites gets infected by malware and therefor being &quot;blocked&quot; by google. From a daily count of 200-300 visitors down to 0-2 visitors per day. But it's a funny graph to look at.</p>
<p><img src="https://photo-storage.brusman.se/reddit_analytics.png" alt="reddit analytics" title="reddit analytics" />
And this is the awesome thing that happens when one of the posts of the same site as above is posted and gets popular on <a href="http://reddit.com/">reddit</a>. From a stable 150-200 visitors per to a huge peak at 20 000. Such a big difference that the rest of the days looks all flat.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Malware, Reddit and Google Analytics">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Winter</title>
      <link href="https://jonas.brusman.se/winter/"/>
      <updated>2012-01-24T00:00:00Z</updated>
      <id>https://jonas.brusman.se/winter/</id>
      <content type="html">
        <![CDATA[<img src="/img/CgeE_s3btA-1200.jpeg">
        <img src="/img/_osxm4F19V-1200.jpeg">
        <p>Finally some snow! Taken last sunday on a walk in the snow with Eva.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Winter">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>24 Hour Business Camp</title>
      <link href="https://jonas.brusman.se/24-hour-business-camp/"/>
      <updated>2012-01-21T00:00:00Z</updated>
      <id>https://jonas.brusman.se/24-hour-business-camp/</id>
      <content type="html">
        <![CDATA[<img src="/img/AE3HJF3k1y-1200.jpeg">
        <img src="/img/LB8dt80gGu-1200.jpeg">
        <img src="/img/sARVR7TgLW-1200.jpeg">
        <img src="/img/ILXxKlE29T-1200.jpeg">
        <p>I went to <a href="http://www.24hbc.se/">24 Hour Business Camp</a> with <a href="http://twitter.com/ingmr">Ingemar</a> and <a href="http://twitter.com/javve">Jonny</a> (both colleagues from <a href="http://www.mynewsdesk.com/">Mynewsdesk</a>) on October the 30th last year. It took place at the awesome japanese spa <a href="http://www.yasuragi.se/">Yasuragi</a>. We spent the 24h coding on our project <a href="http://silarapp.com/">SilarApp</a>, a <em>clean and ambient real time data visualization dashboard</em>. I think we did it quite well, we even won the <a href="http://www.internetdagarna.se/nyheter/juryns-favoriter-fran-24hbc-pa-besok">jury's award</a>. Now we're working hard on our spare time to release the first public version of SilarApp (it's currently in closed beta) and we're really proud of what we have done so far.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: 24 Hour Business Camp">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Svea</title>
      <link href="https://jonas.brusman.se/svea/"/>
      <updated>2012-01-19T00:00:00Z</updated>
      <id>https://jonas.brusman.se/svea/</id>
      <content type="html">
        <![CDATA[<img src="/img/fsMsR57yYx-1200.jpeg">
        <p>This is Svea. One of two cats my ex and I had when we lived together. I miss her (the cat, not the ex) and I have long going plans about getting one or two new kittens. Taken in Bandhagen, Stockholm, 2007.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Svea">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Adventure Golf</title>
      <link href="https://jonas.brusman.se/adventure-golf/"/>
      <updated>2012-01-17T00:00:00Z</updated>
      <id>https://jonas.brusman.se/adventure-golf/</id>
      <content type="html">
        <![CDATA[<img src="/img/LzLmr5LVQ2-1024.jpeg">
        <p>Taken in the summer of 2011 while I was playing adventure golf in Berg (outside Linköping, Sweden) with <a href="http://log.brusman.net/">Eva</a> and her family.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Adventure Golf">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
    
    <entry>
      <title>Hello World!</title>
      <link href="https://jonas.brusman.se/hello-world/"/>
      <updated>2012-01-13T00:00:00Z</updated>
      <id>https://jonas.brusman.se/hello-world/</id>
      <content type="html">
        <![CDATA[<p>Hello world! The must-have post of a blog. I don't know how many blogs i have started but if I know myself this isn't the last one. Sadly...</p>
<p>However, the plan is to post some photos and maybe even some things about my other hobby (besides photography) coding/web development/yadayada. Time will tell.</p>
<hr><p>Have some thoughts? <a href="mailto:blog@brusman.se?subject=Re: Hello World!">Send me an email.</a></p>
        ]]>
      </content>
    </entry>
</feed>
