Sunday, December 6, 2015

Basic Discussion of Inheritance

I wrote this during my first semester at MATC and the exercise helped me to to think more object oriented. I hope other code newbies might find this useful.

Inheritance is a feature of object-oriented programming which allows for a class to inherit attributes and behaviors of another class.  Inheritance is integral to good object oriented design.  Through the use of inheritance code can be reused.  

Microsoft gives good guidelines for when to implement inheritance.  When the relationship between subclass and superclass can best be described as  “is a”   rather than a “has a”.  When you have to apply the same class and methods to different data types.  When you want to make global changes through changing a base class.

The way inheritance works is by creating a class which will function as a superclass or parent class which will pass on properties and methods to child classes or subclasses.  So for example we could create an Animal parent class which will have certain attributes and behavior to move, to eat.  Creating the subclasses of animal we might have  mammal, bird, and crustacean subclasses which would inherit all of the qualities of the animal class.  Mammal could then act as a parent class to the class Human.  The result of this design is a hierarchical structuring.  



There are different types of inheritance which all have to do with the relationships between the parent and child class.  In single inheritance all of the child classes inherit from one parent class.  In cases of multiple inheritance the child class inherits from more than one parent class.  Multilevel inheritance happens when a chain occurs where a sub class inherits from a superclass and then in turn acts as a parent class for another sub class.   
Considering the different types of inheritance brings about the question of inheritance conflicts.  The main conflict that arises when using inheritance is when two parent classes define the same property in the child class.  This is where the concept of overriding comes into play when the programmer 
explicitly defines what the properties definition is.  

Here is an interesting video from the clean code talks for those who have time to go into more depth.  I found his discussion of replacing if's and switch statements with subclasses to be very useful in furthering my understanding of inheritance.  Check it out and let me know what you think in the comments.

Monday, November 23, 2015

Podcast Review

 I really love podcasts I find myself listening to them all the time and have found many I subscribe to and love.  When our class was asked to take a position on a podcast episode I knew immediately which one I would write about.  

I am going to be discussing episode #46 of Reply-All (a link to the episode is at the end of this post). This show is produced by Gimlet Media; a podcasting network I highly recommend.  Besides Reply-All their network hosts Start-Up, the Mystery Show and Surprisingly Awesome.  These shows are all relatively popular I found out about most of them by browsing the top charts of iTunes.

Reply-All describes itself simply as a show about the internet.  I would draw comparisons to This American Life and Radiolab.  The show generally deals with personal interest stories that have some technological component.  

Episode #46 deals with the app Yik-Yak, racism and a small college campus.  The story centers around Melissa, a puerto rican student from the bronx who experiences a culture shock beginning her first year at Colgate University, a small liberal arts school in upstate New York  Melissa was used to being a part of a racially diverse neighborhood.  Colgate's student body was predominantly white.

Throughout her time at Colgate Melissa experienced racism subtle and overt from both students and facility.  Melissa took it upon herself to organize her fellow classmates in order to bring attention to the discrimination they were facing.  The group agreed upon a list of demands and staged a sit-in to raise awareness.  This protest however triggered a backlash of hatred.  

The anonymous chat service Yik-Yak became the primary method for students to voice racism.  The messages not only featured hate speech but evolved to personal threats.  The students who were active in the protests became extremely fearful and when the dean was made aware they were given the option to leave campus.  

The school did what it could to identify the authors of the yaks even going so far as to attempt to get a grand jury subpoena to force Yik-Yak to disclose the personal information of their users.  This was unsuccessful and Yik-Yak did not share this information.  

I found the story to be interesting on a couple different levels.  First the ongoing issue of how the internet and an anonymous forum tend to always bring out the worst in people.  Secondly the issue of where free speech ends and where threats need to be taken seriously.  

I personally feel that Yik-Yak should have turned over the names of the users who made violent threats.  Due to the small nature of this campus the targeted students have to live and go to school knowing that that their enemies are among them.  This creates such an atmosphere of fear.  These threats caused damage, they drove certain students to leave, while the others who stayed would never walk on campus alone.  

I think the reason that Yik-Yak didn't is because on the internet people and companies tend to have an almost knee-jerk response toward protecting users anonymity.  I understand this and it makes sense when you consider the history of the internet, which embodied this freedom and anonymity from the beginning.

This story made me think about the internets love affair with anonymity.  I question if it will continue as this generation grows up with social media.  Privacy has in many ways lost its currency in some ways it isn't even something this generation desires.  With this being said I think we might see this value placed on protecting a user's anonymity above all else fade.  With this I think we will see anonymous message boards and apps become more and more marginalized. 

So while it is in no way surprising that those who made these threats online were not brought to justice, the response from the teachers and student body was.  At first the school blocked the app on school grounds.  This failed though as students continued to access the app from their phones.  Next teachers flooded the app with positive messages about their students and signed the posts with their name.  It is really fascinating to me that instead of relying on the law and administrators to protect us from this kind of anonymous violent hate speech, people took it upon themselves to fight anonymity by unmasking themselves. 





 

Monday, November 2, 2015

TED Talk Review

My previous exposure to TED talks has been limited, before being assigned to review a TED talk I was only familiar with the basic concept of TED;  a conference where speakers give short creative presentations on a variety of subjects.  I wanted to view a popular TED talk to get a good representation of the format.  Thankfully TED has created a list of the most popular talks of all time on their site.  I chose the first link of this list, a talk by Ken Robinson titled Do schools kill creativity?



To begin I really think this talk is titled well, the question itself is very provocative and immediately pulls the viewer in curious to hear the evidence for this.  Unfortunately while the argument is certainly intriguing I found the author’s argument to be flawed.  In my opinion currently the system sufficiently promotes creativity.  However,  we don’t and shouldn’t expect the education system to nurture and promote each child’s unique artistic ability.  This is the reason children take lessons outside of the school.  I feel creativity is mainly the responsibility of the parents to promote and nurture.  The role of education is to take creativity and apply it to the core subjects taught.  So while I am not arguing for removing art from school, I believe that art in the school is alive and well.   


Robinson argues that creativity is as important as literacy, which seems a bit overstated.  Again the crux of Robinson’s argument revolves around the idea that our education system is squandering the natural creativity of our children.  While I do agree that our education system is vastly outdated, in my view Robinson is missing the mark by focusing on creativity exclusively as the major problem in our education system.  Sure creativity is important, but so is critical thinking, focus, drive, passion, practical knowledge.  There are so many qualities and abilities we as a society hope our education system is instilling. 

Robinson feels that their exists an unjust hierarchy of subjects, that math and science preside over the humanities.  My question would be what is wrong with this.  We live in a capitalistic, technologically advanced society which of course values math and science above other skills.  Robinson states that education has been flawed from the beginning as it arose to meet the needs of industrialism.  Again I don’t see the problem with this as our education system is geared toward providing society with the skills which are valued at a premium.  These skill just happen to tend to be more science and math based currently because of the times we live in.


In conclusion I found Robinson’s talk to be very entertaining.  The presentation had a great flow.  Robinson used humor very effectively he possessed a very dry, British sense of humor.  The jokes and anecdotes he told fit well within his talk and provided support by illustrating his points.  While I really enjoyed the humor it almost became too much especially considering he was relying almost exclusively on humorous stories to support his argument. After a while this reliance on humorous anecdotes felt to me like an appeal to emotion rather than reason.  There were no facts or figures to support the claims.  To conclude I found this particular TED talk to be a case of style over substance, but I did enjoy the medium and will be watching other talks.

Tuesday, October 6, 2015

Social Media Study

The use of social media technologies has revolutionized the ways businesses interact with customers.  Social media presents companies with an opportunity to reach out in ways which were simply not possible before.  I will be examining two iconic American soft drinks to look at how they are adapting to the social media paradigm. 

I chose Coca-Cola and Pepsi as the companies to research due in part to the rivalry, but also because comparing two similar products allows us to compare and contrast to see how two competing companies utilize social media.  I want to look at Coca-Cola and Pepsi’s use of Twitter and Facebook and try to find the main purpose behind their use of these platforms.  

The questions I seek to answer are as follows, who are they primarily interacting with?  How are they interacting?  What strategies are they employing to achieve and maintain relationships with their audience and do the strategies and content differ according to the platform utilized.  And of course to see if by analyzing each company’s social media strategy we might determine the better Cola. 

Cola’s Facebook page to conduct my research I was struck by their great use of the profile and cover photo.  It’s simple, but graphically it showcases their understanding of the potential for the profile and cover photo to interact, which I personally think is a clever use of Facebook’s profile and cover photo.  



Coca-Cola posts frequently generally every other day and the majority of their posts consist of video marketing.  Garnering 93,171,691 likes on Facebook,Coca-Cola does a great job of creating content for all occasions on both Facebook and Twitter.  Coke does a good job of creating content according to what is trending.  For instance recently on September 26th the internet was abuzz with news of the super blood moon.  If you found yourself on Facebook and Twitter between the hours of 8 and 11pm you likely saw photos of the rare astronomical event taken by friends and family.  Coke made a clever video featuring an eclipse of the Coca-Cola bottle cap instead of the moon and used the hashtag #SuperBloodMoon to share the video.  

This is a recent example, but browsing Coca-Cola’s timeline and Twitter feed the brand presents many videos for all sorts of events from seasonal changes, awards shows, sporting events as well as lesser known events such as national dog day or national video game day.  Coca-Cola does a great job of integrating their brand messaging into these different events.  For national video game day they created a video using Coca-Cola bottles as buttons presenting the famous Contra cheat code sequence.


  
As I browsed through Coke’s Facebook timeline I was struck by how many different targeted ad-campaigns Coca-Cola was able to run, where in the past it might not have been feasible to reach out to every niche group, today social media technology makes it possible to reach many specific audience, which for a brand like Coke is key because of how diverse the makeup of Coke’s audience is. This is one of the big shifts that I believe Social Media has allowed corporations to make.  


Coca-Cola is such a great example to show the shift in targeted marketing due to the size of their audience in the past Coca-Cola’s presence in advertising was still targeted but often times it carried a message to a broad audience.


Let’s shift focus and contrast the iconic Polar Bear Ad shown above to The last major Ad campaign Coca-Cola conducted which was Share a Coke.  This campaign which features 1000's of different customized Coke Cans featuring names and phrases instead of the words Coca- Cola, showcases the effect of Social Media on contemporary advertising.  

This is an Ad Campaign that was clearly specifically designed for the Social Media paradigm.  The idea of sharing a coke and printing names on Coke cans is ingenious in the way that it promotes individuals to find their name on a can of coke and not only share it with another individual but to share it on social networks.  It is a great example of how today’s advertising must contain a social element to capture the largest audience and reach the most people. In this case Coke is literally reaching out to each and every specific individual by printing their customer’s name on the can.

Comparing Coca-Cola’s Twitter presence to their Facebook presence I found some interesting differences. First compared to the 90 million likes on Facebook Coke’s Twitter followers number 3.1 million.  Coke has tweeted 120,000 times. I found that in general Coke tweeted more often than they posted on Facebook and that in general Coke’s Twitter presence focused more on events.  Coke on Twitter showcased a good use of hashtags both creating  their own hashtags and participating in trending hashtags.  For example Coke was very active around the World Cup.  

Another interesting difference I found was that on Twitter Coca-Cola’s posts were geared toward a younger audience featuring contemporary music and memes. This focus makes sense due to the younger demographic makeup of Twitter.  Also interestingly Coca-Cola’s posts on Twitter seemed to skew toward more of an international audience.  Coke tended to use Twitter to link to their website where-as their posts on Facebook often times didn’t.

In general Coke seems to spend more resources  on their Facebook page in terms of (video production and interacting through comments) most likely due to the fact that they are reaching the most people there.

In terms of likes Pepsi has 33,805,468, just a third of the followers that Coke has.  Switching over to Pepsi’s Facebook page the first thing you will notice is that Pepsi’s logo and cover photo features a logo advertising Pepsi perfect which is a tie in to the film Back to the Future 2, because we are rapidly approaching the future date portrayed in the film which is October 21’st.  Being a fan of the films I enjoyed the reference. 




Further researching Pepsi’s facebook page I found that Pepsi rarely comments on any of their posts.  Of course I don’t necessarily fault them for it though as most of the comment sections are filled with sincere and ironic pleas to bring back crystal pepsi. Pepsi’s marketing via Facebook is much more focused on promotional offers and giveaways often times partnering with brands such as Papa John’s, Buffalo Wild Wings and Target.  Pepsi’s Facebook  also features a lot of sports related content especially NFL content.

Pepsi’s Twitter presence clocks in at 2.91 million followers.  They have sent 28,000 tweets. Their use of Twitter is similar to the way Coca-Cola uses it, tweeting during events such as MTV’s Video Music Awards, NFL games and the show Empire. I find this to be a very effective use of Twitter as it mirrors the way most of us use Twitter.  I found Pepsi’s use of Twitter to be more effective than Coke’s in terms of interactivity.  They were really involved in the events they were live-tweeting and apart from just commenting on these events they often times offered more related content to the experience. 

In concluding the Social Media battle of the Cola’s I have to give my vote to Coke.  I felt that they utilized video more often and in ways which appealed to larger audiences through their participation in trending events and topics.  While I thought Pepsi did a good job of informing their followers on upcoming promotions and offers I thought they failed  to interact with their followers

Monday, September 7, 2015

Beginning The Web and Software Development Program At MATC

I am currently enrolled in the Information Technology Web and Software development program at Milwaukee Area Technical College.  What really attracted me to MATC was the opportunity to acquire the practical knowledge and skill set that will prepare me for a career in programming.

The ability to learn these valuable skills at a fraction of the price I would pay at a traditional four year institution made the decision to attend MATC an easy one.  Furthermore I have already had a traditional college experience.  I graduated from UW Madison with a Bachelors degree in the humanities.  The experience was a great one and taught me how to think critically however practically it prepared me for a career in coffee.  I am ready to move on from my job in the service industry to begin a career in IT (before I am replaced by AI.)

 I chose IT because I find it to be a fascinating,  creative, and mentally challenging field.  I love the  fact that IT is always changing and evolving which  gives me the opportunity to be a life long learner.

 I have always had a passion for technology from  childhood since the day my father brought home a  computer.  I bombarded him with questions.  I  wanted to know everything about that big box.    How did it work, what could you do with it?    Eventually I was old enough to ask the computer  these questions.  I feel privileged to have    experienced a world without the Internet.  It has    been magical watching the transformation of life  through technology in such a short period.  Viewing this transformation really inspired me to be a part of this field which shapes modern life like nothing else.

Why programming?  My passion for programming began in a very pragmatic way. A few years back I started to research jobs that were in demand and computer programmer was at the top of the pack.  I really had no idea what a programmer did.  This simple curiosity really got me started and the answer sparked a hobby in me.  Apparently I was not alone in my interest as the amount of resources and forums dedicated to helping the beginning programmer seemed to be large and growing.  I went from knowing close to nothing to reading books on Python, watching lectures from the Harvard CS50 course and working through the modules on Code Academy in my spare time.  My curiosity had sparked a passion.  Now I look forward to turn my passion into a profession here at MATC.