Blog Posts

I’m excited to announce that I’ll be starting a new job on Monday… at Tesla Motors! They have a mission that is incredibly exciting - nothing less than trying to save the world. With lots of opportunity and potential for impact, I can’t wait to get started.
(read more)

I’ve decided its time to wrap up Fineo. I took a shot for a while (nearly two years!), but I’m way past my original time deadline to get traction and well out of (allocated) money. I’ve spent the last few weeks writing up some of the interesting architecture/design work I did, so at leas...(read more)

Getting a robust continuous-integration (CI) suite was an early priority at Fineo. By spending some upfront time getting good infrastructure in place we could move dramatically faster down the road; with a distributed, micro/nano-service based architecture, in-depth testing across the stack is a ...(read more)

A short break from the Fineo architecture. Recently get for the thinking about self-improving systems. Specifically, I liked the idea of a self-improving system where the actors in and around the system are incentivized to continually improve the system. This makes sense in context of a ...(read more)

Passing pipeline processing errors back to the user was not originally built into the Fineo platform (a big oversight). However, we managed to add support for it over only a couple of weeks. Moreover, we were able to make it feel basically seamless with the existing platform.
(read more)

Fineo’s architecture is designed to help people go faster, while having to do less by leveraging our NextSQL system. At the surface, it’s not that much different from the the Lambda Architecture - a realtime serving layer and an offline batch processi...(read more)

A deeper look into how Fineo manages its seamless scalability across the multi-layer architecture. By enabling each layer to scale independently and leaning on existing, fully-managed services we can enable wildly scalable infrastructure without notably increasing operations effort (and often dec...(read more)

Time is the major component of IoT data storage. You have to be able to quickly traverse time when doing any useful operation on IoT data (in essence, IoT data is just a bunch of events over time).
(read more)

Multi-tenancy is an abstraction for a big, hard group of problems that touches on security, scalability, resource consumption and quality of service. Generally attempting to back-fit multi-tenancy is, at best, hacky and less than satisfying; at worst, its a recipe for disaster.
(read more)

With Fineo’s Beta availability (link), I thought it would be interesting to look at howFineo actually supports IoT-scale ingest and eliminates the need for traditional pipelines and the mainta...(read more)

What’s new and interesting? What’s worth focusing on? Its worth taking a step back and looking at the larger picture. It helps make sure you are doing the right thing, for the right reasons. Doing that every day means nothing gets done, but too infrequently means getting lost in the weeds and, pe...(read more)

For years, hobbyist having been hacking their homes to create smarter parts that respond to their every whim. Smart homes were thrust even further into the public concience with the first Iron Man (2008) movie. Suddenly, everyone wanted self tinting, weather informing windows or a home assistant ...(read more)

Schema management is some of the most painful database work and anything you can do to make it easier can dramatically reduce
an enterprises’ iteration interval. At Fineo we are focused on delivering a scalable, enterprise grade time-series
platform. While we do lot...(read more)

Picking the right tools for deployment can be tricky and have long-lasting effects on your organization. Over at Fineo we have the luxury of doing everything from scratch. This means no concern with legacy tools, monitoring, or just cruft. Instead, we have the op...(read more)

Sometimes, you will want to run multiple versions of the same library in the same JVM. Maybe you are writing a framework to run arbitrary user code or maybe you are just integrating with legacy code; either way, you will need a way to run both versions of some library in the same JVM - enter the ...(read more)

Secondary indexing for HBase is a difficult problem, but remains perennially popular. Various implementations exist, but all fall short either in features or latency. [Phoenix](http://www.github.com/forcedotcom/phoenix) is soon gaining support for what we consider "HBase Consistent" Secondary ind...(read more)

I was recently asked to write a few guest blog posts about HBase. I'd had some ideas bouncing around for a while (and a little personal brand expansion is never a bad thing), so I started working on it. Here's some of my thoughts from the experience(read more)