Developer Blog

Revisiting END-TO-END

“END-TO-END Arguments in System Design” was presented in 1981 by Saltzer, Reed and Clark [1]. Since then the thoughts around the principle have expanded but for this piece we will limit the discussion to principle as defined is in the paper. The abstract of the paper is as follows: This paper presents a design principle […]

Read more
Software in Control Systems: A Critical Reading

If you write code for a living, or if you’re curious about what the problem was with the Boeing 737-MAX, you should read this article – it’s kept high level with plenty of explanations. https://spectrum.ieee.org/aerospace/aviation/how-the-boeing-737-max-disaster-looks-to-a-software-developer If you do any embedded or real-time code controlling anything in the physical world you really must read this article.  […]

Read more
Write Behind Logging and NVM

Interesting article on NVM (Non Volatile Memory) – this is non volatile RAM you can plug into a memory DIMM. It is about 1000 times faster than an SSD and byte addressable, also the expectation is that the size will be huge – TBs. To access full performance you have to by pass the OS […]

Read more
Innovation driven by Positivity and Respect

Here at WANdisco we continue to challenge what is thought of as being possible and how companies structure and interact with their data. However overcoming these challenges and developing groundbreaking solutions doesn’t just happen by chance. It also doesn’t happen because of any one single person or team. Even sheer luck will only take you […]

Read more
Happy 10th Birthday Gerrit!

I will start by saying “Happy 10th Birthday Gerrit!” I have just spent a wonderful week in San Francisco for this years Gerrit Conference.  It just happened to also be the 10th anniversary since the start of the Gerrit 2.x project. It was a great event, and a real “users” event, run by the community […]

Read more
Git and FLP

A previous post we discussed FLP, a theoretical result that distributed consensus is impossible with one faulty process. This seems an arcane theoretical result that does not impact the decisions a developer faces in normal course of work. However, the fundamental concept behind FLP, that it’s impossible to tell the difference between a process that […]

Read more
Java and underscores in host names

Some time ago I came across a very strange issue – tests that worked at one host started failing an another host with NullPointerException. Hosts were very identical, and after debugging it appeared that Java handles hosts with non-standard characters in host names in a special way. Wikipedia article https://en.wikipedia.org/wiki/Hostname says that underscore is not […]

Read more
FLP

“FLP”  stands for Fischer, Lynch and Paterson and refers to a famous paper by the aforementioned authors: “Impossibility of Distributed Consensus with One Faulty Process” (https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf). This post is a continuation of our series of posts on time. As we have seen in the previous post on “Time, Clocks and the Ordering of Events in […]

Read more
Lamport’s “Time, Clocks and the Ordering of events in a Distributed System.”

With Anton’s recent posts on date and time issues developers encounter, “Time Out of Joint” and “More on time and time-zones” I thought it would be worth mentioning “Time, Clocks and the Ordering of events in a Distributed System”. This paper (https://lamport.azurewebsites.net/pubs/time-clocks.pdf) was written by Leslie Lamport (http://www.lamport.org/) and published in 1978. My first encounter […]

Read more