cspray's blog

Articles about software development and other things I find interesting

Recently my company deployed some application changes that exposed a flaw in a long-running part of the application that seemingly should not have been impacted by the changes that were made. Our application facilitates digital private placements and part of that process includes allowing investors to download a series of documents. Those documents weren't showing up in the UI though they were present in the database and in the response from the API. The problem was clearly in the JavaScript portion of our application and the entire team was anxious to get this fixed. After many hours of debugging and looking at data we finally discovered that a computation was being seen as both truthy and falsey at the same time.

Read more...

My mother has recently been diagnosed with terminal metastatic cancer of the liver. Over the past 3 weeks I have been doing everything within my power to make her remaining time on this earth as comfortable as possible. I gradually identified the highest priority aspects of her care and started improving them. The hardest aspect to improve is something that I take entirely for granted; going to the bathroom.

Read more...

I have long been aware of the fact that in exchange for free online services consumers are subject to advertisements; it is a huge business that powers most of the Internet unless you're explicitly paying for the service. Part of that trade-off includes ‚Äútargeted advertisements‚ÄĚ where marketing firms collect a massive amount of data detailing everything you do online. Presumably this massive amount of data is used to improve the advertisements and services that we receive. Often these data sets are routinely cracked into or just simply left exposed to the public for malicious actors to do with your data as they see fit.

For the longest time I have assumed that this was simply inevitable. Online services need, and often deserve, to be paid; there are real humans managing, designing, implementing, and operating them. Combined with the fact that the vast majority of people are unwilling, or unable, to pay for these services leaves little room for hope that the situation will markedly improve. However, that doesn't mean I have to go down without a fight.

Read more...

Recently I have had the opportunity to get back into developing with PHP 7, which means I've been getting my hands dirty with amphp. If you are unfamiliar with the project you should definitely check it out. It provides a series of libraries that makes asynchronous programming in PHP easy and accessible.

Read more...