<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Patrick Jackson</title><description>Software Engineer specializing in Kotlin, Android, iOS, and Kotlin Multiplatform.</description><link>https://patrickjackson.dev/</link><item><title>Publishing Multiplatform Kotlin Libraries</title><link>https://patrickjackson.dev/blog/publishing-multiplatform-kotlin-libraries/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/publishing-multiplatform-kotlin-libraries/</guid><description>Publishing artifacts for multiplatform Kotlin is a bit more complicated than a JVM project. If you are supporting all of Kotlin&apos;s platforms, then need at least </description><pubDate>Mon, 26 Oct 2020 00:00:00 GMT</pubDate><category>kotlin-multiplatform</category></item><item><title>Certificate Pinning for Mobile Devs</title><link>https://patrickjackson.dev/blog/certificate-pinning-for-mobile-devs/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/certificate-pinning-for-mobile-devs/</guid><description>Why? Pinning is needed to protect data going from your app to your backend. Without certificate pinning your users traffic may be intercepted by a Man-in-the-mi</description><pubDate>Fri, 21 Aug 2020 00:00:00 GMT</pubDate><category>Android</category><category>iOS</category><category>mobile</category><category>security</category></item><item><title>Redux on Multithreaded Platforms</title><link>https://patrickjackson.dev/blog/redux-on-multithreaded-platforms/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/redux-on-multithreaded-platforms/</guid><description>Writing code with Redux for web really doesn&apos;t require consideration of threading and concurrent modification of variables. Given Javascript is single threaded </description><pubDate>Sat, 13 Jun 2020 00:00:00 GMT</pubDate><category>redux</category></item><item><title>Kadane&apos;s Algorithm</title><link>https://patrickjackson.dev/blog/kadanes-algorithm/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/kadanes-algorithm/</guid><description>Computer science history is all about building upon the work that came before us – &quot;standing on the shoulders of giants&quot; as it goes. Kadane&apos;s Algorithm is no ex</description><pubDate>Tue, 18 Feb 2020 00:00:00 GMT</pubDate><category>Computer Science</category></item><item><title>&apos;Unsupported Kotlin Plugin version&apos; – Android Studio</title><link>https://patrickjackson.dev/blog/unsupported-kotlin-plugin-version-android-studio/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/unsupported-kotlin-plugin-version-android-studio/</guid><description>If you run into this in Android Studio, you may need a gradle update. I&apos;ve ran into this while using Gradle v5.6.2 and Kotlin v1.3.61. I was also using the kotl</description><pubDate>Wed, 05 Feb 2020 00:00:00 GMT</pubDate><category>Android</category></item><item><title>Multiplatform: Apple AppStore Thoughts</title><link>https://patrickjackson.dev/blog/multiplatform-apple-appstore-thoughts/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/multiplatform-apple-appstore-thoughts/</guid><description>Apple has always valued great user experience. Its App store is guarded by App store reviews with the authority to reject anything that does not meet its standa</description><pubDate>Sat, 25 Jan 2020 00:00:00 GMT</pubDate><category>opinion</category></item><item><title>Coroutine Delay</title><link>https://patrickjackson.dev/blog/coroutine-delay/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/coroutine-delay/</guid><description>A common pattern is to delay execution of some code for a given amount of time. In Android and iOS there are several ways to do, such as the above snippet. How </description><pubDate>Tue, 03 Dec 2019 00:00:00 GMT</pubDate><category>kotlin-multiplatform</category></item><item><title>ReduxKotlin.org</title><link>https://patrickjackson.dev/blog/reduxkotlin-org/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/reduxkotlin-org/</guid><description>Earlier this year I began work on ReduxKotlin.org – a port of the Javascript library Redux. This series of posts will describe the what, why, how, and the visio</description><pubDate>Sat, 30 Nov 2019 00:00:00 GMT</pubDate><category>redux</category><category>reduxkotlin</category></item><item><title>Html in TextViews</title><link>https://patrickjackson.dev/blog/html-in-textviews/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/html-in-textviews/</guid><description>Using HTML in TextViews can be helpful for formatting, especially when displaying content retrieved from a server. For optimal layout and control a custom nativ</description><pubDate>Sat, 09 Nov 2019 00:00:00 GMT</pubDate><category>Android</category></item><item><title>Android Essentials: &lt;merge&gt; tag</title><link>https://patrickjackson.dev/blog/android-essentials-merge-tag/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/android-essentials-merge-tag/</guid><description>When inflating a layout from XML for a custom view or in an &lt;include&gt; tag in a xml layout, the &lt;merge&gt; tag is essential. The merge tag does exactly that – it me</description><pubDate>Sun, 20 Oct 2019 00:00:00 GMT</pubDate><category>Android</category></item><item><title>Optimizing Android Build Time</title><link>https://patrickjackson.dev/blog/optimizing-build-time/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/optimizing-build-time/</guid><description>Android developers get all the benefits of a nice statically compiled language, but that comes at a cost – build time. Compile times can add up quickly and be a</description><pubDate>Sat, 05 Oct 2019 00:00:00 GMT</pubDate><category>Android</category></item><item><title>toLowerCase() lint warnings</title><link>https://patrickjackson.dev/blog/tolowercase-lint-warnings/</link><guid isPermaLink="true">https://patrickjackson.dev/blog/tolowercase-lint-warnings/</guid><description>You may run across a lint warning in Java or Kotlin on when using String.toLowerCase(). &quot;Implicitly using the default locale is a common source of bugs: Use toL</description><pubDate>Thu, 12 Sep 2019 00:00:00 GMT</pubDate><category>Uncategorized</category></item></channel></rss>