<![CDATA[Charles Muchene's blog]]>https://charlesmuchene.comhttps://cdn.hashnode.com/res/hashnode/image/upload/v1584126130366/i4BmKYhif.pngCharles Muchene's bloghttps://charlesmuchene.comRSS for NodeFri, 23 Oct 2020 22:27:23 GMT60<![CDATA[Optional of an Optional]]>https://charlesmuchene.com/optional-of-an-optional-ckex1oy3d01sxggs16k7j7ed5https://charlesmuchene.com/optional-of-an-optional-ckex1oy3d01sxggs16k7j7ed5Thu, 10 Sep 2020 16:47:41 GMT<![CDATA[Attribute it to...]]>https://charlesmuchene.com/attribute-it-to-ckc4j2kmq00m2tqs194i99ldihttps://charlesmuchene.com/attribute-it-to-ckc4j2kmq00m2tqs194i99ldiThu, 02 Jul 2020 16:30:00 GMT<![CDATA[It's a Struct world]]>https://charlesmuchene.com/its-a-struct-world-ckc1qygf10026hes1c4t93hw6https://charlesmuchene.com/its-a-struct-world-ckc1qygf10026hes1c4t93hw6Tue, 30 Jun 2020 15:30:00 GMT<![CDATA[Ruler of iOS apps - UIScrollView]]>https://charlesmuchene.com/ruler-of-ios-apps-uiscrollview-ckbhqlryg001qt4s1f2p6xorhhttps://charlesmuchene.com/ruler-of-ios-apps-uiscrollview-ckbhqlryg001qt4s1f2p6xorhTue, 16 Jun 2020 09:41:38 GMT<![CDATA[Activity vs UIViewController Lifecycle]]>https://charlesmuchene.com/activity-vs-uiviewcontroller-lifecycle-5a7a5a2e219fhttps://charlesmuchene.com/activity-vs-uiviewcontroller-lifecycle-5a7a5a2e219fMon, 27 Apr 2020 06:23:04 GMT<![CDATA[Custom Response Handler in Alamofire]]>https://charlesmuchene.com/custom-response-handler-in-alamofire-80267c3773a9https://charlesmuchene.com/custom-response-handler-in-alamofire-80267c3773a9Sun, 26 Apr 2020 07:15:19 GMT<![CDATA[Hooking into App’s Lifecycle  within UIViewController]]>https://charlesmuchene.com/hooking-into-apps-lifecycle-events-ios-ef433cefdbcehttps://charlesmuchene.com/hooking-into-apps-lifecycle-events-ios-ef433cefdbceSun, 26 Apr 2020 06:53:06 GMT<![CDATA[Learning Android/iOS development]]>https://charlesmuchene.com/learning-android-ios-development-82e6d95d08c1https://charlesmuchene.com/learning-android-ios-development-82e6d95d08c1Sun, 26 Apr 2020 06:02:59 GMT<![CDATA[A day with Kotlin Strings]]>https://charlesmuchene.com/a-day-with-kotlin-strings-ck9fhb5h90680cxs1fgzfrzb8https://charlesmuchene.com/a-day-with-kotlin-strings-ck9fhb5h90680cxs1fgzfrzb8Sat, 25 Apr 2020 10:26:29 GMT<![CDATA[Contact Tracing - Part 3]]>https://charlesmuchene.com/contact-tracing-part-3-ck93on13n03tv7us197iqj8d1https://charlesmuchene.com/contact-tracing-part-3-ck93on13n03tv7us197iqj8d1Fri, 17 Apr 2020 04:18:26 GMT<![CDATA[Contact Tracing - Part 2]]>https://charlesmuchene.com/contact-tracing-part-2-ck92lkork035u7vs14fn9jwrehttps://charlesmuchene.com/contact-tracing-part-2-ck92lkork035u7vs14fn9jwreThu, 16 Apr 2020 10:04:52 GMT<![CDATA[Contact Tracing - Part 1]]>https://charlesmuchene.com/contact-tracing-part-1-ck912ur0501uo7vs15n6sk5khhttps://charlesmuchene.com/contact-tracing-part-1-ck912ur0501uo7vs15n6sk5khWed, 15 Apr 2020 08:33:03 GMT<![CDATA[Threading with Handler, Looper and Messages]]>https://charlesmuchene.com/threading-with-handler-looper-and-messages-ck8lt3gpe012j74s19815qzqghttps://charlesmuchene.com/threading-with-handler-looper-and-messages-ck8lt3gpe012j74s19815qzqgSat, 04 Apr 2020 16:03:20 GMT<![CDATA[Surviving Configuration Change - ViewModel]]>https://charlesmuchene.com/surviving-configuration-change-viewmodel-ck8cyte8u00nfxes1o6s76r1mhttps://charlesmuchene.com/surviving-configuration-change-viewmodel-ck8cyte8u00nfxes1o6s76r1mSun, 29 Mar 2020 11:33:33 GMT<![CDATA[A Subtle Memory Leak - Fragment, RecyclerView and its Adapter]]>https://charlesmuchene.com/a-subtle-memory-leak-fragment-recyclerview-and-its-adapter-ck805s7jd03frzns17uapi3vhhttps://charlesmuchene.com/a-subtle-memory-leak-fragment-recyclerview-and-its-adapter-ck805s7jd03frzns17uapi3vhFri, 20 Mar 2020 12:27:34 GMT<![CDATA[Uncovering Kotlin Coroutines (on Android)]]>https://charlesmuchene.com/uncovering-kotlin-coroutines-on-android-ck7qjag4l002izns18hkqojpbhttps://charlesmuchene.com/uncovering-kotlin-coroutines-on-android-ck7qjag4l002izns18hkqojpbFri, 13 Mar 2020 15:35:53 GMT