Wednesday, May 14, 2014

Software Tooling

Imagine how long it took to plant, grow, and harvest crops back in the old days. We had tools to help us do the hard work. Now fast forward into the digital era where almost everything is created using computers. Ask yourself how long it would take to produce thousands of lines of codes and test software using just a command line. Of course people got efficient at the command line and they could produce plenty of quality code. But now with big data in the picture, it is getting ridiculously hard to make anything quick with the command line. That is why there are software tools that will help us produce and combine software a lot easier.

One of the specific big data software tools that I would like to discuss in this post is the IBM InfoSphere BigInsights. I have plenty of time to learn most of the features of this particular tool. It is a great tool, I've created a few applications with it. One of which I am proud of, the so
IBMs BigInsights Quick Start
cial media app that uses Facebook's public api to pull data based on keywords that the user provides. This software tool helps process large amounts of data and uses the hadoop framework at its core.

Try InfoSphere BigInsights your self by downloading the quickstart application at: IBM BigInsights Quick Start Edition

Aside from BigInsights, I use IDEs such as Eclipse and Xcode for writing code. Microsoft Office for writing documents and excel sheets. Github for maintaining a public listing of projects that I have worked on. And other tools such as Wireshark and VMWare Fusion.

So what tools do you use to make your programming life easier? Sound off in the comments below!

Social Media and Big Data

Where do companies go when they want to gain valuable business insight? Have you ever wondered that? Have you received any small gifts from brands on your or close to your birthday? I once received a razor from Gillette when it was close to my 19th birthday. I wondered how they knew it was my birthday? Well years later, I found how exactly how.

Social media sites store a tremendous amount of useful and valuable customer data. "The world's largest social networks are storing massive amounts of never-before-analyzed data that could reveal crucial information about consumers"
Twitter logo, source for big data analytics
says Business Insider Journal. This is true and that is how I got my gift from Gillette. Another interesting story that you might have heard about that deals with social media, big data, and how companies are using that information to market to us is the one about a father finding out his daughter was pregnant due to some company sending her pregnancy related offers.

This was very intriguing, how can a company know so much about their consumers? Well all they have to do is search the public social media sites. People tweet and post all kinds of things every minute of every day. For example, they can post something like "Just moved in to my new house!!" companies can track these things. Now they know that 'Joe Smith' has a new house and may want some house insurance or something of that sort.

These is very interesting, but it also brings forth some questions. How far is too far? (privacy wise) Would you be ok with companies sending you ads so that you can buy a product based on your previous purchases? When would this be considered an invasion of privacy?



Smith, C. (2014, March 20). Reinventing Social Media: Deep Learning, Predictive Marketing, And Image Recognition Will Change Everything. Business Insider. Retrieved May 14, 2014, from http://www.businessinsider.com/social-medias-big-data-future-2014-3

Beta Testing

"Dude I got into the alpha test phase for Heroes of the storm!" - Jesus. My friend had been given alpha access to an emerging video from a well-known publisher.

You may be wondering what the big deal is, truth is it's not such a big deal. Alpha testing is a form of testing a product such as a video game in this case. The size of an alpha test is relatively small compared to that of a beta test. Usually only friends and family are invited to test the product. In the alpha and beta test phases, users provide feedback on the product and report any bugs that they may encounter.

Beta sign up for Heroes of the Storm, Activision Blizzard
The difference between an alpha and a beta phase aside from the size of it is that alpha phases usually have user agree to a non-disclosure agreement (NDA). An NDA is similar to a contract in which a tester must not disclose any information attained from the alpha test. Sometimes beta tests include an NDA depending on the company. Another difference is that beta tests are usually given to users outside of the company. There are two kinds of betas, open beta and closed beta. Open betas are far larger than closed betas and are usually meant to test the back end servers. Open betas are not good in a sense that if you are looking for good feedback, chances are you will not get exactly what you want since there are far too many testers. "Open betas don't work. You either get too many testers (think Netscape) in which case you can't get good data from the testers, or too few reports from the existing testers."

I have been a beta tester for a few video games and an internal product at my current job. It is fun and exciting to test new features and to play around with new products, but it is also exciting to help shape the way the final product shapes up due to provided feedback.



Spolsky, J. (2004, March 2). Top Twelve Tips for Running a Beta Test. . Retrieved May 14, 2014, from http://www.joelonsoftware.com/articles/BetaTest.html