<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://www.hugohaggmark.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.hugohaggmark.com/" rel="alternate" type="text/html" /><updated>2024-09-14T06:44:16+00:00</updated><id>https://www.hugohaggmark.com/feed.xml</id><title type="html">Hugo Häggmark</title><subtitle>Sagas from the software trenches in the continuing battle between quality, price and time…</subtitle><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><entry><title type="html">Leaving Grafana</title><link href="https://www.hugohaggmark.com/2022/02/12/leaving-grafana/" rel="alternate" type="text/html" title="Leaving Grafana" /><published>2022-02-12T08:00:00+00:00</published><updated>2022-02-12T08:00:00+00:00</updated><id>https://www.hugohaggmark.com/2022/02/12/leaving-grafana</id><content type="html" xml:base="https://www.hugohaggmark.com/2022/02/12/leaving-grafana/"><![CDATA[<h2 id="background">Background</h2>
<p>I joined Grafana Labs in January 2019 when the company was still relatively small, around 40 people. It’s been an amazing, exciting and exhausting journey at times, but mostly fun. 
If you want to join a great, transparent, and fun company filled with great colleagues I highly recommend checking out <a href="https://grafana.com/about/careers">Grafana Labs careers page</a>.</p>

<p>So why leave then Hugo? Well my reasons for leaving Grafana Labs are purely personal but are related to my curious personality. I’m very passionate about exploring new domains and learning new things so that made me take this step now. I’m not sure what my “next” thing will be but I’m curious to find out!</p>

<p>My last day at Grafana Labs will be the 25th of February.</p>

<h2 id="my-grafana-labs-history-in-numbers">My Grafana Labs history in numbers</h2>

<ul>
  <li>I worked ca 565 days excluding public holidays, vacations and sick days</li>
  <li>I merged 620 PRs</li>
  <li>I squashed 186 bugs</li>
  <li>I created 118 issues</li>
  <li>I created 14 releases</li>
  <li>I reviewed 1075 PRs</li>
  <li>I was one of the top 5 contributors</li>
</ul>

<p><img src="/assets/images/top5_grafana_contributors.png" alt="top 5 contributors" /></p>

<ul>
  <li>I created 130 567 additions to OSS Grafana</li>
  <li>I created 88 685 deletions to OSS Grafana</li>
  <li>I lead 35 recruitment interviews for front end positions</li>
  <li>I created 1 <a href="https://grafana.com/blog/2020/06/22/migrating-grafanas-template-variables-from-angularjs-to-react-a-tale-of-failures-and-wins/">blog post</a></li>
  <li>I sent more than 565 <code class="language-plaintext highlighter-rouge">Good Morning 👋</code> in our <code class="language-plaintext highlighter-rouge">#random</code> Slack channel (yes I’m that guy)</li>
  <li>I had 3 mentees</li>
</ul>

<p>Cheers,</p>

<p>Hugo</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[Background I joined Grafana Labs in January 2019 when the company was still relatively small, around 40 people. It’s been an amazing, exciting and exhausting journey at times, but mostly fun. If you want to join a great, transparent, and fun company filled with great colleagues I highly recommend checking out Grafana Labs careers page.]]></summary></entry><entry><title type="html">Samsung Galaxy S20 flickering screen</title><link href="https://www.hugohaggmark.com/2021/02/11/samsung-s20-flickering-screen/" rel="alternate" type="text/html" title="Samsung Galaxy S20 flickering screen" /><published>2021-02-11T16:39:00+00:00</published><updated>2021-02-11T16:39:00+00:00</updated><id>https://www.hugohaggmark.com/2021/02/11/samsung-s20-flickering-screen</id><content type="html" xml:base="https://www.hugohaggmark.com/2021/02/11/samsung-s20-flickering-screen/"><![CDATA[<h1 id="brand-new-samsung-galaxy-s20-with-flickering-screen">Brand new Samsung Galaxy S20 with flickering screen</h1>

<h2 id="background">Background</h2>

<p>I’ve used both iPhone and Android phones the last decade, but the last three years I’ve been using a Samsung Galaxy S9, my very first Samsung, and I’ve been super happy with it. It still works great today, but the battery has slowly degraded so 28th of December 2020 I upgraded. <a href="https://www.comviq.se/">Comviq my phone carrier had a great deal, so I bought a brand new Samsung Galaxy S20 5G</a>.</p>

<p>A few days later I received my brand new Samsung Galaxy S20 5G, and it looked great.</p>

<h2 id="the-flickering-starts">The flickering starts</h2>

<p>A couple of days after the arrival I was sitting by my desk and the phone suddenly woke up, a meeting notification appeared on the screen but instead of showing the usual clear and bright notification a flickering black cloud covered the bottom half of the screen. I thought that was super strange, so I closed the screen so it all turned black. Then I turned on the screen again and I couldn’t see the flickering black anymore, I repeated this twice but I couldn’t get the flickering black cloud back. The software developer within me thought that was strange, but as it seemed to be a single occasion, I didn’t think about it again.</p>

<h2 id="geocaching">Geocaching</h2>

<p>The 6th of January 2021 <a href="https://www.geocaching.com/play/search">I went out geocaching with my daugther</a> and while we were out suddenly the same flickering black cloud appeared but this time it didn’t seem to go away until we got home. Maybe the cold outside was speeding up the appearance of this flickering phenomenon. So after a couple of hours I went outside again, walking the dog, and the flickering appeared again. This was not a coincidence, I could reproduce the flickering behavior by going outside. I don’t think the temperature this day was extreme, if I remember correctly it was about -6 or -4 degrees Celsius.</p>

<h2 id="google-it">Google it?</h2>

<p>I started searching for advice on Google and <a href="https://www.samsung.com/uk/support/mobile-devices/what-to-do-if-the-screen-on-your-device-is-flickering/">I found this article from Samsung</a>. I followed the steps in the article, and for each step in the article I took a walk outside. The flickering was still there after each step.</p>

<h2 id="the-first-service-request">The first service request</h2>

<p>I sadly realized that I would not get rid of this flickering myself, so filed a complaint and created a service request with Comviq. I think this might have been the 8th of January 2021 and the 13th of January 2021 I received the service request return package. Before I returned the phone, I thought I would record a movie of the flickering, just in case I needed to prove the flickering in a blog post or such.</p>

<h3 id="recording-before-first-service-request">Recording before first service request</h3>

<p>This video shows the flickering before I sent the phone back the first time.</p>

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/1GkzJNDPVWs?controls=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>

<h3 id="the-service">The service</h3>

<p>They received my package the 18th of January 2021 and the 19th of January 2021 Comviq forwards my phone to an official Samsung workshop.
<img src="/assets/images/samsung-s20-1.png" alt="samsung-galaxy-s20" /></p>

<p>The 21st of January 2021, the phone passes all their official tests and they send it back to me.
<img src="/assets/images/samsung-s20-2.png" alt="samsung-galaxy-s20" /></p>

<h3 id="home-again">Home again</h3>

<p>The 23rd of January 2021, I pick up my phone and go home and I unbox it. In the box there is a description that says that they changed some components and they list those as well.
<img src="/assets/images/samsung-s20-3.png" alt="samsung-galaxy-s20" /></p>

<p>I’m thrilled that Samsung found the problem and I restore my phone. Unfortunately, the flickering is still there after a walk outside. Big let down. When I realize that the flickering is still there, I start a chat conversation with Comviq support.</p>

<p>The support agent tells me I need to start another service request before I can file a complaint and get a new phone.
The same day I created a new service request.</p>

<h2 id="the-second-service-request">The second service request</h2>

<p>A couple of days later, the 30th of January 2021, I received the service package, and I packed my phone safely inside the package. This time I also packed a small letter inside the box. The letter described the flickering issue and to make it crystal clear I made sure that the video on the lock screen of my phone showed the flickering problem. I also added several small clips of the flickering problem on the home screen of my phone.
<img src="/assets/images/samsung-s20-4.png" alt="samsung-galaxy-s20" /></p>

<h3 id="recordings-before-second-service-request">Recordings before second service request</h3>

<p>These videos show the flickering before I sent the phone back the second time.</p>

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/DPGE1oYUt9o?controls=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/bXLnQElyerc?controls=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/1fTCPFjxuhA?controls=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>

<h3 id="the-second-service">The second service</h3>

<p>They received my package the 2nd of February 2021 and the same day Comviq forwards my phone to an official Samsung workshop again.
<img src="/assets/images/samsung-s20-5.png" alt="samsung-galaxy-s20" /></p>

<p>The 9th of February 2021, the phone passes all their official tests and they send it back to me.
<img src="/assets/images/samsung-s20-6.png" alt="samsung-galaxy-s20" /></p>

<h3 id="home-again-the-second-time">Home again the second time</h3>

<p>Today, the 11th of February 2021 I unbox my phone for the third time. This time the box contains the same type of letter, but this time Samsung states they couldn’t repair my phone because they couldn’t reproduce the flickering problem.
<img src="/assets/images/samsung-s20-7.png" alt="samsung-galaxy-s20" /></p>

<p>This was not what I expected, and I was very disappointed because I’ve put in a lot of extra effort in recording the flickering, adding those recordings to the Home scream, Lock screen and writing that extra letter describing all this. All this work was in vain, so this time I didn’t even bother restoring the phone. I just clicked next a couple of times on the Welcome screen, went outside with the dog, and when I got back, I made this recording.</p>

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/cnCFk27FOEw?controls=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>

<p>This really sucks, and it almost seems like the flickering has become worse and after almost 2 months I’m still don’t have a working phone.</p>

<p>Very disappointed Samsung Galaxy S20 5G customer!</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[Brand new Samsung Galaxy S20 with flickering screen]]></summary></entry><entry><title type="html">Migrated to GitHub Pages</title><link href="https://www.hugohaggmark.com/2021/01/03/migrated-to-github-pages/" rel="alternate" type="text/html" title="Migrated to GitHub Pages" /><published>2021-01-03T09:22:45+00:00</published><updated>2021-01-03T09:22:45+00:00</updated><id>https://www.hugohaggmark.com/2021/01/03/migrated-to-github-pages</id><content type="html" xml:base="https://www.hugohaggmark.com/2021/01/03/migrated-to-github-pages/"><![CDATA[<p>So I finally took the time to migrate my blog from WordPress to Github pages. This is still work in progress so expect the look and feel to change moving forward.</p>

<p>Cheers,</p>

<p>Hugo</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[So I finally took the time to migrate my blog from WordPress to Github pages. This is still work in progress so expect the look and feel to change moving forward.]]></summary></entry><entry><title type="html">When compassion went to sleep</title><link href="https://www.hugohaggmark.com/2020/07/13/when-compassion-went-to-sleep/" rel="alternate" type="text/html" title="When compassion went to sleep" /><published>2020-07-13T06:22:45+00:00</published><updated>2020-07-13T06:22:45+00:00</updated><id>https://www.hugohaggmark.com/2020/07/13/when-compassion-went-to-sleep</id><content type="html" xml:base="https://www.hugohaggmark.com/2020/07/13/when-compassion-went-to-sleep/"><![CDATA[<p><img src="/assets/images/2020/07/mamma.png" alt="mamma" /></p>

<p>She went to sleep a few days ago and she never woke up. It was peaceful and painless.</p>

<p>I visited the day before her final rest. I had prepared myself meticulously to look my very best just in case <a href="https://en.wikipedia.org/wiki/Terminal_lucidity">she woke up</a>.</p>

<p>She looked so beautiful and calm. Her final resting place was dignified and beautifully decorated with family pictures. The air was filled with Portuguese music and she slept throughout my visit.</p>

<p>My mother was warm, kind and loving but foremost compassionate.</p>

<p>She was never in the spotlight but she always made you feel like you were.</p>

<p>Always prioritising others well-being before her own, in private and as a nurse. As a nurse she helped people in all stages of life, treating sick children in Angola/Mozambique to elderly dementia patients in Sweden.</p>

<p>Mom, I love you and miss you so much.</p>

<p><em>F*CK Alzheimer’s</em></p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">“Life would be infinitely happier if we could only be born at the age of eighty and gradually approach eighteen.” - Mark Twain</title><link href="https://www.hugohaggmark.com/2019/11/10/life-would-be-infinitely-happier-if-we-could-only-be-born-at-the-age-of-eighty-and-gradually-approach-eighteen-mark-twain/" rel="alternate" type="text/html" title="“Life would be infinitely happier if we could only be born at the age of eighty and gradually approach eighteen.” - Mark Twain" /><published>2019-11-10T06:00:37+00:00</published><updated>2019-11-10T06:00:37+00:00</updated><id>https://www.hugohaggmark.com/2019/11/10/life-would-be-infinitely-happier-if-we-could-only-be-born-at-the-age-of-eighty-and-gradually-approach-eighteen-mark-twain</id><content type="html" xml:base="https://www.hugohaggmark.com/2019/11/10/life-would-be-infinitely-happier-if-we-could-only-be-born-at-the-age-of-eighty-and-gradually-approach-eighteen-mark-twain/"><![CDATA[<p><img src="/assets/images/2019/11/Max-collage-1280-1024x1024.png" alt="The many faces of Maximilian" /></p>

<p>When you become a parent for the second time you’re confident with a bit of “I know this” attitude.</p>

<p>So when mom started your labour 18 years ago I thought to myself ok just relax this is gonna take another 5 days and we’ll probably end up cutting you up from inside her. Boy was I wrong and mom delivered you the natural way without any pain killers the next day/night. That’s your mom; a strong woman who always gives everything for her children’s best.</p>

<p>You were a lot bigger than the average newborn and the nurses where even joking about it by asking your mom where she had been hiding you.</p>

<p>The life with 2 kids was a lot harder than I could imagine at the time because 1 + 1 didn’t add up to 2 but rather 4. But after a while you could really start to see the difference in our family dynamics and the joy and love that you and your brother shared together something I can still see today.</p>

<p>You’ve taught me a lot about parenting, the importance of friendships and fairness and I’ll be forever thankful for those lessons.</p>

<p>Today I see a fantastic humanitarian before me with great ambitions, true grit and you execute whatever you’re focused on with precision, lots of work, passion and you do all this without ever neglecting your friends or family which is amazing.</p>

<p>You’ve been like a second father to Paula from day one and that was never something we asked for but something you decided to become. I believe you’ve built a very strong bond with your sister that you both will cherish for the rest of your lives.</p>

<p>Some last words:</p>

<p>Be yourself, listen to your head but follow your heart. Be kind, have fun, laugh, cry, work hard to follow your dreams. Don’t wait, do something amazing with your journey in life and make this world a better place, it sure needs it.</p>

<p>Mom and I’ll be here right next to you when you need us.</p>

<p>Love you,</p>

<p>Mom &amp; Dad</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">“Growing up is losing some illusions, in order to acquire others.” -Virginia Woolf</title><link href="https://www.hugohaggmark.com/2017/09/28/growing-up-is-losing-some-illusions-in-order-to-acquire-others-virginia-woolf/" rel="alternate" type="text/html" title="“Growing up is losing some illusions, in order to acquire others.” -Virginia Woolf" /><published>2017-09-28T04:20:15+00:00</published><updated>2017-09-28T04:20:15+00:00</updated><id>https://www.hugohaggmark.com/2017/09/28/growing-up-is-losing-some-illusions-in-order-to-acquire-others-virginia-woolf</id><content type="html" xml:base="https://www.hugohaggmark.com/2017/09/28/growing-up-is-losing-some-illusions-in-order-to-acquire-others-virginia-woolf/"><![CDATA[<p><img src="/assets/images/2017/09/Wille18_Collage-1024x946.png" alt="The many faces of William" /></p>

<p>You can never really prepare yourself for the arrival of your first child and even less so for the delivery of the same.</p>

<p>18 years ago, after 5 days at Danderyds sjukhus you where cut opened from your mother. She had tried every method ordinated by the doctor , even acupuncture, to deliver you the “natural” way.</p>

<p>That’s your mom; a strong woman who never gives up and always gives everything for her children’s best.</p>

<p>So when the doctor said you were gonna have to come out through a C-section we both got very emotional. I remember it was a mixed sense of defeat, relieve, happiness and when the doctor left our room we cried holding each other tight.</p>

<p>But all those emotions were blown away the very moment you arrived. When I hold you in my arms all I could feel was love and happiness.</p>

<p>I though as a parent you will learn your children everything you know but now I’ve learned it’s the other way around. You’ve learnt me unconditional love, to be more relaxed, kindness, fairness and a lot of patience. You’ve given me so many wonderful moments with laughter, warmness, love and headaches sometimes.</p>

<p>I was merely a boy when you came and you made me into the man you hug every day.</p>

<p>For all this I’m very grateful, proud, happy and I hope there will be more wonderful moments ahead in your adulthood that we can share.</p>

<p>Some last words:</p>

<p>Be yourself, listen to your head but follow your heart. Be kind, have fun, laugh, cry, work hard to follow your dreams. Don’t wait, do something amazing with your journey in life and make this world a better place, it sure needs it.</p>

<p>Mom and I’ll be here right next to you when you need us.</p>

<p>Love you,</p>

<p>Mom &amp; Dad</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">New React/Redux version of Fluxo released!</title><link href="https://www.hugohaggmark.com/2017/03/24/new-reactredux-version-of-fluxo-released/" rel="alternate" type="text/html" title="New React/Redux version of Fluxo released!" /><published>2017-03-24T09:11:22+00:00</published><updated>2017-03-24T09:11:22+00:00</updated><id>https://www.hugohaggmark.com/2017/03/24/new-reactredux-version-of-fluxo-released</id><content type="html" xml:base="https://www.hugohaggmark.com/2017/03/24/new-reactredux-version-of-fluxo-released/"><![CDATA[<p><img src="/assets/images/2017/03/favicon-196x196-150x150.png" alt="Fluxo logo" /></p>

<p>I’ve been working since January on my way to and from work moving the old Fluxo version (<a href="https://fluxo.herokuapp.com">https://fluxo.herokuapp.com</a>) to the React/Redux stack and today I’m very proud to announce that the new Fluxo version is deployed at <a href="https://fluxo.hugohaggmark.com">https://fluxo.hugohaggmark.com</a>.</p>

<p>I’ll continue to make small improvments and I’ve some major features that I would like to add like:</p>

<ul>
  <li>Cumulative Flow graph</li>
  <li>Apple and Android App</li>
</ul>

<p>The old version will be permanently redirected to the new.</p>

<p>I hope you continue to enjoy Fluxo!</p>

<p>/Hugo</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="DashBoards" /><category term="Fluxo" /><category term="Kanban" /><category term="Personal" /><category term="Trello" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Giving back to the world</title><link href="https://www.hugohaggmark.com/2017/02/06/giving-back-to-the-world/" rel="alternate" type="text/html" title="Giving back to the world" /><published>2017-02-06T10:30:02+00:00</published><updated>2017-02-06T10:30:02+00:00</updated><id>https://www.hugohaggmark.com/2017/02/06/giving-back-to-the-world</id><content type="html" xml:base="https://www.hugohaggmark.com/2017/02/06/giving-back-to-the-world/"><![CDATA[<p>When I quit my job at Aptitud in December 2016 I had no clue what I was going to do or where I was going to do it. I found myself in an endless world of opportunities and that kind of scared me a bit.</p>

<p>When I finally got my bearings back in early January 2017 (after a very relaxing Christmas vacation) I decided I would try my luck and post my CV at several job sites.</p>

<p>To my huge surprise It didn’t take more than a couple of days before I had whole January booked with interviews at interesting product companies in Stockholm area.</p>

<p>At first I kept a really open-minded approach to every opportunity and tried hard not to filter out any opportunity. But along the way some values came to stand out more than others:</p>

<ul>
  <li>My next workplace should be a product company and not a consultant company.</li>
  <li>My next workplace should be on a journey, i.e. I wouldn’t want to come to a product company where everything is already done. Both organisational and technical.</li>
  <li>My next workplace should make the world a little better. Looking back at my professional life, had I contributed to any important difference to the world? Hardly, going forward this would have to change!</li>
</ul>

<p>A couple of companies checked all my boxes but only one made it to the finish line.</p>

<p>The 27th of March 2017 I’m very happy and honoured to join <a href="http://www.raysearchlabs.com">RaySearch Laboratories</a> as a Software Developer. (<a href="http://www.raysearchlabs.com">http://www.raysearchlabs.com</a>)</p>

<p>[<img src="/assets/images/2017/02/raysearch_logotype_black-300x121.png" alt="RaySearch Laboratories" /></p>

<p>See you around,</p>

<p>Hugo</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[When I quit my job at Aptitud in December 2016 I had no clue what I was going to do or where I was going to do it. I found myself in an endless world of opportunities and that kind of scared me a bit.]]></summary></entry><entry><title type="html">Den där bloggposten om när Hugo sa upp sig från Aptitud</title><link href="https://www.hugohaggmark.com/2016/12/21/920/" rel="alternate" type="text/html" title="Den där bloggposten om när Hugo sa upp sig från Aptitud" /><published>2016-12-21T11:00:40+00:00</published><updated>2016-12-21T11:00:40+00:00</updated><id>https://www.hugohaggmark.com/2016/12/21/920</id><content type="html" xml:base="https://www.hugohaggmark.com/2016/12/21/920/"><![CDATA[<p>Tidigt igår imorse meddelade jag alla härliga kollegor på Aptitud att jag säger upp mig.</p>

<p><img src="/assets/images/2016/12/img_0278.png" alt="" /></p>

<p>Tanken om uppsägning har jag burit med mig sen början på året men det har varit otroligt svårt att fullfölja eftersom kollegorna och kulturen på Aptitud är så fantastisk(a)!</p>

<p>Hur skulle jag kunna lämna något som jag själv har varit en del i att bygga upp och som blivit så bra?</p>

<p>Så varför sluta?</p>

<p>Jag har jobbat med mjukvaruutveckling sedan 1998 och som konsult sedan 2007; att jag vill göra något nytt är ett svar på frågan.</p>

<p>Att ständigt utmana mig själv och att inte stanna upp och nöja mig är ett annat svar.</p>

<p>Att magen säger att det är dags är ett tredje svar.</p>

<p>Så vad ska du göra?</p>

<p>Jag vet inte, kanske något helt annat såsom ambulanshelikopter pilot eller något mer bekant, såsom att starta ett produktbolag som bidrar till en bättre mer jämställd och hållbar värld.</p>

<p>Min sista dag på Aptitud blir någon gång i slutet på Mars och efter det vet jag som sagt inte vad som väntar - det känns spännande!</p>

<p>God Jul och Gott Nytt År!</p>

<p>Hugo</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term="Personal" /><summary type="html"><![CDATA[Tidigt igår imorse meddelade jag alla härliga kollegor på Aptitud att jag säger upp mig.]]></summary></entry><entry><title type="html">Nancy and the issue with Enums as strings</title><link href="https://www.hugohaggmark.com/2015/12/18/nancy-and-the-issue-with-enums-as-strings/" rel="alternate" type="text/html" title="Nancy and the issue with Enums as strings" /><published>2015-12-18T10:00:12+00:00</published><updated>2015-12-18T10:00:12+00:00</updated><id>https://www.hugohaggmark.com/2015/12/18/nancy-and-the-issue-with-enums-as-strings</id><content type="html" xml:base="https://www.hugohaggmark.com/2015/12/18/nancy-and-the-issue-with-enums-as-strings/"><![CDATA[<p><img src="/assets/images/2015/12/enum_as_string-300x254.png" alt="enum_as_string" /></p>

<h2 id="bakground">Bakground</h2>

<p>The other day I was trying to show an enum property as a string in an Nancy based API.</p>

<p>And I just couldn’t do it at first but later on I found a way. Just so I remember until next time I thought I’d write a step by step instruction.</p>

<h2 id="the-initial-code">The initial Code</h2>

<p>I’ve created an Empty ASP.Net project and added Nancy.Hosting.Aspnet Nuget package with the following command:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Install-Package Nancy.Hosting.Aspnet
</code></pre></div></div>

<p>In this project I’ve created a very simple NancyModule that returns a list of a class called TeamMember. Each TeamMember has a Name and an Avatar property that is an enum.</p>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">public</span> <span class="k">class</span> <span class="nc">Index</span> <span class="p">:</span> <span class="n">NancyModule</span>
<span class="p">{</span>
  <span class="k">public</span> <span class="nf">Index</span><span class="p">()</span>
  <span class="p">{</span>
    <span class="n">Get</span><span class="p">[</span><span class="s">"/"</span><span class="p">]</span> <span class="p">=</span> <span class="n">_</span> <span class="p">=&gt;</span>
    <span class="p">{</span>
      <span class="kt">var</span> <span class="n">teamMembers</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">List</span><span class="p">()</span>
      <span class="p">{</span>
        <span class="k">new</span> <span class="n">TeamMember</span> <span class="p">{</span> <span class="n">Name</span> <span class="p">=</span> <span class="s">"Marcus"</span><span class="p">,</span> <span class="n">Avatar</span> <span class="p">=</span> <span class="n">StarWarsCharacter</span><span class="p">.</span><span class="n">Luke</span> <span class="p">},</span>
        <span class="k">new</span> <span class="n">TeamMember</span> <span class="p">{</span> <span class="n">Name</span> <span class="p">=</span> <span class="s">"Hugo"</span><span class="p">,</span> <span class="n">Avatar</span> <span class="p">=</span> <span class="n">StarWarsCharacter</span><span class="p">.</span><span class="n">Chewbacca</span> <span class="p">}</span>
      <span class="p">};</span>

      <span class="k">return</span> <span class="n">Response</span><span class="p">.</span><span class="nf">AsJson</span><span class="p">(</span><span class="n">teamMembers</span><span class="p">);</span>
    <span class="p">};</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>Above shows my very basic NancyModule. And the code below shows the TeamMember class and the enum called StarWarsCharacter.</p>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">public</span> <span class="k">class</span> <span class="nc">TeamMember</span>
<span class="p">{</span>
  <span class="k">public</span> <span class="kt">string</span> <span class="n">Name</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
  <span class="k">public</span> <span class="n">StarWarsCharacter</span> <span class="n">Avatar</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">public</span> <span class="k">enum</span> <span class="n">StarWarsCharacter</span>
<span class="p">{</span>
  <span class="n">Leia</span><span class="p">,</span>
  <span class="n">Luke</span><span class="p">,</span>
  <span class="n">Chewbacca</span>
<span class="p">}</span>
</code></pre></div></div>

<p>Above the enum used in my example. This generates the output as shown below.</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Marcus"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"avatar"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Hugo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"avatar"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre></div></div>

<p>As you can see the enum is represented by an integer in the json-output.</p>

<h2 id="first-solution">First solution</h2>

<p>If you do a google search for Enum as string then you probably will find people mentioning that you need to decorate your enum properties with the [JsonConverter(typeof(StringEnumConverter))] attribute:</p>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="p">[</span><span class="nf">JsonConverter</span><span class="p">(</span><span class="k">typeof</span><span class="p">(</span><span class="n">StringEnumConverter</span><span class="p">))]</span>
  <span class="k">public</span> <span class="n">StarWarsCharacter</span> <span class="n">Avatar</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
</code></pre></div></div>

<p>So now I can’t build because I’m missing some references. I Install the Newtonsoft.Json Nuget package with this command:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Install-Package Newtonsoft.Json
</code></pre></div></div>

<p>and I hit the rebuild.</p>

<p>Still the json-output is representing the enum as an integer.</p>

<p>Why? I still haven’t figured out that part yet but if you install the Nuget package called Nancy.Serialization.JsonNet with this command:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Install-Package Nancy.Serialization.JsonNet
</code></pre></div></div>

<p>Shabaam, presto!</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nl">"Name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Marcus"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"Avatar"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Luke"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="p">{</span><span class="w">
    </span><span class="nl">"Name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Hugo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"Avatar"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Chewbacca"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre></div></div>

<h2 id="next-challange">Next challange</h2>

<p>This is awesome! But wait a minute, now my json properties aren’t formatted as I like. The properties start with a capital letter, not like I want.</p>

<h2 id="solution-continued">Solution continued</h2>

<p>Don’t panic Hugo, you’ll only need to add a CustomSerializer and a Bootstraper and then it will be alright.</p>

<p>Below is the CustomSerializer class.</p>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">public</span> <span class="k">class</span> <span class="nc">CustomSerializer</span> <span class="p">:</span> <span class="n">JsonSerializer</span>
<span class="p">{</span>
  <span class="k">public</span> <span class="nf">CustomSerializer</span><span class="p">()</span>
  <span class="p">{</span>
    <span class="n">ContractResolver</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CamelCasePropertyNamesContractResolver</span><span class="p">();</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>And below you can see the BootStraper.</p>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">public</span> <span class="k">class</span> <span class="nc">BootStraper</span> <span class="p">:</span> <span class="n">DefaultNancyBootstrapper</span>
<span class="p">{</span>
  <span class="k">protected</span> <span class="k">override</span> <span class="k">void</span> <span class="nf">ConfigureApplicationContainer</span><span class="p">(</span><span class="n">TinyIoCContainer</span> <span class="n">container</span><span class="p">)</span>
  <span class="p">{</span>
    <span class="k">base</span><span class="p">.</span><span class="nf">ConfigureApplicationContainer</span><span class="p">(</span><span class="n">container</span><span class="p">);</span>
    <span class="n">container</span><span class="p">.</span><span class="nf">Register</span><span class="p">(</span><span class="k">typeof</span><span class="p">(</span><span class="n">JsonSerializer</span><span class="p">),</span> <span class="k">typeof</span><span class="p">(</span><span class="n">CustomSerializer</span><span class="p">));</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<h2 id="the-final-solution">The final solution</h2>

<p>For a final touch you can remove the attribute JsonConverter all together and configure everything in the CustomSerializer by adding a StringEnumConverter to the Converters.</p>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">public</span> <span class="k">class</span> <span class="nc">CustomSerializer</span> <span class="p">:</span> <span class="n">JsonSerializer</span>
<span class="p">{</span>
  <span class="k">public</span> <span class="nf">CustomSerializer</span><span class="p">()</span>
  <span class="p">{</span>
    <span class="n">ContractResolver</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CamelCasePropertyNamesContractResolver</span><span class="p">();</span>
    <span class="n">Converters</span><span class="p">.</span><span class="nf">Add</span><span class="p">(</span><span class="k">new</span> <span class="n">StringEnumConverter</span>
    <span class="p">{</span>
      <span class="n">CamelCaseText</span> <span class="p">=</span> <span class="k">false</span>
    <span class="p">});</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>And lastly remove the attribute from the TeamMember class as all enums will be converted to strings as defined in the BootStraper above.</p>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">public</span> <span class="k">class</span> <span class="nc">TeamMember</span>
<span class="p">{</span>
  <span class="k">public</span> <span class="kt">string</span> <span class="n">Name</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
  <span class="k">public</span> <span class="n">StarWarsCharacter</span> <span class="n">Avatar</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<h2 id="conclusion">Conclusion</h2>

<p>It’s always easy when you know how to solve issues, so here goes the perfect recipe for solving the enum as string issue on Nancy.</p>

<p>The <a href="https://github.com/hugohaggmark/HugoHaggmark.Blog/blob/master/HugoHaggmark.Nancy.Enums.As.Strings/Modules/Index.cs">code is as always here</a>. You can find the different solutions as different branches.</p>

<p>Cheers,</p>

<p>Hugo</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;/assets/images/bio-photo.jpg&quot;, &quot;bio&quot;=&gt;&quot;ʜᴜꜱʙᴀɴᴅ 🤵👰 ꜰᴀᴛʜᴇʀ ᴏꜰ ᴛʜʀᴇᴇ 👧🧑🧑 ꜱɴᴏʀᴋᴇʟᴇʀ 🤿 ꜱɴᴏᴡʙᴏᴀʀᴅᴇʀ 🏂🏿&quot;, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/hugohaggmark&quot;}, {&quot;label&quot;=&gt;&quot;Contact&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-at&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/contact/&quot;}, {&quot;label&quot;=&gt;&quot;Experience&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-list&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/experience/&quot;}, {&quot;label&quot;=&gt;&quot;Projects&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-flask&quot;, &quot;url&quot;=&gt;&quot;https://www.hugohaggmark.com/projects/&quot;}]}</name></author><category term=".Net 4.5" /><category term="Nancy" /><category term="Resolution" /><summary type="html"><![CDATA[]]></summary></entry></feed>