<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Being Cellfish</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/cellfish/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/cellfish/feed.xml</link>
    <description>Stuff I wished I&amp;#039;ve found in some blog (and sometimes did)</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:21:26 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>What has happened?</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/what-has-happened</link>
      <pubDate>Tue, 31 Mar 2015 08:15:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2015/03/31/what-has-happened/</guid>
      <description><![CDATA[I wrote this almost a year ago the day before my last day at Microsoft. You should really head over...]]></description>
      <content:encoded><![CDATA[<p>I wrote this almost a year ago the day before my last day at Microsoft. You should really head over to <a href="https://blog.cellfish.se/">my new blog</a> to see what has been happening since then.</p>]]></content:encoded>
    </item>
    <item>
      <title>When to use Tuples in C#</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/when-to-use-tuples-in-c</link>
      <pubDate>Tue, 25 Mar 2014 03:25:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2014/03/25/when-to-use-tuples-in-c/</guid>
      <description><![CDATA[I've seen people use the Tuple class in C# code and I've even done it myself once. And I didn't like...]]></description>
      <content:encoded><![CDATA[<p><em>I've seen people use the Tuple class in C# code and I've even done it myself once. And I didn't like it.&nbsp;I'm still struggling to see find a case where using a Tuple would actually be a good idea versus the alternatives.</em></p>
<p><em><strong>Read more <a href="https://blog.cellfish.se/2014/03/when-to-use-tuples-in-c.html">here</a>.</strong></em></p>]]></content:encoded>
    </item>
    <item>
      <title>Tail Recursion and C#</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/tail-recursion-and-c</link>
      <pubDate>Tue, 18 Mar 2014 06:03:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2014/03/18/tail-recursion-and-c/</guid>
      <description><![CDATA[Tail recursion is a powerful optimization since it typically improves both execution time and memory...]]></description>
      <content:encoded><![CDATA[<p><em>Tail recursion is a powerful optimization since it typically improves both execution time and memory usage for recursive calls. It can also be your enemy if you forget about it.</em></p>
<p><em><strong>Read more <a href="https://blog.cellfish.se/2014/03/tail-recursion-and-c.html">here</a>.</strong></em></p>]]></content:encoded>
    </item>
    <item>
      <title>Logical task combinators</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/logical-task-combinators</link>
      <pubDate>Tue, 11 Mar 2014 06:11:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2014/03/11/logical-task-combinators/</guid>
      <description><![CDATA[When I had to use Erlang for the very first time it was a brand new language and I was in collage....]]></description>
      <content:encoded><![CDATA[<p><em>When I had to use <a href="https://www.erlang.org/" data-blogger-escaped-target="_blank">Erlang</a> for the very first time it was a brand new language and I was in collage. Back then Erlang did not have a logical not function so we had to define our own in order to make our code readable. At least given the knowledge me and my lab partner had at the time. So the other week I had a deja vu moment since I had a <span style="font-family: Courier New, Courier, monospace;">Task&lt;bool&gt;</span> that I wanted to negate. At first it felt real weird and I ended up solving my problem in a different way. But then I started to think.</em></p>
<p><strong><em>Read more <a href="https://blog.cellfish.se/2014/03/logical-task-combinators.html">here</a>.</em></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>Hashtable vs ConcurrentDictionary</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/hashtable-vs-concurrentdictionary</link>
      <pubDate>Tue, 04 Mar 2014 04:03:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2014/03/04/hashtable-vs-concurrentdictionary/</guid>
      <description><![CDATA[Historically I've seen the&nbsp;Hashtable&nbsp;be favored over&nbsp;ConcurrentDictionary&nbsp;with...]]></description>
      <content:encoded><![CDATA[<p><em><span style="color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; -webkit-text-stroke-width: 0px;">Historically I've seen the<span class="Apple-converted-space">&nbsp;</span></span><a style="text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; -webkit-text-stroke-width: 0px;" href="https://msdn.microsoft.com/en-us/library/system.collections.hashtable(v=vs.110).aspx" target="_blank">Hashtable</a><span style="color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; -webkit-text-stroke-width: 0px;"><span class="Apple-converted-space">&nbsp;</span>be favored over<span class="Apple-converted-space">&nbsp;</span></span><a style="text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; -webkit-text-stroke-width: 0px;" href="https://msdn.microsoft.com/en-us/library/dd287191(v=vs.110).aspx" target="_blank">ConcurrentDictionary</a><span style="color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; -webkit-text-stroke-width: 0px;"><span class="Apple-converted-space">&nbsp;</span>with the assumption that is was more efficient allowing for lock free reads. Well they both allow lock free reads so which one is really the better option?</span></em></p>
<p><strong><em><span style="color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; -webkit-text-stroke-width: 0px;">Read more <a href="https://blog.cellfish.se/2014/02/hashtable-vs-concurrentdictionary.html">here</a>!</span></em></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>Circuit Breaker Pattern</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/circuit-breaker-pattern</link>
      <pubDate>Tue, 25 Feb 2014 06:25:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2014/02/25/circuit-breaker-pattern/</guid>
      <description><![CDATA[Start here&nbsp;to learn more about different ways to implement the circuit breaker pattern!]]></description>
      <content:encoded><![CDATA[<p><em>Start <a href="https://blog.cellfish.se/2014/02/circuit-breaker-summary.html">here</a>&nbsp;to learn more about different ways to implement the circuit breaker pattern!</em></p>]]></content:encoded>
    </item>
    <item>
      <title>Lunch Dictator or Tweeting from PHP</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/lunch-dictator-or-tweeting-from-php</link>
      <pubDate>Tue, 24 Dec 2013 06:12:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2013/12/24/lunch-dictator-or-tweeting-from-php/</guid>
      <description><![CDATA[A while back I needed a way to simply post tweets from PHP. To my disappointment most examples I...]]></description>
      <content:encoded><![CDATA[<p><em>A while back I needed a way to simply post tweets from PHP. To my disappointment most examples I found were about reading tweets or required a bunch of PHP modules I did not have the opportunity to use on the server where the script was going to run. So I had to do some work.</em></p>
<p><em><strong><a href="https://blog.cellfish.se/2013/12/lunch-dictator-or-tweeting-from-php.html">Read more here</a>.</strong></em></p>]]></content:encoded>
    </item>
    <item>
      <title>429 vs 503</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/429-vs-503</link>
      <pubDate>Tue, 17 Dec 2013 05:12:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2013/12/17/429-vs-503/</guid>
      <description><![CDATA[A while back I was involved in a discussion around using 429 instead of 503 in order to tell clients...]]></description>
      <content:encoded><![CDATA[<p><em>A while back I was involved in a discussion around using 429 instead of 503 in order to tell clients they should back off a little. And there are some good arguments for both. Here are my thoughts.</em></p>
<p><strong><em><a href="https://blog.cellfish.se/2013/12/429-vs-503.html">Read more here</a>.</em></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>Abstracting time</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/abstracting-time</link>
      <pubDate>Tue, 10 Dec 2013 10:12:00 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2013/12/10/abstracting-time/</guid>
      <description><![CDATA[Probably one of the most common tight couplings I see is a dependency on system time, i.e. using...]]></description>
      <content:encoded><![CDATA[<p><em>Probably one of the most common tight couplings I see is a dependency on system time, i.e. using <span style="font-family: courier new,courier;">DateTime.Now</span> or <span style="font-family: courier new,courier;">DateTime.UtcNow</span> directly in your code without any abstraction around it. A tight coupling that typically leads to very complex and fragile tests when trying to ad test coverage.</em></p>
<p><em><strong><a href="https://blog.cellfish.se/2013/12/abstracting-time.html">Read more here</a></strong>.</em></p>]]></content:encoded>
    </item>
    <item>
      <title>Xbox One Launch Day</title>
      <link>https://docs.microsoft.com/archive/blogs/cellfish/xbox-one-launch-day</link>
      <pubDate>Thu, 21 Nov 2013 21:51:13 GMT</pubDate>
      <dc:creator><![CDATA[Emil Gustafsson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/cellfish/2013/11/21/xbox-one-launch-day/</guid>
      <description><![CDATA[So what is it like to launch Xbox One? Given that it started 3am local time when New Zeeland first...]]></description>
      <content:encoded><![CDATA[<p><em>So what is it like to launch Xbox One? Given that it started 3am local time when New Zeeland first launched it has been an interesting and long&nbsp;day.</em></p>
<p><strong><em><a href="https://blog.cellfish.se/2013/11/xbox-one-launch-day.html">Read more here</a>.</em></strong></p>]]></content:encoded>
    </item>
  </channel>
</rss>