HackerNews Android - Formatter

A comment on my Early Thoughts: Object Oriented Encapsulation post brought up an excellent view about how to decouple a class from it's display mechanism. I'm on board with this idea. It helps keep the objects to their single responsibility. My first thoughts on how to do this is using an inner class for the Item object; as it'll have access to the internals without exposing them. Next would be [Read More]

Book Review - Elegant Objects Vol 1

A colleague brought up Elegant Objects (Vol 1) 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 want to do the best OOP; Figured it'd be a worthwhile endeavor. I haven't found a good book on how to write actual Object Oriented Design. I've gone through [Read More]

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 think). A tap is pretty easy, we'll do that first. Part of this task is going to be to build a new wrapper for [Read More]

My Thoughts: Unit Tests

In an earlier post; Design & Development Principles - XP - Keyboard Circle; which would be a couple months ago by the time time this goes live; I talk about doing TDD and the benefit it provides. There I mention that it's not about the tests. It's about the mindset that the tests support. My favorite way to phrase this is; The least important thing about TDD, is the test. [Read More]

RabbitMq - First Hops

Get it, "Hops", 'cause "Rabbit". They "hop". HAH! ... I've started writing some code to explore an idea I've had bubbling around for... I think close to two years now. It's undergone a number of iterations, and discussions with a few people. It's finally reached a point I can start exploring the idea with code, seeing how it wants to be built. I say wants, much like other posts where I [Read More]

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 XP practices. My XP practice includes Extreme Encapsulation. Many existing UI patterns are testable but they violate best practices and Object Oriented [Read More]

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" update. It ended up exposing (or more removing) a background thread action I had to wait on. It was a mocked network call, so took [Read More]

HackerNews - Windows Phone App

Following the example of the VBM on Android series; I'm going to develop a HackerNews Reader for the Windows phone/UWP. This should be interesting as I've never done a UWP app before. This will be my first foray into it! SO EXCITED!!! Getting Started Visual Studio 2017 is fresh; Jetbrains Resharper Ultimate is installed - Now I can work. Let's go through the entire flow - Mostly 'cause I [Read More]

My Thoughts: Spike to Refactor

When you're stuck on how to do TDD for a refactor; and can't find the test to drive the refactor you'd like to see; a spike can often help. What I've done are a spike w/o tests to figure out a solution and then figure out the tests required to drive the code to that solution. I did this recently with the Android HackerNews App. During the Clean Architecture [Read More]

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 for our mobile app; which the server endpoints need to validate the token. The server is not the authenticating server. We'll need to share [Read More]