Developer Blog

Scaling Threads on Linux – Per Account or Per Application

Scaling Threads on Linux – Per Account or Per Application Failures such as: java.lang.OutOfMemoryError: unable to create new native thread can drive you to do much googling and after that much frustration.  I know it did us. Here’s our current compendium of answers. Before I get going here, one thing we found really handy was […]

Read more
Fancy Unicode symbols

Unicode has a variety of symbols, some of them are very exotic. For example, there are Cyrillic glyphs ‘Multiocular O’ ꙮ, ‘Monocular O’ Ꙩ, ‘Binocular O’ Ꙫ and ‘Double monocular O’ Ꙭ. They were found in old manuscripts and were used in the plural, singular or dual forms of the word ‘eye’ (‘ꙩко’ – ‘ꙩculus’ […]

Read more
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