MarkLogic Interns Enhanced the Bitemp Explorer

by Ashley Dattalo, Kevin Costello, Hilary Schulz and Lukas Hruska

We worked at MarkLogic Corporation in San Carlos, California. MarkLogic is an enterprise NoSQL database company. Its database is optimized for structured and unstructured data, which allows customers to store, manage, query, and search across JSON, XML, RDF, geospatial data, text, and large binaries. Our project this summer was to enhance an interactive client demo for one of MarkLogic's features: bitemporal. Bitemporal is a way to handle historical data along two different timelines, making it possible to rewind information “as it actually was” in combination with “as it was recorded” in the database. For example, let’s say you have a bike and it gets stolen at 2am at night, but you don’t discover it’s stolen until 7am in the morning. The valid time is 2am because that’s when your bike was actually stolen, while 7am is the system time because that’s when you discover your bike has been stolen.

For our bitemporal project, we worked in a team of four interns, all recruited from Cal Poly. Since we were collaborating on the project together, we used GitHub as a way to share and merge our code. Together, we built two webpages using many different technologies, such as HTML, CSS, jQuery, d3, and JavaScript. Additionally, we learned how to write AJAX calls, server-side extensions, MarkLogic search queries, and cURL commands. It was a great learning opportunity, because prior to the internship, we had no knowledge of any of these technologies.

Overall, this internship has been an amazing experience for many reasons. We had the opportunity to work on a cool project we never would have been exposed to in school. We learned more about the software development process, and what it's like to create software in the real world. In school the majority of our coding is individual, where collaboration with others is not allowed, and projects are completed by yourself. At MarkLogic, we worked in a team to create one project. We each had our individual parts, which we blended together into one. Throughout the summer we faced many problems and challenges that forced us to utilize our problem solving skills, and reach out to many experienced engineers. At the end of the summer, we presented our project to the CEO, the Product Management Team, and the Engineering Team which allowed us to practice our technical communication skills and demonstrate our work. Throughout the summer, we have improved our coding proficiency, utilized our problem solving abilities and enhanced our technical communication skills. We are extremely thankful to MarkLogic for giving us this fantastic opportunity!

View our bitemporal visualization demo on GitHub at: Bitemp Explorer

Editor's Note: I worked with Ashley, Kevin, Hilary, and Lukas this summer, identifying tasks for them, teaching, and connecting them with other MarkLogic employees. The experience was both fun and productive; I'm glad I had the opportunity to work with them. Hat tip to Jim Clark, Fei Xue, Jennifer Tsau, Justin Makeig, Erik Hennum, Mitch Yawitz, and Jen Breese-Kauth for their parts in mentoring our interns. -- Dave Cassel