Posts

A Brief(ish) Explainer on Headless Architecture

What does this even mean? It can mean a couple of things. From a technical perspective, the term originated from systems that had no display attached. So, for example, when setting up a data center, it might be necessary to have thousands of servers and having a monitor on every server led to a lot of redundant displays. Specifically, your database/web server really never needed a display because it's sole purpose was to service calls from the network. This also potentiall applies in the modern virtualized server world to provisioning new vms with a specific operating system image. The term "headless" in this situation indicates the server (virtual or not) has no display or keyboard attached and the only way to connect to it is via a network interface. An alternate definition, and where much noise is currently being made, is around a platform (like a content management system) that "traditionally" would serve up web content, but instead only serves ...

Platform Mobility is the "next big thing"

Designing for change I often get into discussions with architects that turn a little bit into "platform/language" shootouts. Moreover this can leak into business meetings where folks start to sound like elementary school students bragging about how "my dad can beat up your dad". The reality is, however, that the lifetime of a platform's relevance is roughly around 5 years....business (especially digital business) evolves and changes so rapidly that the cost to switch becomes an overarching theme when thinking about the "big picture". How I think about software platforms I'll call it the "mike system" how hard is it to get onboard? How hard will it be to get offboard in 3-5 years? Everything else (functionality, scalability, performance...) Why is onboarding ease important? Well, because if it takes 3 years to set up, you'll be on to your next platform before you can realize value from this one. Why is offboa...

social network censorship

OK, I want to break something down at this point. Social networks, web applications, newspapers, and other media outlets are not "the government". Why do I make that statement? Because I keep seeing people crying "wolf" about how facebook is violating their free speech rights. This is 100% untrue (right now) and opens up a thorny debate that has been around since people were dialing up on 1200 baud modems to bulliten boards in the 1980s. Here's the root of the problem/question: if somebody posts illegal content, who can be sued/go to jail for it? In the olden days (before section 230 ) it was (for the most part) "anybody and everybody involved". This means, if you uploaded...IDK kiddie porn, copywritten materials (music, books), legit conspriators or contrive to overthrow the government are all examples everyone seems to use... the creator of the content, the place they uploaded it to, the phone company, anyone who downloaded it, and...

There was an old woman who swallowed a fly [anti-pattern]

Image
On many occasions I find myself humming this tune: I'm sure there's another name for this anti-pattern, but it's a variation of yak shaving in which each progressive solution to a perceived problem becomes more imperfect and workarounds and unlikely solutions are progressively applied. Ultimately, the question often forgotten is "what was the original problem?" I'll give the technical verision of what happens: Someone discovers that logging in to a web application isn't working for some users it's discovered the service that accepts userid and password is returning an error for what we believe to be a valid userid and password for these users digging further it's discovered that the code to validate userid and password is calling another service to load a user's customer record and this service is returning a new error when researching this customer service, it's discovered a new error started 2 weeks ago that...

What the heck is source code, environments, and versioning for non technical people

Had an interesting conversation today and thought I'd share some insight to business people dealing with technical folks The crux of the question centered around a request we were making for "read only access to a staging environment". I pondered why that line item was there because from a technical perspective what we needed was access to the source code for a web application, we really didn't need access to anything in the environment (though it wouldn't hurt). Moreover, with only access to the environment, we wouldn't necessarily have access to the source code so the actual need wouldn't even be met. In conversation, a light began to come on in my head realizing that "source code" and "environment" are almost meaningless to many non-technical people, and in todays "As A Service" world, sometimes they get mingled together. Brief Overview Sourc Code is essentially the instruction that tell a computer "what to do...

Amazon busted?

Image
Trying to find a battery on amazon and no matter what I try, I get this (logout, login, incognito):

MQTT/AMQP design implications

Image
If you're working with embedded devices or telematics solutions, you might be hearing noise about a fairly new protocol called MQTT . It's a relative newcomer to the network protocol world having been invented in 2009 and first published in the wild in 2010, it is roughly speaking to tcp based binary wire protocols what SPDY is to HTTP. At the heart of the protocol and why you might use it instead of say..AMQP is its simplicity. There are only 5 operations that must be implemented, it's wire format is minimal, and because of it's simplicity, it is theoretically able to use less power. A close examination of the differences between AMQP and MQTT show that the low power or low memory devices (think Arduino class) will certainly be more likely to easily speak MQTT rather than AMQP. As an example of how an ideal architecture leveraging the strengths of each protocol might look, take a look at the following diagram: When looking at this stack, let's talk abou...