Peter Pham is a Phan of Phish.

Peter Pham is a Phan of Phish.
peter pham is a phan of phish

Friday, May 16, 2014

Tools

This is the last week fellas, and here I am to talk about our final topic: Tool.



Tool is a progressive rock band based out of Los Angeles with a huge following. Their best album by far is Aenima, followed by Lateralus, 10,000 Days and finally Undertow. I got to see them live once and it was alright. Anyway, tool is also known for...wait, we're supposed to talk about TOOLS!? Dang nabit, alright alright.



This is the last week fellas, and here I am to talk about our final topic: TOOLSSSSSSSSSSSSs.

What sort of tools you might ask? It's obviously going to be software tools, this is a cs blog after all. Anyway, tools are what separates humans from animals. For a computer scientist, we are dependent on so many pieces of software, it isn't even funny. Heck, without electrical engineers creating the hardware, we wouldn't even exist!



So what is the most important tool for any computer scientist? Well, since I clearly represent all computer scientist in the world, the one tool I use every single time are IDEs. (Integrated Development Environment)
Oh ho ho ho, what is an IDE you might ask? Was hoping you would say that. An IDE is a piece of software that helps programmers, well, program. It allows us to edit source code, compile programs, debug our programs, and even interpret them without having use translate it into machine code. They're the every day man's tool box for computer scientist. I will go into detail about two IDEs that I have used in the past/

The first is Blue J! Don't use it, it sucks.

The second is Eclipse! This bad boy not only allows me to write my source code in a clean and slick looking environment, but makes it so much easier to just type code, see what methods a specific object has, and auto corrects any error in my code! How cool is that! Now I'm not a seasoned enough engineer to detail the details as to what makes eclipse shine, but do know that it can program in multiple languages using simple plug ins. So if you're ever thinking of becoming a computer scientist or want to give your own shot at programming, use eclipse! It's great!

And remember, AVOID BLUE J! It sucks almost as bad as the Toronto Blue Jays and Jose Bautista bribing twitter followers.



Tee, J. (n.d.). What's the big IDE? Comparing Eclipse and NetBeans. What's the big IDE? Comparing Eclipse and NetBeans. Retrieved May 17, 2014, from http://www.theserverside.com/feature/Whats-the-Big-IDE-Comparing-Eclipse-vs-NetBeans

Viswanathan, P. (2014, February 24). Comparing Java IDEs: Eclipse vs. NetBeans vs. IntelliJ. About.com Mobile Devices. Retrieved May 17, 2014, from http://mobiledevices.about.com/od/additionalresources/fl/Comparing-Java-IDEs-Eclipse-vs-NetBeans-vs-IntelliJ.htm

Thompson, G. (2008, June 26). A Discussion of the BlueJ IDE with Two of Its Developers: Michael Kölling and Ian Utting. Java.net. Retrieved May 16, 2014, from https://today.java.net/pub/a/today/2008/06/26/bluej-interview.html

Computer Science in Sports

There are two things I like in this world.

1. Technology.

2...SPORTS!

That's right, this bad boy computer science nerd here is a huge sports fan! Representing the Oakland teams baby! Let's go Athletics, Raiders and Warriors!

You're probably asking yourself, "UGH SPORTS IN MY CS BLOG?"
Well before you alt-f4, let me tell you that computer science and sports are related!!!!!!!!!


No that was not a joke. The subject of computer science is actually applicable to the sporting world today. The usage of analytics in sports have been on the up and up. Pioneered by the Oakland Athletics and their "money ball" theory, the usage of statistical data and programs to calculate that data has spread throughout all the different sports. Almost every baseball team uses saber metrics. Even basketball teams, such as the Memphis Grizzlies, are known to adopt the science and strategies or statistics and data into their scouting decisions.



Computer science is the discipline that gives these scouts and general managers the tools to record and analyze this data. Software must be built to capture the motion of an athlete, points of contacts and position relative to other players. Software must also be used to gather all the current statistics occurring from everyday games and are compiled into one huge database that every team has access too. Without computer science, baseball today would still have been run by the highest paying teams, like the Yankees or Red Soxs. Teams with a small market, such as my Oakland Athletics or the Tampa Bay Rays, wouldn't know how to exploit market inefficiencies and would have to scout out every player by eye.

So thank you computer science, you've allowed my Oakland Athletics to be a competitive team in a game where the highest bidder usual wins. (Stupid Yankees and Giants.)



Demaj, D. (n.d.). Demaj: Using GIS Software for Sports Analytics. MIT Sloan Sports Analytics Conference. Retrieved May 16, 2014, from http://www.sloansportsconference.com/?p=8387

Narducci, M. (2013, January 30). Memphis committed to analytics.HoopsHype -. Retrieved May 16, 2014, from http://hoopshype.com/articles/narducci/memphis-committed-to-analytics

What is Sports Engineering?. (n.d.).International Sports Engineering Association. Retrieved May 16, 2014, from http://www.sportsengineering.co.uk/students/what-is-sports-engineering/

Videogame Beta Testing

Do you like video games? No? Too bad, this blog post is about video games.
Did you ever wanted to play a game before it came out? No? Then you're probably playing the wii.
Did you want to make a living play testing video games? Yes? Then prepare yourself for some two-tailing action from misery and poverty.



Beta testing is usually after alpha testing when the product and program has already been internally testing. Usually in a beta test, the product is thrown to the wilds for the consumers to give a more realistic test of the product. It is unlikely that the test will force any changes. The best use for beta testing is to test multi-player servers in video games and to test the stress levels of those servers.



So why is being a professional beta tester so bad? Well for one thing, you aren't playing these games for fun, you are playing these games to look for bugs. So that means repeating very minute and trivial things multiple times to see if the game breaks or explodes. Also, you are working with a very early build of the game. This means you don't get cool death animations, crazy explosions, pumping electronic music or even voice acting. It's a lonely and soulless position to be in when you're a "true" beta tester.



Morrison, B. (n.d.). Gamasutra: Brice Morrison's Blog - The Truth about Being a Beta Tester. Gamasutra Article. Retrieved May 16, 2014, from http://www.gamasutra.com/blogs/BriceMorrison/20130514/192197/The_Truth_about_Being_a_Beta_Tester.php

Centercode for Video Game Betas. (n.d.).Centercode Beta Blog. Retrieved May 16, 2014, from http://www.centercode.com/beta/types/games/

Friday, April 18, 2014

Usability Testing

Howdy everyone! Welcome to this weeks' usabili-



Well that was embarrassing. How does one even test a blog post any-hoots? Bah, whatever, today's topic I won't actually be talking about usability testing...but instead I will talk about DISCOUNT usability testing. 

Who doesn't like a discount? 
Well...I don't! 
It gives me an excuse to impulse buy. So if everyone can stop asking for discounts...that would be great...


A TROJAN HORSE APPEARS! Before I can talk about discount usability I should BRIEFLY go over the basics of usability testing. It'll be quick, I promise. 

The gist of usability testing is to see how users respond to the product that you are creating. To do this they either have people out of the team test the product or they get experts to give their professional opinion on the product. All this testing allows the designers to figure out what's relevant, what's working and how the product is performing as expected. 


Usability testing isn't always the best strategy to evaluate your product. Recently, there has been a rise to a new method for testing your product. That's right, you've guessed it! The dreaded DISCOUNT usability testing! 

Here's a rundown of the dreaded discount usability taken from this article by Jakob Nielson:

1. A more simpler approach to usability testing. Having more isn't always better. Sometimes having 3-5 testers is  not only cheaper but can be more efficient in garnering useful results.

2. Paper protoypes! No need to spend hours upon hours designing algorithms and programs if you know what you want in your product. Write it down in a paper prototype and see what your users focus on in testing. Not only is this suuuuppeerrr cheap, it's also extremely fast since all you have to do is draw random doodles on paper.

3. Heuristic Evaluation! What is this? I don't know, let me google this real quick so you don't have to.
...
...
...
Got it! Heuristic evaluation is when the product is reviewed by a small set of people who follow guidelines called heuristics. There are 10 of them, and unfortunately, I can't go over all of them. Therefore I'll leave this link here, and just list a couple: visibility of the product's status, common language, user control, consistency, error prevention, recognition, flexibility, aesthetic and a couple more. Following these guidelines lets the designers think more from the user's perspective and gives them a better chance to create a product tailored for the consumer.

Now that you know more about discount usability testing, it's a little obvious why it's better than the old draconian methods of the old usability testing. Due to the cheaper nature of discount testing, it also means more tests and quicker results. 

So on you go with this new found knowledge! At the end of the day none of this matters because the consumers will always find something wrong with your product regardless of your limitations! Life just isn't fair...



References:

Nielsen Norman Group. (n.d.).Wireframing and Prototyping. Retrieved April 19, 2014, from http://www.nngroup.com/courses/wireframing-and-prototyping/



Tuesday, March 25, 2014

Out with the News and in with the Blogs.





Here ye here ye, the time of traditional news media is over and the time of blogs is now upon us. No longer will we be fed the same old drivel of monotony and "journalism" present in these draconian news papers. Today we shall feast upon the majesty of what we bestow the name of blogs and the art of free speech and open thinking!

Anyway, blogs have taken an increasingly important role in the way we consume our media. Almost every website that generates daily content utilizes blogs. These blogs cover topics ranging from news, sports, games, politics to any sort of topic that has an opinion one way or another. However, blogs have also been increasingly used to display an author's expertise in a field, such as art portfolios or technical blogs. Blogs have now evolved into something much greater than the occasional drivel of a person's adolescent meltdown.



So what makes blogs so damn useful in conveying information that something like a traditional news paper or television broadcast can't provide? For one thing, it is universally available to anyone with a decent internet connection. Put the link in your browser and you're there. No more having to pay the paper boy a quarter for some news or waiting until the Big Bang Theory is finished to catch the latest news. You can now just head to the all-purpose internet and get any information instantly!

Another is that it is easy to find the information that you want. News broadcast are notorious for not giving you the news you want immediately. They may entice you with a shocking headline, but then broadcasters force the viewers to watch a commercial or other boring news before you finally can get the piece of information you want.



With a written blog on the internet, you can immediately scan the text looking for the most important bits of information available. Also, with the advent of twitter and social media, blogs are easily passed around through "word of tweets" (haha see what I did there no you didnt because it was a bad joke) and thus viewers are immediately alerted when an important piece of news hit. No more having to sit around the couch or waiting for tomorrow's newspaper to catch the news, blogs will give you what you want when you want it!

So yea...blogs are pretty darn integral to the way out society operates. Hell, without them you wouldn't have seen this off-the-rails rant about blogs! Oh lucky you.


References:

News vs. blog. (n.d.). Chalkbeat Colorado News vs blog Comments. Retrieved April 19, 2014, from http://co.chalkbeat.org/news-vs-blog/

Root-Wiley, M. (2011, December 6). Labels Matter: "Blog" vs. "News" | Blog | MRW Web Design. MRW Web Design. Retrieved April 19, 2014, from http://mrwweb.com/labels-matter-blog-news/

Tuesday, March 18, 2014

Week 4 - QR Codes

Uses of QR Codes

For some reason QR codes have become the hot darlings in the tech industry today. You can see these codes displayed in a variety of instances, such as blogs, name tags, posters or even on your television. Before I go into their different uses, what are these codes and why are they so prevalent in today's social media?

First, QR codes "are a type of two-dimensional barcode that can be read using smartphones and dedicated QR reading devices, that link directly to text, emails, websites, phone numbers and more!"
Wow, thank you whatisaqrcode.co.uk, your explanation of QR codes is very succinct. 

Anyway, they're popular because of the reasons specified in the quote, which is the ability to direct people who scan these qr codes to various websites, texts, emails, etc. 

But enough on the history of QR codes, let's learn some of the more interesting cases to use QR codes. 


NUMBER 1: VIDEO GAME SHENANIGANS
That's right, you can scan QR codes in video games! How cool is that? But what do you gain from scanning qr codes in a video game? Well, they can be used to give players hints, rewards or even ACHIEVEMENTS.

Here's an example of QR codes used in the indie plat former Fez. 



In this case, scanning the QR code gives you a text that displays various combinations of RT and LT. If you were to push in the right trigger and left trigger of your video game controller, and follow the commands precisely, then you can gain a nice reward! Definitely a cool and interesting use of qr codes...I hope. 

Now, moving onto the next interesting use of QR codes...

Which is none. They are not that interesting. Seriously, why are they so popular? Beats me...


References:
Chariton, G. (2011, August 15). The pros and cons of QR codes. Econsultancy. Retrieved April 19, 2014, from https://econsultancy.com/blog/7884-the-pros-and-cons-of-qr-codes#i.v0lc34pg0duyty

What is a QR Code?. (n.d.). What is a QR Code?. Retrieved April 19, 2014, from http://www.whatisaqrcode.co.uk/

Saturday, March 15, 2014

Cyber Security - Gotta Captchem all.

This week’s topic is something relevant to Cyber Security.

If you are any normal denizen of the internet, then it is highly likely that you have run into the infamous CAPTCHA!



Short for “Completely Automated Public Turing Test to tell Computers and Humans Apart”. (Makes you glad that they decided to refer to it by abbreviation only.)

CAPTCHA is a security test that does more than just annoy you (shocking I know). Its “real” purpose is to protect websites from bots. These bots are programmed to either automatically register for accounts or influence some sort of online poll/contest. This can be real annoying towards the admins if a site’s community of say a 100 strong is suddenly populated with a couple thousand “xxNorrisVSLee1820x” every day.

Or we can use this blog as an example. Were it not for captcha, then there is literally NOTHING (aside from a global EMP wiping out all electronics) stopping bots from spamming this comment section with something asinine such as “chunky bacon”.

So how does captcha stop these little spamalot gremlins? First they make the users (in this case the bots) type something. The catch is that what they have to type are images of complex arrangements and shapes, meaning that since bots can only recognize what is typed on the screen or some standard font, the bots cannot decipher complex images or shapes. However, one advantage humans have over bots is our ability of pattern recognition and ability to read abstract symbols. A pretty cheeky way to one up skynet!  



So next time you’re inputting text into that pesky captcha, know that this is a necessary evil to…well to be honest, why should we care what happens to the site owners? It’s not our problem. THE INTERNET ISN’T SO CHARITABLE!



CAPTCHA: Telling Humans and Computers Apart Automatically. (n.d.).The Official CAPTCHA Site. Retrieved March 12, 2014, from http://www.captcha.net/

How to use CAPTCHA. (n.d.). How to use captcha, understand, use and implement captcha, to protect your website againstspam and form spamming, and captcha explained. Retrieved March 12, 2014, from http://www.captcha.tv/

Monday, March 3, 2014

Open Source Software - Why the video game industry needs to release open source games.

One of the largest problems facing the AAA video game industry right now is the exuberant costs of developing a video game. Talk to any game producer and they will tell you that having a game ship is darn close to a miracle. These games are shipped under tight deadlines and are often finalized with a plethora of bugs and optimization issues.

A recent example of this issue is the launch of Battlefield 4 in late 2013. Fans of the previous iterations were expecting an absolute flawless gaming experience. However they were instead met with game-breaking bugs and crashes. Some examples? How about spawning directly underneath the terrain, unable to move or play the game. Or emptying an entire clip of your weapon in an enemy only to be killed in one shot because the game didn't register your damage output. Or even having your game crashed randomly because of reasons. These are some of the experiences that fans of the game voiced during the release of Battlefield 4.

Here is a sample of bugs/issues that D.I.C.E posted during the initial release week:
http://www.ign.com/articles/2013/12/10/battlefield-4-bug-tracker-shows-status-of-major-issues


So how does open source play into all of this? Well for one thing, those outrageous developing costs go out the window. No more having to create your own engine, physics system, scripting, AI or even network infrastructure. These are some of the most time consuming and problematic aspects of gaming, and having source code readily available for developers to look at gives them the opportunity to work on what really matters - asset generation and game design.

Another benefit of having video games go open source is that bugs and glitches are fixed at an exponential rate. Having the source code open to the public allows fans of the game to freely modify the game to their liking and to even fix those "petty" bugs people love to complain about.

A prime example of how this works - in theory - is the modding community in video games. Let's look at Dark Souls 2. The game released on PC with only a native resolution of 1024x720. However, Durante - a fan of the game - released a mod called DSfix that fixed the resolution issues and optimized the performance of the game itself. Not only did this fan pay for the broken game, but he also fixed it FOR FREE. This is the epitome of what open source is about, the community working with the developers to create a vastly superior product.

Oh and here is an example of how the resolution affects the looks of the game:




So it's pretty clear - at least hypothetically - how open source would fix the myriad of problems involving game development. Games costs less to make, which in turn means more attention to game design and art generation. Games will also have their bugs fixed free of charge by the very people buying the video game! 

Therefore, I propose to all the budding developers out there, RELEASE YOUR CODE! 

Less your game ends like this
Unless you think this is amazing, then by all means protect your code.






Sunday, February 23, 2014

CS100W Summary

Welcome to my blog! This is where I will publish posts on various computer science topics. First assignment, a summary fit for a resume!

I am a young computer programmer, currently developing skills to become a full-fledged developer. Spending a year taking business courses has given me a vision of the types of products I want to develop for the end-user, specifically apps that optimize a person’s productivity and life-style. To achieve this goal, I have begun studying SQL and Ruby on Rails during my off days, while at the same time getting hands on experience working with Java during my coursework. Currently, my programming and computer skills are as follows:

- 1 Year coding in Java
- 6 Months coding in C

I am also tinkering with Unity and the Android SDK in order to produce my own video game as a fun hobby. I find creating things that give users a more pleasurable overall experience is extremely satisfying, and gives me the opportunity to express my creative side. For those interesting in a budding programmer, foaming at the teeth to get real work experience, email me at phamanpeter@gmail.com.


Also, visit my Linkedin profile at 
  • www.linkedin.com/in/peteranpham/
















    Thanks for enduring my first blog post. I hope I didn't bore you too much that you were playing Flappy Birds while reading my summary...

    As a sign of my apology, accept this picture of a moo-shark. 

    moomoomoo