Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    D

    Dan Lew

    blog.danlew.net · Personal blog · on HN since 2014

    Dan Lew, an Android developer, writes on code review, Kotlin, RxJava, reactive programming, and software practice.

    Visit blogRSSHN submissions
    ProgrammingMobile & AppleCareer & Work
    What HN says

    Commenters recommend his posts on code review, especially the LOGAF scale and 'Stop Nitpicking', and his RxJava tutorials for Android.

    Stats for nerds
    23HN people shared it
    26linked in comments
    707story points
    Nov 2024last shared
    2015people per year2024

    Top posts on HN

    1. 1
      Android: I don't need your permission
      2 people · 541 points · first shared 2014 · 183 comments on HN
    2. 2
      Mutable vals in Kotlin
      1 person · 84 points · first shared 2017 · 41 comments on HN
    3. 3
      Stop Nitpicking in Code Reviews
      5 people · 43 points · first shared 2021 · 36 comments on HN
    4. 4
      An Introduction to Functional Reactive Programming (2017)
      4 people · 7 points · first shared 2017 · Discussion on HN
    5. 5
      The Logaf Scale
      3 people · 4 points · first shared 2020 · 1 comments on HN
    6. 6
      Software Development Is Nonlinear System
      2 people · 4 points · first shared 2024 · Discussion on HN
    7. 7
      You Should Write More
      1 person · 3 points · first shared 2014 · Discussion on HN
    8. 8
      My Programming Earworms
      1 person · 3 points · first shared 2021 · Discussion on HN
    9. 9
      When to use Kotlin's standard functions
      1 person · 3 points · first shared 2019 · Discussion on HN
    10. 10
      Coroutines and Java Synchronization Don't Mix
      2 people · 2 points · first shared 2020 · Discussion on HN

    What HN people wrote when they linked it

    • HillaryBrissDec 2015

      Maybe it's just me but, when I see things like this, I lose confidence in the method naming process on the Android SDK:

      glEGLImageTargetRenderbufferStorageOES

      http://developer.android.com/reference/android/opengl/GLES11Ext.html#glEGLImageTargetRenderbufferStorageOES%28int,%20java.nio.Buffer%29

      They capitalized Render but not buffer. Also: what does this even mean?

      ---

      readExceptionWithOperationApplicationExceptionFromParcel

      http://developer.android.com/reference/android/database/DatabaseUtils.html#readExceptionWithOperationApplicationExceptionFromParcel%28android.os.Parcel%29

      Do they really need to put the word Exception in this name twice?

      ---

      getGestureStrokeSquarenessTreshold

      http://developer.android.com/reference/android/gesture/GestureOverlayView.html#getGestureStrokeSquarenessTreshold%28%29

      What's a Treshold? (Yes, that's how they spelled it).

      ---

      Ok, so the standard way they spell it is N-U-L. One L: getAllButNulLegal

      http://developer.android.com/reference/android/net/UrlQuerySanitizer.html#getAllButNulLegal%28%29

      But wait: readMessengerOrNullFromParcel

      http://developer.android.com/reference/android/os/Messenger.html#readMessengerOrNullFromParcel%28android.os.Parcel%29

      ---

      Ok, so the standard way they spell it is C-A-N-C-E-L-E-D. One L: registerOnLoadCanceledListener

      http://developer.android.com/reference/android/support/v4/content/Loader.html#registerOnLoadCanceledListener%28android.support.v4.content.Loader.OnLoadCanceledListener%3CD%3E%29

      But…

    • angarg12Jun 2022

      I keep a running list of articles I found useful over the years. There are many great articles about Code Reviews out there. Consider this a more general answer to your question:

      Feedback Ladders: How We Encode Code Reviews at Net-lify

      https://www.netlify.com/blog/2020/03/05/feedback-ladders-how-we-encode-code-reviews-at-netlify/

      How to Make Good Code Reviews Better

      https://stackoverflow.blog/2019/09/30/how-to-make-good-code-reviews-better/

      Best Practices for Code Review

      https://smartbear.com/learn/code-review/best-practices-for-peer-code-review/

      Code Review Guidelines for Humans

      https://phauer.com/2018/code-review-guidelines/

      Unlearning toxic behaviors in a code review culture

      https://medium.com/@sandya.sankarram/unlearning-toxic-behaviors-in-a-code-review-culture-b7c295452a3c

      How to Do Code Reviews Like a Human

      https://mtlynch.io/human-code-reviews-2/

      Stop Nitpicking in Code Reviews

      https://blog.danlew.net/2021/02/23/stop-nitpicking-in-code-reviews/

    • btownJan 2024

      Similar to the FG scale in the OP, LOGAF is a fantastic system to use, especially in asynchronous/remote environments. It's radically improved our code review iteration cycles.

      https://blog.danlew.net/2021/02/23/stop-nitpicking-in-code-reviews/

      That said, review debates are only one part of a "debate everything" culture. Architectural disagreements are much harder to solve while maintaining morale. One thing I've found effective as an engineering leader, when we need a plan of action, is to ensure I listen to every technical take, but make it clear that while I'm incorporating all those concerns into the decision, some concerns need to be weighted more than others based on larger medium-to-long-term business context, and that those concerns need to drive the design. It isn't always the best approach with 20/20 hindsight, but the removal of paralysis has been a net positive so far.

    • yla92Jan 2017

      For Android dev related, I follow

      Jake Wharton : https://github.com/jakewharton , https://twitter.com/JakeWharton - He is well known in Android community. He has authored a lot of great libraries personally and under Square.

      Mark Murphy - https://commonsware.com/blog/

      Chris Banes - https://chris.banes.me/

      Cyril Mottier - https://cyrilmottier.com , https://twitter.com/cyrilmottier

      Dan Lew - http://blog.danlew.net/

      Donn Felker - http://www.donnfelker.com

      Mark Allison - https://blog.stylingandroid.com

      Jesse Wilson - https://publicobject.com/

      Roman Nurik - https://twitter.com/romannurik

    • TuringTestJun 2020

      Maybe the difference is that you keep control with events, i.e. you can filter, retarget, cancel or otherwise reason in general about the way they propagate?

      I'm no expert, but the essence of the "reactive functional programming" programming paradigm is that you have composable high level abstractions about the streams of events (e.g. marble diagrams).[1]

      [1] https://blog.danlew.net/2017/07/27/an-introduction-to-functional-reactive-programming/

    • tartuffe78Mar 2016

      We ran into that as well integrating it into a 3 year old Android codebase.

      We followed these tutorials at first, but it definitely just took a lot of time and trying things out.
      http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/

      RxJava + Retrolambda has accelerated our development speed once we got a grip on it, but it does complicate our build process.

    Related

    Jesse Wilsonpublicobject.com17 people

    Strict APIs vs. Forgiving APIs

    Jesse Wilson
    Personal · last shared 2025
    Philipp Hauerphauer.com17 people

    Best Practices for Testing in Java (2019)

    Philipp Hauer
    Personal · last shared 2026
    ZeroTurnaround Blogzeroturnaround.com86 people

    Java 10 and beyond – a look at the potential language change

    ZeroTurnaround Blog
    Company · last shared 2018
    Atlassian Developer Blogdeveloper.atlassian.com115 people

    A better pull request

    Atlassian Developer Blog
    Company · last shared 2026
    Check Point Research Blogblog.checkpoint.com80 people

    Malicious Subtitles Threaten Kodi, VLC and Popcorn Time Users

    Check Point Research Blog
    Company · last shared 2026
    Manish Goregaokarmanishearth.github.io97 people

    Picking Apart the Crashing iOS String

    Manish Goregaokar
    Personal · last shared 2026
    Android Developers Blogandroid-developers.blogspot.com277 people

    Android Studio 1.0

    Android Developers Blog
    Company · last shared 2016
    jwzjwz.org880 people

    Watch a VC use my name to sell a con

    jwz
    Personal · last shared 2026