Flag Day in the USA is just a couple of weeks away. Flags are used to represent different things (usually nations or states). While the things a nation’s flag stands for are more important than what flags in code represent, it’s easier to discuss how to use flags in code, so that’s what I’ll do Read More
Here at Ancestry.com, we currently use Microsoft’s High Performance Computing (HPC) cluster to do a variety of things. My team has multiple things we use an HPC cluster for. Interestingly enough, we don’t communicate with HPC exactly the same for any distinct job type. We’re using the Service Oriented Architecture (SOA) model for two of Read More
Maintaining Balance by Using Feedback Loops in Software Feedback is an important part of daily life. Used wisely, feedback loops can help us make better decisions, resulting in overall improvements. Feedback loops are useful in all sorts of situations, from relationships to what we eat for dinner. Software can also be made to take advantage Read More
Utah Code Camp 2014 came and went this weekend. More than 850 people attended and with more than 70 sessions, it was the largest code camp in Utah history. Thanks to Pat, Craig, Nate, and Kerry of Utah Geek Events for putting it all on. Ancestry.com participated in a pretty big way. In addition to the Read More
We just released a new open source package here at Ancestry: Daisy. Daisy is a business writeable domain specific language for business rules. It lets business experts write the rules, and software developers define how they are implemented. Daisy itself is domain agnostic, but allows domain experts and software developers to create the rule domain together. An example Read More
At Ancestry.com, we have many developers whom contribute to open source projects. Today I want to talk about an open source project I have been involved in, along with one of my team members Shane Burke. As contributing to open source projects is not directly related to the day to day development work at Ancestry, Read More
Picture: May 2013. Fog ever-present on the San Francisco skyline. College students sweating through their finals. And then, a light in the distance. Green, like the light hovering out past Gatsby’s dock. But this green is actually the Ancestry.com leaf, representing the new family that awaits four eager UC Berkeley students once they embark on Read More
In my experience, tests that emulate real-world usage and use real-world data, find more relevant bugs, convey intent more clearly, and exercise the system under test more thoroughly than tests that do not. Consider testing a cab service to assert that a given vehicle arrives at its destination: cabService.SendVehicleToDestination(vehicle, destination); Assert.AreEqual(vehicle.Location, destination); Now, it shouldn’t Read More
I’ll be the first to say that testing and code metrics can improve software quality and increase productivity, but an overzealous application of either could incur a heavy cost.Tests are code, code is overhead, and while some overhead is necessary and even advisable, overhead is debt and should be minimized whenever possible.There is no perfect Read More