Book Review - Elegant Objects Vol 1

A colleague brought up Elegant Objects (Vol 1) [https://www.amazon.com/Elegant-Objects-1-Yegor-Bugayenko/dp/1519166915/] by Yegor Bugayenko; suggesting someone read it and see if it's worth while for those looking trying to follow best Object Oriented Programming/Design practices. I can read through books pretty quickly; I…

Android HackerNews - Interactive Item

We're at the point we need to do something with the Story we're displaying. Or the job. Either one. My thoughts on this is to have two actions. A tap and a swipe. The swipe is going to require a change in the list itself (I…

The Hotel Pattern

Welcome to the Hotel! The Hotel pattern is a UI pattern I've started using based off a few things. A big one is my disdain of existing UI pattern and the poor Object Oriented Design patterns they encourage and fascilitate. Another is the focus on software craftsmanship and…

My Thoughts: Slow Tests are Bad Tests

> My tests are slow! They were slow anyway... Part of the Ruthless Refactoring I've been doing while working on the HackerNews App has been to improve the performance of the unit tests. I easily shaved off a second from the tests during the "Clean Architecture"…

JWT Token Validation in C#

(and not doing it wrong) A blog post directly tied to something I'm doing at work - Like researching something FOR WORK!!! Not just related to, or ancillary to; but actual research for actual work. Crazy, I know. The basic premise is that we're doing OAuth…

Android HackerNews App : Refactor to Clean Architecture

A philosophy I like and have made a(n unknowingly) passive effort to implement before is called "Clean Architecture". It's the idea of an application having dependencies that flow "outward". Go read The Clean Architecture [https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.…

HackerNews Android - Let's not crash

As discovered in our last session - Opening a lot of connections breaks things. The creation of the OkHttpClient is done in HackerNewsNetwork#getClient... ugg... A get. Ruthless refactoring! As I was saying; the creation is done in HackernewsNetwork#httpClient. private OkHttpClient httpClient() { return interceptorObj == null ? new OkHttpClient() : new OkHttpClient(…

Interface Overloading - TDD Against UI

WTF... ... is interface overloading. Or Overriding. I kinda toggle between the terms. Right now I'm favoring Interface Overloading; so that's what the title is. Interface Overloading Interface overloading is the process I've found in C# and JAVA and Swift to allow TDD when using…