our blog
Spot the Vulnerability: Loops and Terminating Conditions
Spot the Vulnerability: Loops and Terminating Conditions In memory-unsafe languages like C, special care must be taken when copying untrusted data, particularly when copying it to another buffer. In this post, we\'ll spot and mitigate a past vulnerability in Linux\'s...
Accurate Timing
In many tasks we need to do something at given intervals of time. The most obvious ways may not give you the best results. Time? Meh. The most basic tasks that don't have what you might call CPU-scale time requirements can be handled with the usual language and...
Exploring Dependent Types in Idris
When I'm not coding the "impossible" at Art+Logic, I take a lot of interest in new programming technologies and paradigms; even if they're not yet viable for use in production, there can often be takeaways for improving your everyday code. My current...
Legacy Vulnerabilities AKA Software Senescence
Does your business still have an XT computer in the back office because it's running that one version of some database software that your business depends on? Yeah, we know there is. Most modern software doesn't work like that. If you aren't keeping your custom...
Asynchronous Python – A Real World Example
Introduction We have a customer that developed a hardware device to make physical measurements. Some years ago we wrote a suite of software tools for the customer: a tablet application for configuring the hardware device, a django web server to receive uploaded XML...
Spot the Vulnerability: Data Ranges and Untrusted Input
In 1997, a flaw was discovered in how Linux and Windows handled IP fragmentation, a Denial-of-Service vulnerability which allowed systems to be crashed remotely.
Smooth Upgrades to Vue 3 Using the Migration Build
Vue 3 introduces some compelling new features, but also many breaking changes. The question is, how do you get there? Fortunately, the Vue.js team has recently released the Migration Build, which makes it possible (and easy) to make a smooth transition from v2 to v3.
What we’re reading now and were reading at the end of 2020 . . .
Well, normally we like to share this list just around the holidays. 2020 being what it was, I suppose it's not surprising that this list should show up as we get closer to the end of January 2021 than the end of last December. Anyway, here's a list of some of the...
Here’s an Idea for an App: “Shopping Friends”
"Shopping Friends" is a service that analyzes your Amazon buying patterns and matches you with like-minded people. Maybe it's a Facebook app. When you join, you give it permission to access your Amazon shopping records, and maybe there are some filters for...
Creativity in Software Testing
What's in a name? Well, in the case of Art+Logic, our name conveys the idea that software development is a combination of both art and logic. We find this to be the case in all aspects of the software development life cycle. And this is definitely true with software...
Bringing an Idea to Life: WatchWah Proof of Concept
How do you get from a great idea to a product? Start with a quick proof-of-concept. This project sets out to determine whether or not the Apple Watch can control a guitar effect, and add a little Jimi Hendrix to my tone.
Join Us at Music Tectonics!
Art+Logic is sponsoring and presenting at Music Tectonics on October 27th and 28th. The virtual conference, with engaging and enticing presenters, promises me the opportunity to slip back into a world I once knew well and vicariously experience the road not travelled....