Breaking the monolith – How to design your system for both flexibility and scale – Part 6: The Service

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This post is part of a series. you’d probably like to read it from the beginning. Or check out the previous post in the series

If you have any experience with software developers, and I assume you do, you would know that we are prone to religion wars – windows vs. linux, python vs. js, visual studio vs. sublime vs. emacs vs. vim, even DC vs Marvel. Just name an idea or a product and sit back and watch us preach for hours on end why it’s either the most awesome thing in existence (or a steaming pile of out of date tyrannosaurus manure).

Taking that into account, it’s no surprise that a questions like “is SOA good or bad?” have been sending architects, engineers and programmers to the ring to try and punch a decision out of each other since the biblical times (someone had to engineer the shit out of those pyramids). The bell rings, we’re up! Continue reading “Breaking the monolith – How to design your system for both flexibility and scale – Part 6: The Service”

Breaking the monolith – How to design your system for both flexibility and scale – Part 6: The Service

better event-driven programming using flexible state

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This is a true relic- the few who can spend the time and read it will be rewarded with the gift of understanding state. Using the complex example of…. a calculator:

At first glance, this approach seems to work just fine. Indeed, when you launch the calculator (available for download at <www.cuj.com/code>), you will certainly find out that most of the time it correctly adds, subtracts, multiplies, and divides. What’s there not to like? However, play with the application for a while longer, and you’ll discover many corner cases in which the calculator provides misleading results, freezes, or crashes altogether.

Source: Who Moved My State? | Dr Dobb’s

Link

VIM Adventures

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

VIM Adventures is an online game based on VIM’s keyboard shortcuts. It’s the “Zelda meets text editing” game. So come have some fun and learn some VIM!

Source: VIM Adventures

Link

3 Tips To Not Holding Back Your Geo-Data

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

It’s been almost a decade that I’m in the HPC (≈cloud≈scalable software) field. During these joyful years, the family of problems which seems to pop back the most are those how are heavily dependent on geographic data as the main input (not that there’s anything wrong with that).

One would expect by now that these kind of problems will be solved by now, but the main source of (relatively) reliable GPS data today, in terms of volume, are smartphones, and these weren’t really here a decade ago.

Continue reading “3 Tips To Not Holding Back Your Geo-Data”

3 Tips To Not Holding Back Your Geo-Data

The Art of Readable Code – a recomendation

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

The Art of Readable Code (Theory in Practice) , Dustin Boswell, Trevor Foucher

As programmers, we’ve all seen source code that’s so ugly and buggy it makes our brain ache. Over the past five years, authors Dustin Boswell and Trevor Foucher have analyzed hundreds of examples of “bad code” (much of it their own) to determine why they’re bad and how they could be improved. Their conclusion? You need to write code that minimizes the time it would take someone else to understand it—even if that someone else is you.

Continue reading “The Art of Readable Code – a recomendation”

Link

Must Not Fail

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

No system is fault-proof, but high volume, high velocity and high throughput (or whichever flavor of HPC you practice toady) systems often are expected to be. Every time we state otherwise we either lie to our clients, our colleagues, or worse – ourselves.

Continue reading “Must Not Fail”

Must Not Fail

Breaking the monolith – How to design your system for both flexibility and scale – Part 5: The Common

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This post is part of a series. you’d probably like to read it from the beginning. Or check out the previous post in the series

One of the ways to boost performance is ruthless consolidation and parallelization of your critical sections (these are the parts of you system that does the heavy lifting). For that to happen you need to figure out a rule of thumb for each of those “heavy lifting” processes or what actions are common to the processing of input you may encounter.

Continue reading “Breaking the monolith – How to design your system for both flexibility and scale – Part 5: The Common”

Breaking the monolith – How to design your system for both flexibility and scale – Part 5: The Common