Wednesday, May 7, 2014

Tools

Image Source: WikiVillage

How Do You Use Tools as a Computer Scientist?

Computer scientists have a lot of tools available to them. In fact, it could be argued that there are an infinite number of tools available. Besides physical tools such as a computer and an IDE, there also exist an innumerable amount of tools in the form of knowledge. In this day and age where the answer to every question is only a tap (or a voice command) away, there is no limit to the amount of knowledge we can amass. Knowledge is key component for success in any field. As computer scientists, we should know better than anyone how easily accessible the answers to all of our questions are. Another critical tool as a computer scientist is the people around you. Having someone in the same field as you who you can go to and learn from is an invaluable asset. No matter the tool, each and every one has a special purpose in the overall puzzle that is a career in computer science.

Which Tools Did You Discover This Semester?

This semester I had the opportunity of utilizing many different tools. Not only did I have physical tools such as my computer, a camera, and video production software, but I also had teammates to help support me and a wealth of knowledge at my fingertips that allowed me to successfully learn and apply the skills necessary to create a great project.

What are Some of Your Favorite and Least Favorite Tools?

My absolute favorite tool is Google. I believe that knowledge is one of our greatest assets and Google is the gateway to unlimited and easily accessible knowledge. My least favorite tool probably has to be hardcopy books. As technology advances, information is becoming more and more easily accessible. While books can be a great resource, I find myself going straight to Google when I want to learn or research something.

How are Tools Changing? Why is This Important?

As I previously stated, technology is advancing and information is becoming more and more readily available. Old methods of discovering and researching are being quickly replaced by quicker, more efficient methods. It is important that tools change because the world we live in is changing as well. Information is a living entity. It changes as the world does. Hardcopy books cannot update themselves to reflect the newest information. In a day and age where information is changing on a day to day basis, we have to utilize tools that can keep up with the constant influx of changing information.

References: 
[Hammer on Keyboard ]. Retrieved May 7, 2014 from
http://wikivillage.co.za/sites/default/files/wiki/computer-repair-man/images/computer-repair-man-1351612489.jpg

WWDC 2014

Image Source: Apple

Apple's annual World Wide Developers Conference (WWDC) 2014 is just around the corner. WWDC has traditionally been Apple's opportunity to announce new hardware and software for the company's iPhone and Mac product lines. WWDC 2014 has Apple fans and tech pundits alike waiting in anticipation for the unveiling of the newest iPhone and iOS (rumored to be the iPhone 6 and iOS 8, respectively). So far, nothing regarding either has been officially announced by Apple. However, several leaks in tandem with widespread speculation have began to paint a picture as to what can be expected by next month's conference.

Image Source: iOS 8 Facebook Page
iOS 8
According to MacRumors, features to be expected in Apple's newest version of iOS include new "Healthbook", TextEdit, and Preview apps, improvements to Siri and Maps, and possibly some sort of mobile payment system. The "Healthbook" app is rumored to "pull fitness-related information from both the M7 motion co-processor included in the iPhone 5S and sensors to be included with [Apple's much-rumored] iWatch" (MacRumors 2014). As iOS 7 featured a "complete visual overhaul of the operating system" it is unlikely that iOS 8 will see many design changes (MacRumors 2014). The TextEdit and Preview apps are expected to function like their Mac OS X counterparts while improvements to Siri and Maps are anticipated to be minimal but bring additional functionality.

Image Source: Business Insider

iPhone 6
The real star of WWDC 2014 will be Apple's long-awaited, larger-than-four-inch iPhone 6. In a market where most smartphones are at least 4.7 inches, Apple's iPhone is left dwarfed by the competition. It is widely anticipated that Apple will release not only a 4.7 inch phone this year but a 5.5 inch phone as well (Eadicicco 2014). The iPhone 6 is also expected to feature a new, thinner profile with a curved body as opposed to the current rectangular shape. It is also speculated that the iPhone 6 will feature a display made of a much more durable and scratch resistant sapphire glass as evidenced by Apple's acquisition of a sapphire manufacturing facility in Arizona (Rogowsky 2014).


The hype and anticipation of Apple's newest products continue to build with each day as more and more rumors and speculations surface. Unless we see a repeat of the lost iPhone in a bar, we will just have to wait until June 2nd to see what Apple has in store.


References
Eadicicco, L. (2014, May 07). Apple's Rumored 4.7-Inch iPhone 6 May Already Be In Production. Retrieved May 07, 2014, from http://www.businessinsider.com/apple-iphone-6-production-rumors-2014-5#!KMurC
[iPhone 6 Mockup]. Retrieved May 7, 2014 from
http://static4.businessinsider.com/image/5346974b6bb3f7140788cdfd/new-details-on-the-iphone-6-it-will-be-super-slim-high-res-come-in-two-sizes-and-the-power-button-is-moving.jpg
Rogowsky, M. (2014, February 26). Why The iPhone 6 Is Not Coming In May, But It Is Coming With Sapphire. Retrieved May 07, 2014, from http://www.forbes.com/sites/markrogowsky/2014/02/26/the-iphone-6-is-not-coming-in-may-but-it-is-coming-with-sapphire/
MacRumors (n.d.). IOS 8: Everything We Know. Retrieved May 07, 2014, from http://www.macrumors.com/roundup/ios-8/

[WWDC 2014 Banner]. Retrieved May 7, 2014 from
https://scontent-b-dfw.xx.fbcdn.net/hphotos-prn2/t1.0-9/1383616_579674132087408_1101568949_n.png

Wednesday, April 23, 2014

Beta Testing



The lifecycle of a piece of software begins with an idea, spends the majority of its life in the developmental stage, and finally is tested thoroughly both internally and externally before being publicly released. Kaspersky Lab defines beta testing as the “external testing of [a] product in order to identify configurations that cause problems, as well as collect requirements and suggestions from users” (n.d.). As the beta version of a piece of software is not the final version, it is not guaranteed to be without bugs. Internal testing will only yield so many results as the number of devices and configurations upon which testing can be done is limited. However, by enlisting the help of the public, the number of devices and configurations is nearly limitless. This ensures a much better representative sample of how well a piece of software will work when it is released to the public. Beta testing is an absolutely essential stage of the software development lifecycle as it helps ensure a product’s success.


References
Kaspersky Lab. (n.d.). Beta Testing | What Is Beta Testing. Retrieved April 20, 2014, from http://www.kaspersky.com/downloads/beta_testing
Roth, Matthew. (2011). Coding Shots Annual Plan high res-5.jpg. [Photograph]. Retrieved April 20, 2014, from http://en.wikipedia.org/wiki/File:Coding_Shots_Annual_Plan_high_res-5.jpg

Friday, April 18, 2014

Usability Testing

Source: justincaseyouwerewondering.com




According to the U.S. Department of Health & Human Services, usability testing is the “[evaluation of] a product or service by testing it with representative users” (n.d.). While usability testing is largely used in the tech industry to test new hardware and software, it can be used to benchmark virtually any man made product. The goal of usability testing is to “identify any usability problems, collect qualitative and quantitative data and determine the participant's satisfaction with the product” (n.d.). Usability testing seeks to determine if a user can successfully figure out how to properly use a product so that it meets its intended purpose. These tests are run in such a way that a user is asked to use a product and figure out how to do so with only the instructions that come with the product. As the user attempts to use the product, a team of observers will often record both audio and video as well as take notes. Usability testing is not beta testing; it is not meant to be a means for weeding out bugs. It is, however, a way of qualitatively measuring how usable a product is by comparing a test user’s actual results of using the product to the expected results. Usability testing is an absolutely essential part of the development process and should be viewed as equally important as beta testing.


References
U.S. Department of Health & Human Services. Usability Testing. (n.d.). Retrieved April 14, 2014, from http://www.usability.gov/how-to-and-tools/methods/usability-testing.html

[Usability Testing]. Retrieved April 18, 2014 from
http://justincaseyouwerewondering.com/wp-content/uploads/2012/01/UsabilityTest.png

Wednesday, April 2, 2014

Blogs



Maybe you have heard the term “blog” before and quickly attributed it to a website where one can freely journal about any topic; but what actually is a blog? A blog is not just any website but a website with a very specific format and characteristics. According to Marshall Brain, the characteristics that define a blog are:
  • A blog is normally a single page of entries. There may be archives of older entries, but the "main page" of a blog is all anyone really cares about.
  • A blog is organized in reverse-chronological order, from most recent entry to least recent.
  • A blog is normally public -- the whole world can see it.
  • The entries in a blog usually come from a single author.
  • The entries in a blog are usually stream-of-consciousness. There is no particular order to them. For example, if I see a good link, I can throw it in my blog. The tools that most bloggers use make it incredibly easy to add entries to a blog any time they feel like it. (Brain, n.d., para. 6).
In the early years of the internet, the internet was less of a social platform and more of an information tool. Publishing content to the World Wide Web required knowledge of HTML and thus imposed great limitations on the general public’s ability to create web pages. With the development of tools in the late 1990s that aided non-technical users in creating and publishing content for the web, the blogosphere quickly took form. These tools allowed for anyone and everyone to post about any topic they wanted to. However, according to Susan Gunelius, the earliest blogs started out primarily as online diaries in which individuals posted information on a daily basis about their lives and opinions (Gunelius, n.d., para 5). Blogs originated as a one-way street in which there was no communication between an author and his audience. As blogs evolved, features were added to allow for readers to interact with an author by posting comments or “liking” a post.


Blogging has become an incredibly popular form of social media. As of November 20, 2013, there are over 152 million blogs in existence (Gaille, 2013). At the time of this writing, Tumblr is statistically the most popular blogging platform with over 178 million blogs (Tumblr, 2014). While Blogger is often regarded as the most popular blogging platform, there is no statistical data to back up this claim as Blogger keeps all of its statistics private.  
References
[Blog Icons]. Retrieved April 2, 2014 from
          http://awas.aweber-static.com/images/features-pages/bbc-blogs.jpg 
Brain, M. How Blogs Work. (n.d.). Retrieved March 30, 2014, from http://computer.howstuffworks.com/internet/social-networking/information/blog.htm
Gaille, B. How Many Blogs are on the Internet. (n.d.). Retrieved March 30, 2014, from http://www.wpvirtuoso.com/how-many-blogs-are-on-the-internet/
Tumblr. Tumblr. (n.d.). Retrieved March 30, 2014, from http://www.tumblr.com/about
Gunelius, S. What is a Blog? (n.d.). Retrieved March 30, 2014, from http://weblogs.about.com/od/startingablog/p/WhatIsABlog.htm

QR Codes




The QR code, or Quick Response Code, has become a staple of modern consumerism and technology. Developed in the 1960s, the QR code was created as a way of overcoming the 20 or so character limitation of traditional, one-dimensional barcodes (Denso Wave Incorporated, n.d.). Denso Wave Incorporated, a division of Denso Corporation, created the QR code as a response to users’ requests for a barcode that could store not only more alphanumeric characters but Japanese characters as well (Denso Wave Incorporated, n.d.). The two-person development team at Denso Wave created a special two-dimensional code packed with information and special features to make scanning quick and easy.

Every QR Code contains a finder pattern, an arrangement of squares that help the scanner detect the size of the QR Code, the direction it's facing and even the angle at which the code is being scanned. Next, every QR Code contains an alignment pattern, another pattern of squares devised to help scanners determine if the 2-D bar code [sic] is distorted (perhaps it's placed on a round surface, for instance). QR Codes also have margins for error, meaning that even if part of the code is smudged or obscured, the code can often still be scanned (Atteberry, 2011, para. 3).


As intricate as QR codes are, they would mean nothing without the software used to decode them. According to Jonathan Atteberry, this special software works by

"calculating the ratio between the black and white areas of the code, it can quickly identify which squares are part of the alignment patterns and which squares contain actual data. Using the QR Code's built-in patterns and error correction, the software can also compensate for any distortion or obscured areas of the bar code. After the software has digitally 'reconstructed' the QR Code, it examines the jumble of black and white squares in the QR Code's data section and outputs the data contained within" (Atteberry, 2011, para. 4).


It was not until around 2002 that QR codes became popular as the scanners required to read QR codes were previously quite costly. However, as mobile devices began offering a way of scanning the two-dimensional code, its popularity boomed. In 2014, QR codes are everywhere. They are on our packages, our boarding passes, our passports, business cards, and even billboards. This staple of technological ingenuity has forever transformed the world we live in.


References
Atteberry, J. (2011, March 03). How 2-D Bar Codes Work. Retrieved March 22, 2014, from http://science.howstuffworks.com/innovation/repurposed-inventions/2d-barcodes1.htm

Denso Wave Incorporated. History of QR Code (n.d.). Retrieved March 22, 2014, from http://www.qrcode.com/en/history/
[How QR Codes Works]. Retrieved April 2, 2014 from
          http://science.howstuffworks.com/innovation/repurposed-inventions/2d-barcodes1.htm

Tuesday, March 11, 2014

Cyber Security



Cyber security, otherwise known as computer or IT security, is a system of security measures implemented to safeguard computers, computer networks, and computer-based equipment from unauthorized access (malicious attacks) as well as natural disasters. According to the Department of Homeland Security, “Our daily life, economic vitality, and national security depend on a stable, safe, and resilient cyberspace” (n.d.). Cyber security is comprised of three main fields: secure operating systems, security by design, and secure coding. The foundation of a secure operating systems comes from the implementation of a kernel, a special program that serves as a gateway between a computer’s software and hardware (The Linux Information Project, para. 2). A piece of software can be considered “secure by design” if it was designed with security as the main feature. Software and applications, if not coded properly, can create detrimental vulnerabilities which in turn can be exploited by hackers. Issues such as buffer overflows and dangling pointers can be exploited by a hacker to inject and execute custom code. By combining the practices of secure operating systems, security by design, and secure coding, cyber security becomes a formidable opponent to the world of hackers and security threats.



SOURCES:
[Cyber Security]. Retrieved March 11, 2014 from
http://www.devry.edu/know-how/wp-content/uploads/2012/09/Top-5-Cyber-Security-Threats.jpg
Department of Homeland Security. (n.d.). Cybersecurity Overview. Retrieved March 11, 2014, from http://www.dhs.gov/cybersecurity-overview
The Linux Information Project. (2004). Kernel Definition. Retrieved March 11, 2014, from
http://www.linfo.org/kernel.html

Monday, March 3, 2014

Open Source Software


Open source software is computer software whose source code is made publicly available so that it may be studied, changed, and distributed to anyone and for any purpose (St. Laurent, 2008, p. 4). Open source software software can be very beneficial to beginning and seasoned developers alike. One of the best ways to learn a new programming language is to reverse engineer a program written in that specific language. Not only that but when faced with the challenge of not knowing how to do something programmatically, reverse engineering similar source code can help a developer understand what to implement within their own code. Furthermore, for a developer looking to implement a specific technology in his program, such as OCR (Optical Character Recognition), having an open source algorithm can be a great benefit to the developer as he can simply use the open source code in his program without having to spend a considerable amount of time learning how to code the underlying technology. Open source software can be especially useful when journeying into less-than-familiar territory. The world of iOS jailbreaking, for example, is a bustling scene for the end user but, on the development side, is mostly dominated by a few well known developers. As a result, there are very few guides and resources for newcomers to learn the art of iOS jailbreak development. There are, however, many open source jailbreak apps that allow developers to examine and reverse engineer their source code in order to learn and get a better understanding of how to create their own jailbreak apps. Open source software is a remarkable resource and a huge asset to both developers and the world of software development as a whole.



SOURCES:

[May The Source Be With You Tux Cartoon]. Retrieved March 3, 2014, from http://blog.hathix.com

Saint Laurent, A. M. (2008). Understanding Open Source and Free Software Licensing. Sebastopol: O'Reilly Media, Inc..





Monday, February 24, 2014

Introduction



I am a geek. I eat, sleep, and breathe technology, and I am not afraid to proclaim it. I am a go-getter, a goal setter, a dreamer, and an achiever. While everyone else is doing their best to stay on the supposedly “tried-and-true” path paved before them, I am working hard to pave the way to my own success.

How do you satisfy an insatiable love for technology? You immerse yourself in it. For me this means pursuing a B.S. in Computer Science, keeping up on all of the popular tech blogs, teaching myself whatever program, language, or skill I can, and creating my own YouTube channel where I can post tech tips and tutorials. Shortly after its inception, my YouTube channel started gaining lots of attention and positive feedback. As a result, YouTube offered me a partnership and began paying me for my videos. After my success with YouTube I decided to pursue a position with Apple. I have since achieved my goal and loved every minute of working for one of the most innovative companies in the world. Since then I have been focusing my efforts on my next endeavor, creating iOS applications.

I am currently well versed in C++ and Java, learning Objective-C for iOS application development, and looking to further expand my knowledge by learning Python, HTML, and CSS.

Alongside being a geek I am also a people person. I love making new connections and talking tech. Please contact me if you would like to talk internships, jobs, or just shoot the breeze about technology in general.