SEP Blog
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 Wins TechPoint’s 2024 Innovation Service Partner of the Year Mira Award
SEP Recognized as Indiana’s Top Innovation Service Partner, Winning TechPoint’s Prestigious Mira Award Westfield, Indiana – SEP has been named the Innovation Service Partner of the Year by TechPoint at the 25th annual Mira Awards. The Mira Awards, Indiana’s largest…
Read Full Post
Mutable state gets a bad rap when you talk to pure functional programmers. I don’t think mutable state is inherently a problem, but it does have an effect on your ability to understand a program. So let’s look at what happens when you introduce a mutable reference into a programming language. The problem as I […]
Read Full Post
Code Analysis: Halting Problem
Let’s do a quick digression. I wanted to talk about mutable state, but first I think we should consider the halting problem. The halting problem goes something like this: Halt( program_source, program_input ) { if ( <The program Halts with that input> ) return true; else return false; } // Now assume a hypothetical program […]
Read Full Post
Code Analysis: Introduction
There already exists a significant amount of code analysis techniques out there. I think the existing technologies are pretty useful for tracking some aspects of why a given piece of code can be difficult to deal with. However, I want to add a diagram technique that can be used to describe certain features in programming […]
Read Full Post
Build Better Backlogs Using Behavioral Design
Decisions we make every day are driven by cognitive biases designed to save time and energy. These mental shortcuts serve us well. Marketers have used this knowledge to build successful marketing strategies for many years. Armed with the same knowledge, is it possible for us to build more engaging products? In this video we’ll look […]
Read Full Post
A day in the life of a wannabe data scientist
I recently had an experience that I think matches well with the textbook steps often presented in “day in the life of a data scientist” discussions: Frame the question Collect data Clean the data Explore the data Analyze the data Communicate the findings I thought it might be fun to share my trip. Join me, […]
Read Full Post
Connecting Ruby to a Google Spreadsheet With a Service Account
Ever wanted to connect your ruby app to a Google Spreadsheet? Yeah. Me too. I find myself writing ruby scripts and console apps all the time. Many times needing a simple way to store or pull data. Databases are good at that (storing data). But, sometimes a spreadsheet is a more natural place to put […]
Read Full Post
Problem Analysis: Overlapping Blobs
Last time we started to explore the idea that you can have a system or problem that is difficult to deal with and understand because the interactions between blobs are in some way difficult. However, we only covered the idea that the arrows that connect blobs are complicated. There is a similar problem when we […]
Read Full Post
Rotating Title Headers for Tables
One of my co-workers (Jason Giles) and I were recently pairing on the implementation of a table for a client that would allow dynamic addition and removal of rows. The table would have section headings of rotated titles display across the side of the table. I will walk through the code that we wrote to […]
Read Full Post
Problem Analysis: System Complexity
The last post talked about aspects about arrows that could make a problem difficult to deal with. Now I’m going to talk about how a collection of arrows might make a problem difficult to deal with. The complexity and difficulty of a system isn’t just going to be determined by the aspects of the blobs […]
Read Full Post