2012 Second Presidential Debate WordCloud

We like to do some ad-hoc text analysis from time to time to break things up a bit and work with new tools and software. We’ve done some similar things with Twitter #hashtag text analysis titled Michigan Lean Startup Conf. Twitter Visualizations.

In the spirit of the upcoming election and debates, I thought it would be interesting to put out some something to summarize the words used by both of the candidates in the 2012 Second Presidential Debate on October 16, 2012. We grabbed the text from here. We’re not diving into anything overly complex here but it does put last night’s debate in a different context that we found interesting.

The way the graphic turned out is interesting: president, governor, jobs, thats people. 

Link to the WordCloud: http://solidlogic.com/wp-content/uploads/2012/10/wordcloud_debate_transcript.png

2012 Second Presidential Debate Word Cloud

Share this: [wpsr_retweet] [wpsr_plusone][wpsr_linkedin]

How to build a word cloud

The easiest way to build a word cloud is to use one of the great free online tools like Wordle to build the graphic. If you need a more customized approach or need to create something like this in software, you can use several software tools to make it a lot easier. More details to come on the methods and code behind this later on but its based on Python and R, both of which we use quite a bit for data analysis and development projects.   The code for this was created by myself and our CIO, Michael Bommarito. Its based on some of the work he’s previously made available here: Wordcloud of the Arizona et al. v. United States opinion and Archiving Tweets with Python.

[gravityform id=”4″ name=”Subscribe to our Blog” description=”false” ajax=”false”]

To get customized analysis like this, or to ask us anything else please use the contact us.

 

Software Development Life Cycle (SDLC) Case Study – Result = $440M Loss

Share this: [wpsr_retweet] [wpsr_plusone][wpsr_linkedin]

 

Software Development Life Cycle (SDLC)Importance

Solid Logic Technology’s foundershave experience across the financial industry and specifically in the development of quantative trading and investment systems. Many of the things we’ve learned along the way impact the way we develop software for clients across other industries. Most notably we’ve learned that software quality is extremely important and ‘software bugs’ cost lots of money. The study below shows how important in-depth software development, testing and launch management is for a company.

As early as August 1st, 2012 reports came out that Knight Capital Group,  a prominent electronic market-making firm specializing in NYSE equities, lost an estimated $440 million dollars due to a ‘software bug’. The news spread across financial news networks like Bloomberg, NY Times, CNBC and The Wall Street Journal.  Knight and other similar firms, trade US equities electronically using sophisticated computer algorithms with little to no human involvement in the process. While we will probably never hear the full story behind the ‘software bug’, it is suspected that a software coding error that was not quickly identified caused the loss. The loss is approximately 4 times their 2011 net income of $115m. It appears to have pretty much decimated the firm and at this point it looks like the firm will be bought or end up in bankruptcy.

While unfortunate, this example has some implications across any software project.

So what can we learn and take away from this incident?

  1. Software is not perfect, especially right after it is released
  2. A more comprehensive Software Development Life Cycle (SDLC) process and launch plan probably would have reduced the loss to a more reasonable amount.
  3. Always have a contingency plan for a new launch
  4. If new software is ‘acting funny’ then it probably has a problem and needs to be pulled from production and fixed
  5. When possible, conduct a series of small ‘pilots’ or ‘beta’ test along the way in a lower impact way
  6. If you cannot fully test the changes, then implement them slowly to minimize the potential errors in the beginning
  7. Have a ‘kill switch’ and know how to use it
  8. Have a formal SDLC process and follow it for all revisions
  9. Use source control for all software changes
  10. Have a defined launch process
  11. Have a way to quickly revert the changes implemented back to the previous version.

These are basic best practices that all software development firms should follow in order to consistently develop high quality software. Its unfortunate that there is a case study like this but these type of incidents are more common (but not to this scale) than most people imagine. I’m sure the group at Knight completed many of the above items, but something got away from them.

We put a huge amount of thought and effort into the process of software development and the consistent high level of quality that a solid process brings. We’re currently working on publishing a set of Software Development best practices – please contact us for a pre-release version.

More posts by Eric

[gravityform id=”4″ name=”Subscribe to our Blog” description=”false” ajax=”false”]

Share this: [wpsr_retweet] [wpsr_plusone][wpsr_linkedin]