<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/feed.rss.xml" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ellsk1</title>
    <description></description>
    <link>https://speakerdeck.com/ellsk1</link>
    <atom:link rel="self" type="application/rss+xml" href="https://speakerdeck.com/ellsk1.rss"/>
    <lastBuildDate>2019-11-10 01:27:23 -0500</lastBuildDate>
    <item>
      <title>No Strings Attached</title>
      <description>Swift String is one of the most commonly used fundamental types in the Swift standard library, but it has pitfalls that are easily overlooked. At Uber, we work with multiple apps that are deployed in multiple markets and localized in over 50 languages, which rely heavily on correctness and safety of String. We’ve also built multiple code generators and other developer tools that involve a large amount of String processing, and thus String performance can have a huge impact. This talk will discuss various scenarios where we encountered pitfalls of Swift Strings, and the methods we used to resolve challenges from both the correctness and performance perspectives. It will also cover what you can do for your apps or tools to safeguard and optimize if you use Strings a lot.</description>
      <media:content url="https://files.speakerdeck.com/presentations/52fc172c08f94fb3ae4e71daf2043788/preview_slide_0.jpg?14122511" type="image/jpeg" medium="image"/>
      <content:encoded>Swift String is one of the most commonly used fundamental types in the Swift standard library, but it has pitfalls that are easily overlooked. At Uber, we work with multiple apps that are deployed in multiple markets and localized in over 50 languages, which rely heavily on correctness and safety of String. We’ve also built multiple code generators and other developer tools that involve a large amount of String processing, and thus String performance can have a huge impact. This talk will discuss various scenarios where we encountered pitfalls of Swift Strings, and the methods we used to resolve challenges from both the correctness and performance perspectives. It will also cover what you can do for your apps or tools to safeguard and optimize if you use Strings a lot.</content:encoded>
      <pubDate>Fri, 20 Sep 2019 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/ellsk1/no-strings-attached</link>
      <guid>https://speakerdeck.com/ellsk1/no-strings-attached</guid>
    </item>
    <item>
      <title>Mockolo: Efficient Mock Generator for Swift</title>
      <description>When writing code to fit a certain design pattern, creating data models, or writing mocks for unit tests, it’s sometimes hard to avoid writing templated code.  Especially when the codebase gets larger, it becomes very cumbersome to write them manually. This is when a code generation tool can be very handy.  

At Uber, we have millions of lines of code, and needed a tool that transforms code in a performant, scalable manner.  This talk will go over how we built such tool, with a focus on mock generation. We’ll discuss the details of each step in the tool development, various optimizations applied to make it performant, as well as  how the tool can be used in your app. </description>
      <media:content url="https://files.speakerdeck.com/presentations/03a8fac5be7d45169644dbfab30f8608/preview_slide_0.jpg?14122582" type="image/jpeg" medium="image"/>
      <content:encoded>When writing code to fit a certain design pattern, creating data models, or writing mocks for unit tests, it’s sometimes hard to avoid writing templated code.  Especially when the codebase gets larger, it becomes very cumbersome to write them manually. This is when a code generation tool can be very handy.  

At Uber, we have millions of lines of code, and needed a tool that transforms code in a performant, scalable manner.  This talk will go over how we built such tool, with a focus on mock generation. We’ll discuss the details of each step in the tool development, various optimizations applied to make it performant, as well as  how the tool can be used in your app. </content:encoded>
      <pubDate>Mon, 27 May 2019 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/ellsk1/mockolo-efficient-mock-generator-for-swift</link>
      <guid>https://speakerdeck.com/ellsk1/mockolo-efficient-mock-generator-for-swift</guid>
    </item>
    <item>
      <title>Putting Your App On A Diet</title>
      <description>Is your app written in Swift or are you considering rewriting your app in Swift? Are you adding more and more features to your app, and getting worried about your app size blowing up? If so, reducing your app size should be on your radar.  

When our Uber Rider app exceeded the OTA limit, we had to find solutions to reduce the app size. We dug into the Swift compiler process and analyzed the compiler output to find the root causes of size increases. We used this information to identify potential changes to both compiler process and to the source code which allowed us to attain significant size decreases without major changes to the app. 

While you might not be running up against the size limits, keeping your app size small will help you keep your app more performant thus be more attractive to users. This talk will go over binary size analysis and optimizations we used at Uber, as well as general tips and tricks you might be able to apply to your app. </description>
      <media:content url="https://files.speakerdeck.com/presentations/17deead04c794bcb9bed1d408fea71f8/preview_slide_0.jpg?14122678" type="image/jpeg" medium="image"/>
      <content:encoded>Is your app written in Swift or are you considering rewriting your app in Swift? Are you adding more and more features to your app, and getting worried about your app size blowing up? If so, reducing your app size should be on your radar.  

When our Uber Rider app exceeded the OTA limit, we had to find solutions to reduce the app size. We dug into the Swift compiler process and analyzed the compiler output to find the root causes of size increases. We used this information to identify potential changes to both compiler process and to the source code which allowed us to attain significant size decreases without major changes to the app. 

While you might not be running up against the size limits, keeping your app size small will help you keep your app more performant thus be more attractive to users. This talk will go over binary size analysis and optimizations we used at Uber, as well as general tips and tricks you might be able to apply to your app. </content:encoded>
      <pubDate>Thu, 25 Oct 2018 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/ellsk1/putting-your-app-on-a-diet</link>
      <guid>https://speakerdeck.com/ellsk1/putting-your-app-on-a-diet</guid>
    </item>
  </channel>
</rss>
