Norway


ICYMI (or more likely, in case I want a reference), here’s all the public stuff I’ve done in the past .

This year, I purposefully avoided traveling to speak at conferences. Writing talks, traveling, and attending conferences takes up a huge chunk of and I was curious what would happen if I freed up that . In addition, I feel like most talks have a reach compared to the long tail lifespan of articles.

The end result? I wrote a lot more articles instead. I also missed all my conference buddies, so we’ll see how I balance things in future years.

That said, I’ve got a baby due in March so there is a high likelihood that my public work will take a backseat to raising a child.

  • The Activity lifecycle vs. the world

    People lean on Activities too much. Here’s why you should (at least) decouple your long-lived logic from Activities.

  • Code Deliberately

    Thoughts on the process of writing code.

  • Correctly handling bundled Android notifications

    Notifications on Android are complicated at best. I was tasked with rewriting our notification system and this was the best implementation I could come up with. However, all of this writing predates Oreo, which changed everything again, so this article is only half-useful now.

  • Trello Offline Series

    One of the longest projects I’ve ever worked on was making Trello Android work offline. So far, our system still works well; I’ve not regretted the time we put in. I wrote a series of articles touching on the more interesting aspects of this project:

  • Kotlin Puzzler: Whose Line Is It Anyways?

    A fun little puzzler for .

  • Proper Parcelable testing

    How Parcelables you think are working can fail, and why your tests didn’t work.

  • Why Kotlin?

    Kotlin is now an officially supported language for Android development. I weigh in here why I think that’s a good move.

  • Mutable vals in Kotlin

    A common misconception is that Kotlin’s val means immutable; here I aim to clear up the misunderstanding and what you can do about it.

  • Musings on Kotlin Ranges

    In this article I dig into some esoteric aspects of Kotlin ranges.

  • Convincing the Kotlin compiler that code is safe

    Kotlin supports nullability in the type system, which is great; but that can have its own cost when you know a type is non-null but the compiler does not. Here, I go over how to solve this problem.

  • An Introduction to Functional Reactive Programming

    I did a full write-up of a talk I gave earlier in the year. It’s a basic to FRP. It took way too long to write. I will probably never write up a talk again.

  • Why Not RxLifecycle?

    A few years ago we released RxLifecycle as our answer to some of RxJava’s issues on Android. I’ve since decided it was the wrong answer. Here’s why.

  • Working With Android Notification Channels

    Android Oreo added notification channels, because notifications on Android weren’t complicated enough.

While I avoided traveling to give talks, I did give a couple locally.

  • An Introduction to Functional Reactive Programming
    (slides, video, write-up)

    A true introduction for FRP. It doesn’t rely on any particular library and aims to explain the motivations for FRP.

  • Android Notification Channels: The Complicated Parts (slides)

    I struggled with Oreo notification channels, then I gave a talk at a local meet-up about it. Sorry, no video.

  • Hostile Design Patterns (link)

    My first ignite talk. Also my first comedy talk. It went well but for good reasons I will not be providing slides nor video.

  • android-architecture-counter-sample

    I wrote up a sample app using both Kotlin and Android architecture components, mostly as a way to explore the API.

  • I continued to maintain the following projects:

  • ADB: IO IO

    Wherein I join a large group of great Android developers to talk about Google IO .

  • Fragmented: RxJava intervention with Dan Lew

    I did a couple RxJava podcasts on Fragmented a couple years ago. I’ve come back now with my maturing thoughts on proper reactive code practices.



Source link

LEAVE A REPLY

Please enter your comment!
Please enter your name here