Preserving the integrity of private class variables when testing gets handsy

One classic theme in software development is protecting the integrity of your model classes. We lock up access to them by using things like private variables, the proxy pattern, and wrapper classes. Nobody gets to mess with our objects unless they do it our way.

But what about when testing needs to get its hands on restricted parts of our model classes? Imagine that you’ve got a GameBoard class with associated members pieces, bank, and deckCards. Here’s a sample UML to help you visualize:

Example UML for a board game.

Continue reading “Preserving the integrity of private class variables when testing gets handsy”

What’s the difference between Natural Language Processing and Computational Linguistics?

Nearly any time that two disciplines meet, some new group will emerge. As the group begins to formulate the problems and approaches that they find interesting, they’ll often label themselves.

  • A chemist who is interested in living things might study biochemistry.
  • Economists that study the effects of psychology on decision-making are called behavioral economists.
  • Linguists who use computational techniques to define language models are called…what, exactly?

Continue reading “What’s the difference between Natural Language Processing and Computational Linguistics?”

Sentiment mining when you’ve got no labels

What’s sentiment mining?

Sentiment mining is a way of computing how positive/negative a text is. It’s useful when you’ve got too much text to read by yourself, but want to know the overall feeling of certain texts. For example, a company who is curious about public reception of their newest product can read in all tweets mentioning the product’s name and get a sentiment score back. Continue reading “Sentiment mining when you’ve got no labels”

A crash course in some NoSQL databases

In school courses on data mining and big data, one of the foremost lessons learned is that we have to be cautious about the way we represent our data and (consequentially) our results. Most people don’t think of databases when we think of data representation, but how we store our information probably contributes more to overall system performance than almost anything else nowadays. Continue reading “A crash course in some NoSQL databases”

Introducing Calliope SPS

Welcome to Persephone! This blog is dedicated to promoting the computational sciences, and will feature shorter posts and occasionally longer articles that discuss projects and topics. As way of introduction, my name is Trent Hyer, and I’m a student about to graduate in April. This blog was started to serve as a sandbox for ideas, random writings, and thought-out publications that I want to share with others. Continue reading “Introducing Calliope SPS”