From the Trenches

The Archaeologist Who Went Serverless (and why you should too…)

By Itay Zandbank / July 5, 2018 /

There’s a lot of hype now about ‘serverless’. Almost every day we read about new serverless application frameworks, serverless cloud providers and, of-course, serverless t-shirts. First, a little background, in case you’ve been living in a log cabin in the woods and are unfamiliar with the world of serverless. (And actually, we’d be ok with…

Read More

Scientific Programming “Don’ts” – Badly Named Variables

By Itay Zandbank / July 3, 2018 /

I once knew a software engineer who gave birth to identical triplets.  Since no one could tell the babies apart, she named them all X and planned to assign a string to each one later. For various reasons, she never did.  Since she and her husband never did learn to tell them apart, they continued…

Read More

A Case Study: Part II – Switching from C++ to Python

By SiteAdmin / July 2, 2018 /

In Part I of this blog series we introduced you to our project CSM: Continuous Symmetry Measure. If you missed it, you can catch up here. Here in Part II, we’ll begin to explain the programming decisions we made, including the rationale behind our decision to switch the coding language from C++ to Python. If you’ve read…

Read More

A case study: CSM, Continuous Symmetry Measure

By SiteAdmin / June 25, 2018 /

Part I – Introduction Several years ago, we were approached by a research lab at The Institute of Chemistry at Hebrew University with a request to help with a project called the Continuous Symmetry Measure (CSM). Like many projects on which we are asked to consult, the code had been written and maintained by a…

Read More

Scientific Programming “Don’ts” – Don’t leave confusing code undocumented

By Itay Zandbank / June 18, 2018 /

Sometimes your code does something not trivial to fix a problem that isn’t obvious. For example, in one place someone was having some rounding issues, so we found this gem in the code: double *pf = &f; (*(long long *)pf) += 8; The only comment there was “solve rounding issues”. We’ve encountered this code when…

Read More

Scientific Programming “Don’ts” – Not Using Source Code Repositories

By Itay Zandbank / June 11, 2018 /

Scientific Programming “Don’ts” – is the first in a series of blog posts created from the nightmares of the The Research Software Company’s top developers.  We encourage you to heed our warnings! As developers,  we are often called upon to consult only after something has gone horribly wrong.  For example, sometimes we are handed code…

Read More

eXist-db, UTF-8 and a bug

By Itay Zandbank / June 4, 2018 /

Here at the Research Software Company, we currently have a big corpus of TEI-encoded Hebrew songs we are working with. (If you have Hava Nagila playing in your head now, we apologize, but we promise Hebrew music is much richer and more complex than that tired Bar Mitzvah standard. But I digress.)  Since we don’t…

Read More

CUDA Premature Optimization

By Itay Zandbank / April 12, 2018 /

One of our projects – a system that performs lengthy calculations with CUDA – started exhibiting strange behavior. It is one of those physical simulations that nobody without a masters degree in physics understands. The code was originally developed by PhD candidates in the lab, and was transferred to us when they were in the…

Read More