We have an informal saying around here: Do Right and Risk the Consequences. One of our E-gineers had that as a bumper sticker awhile back, and it just seems to apply pretty universally. We all have countless opportunities to do a little something for someone else – something completely selfless and sacrificial. It seems so often we let those opportunities slip by – for a myriad of reasons, for sure. Add to that: with our abundance of technological connectedness, we’ve… [continue]
Is your career in a STEM Field? Have you ever been the only female on your team at work? Did you graduate with a STEM degree, yet the percentage of women in the graduating class was less than 20%? The answers are all yes for me. Last week I participated as a chaperone for sixth-grade girls at Ignite Your Superpower (IYS). IYS, sponsored by Women & Hi Tech, provided middle-school girls a whole day to discover more about Science, Technology,… [continue]
Almost a year ago Google announced a new policy that has big implications for the Android ecosystem: in order to continue publishing to the Play Store, apps must target a recent version of the SDK. Newer SDKs of course bring fancy new APIs, but they also cause some breaking changes in how your app functions. For now, the required version will be Oreo (SDK 26). Looking ahead, Google has stated that when a new target SDK is released, it will… [continue]
Adulthood. Coming of age. Voting. High school graduation. These are all things that greet us here in the US when we turn 18. So it seems E-g has finally come of age! How do we celebrate our 18th anniversary? Just like we do the rest of life here at E-g – like a family. We gathered at one of our beautiful local parks, swung open the gates, and said, “Have fun!” Honestly, we needed little instruction after that!
Being recognized among the Best Places to Work in Indiana – a hard-working state filled with so many excellent companies – is an incredible honor. But being named the #1 place to work, in a year in which we moved from the Small Companies up to the Medium category, is downright indescribable. As we have grown from a folding table in a garage almost 20 years ago into 80+ people and around 20,000 square feet of office space today, the… [continue]
Retroactive modeling is the practice of using existing types to represent new concepts, without modifying those types. This technique is important for reusing existing structures, while maintaining compatibility with the current usage. Swift supports retroactive modeling through the use of extensions. Extensions enable you to add new functionality to existing types, without the need to have access to the original source code. Swift extensions are similar to categories in Objective-C, and can be used to extend a class, struct, enum,… [continue]
Earlier this year we put together a Christmas Card Workshop for employees to bring their kids. We invited them to EG on a Saturday for cookie decorating (and eating of course), Christmas card making, and some fun family portraits. We even had some silly props to make it more exciting! When our monthly lunch rolls around in December, we like to celebrate the season with some good food (pulled pork/brisket bbq of course), and a little fun. Alongside the… [continue]
Most, if not all, programming languages have a construct for defining reusable sets of instructions. In Swift that construct is a closure. A closure is a self-contained chunk of code that is used to perform a specific task. The most basic type of closure is a named closure, which is more commonly known as a function. Functions (Named Closures) Every function is defined using the func keyword followed by the function name. The function name should describe the task that… [continue]