<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Engineering on Bulrush Labs — Richard Tibbetts</title><link>https://bulrushlabs.com/articles/tag/engineering/</link><description>Recent content in Engineering on Bulrush Labs — Richard Tibbetts</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 14 Nov 2010 23:38:00 +0000</lastBuildDate><atom:link href="https://bulrushlabs.com/articles/tag/engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Proactive Assumption Violation: Avoiding Bugs By Behaving Badly</title><link>https://bulrushlabs.com/articles/2010/11/14/proactive-assumption-violation-avoiding-bugs-by-behaving-badly/</link><pubDate>Sun, 14 Nov 2010 23:38:00 +0000</pubDate><guid>https://bulrushlabs.com/articles/2010/11/14/proactive-assumption-violation-avoiding-bugs-by-behaving-badly/</guid><description>&lt;p&gt;Bugs are a fact of life in software, and probably always will be. Some bugs are probably unavoidable, but a lot of bugs can be avoided through good architecture, defensive programming, immutability, and other techniques. One major source of bugs, especially frustrating bugs, is non-deterministic behavior. Every programmer has experienced bugs which don’t reproduce, which require a special environment, or special timing, or even just luck to make happen. To avoid these bugs, programmers learn to favor determinism, making sure their software behaves the same way every time.&lt;/p&gt;</description></item><item><title>Analysis of May 6th: The Importance of Near Misses</title><link>https://bulrushlabs.com/articles/2010/06/27/analysis-of-may-6th-the-importance-of-near-misses/</link><pubDate>Sun, 27 Jun 2010 23:05:00 +0000</pubDate><guid>https://bulrushlabs.com/articles/2010/06/27/analysis-of-may-6th-the-importance-of-near-misses/</guid><description>&lt;p&gt;Since writing about &lt;a href="http://innocuous.org/articles/2010/06/14/normal-accidents-and-stock-market-crashes/"&gt;stock market crashes and normal accidents&lt;/a&gt;, I spent even more time talking about the events of May 6th. Good analysis is starting to come out. The best I have seen so far is &lt;a href="http://www.nanex.net/20100506/FlashCrashAnalysis_Intro.html"&gt;Nanex’s Flash Crash Analysis&lt;/a&gt;. Their conclusion is that the crash was precipitated primarily by a queuing and timestamping bug at NYSE, which lead to understandable but unfortunate flash mobbing by high frequency trading firms attempting to execute against the delayed prices being quoted out. I recommend their analysis and the supporting charts, which are quite compelling.&lt;/p&gt;</description></item></channel></rss>