Sandbox Articles

We’re curious people by nature. And we love to teach others what we’ve learned. So explore our blog to gain fresh insights from our expertise in areas ranging from culture to AI.

SEP Selected as a Nominee for TechPoint’s Innovation Mira Award

TechPoint has announced the nominees for its 25th annual Mira Awards, highlighting the most innovative companies, universities, and organizations in Indiana’s tech sector. The awards celebrate achievements across various categories, including the Innovation Partner of the Year. Nominees in this…
Read Full Post

The Value of Personal Projects

Personal projects can be a great way to explore ideas, concepts, or frameworks before you use them on an actual work project. As somewhat of a staple of SEP’s Hackathons, I’d like to highlight some of my philosophies around personal projects and the value I’ve gotten out of them. I worked on all the projects […]
Read Full Post
health app vector icons

Analyze the Crap Out of Your Apple Health/HealthKit Data

As a recent iPhone + Apple Watch convert (see ya, Android and FitBit) my fitness tracking data lives in Apple Health. I want to make charts and graphs and see trends over time (you get the idea, I’m an engineer, I wantneed to engineer and analyze my fitness data). Problem is, there’s not a great way […]
Read Full Post

Announcing PlanetEx: an open source blog aggregator written in Elixir

A long time ago, a few developers at SEP built a program to aggregate employee’s personal and internal SharePoint blogs. They called it Planet, after planet.rb, the Ruby gem they used to build it. Unfortunately, our old Planet met its inevitable demise after an upgrade to our SharePoint instance that broke some compatibility. I decided this […]
Read Full Post

Building with Elm at SEP Makes

Preface For the last few months, I’d been working on my side project Contact, a JSON REST API written with Elixir and Phoenix, designed to be the backend to an instant messaging platform. I thought that SEP’s semi-annual hackathon: SEP: Makes, would be the perfect time to make a front end application for Contact, but […]
Read Full Post

From Terrible Things Come Innovation

As a software architect, I do what I can to stay abreast of the world around me. As new technologies, design patterns, and so on emerge, I try to learn enough about them to make informed decisions on where they might prove useful or if I can safely ignore them. I think about their relevance […]
Read Full Post

Code Analysis: Methods

We’ve already gone through a lot of different programming language constructs, however we haven’t really talked about a very highly used feature.  How do we think about methods using these diagrams. So there’s a lot we could talk about methods in general, but I want to avoid any specific digression into what object oriented and […]
Read Full Post

Code Analysis: Exceptions

void Function() { try { RunOtherFunction(); } catch { Log.Error( "Problem" ); } } void RunOtherFunction() { if ( a_okay() ) { OtherFunction(); } else { throw new Exception( "Error" ); } } Exceptions are a thing that we tend to use for signaling error conditions such that the error will be dealt with in […]
Read Full Post

Code Analysis: Global State

Global mutable state by itself can make a program harder to work with because instead of  having a call tree that’s simply a tree structure, you end up with more of a graph structure.  Any given point in the program that interacts with the global state can be effected by any other point in the […]
Read Full Post

Code Analysis: Abstract Data Type

Abstract data types are a pretty well known concept in computer science and software engineering.  The concept is pretty simple.  If you have something that is complicated, then you can make it easier to deal with by only exposing an API that allows you to safely interact with the complicated component.  Of course also known […]
Read Full Post