<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Programming adventures by sunshinejr</title>
    <link>https://sunshinejr.com/</link>
    <description>Recent content - Programming adventures by sunshinejr</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 30 Apr 2020 19:01:01 +0200</lastBuildDate>
    
        <atom:link href="https://sunshinejr.com/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Different approach to Attributed Strings in Swift</title>
      <link>https://sunshinejr.com/2020/04/30/different-approach-to-attributed-strings-in-swift/</link>
      <pubDate>Thu, 30 Apr 2020 19:01:01 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2020/04/30/different-approach-to-attributed-strings-in-swift/</guid>
      <description>Let&#39;s see how we can create a declarative, MVVM-friendly API for `AttributedStrings` that tells **what**, not **how** to render.</description>
    </item>
    
    <item>
      <title>Stop force unwrapping IBOutlets with @Delayed</title>
      <link>https://sunshinejr.com/2019/10/23/stop-using-iboutlets-today/</link>
      <pubDate>Wed, 23 Oct 2019 16:12:01 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2019/10/23/stop-using-iboutlets-today/</guid>
      <description>Take a look at how Property Wrappers can remove the need of using both IBOutlets and force-unwrapping.</description>
    </item>
    
    <item>
      <title>Open Source Adventures #6 - Gifski</title>
      <link>https://sunshinejr.com/2019/08/09/open-source-adventures-gifski/</link>
      <pubDate>Fri, 09 Aug 2019 18:08:10 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2019/08/09/open-source-adventures-gifski/</guid>
      <description>How I started doing macOS apps and improved my favorite GIF client.</description>
    </item>
    
    <item>
      <title>Using Xcode Preview with your production code</title>
      <link>https://sunshinejr.com/2019/06/04/using-xcode-previews-with-production-code/</link>
      <pubDate>Tue, 04 Jun 2019 23:40:01 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2019/06/04/using-xcode-previews-with-production-code/</guid>
      <description>Everyone is happy for SwiftUI, but a lot of production code won&#39;t be able to use it for a while. Don&#39;t worry though - you can still prototype your views using the newest Xcode Preview.</description>
    </item>
    
    <item>
      <title>Open Source Adventures #5 - SwiftyUserDefaults</title>
      <link>https://sunshinejr.com/2019/05/14/open-source-adventures-swiftyuserdefaults/</link>
      <pubDate>Tue, 14 May 2019 17:11:10 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2019/05/14/open-source-adventures-swiftyuserdefaults/</guid>
      <description>A story of how I stole another library and almost ruined it for everyone.</description>
    </item>
    
    <item>
      <title>SwiftyUserDefaults 4.0</title>
      <link>https://sunshinejr.com/2019/05/01/swifty-user-defaults-reborn/</link>
      <pubDate>Wed, 01 May 2019 18:01:10 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2019/05/01/swifty-user-defaults-reborn/</guid>
      <description>After a year of work, we finally released version 4.</description>
    </item>
    
    <item>
      <title>Open Source Adventures #4 - Harvey</title>
      <link>https://sunshinejr.com/2019/03/05/open-source-adventures-harvey/</link>
      <pubDate>Tue, 05 Mar 2019 19:50:11 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2019/03/05/open-source-adventures-harvey/</guid>
      <description>A retrospection of Moya&#39;s testing library.</description>
    </item>
    
    <item>
      <title>Open Source Adventures #3 - Carthage</title>
      <link>https://sunshinejr.com/2018/05/08/open-source-adventures-carthage/</link>
      <pubDate>Tue, 08 May 2018 17:09:10 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2018/05/08/open-source-adventures-carthage/</guid>
      <description>When there is a problem with a certain library in a certain package manager, should it be resolved by a library or the package manager itself? 🤔</description>
    </item>
    
    <item>
      <title>Open Source Adventures #2 - Marathon</title>
      <link>https://sunshinejr.com/2018/04/23/open-source-adventures-marathon/</link>
      <pubDate>Mon, 23 Apr 2018 18:00:10 +0200</pubDate>
      
      <guid>https://sunshinejr.com/2018/04/23/open-source-adventures-marathon/</guid>
      <description>5h Marathon of fixing tests on Linux! I think I&#39;ve got a good time!</description>
    </item>
    
    <item>
      <title>Scaling Moya in production</title>
      <link>https://sunshinejr.com/2018/04/11/scaling-moya-in-production/</link>
      <pubDate>Wed, 11 Apr 2018 17:01:01 +0100</pubDate>
      
      <guid>https://sunshinejr.com/2018/04/11/scaling-moya-in-production/</guid>
      <description>There is a big misconception that Moya is not scalable in the real world. People often see it as a &#34;big enum of death&#34;. Today, I want to show you that this is in fact not true at all.</description>
    </item>
    
    <item>
      <title>Open Source Adventures #1 - Xiblint</title>
      <link>https://sunshinejr.com/2018/04/03/open-source-adventures-xiblint/</link>
      <pubDate>Tue, 03 Apr 2018 17:02:50 +0100</pubDate>
      
      <guid>https://sunshinejr.com/2018/04/03/open-source-adventures-xiblint/</guid>
      <description>I wanted to implement this one simple feature for our CI setup and ended up learning Python and Typescript instead...</description>
    </item>
    
  </channel>
</rss>