Ryan Krull

75 Flips | 1 Magazine | 6 Likes | 3 Following | 7 Followers | @rk_flip_79 | Professional Software Developer : Johannesburg

It takes more than a Circuit Breaker to create a resilient application

Topics such as application resiliency, self-healing, antifragility are my area of interest. I’ve been trying to distinguish, define, and visualize …

Microservices

Toxiproxy

Toxiproxy is a framework for simulating network conditions. It's made specifically to work in testing, CI and development environments, supporting …

a software version control visualization tool

gource-0.47.win64-setup.exe gource-0.47.win64.zip gource-0.48.tar.gz<p>Introduction<br>• Synopsis<br>• Related Software<br>• Donations<br>• Contact<br>• News<p>Introduction<p>Software …

Linux

Computer Training Institute| Non-Profit Organisations

Nonprofits

Transparent PATCH Support in JAX-RS 2.0

The PATCH method is one the the less well loved HTTP methods simple because until recently there really wasn't a standard PATCH format. This has been …

This is not the DRY you are looking for

Something went terribly wrong. We took an insightful principle about knowledge management and turned it into code nonsense.<p>“<i>Don’t repeat yourself</i>”. …

Essential XP: Card, Conversation, Confirmation

The XP Circle of Life helps keep projects alive. A key aspect of this cycle is the Acceptance Test. Acceptance Tests are critical to communication …

I’m harvesting credit card numbers and passwords from your site. Here’s how.

The following is a true story. Or maybe it’s just based on a true story. Perhaps it’s not true at all.<p>It’s been a frantic week of security …

Java inside docker: What you must know to not FAIL

Many developers are (or should be) aware that Java processes running inside Linux containers (docker, rkt, runC, lxcfs, etc) don’t behave as expected …

DevOps

Humble Book Bundle: Java by O'Reilly

Java

CI / CD — A Guide to Maturity

<b>Continuous Integration</b> is a development practice that requires developers to integrate code into a shared repository several times a day. Each …

Modernising Our Channel Services Layer — Our Journey

A few years ago, Standard Bank started embracing modern Agile engineering practices. In modern software engineering we know that empowered, …

Microservices — Don’t Create Shared Libraries

As we have made the progression from a monolith toward a microservices based architecture the topic of shared libraries in microservices has …

Restricting process CPU usage using nice, cpulimit, and cgroups

The Linux kernel is an incredible circus performer, carefully juggling many processes and their resource needs to keep your server humming along. The …

TDD — The Actual Cycle

Common questions I hear from developers when they are first starting out with TDD are:<p>“How do I know which scenario to work on first?”<p>And<p>“How do I …

A better case for TDD

Standard Bank elected to drive the adoption of Test Driven Development (TDD) in the multi-channel portfolio. Despite a concerted effort to embed TDD …

Discover Free Online Courses MOOCs

MOOCWatch is our semi-regular publication where we dive deep into the world of MOOCs, giving the latest trends, news, and our perspective on what’s …

200 universities just launched 600 free online courses. Here’s the full list.

If you haven’t heard, universities around the world are offering their courses online for free (or at least partially free). These courses are collectively called MOOCs or Massive Open Online Courses.<p>In the past six years or so, close to 800 universities have created more than 8,000 of these MOOCs. …

Online Education

HTTP Caching | Web Fundamentals

<b>By</b> Ilya Grigorik<p>Ilya is a Developer Advocate and Web Perf Guru<p>Fetching something over the network is both slow and expensive. Large responses require …

Growing Object-Oriented Software, Guided by Tests by Steve Freeman, Nat Pryce

Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for …

Microservices are hard — an invaluable guide to microservices.

If you’re looking to move to Microservices, I have some extremely helpful advice for you that we have learned during our migration from a monolith to …

Five Story-Splitting Mistakes and How to Stop Making Them

This blog post refers to a four-part series of videos on overcoming challenges with user stories. Topics covered are conducting story-writing …

User Stories

Agile Estimating and Planning by Mike Cohn

<i>Agile Estimating and Planning</i> is the definitive, practical guide to estimating and planning agile projects. In this book, Agile Alliance cofounder …

Working Effectively with Legacy Code by Michael Feathers

<b>Get more out of your legacy systems: more performance, functionality, reliability, and manageability</b><p>Is your code easy to change? Can you get nearly …

The lightweightness of microservices – Comparing Spring Boot, WildFly Swarm, and Haskell Snap

A microservice is an autonomous sub application for a strictly defined and preferably small domain. An application built from microservices is …

Microservices

Building Microservices: Designing Fine-Grained Systems by Sam Newman

Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained …

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble, David Farley

<b>Winner of the 2011 Jolt Excellence Award!</b><p>Getting software released to users is often a painful, risky, and time-consuming process.<p>This groundbreaking …

Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans

<b>Domain-Driven Design</b> fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven …

The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin

Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of …