Monthly Archives: July 2013

Five Year Giveaway

Hey everyone!

Believe it or not, today, July 30, 2013, marks the fifth anniversary of the day I registered the domain name, making it TechnicalCafe’s fifth birthday!

Since five years is a pretty big milestone to have reached, I figured it would be a fun idea to have a giveaway, both to celebrate TechnicalCafe’s fifth birthday and to also give back to those who have helped to make the TechnicalCafe blog and YouTube channel what they are today!

The winner of the giveaway will receive a $25 gift card to either or iTunes, as well as a choice of a TechnicalCafe t-shirt, mousepad, or coffee mug with a TechnicalCafe logo on the item that the winner chooses.

All you have to do to enter the giveaway is to either post a comment on this blog post or on this video from the TechnicalCafe YouTube channel! (Feel free to subscribe, too!)

After a week or so, the winner will be chosen in a video that I’ll post to the TechnicalCafe YouTube channel, after which I’ll try to get in contact with the winner to obtain their choice of gift card, item, e-mail address, and shipping information.

Thank you to everyone who has followed and subscribed to TechnicalCafe over the past five years! It’s been fun to read people’s feedback and see how people have benefitted from what TechnicalCafe has to offer and I hope that we can continue to provide great quality information and tutorials in the future!

(Just so you know, if you leave a comment below, please ensure that you leave your e-mail address or Twitter username so that we can get in contact with you!)

Thank you,

Jamie McGibbon

Otterbox Defender Case Review (iPhone 5)

If you’re looking for a case for your iPhone 5 that not only looks good, but provides great protection to your phone, perhaps you should check out the Otterbox Defender case, which can help you to keep your phone protected and looking good at the same time!

The Defender case is composed of three parts, all of which help to protect your phone, keeping it free of scratches, dents, dust and dirt, and even a small amount of moisture, such as perhaps a spilled drink or water dripping on it from a pool, even though it is not a “water proof” case.

The case’s make-up consists of a hard inner plastic layer, followed by a rubber covering, as well as a screen protector that is built into the plastic inner layer. All of these parts help to keep your phone free of any dents, scratches, and even any dust, dirt, and potentially water (though it’s not water proof!).

In addition, the rubber layer also covers the buttons and ports that are on the phone, including the charger and headphone ports, as well as the volume buttons, “Home” button, and the “Lock” button.

When you want to charge your phone or insert some headphones, all you have to do is peel back the rubber flaps that cover these ports and insert the charger or accessory that you’d like to use. However, the flaps have to be held open, or else they will flip back over the hole that they cover, which isn’t a big deal, as it only takes a few seconds to connect a charger or other accessory.

Because of the plastic and rubber layers that make up the case, it is a bit on the thicker side for an iPhone case, adding a decent amount of bulk to the phone, but not so much that the phone is considered unwieldy. Instead, the case makes the phone feel pretty solid and even provides some extra grip, as the external rubber covering is pretty easy to hold on to and prevents the phone from slipping out of your hand.

The case isn’t marketed to protect the phone from spills or water, as it leaves the speakers, microphone, and camera uncovered, but if a few drops of water do happen to get onto the case, or if there is a small spill that reachs the case, it will help to protect the phone from getting damage, so long as water hasn’t spilled into the phone’s speakers, etc.

Also included with the case is a belt-clip, which has been included with the previous versions of the Defender case, which is quite sturdy and allows you to put your phone into the clip with the screen facing either in or out, as well as having the phone either right-side up, or upside down, depending on your preference.

Another nice feature of the belt-clip is that is also functions as a stand, allowing users to push the actual clip part up, which will lock it into place, creating a stand that can be useful for watching videos, TV shows, or movies, video chatting with family and friends, listening to music, etc.

The Otterbox Defender is actually what I have been using on my iPhone 5 for a majority of the time since I got it earlier this year. I also had an Otterbox Defender for both my iPhone 3GS and iPhone 4, though I didn’t use the case as much with my previous phones and I do now.

With the Defender for the iPhone 5, I feel as though the case doesn’t add as much bulk as it did with the other models of the phone, which helps when keeping the phone in your pocket. Due to the rubber covering, though, sometimes it can get hung up on your pocket on the way out, but it isn’t anything that should cause too much trouble at all.

Actually, most of the time, I don’t even use the belt-clip, but rather just keep the phone in my pocket, and I usually don’t have any issues with comfort or taking the phone out of my pocket. (Sometimes you’ll feel the phone in your pocket, but this is something that should be expected, due to the size of the phone with the case.)

If you would like more information about the Otterbox Defender case, you can check out the official Otterbox website, where you can learn more about the case, as well as other cases offered by Otterbox. The case can be purchased from the Otterbox website for $49.95 to $59.95, and comes in a variety of colors and designs.

I purchased my case at Walmart when I upgraded to the iPhone 5, and like knowing that my phone is protected while in the Otterbox Defender, and I believe the price was also around the $4o to $45 range, which is a pretty good deal for the protection and peace of mind you’re getting by using this case with your phone!

For updates and information on future posts or if you’re interested in what I’m up to on a day to day basis, please feel free to follow me on Twitter (@Jamiemcg)! You can also follow TechnicalCafe’s Twitter (@TechnicalCafe) for news and updates regarding the website, YouTube channel, and more!




Classes, Objects, Methods, and Constructors

As a fan of the website and YouTube channel, I am also a member of the TheNewBoston forums, where there are a bunch of knowledgeable and helpful people when it comes to computers, programming, and technology.

Recently, one of the users of the website posted in the Java section of the forums, asking what the difference was between classes, objects, methods, and constructor methods in Java, which I thought was a pretty good question, and figured I’d write a blog post about it to explain it to those who may not be a member of the TheNewBoston forums.

Since Java is an object-oriented programming language, many programs and applications written in the language are made up of multiple classes, which contain attributes, methods, constructors, etc., all of which work together to make the program run the way the programmer intended.

In a procedural language, like C, Pascal, Fortran, or BASIC, classes don’t really exist, so the idea of objects and object-oriented programming doesn’t apply (though there are some things that are similar to object-oriented programming languages with some procedural languages),  Java and other OOP languages rely on the concept of classes and objects, so it’s important to understand what these things are and how they work.


In object-oriented languages, like Java and C++, classes are essentially sections of code that are combined into a project to create a program.

Classes are useful, as they help to break up the various sections or pieces of code that may be a part of a larger program, and can be helpful when organizing and diagramming how a program or application should work.

Classes can contain attributes, such as variables and constants, as well methods (similar to functions in other languages, like C, JavaScript, PHP, etc.).

Variables and constants usually hold values (and constants are usually “permanent” values, meaning they can not be changed in the program), which can be used elsewhere in a class, or referenced from another class, via an object of a particular class.


Methods, which are contained in classes, are used to perform operations on data, such as mathematical operations like addition, subtraction, multiplication, and division, obtain data from the user or from elsewhere in a program or file, parse data entered by a user, program, or file, and more.

Many classes available in the various Java libraries, such as the Math class, contain a bunch of methods (and attributes, like pi and e), that can be used to perform a variety of different operations or functions.

In the case of the Math class, there are methods, like sqrt()pow()abs(), and a variety of other methods, many of which also take parameters, which are values that are passed into a method, by putting attributes in the parenthesis of a method.


Objects are basically different instances of a class, and allow you to access and use the public methods and attributes of the class that has been instantiated, or created, as an object.

For example, in the Scanner class (a class in the java.util.* package), you can use, or “call”, the various methods that are contained within the class, such as the nextInt()nextDouble()nextLine(), and other methods, provided that you have instantiated an object of the class.

When instantiating an object of a class, you usually use the following syntax:

ClassName objectName = new ClassName();

(Note: In the above line of code, the “ClassName()” segment, after the “new” operator, is actually a call to the class’s constructor method, which will be discussed later in this post.)

If you would like to call a method of a class, you can do so by placing the method name after the object name, using the “dot” operator, like in the example below:


Many times, methods will return values, which can be stored in a variable, such as when finding the square root of a number, getting user or file input, etc., which could look something like:

double myDouble = Math.sqrt(27);

In this case, the value of the variable myDouble would be 3, since the square root of 27 is 3.

Constructor Methods:

Since Java is an object-oriented programming language, there are times when an object of a class requires a value upon instantiation, or creation, of an object of that class.

This is where constructor methods come in handy, as they enable objects to be created with initial values, either entered by a user or taken from elsewhere in the program, such as from another class, a return value, an attribute, etc.

Every class in Java contains a constructor method by default, even if one is not explicitly written in the class, regardless of whether or not the class requires one or not. Because of this, the default constructor will execute when an object of the class is instantiated, but won’t change any data or affect how the class or object works.

However, if a class requires a constructor method, a programmer can write one, therefore overriding the class’s default constructor method.

Whenever an object of a class is instantiated, its constructor method can be used to initialize or change the various values and attributes present within the class, which can be useful if a class requires user entered data or information from somewhere else in the program.

Below is a link to an example class that I wrote, called CircleClass, where you can see various parts of a class being used, including attributes, methods, a constructor, etc.

Also, here is a link to another class that I wrote, called MainClass, which shows how an object is instantiated and how methods of an object are called, including how the constructor is used to initialize class attributes.

After I wrote and compiled the code for these two classes, I was able to run the program successfully, and got the correct results (I checked using Google’s calculator functionality), which are below.

Area: 78.53975
Circumference: 31.4159

If you’d like to see my reply to the thread/post referenced in this blog post, you can check it out here, at the TheNewBoston forums.

For updates on future posts or if you’re interested in what I’m up to on a day to day basis, please feel free to follow me on Twitter (@Jamiemcg)! You can also follow TechnicalCafe’s Twitter (@TechnicalCafe) for news and updates regarding the website, YouTube channel, and more!

Skullcandy Hesh 2.0 Headphones

If you’re looking for some new, good quality, headphones that won’t break the bank, perhaps you should check out the Skullcandy Hesh 2.0 headphones.

I found out about these headphones while in my local Target store with my father recently, and after giving them a listening test, using the music samples that were available at the store, I decided to purchase them, as I was unable to find my Apple earbud headphones, that came with my iPhone 5.

At the store, however, there weren’t too many sample audio tracks to listen to, and the two that I did listen to were RAP or hip-hop style songs, so I didn’t to hear how other song types sounded, but did like how the bass sounded when listening to the available tracks.

There were other headphones available to test out, as well, including Beats, by Dr. Dre, though I wasn’t able to get the sample music to play through them (probably some issue with the audio source, connection, etc. and not the headphones themselves.), and did not want to spend too much money on headphones anyway, so I decided to go with the Skullcandy Hesh 2.0s.

Once I got them home and opened them, I tested them out, using my iPhone 4 as the audio source, with a variety of songs that I had on the phone, including rock, dub-step, piano, and other styles and types of music.

As far as sound quality goes, I think these headphones offer great sound quality, with a rich bass and the ability to handle higher treble sounds without any sound issues. They also produce a clear sound, with great quality, that may even rival that of more expensive headphones.

While the Hesh 2.0s do not offer noise-cancelling capabilities, they do have padded earphones, which do a pretty good job of keeping external noises, such as the sound of a TV or people talking, out, leaving you to enjoy your music without too many distractions (at least at a low sound level, anyway).

As for the actual hardware, the headphones themselves are made of plastic, but don’t feel as though they’re cheaply constructed. Also, like mentioned before, they have padded earphones, which offer a decent amount of comfort. (However, at the time of this writing, I haven’t worn them for an extended period of time.)

These headphones also don’t require any batteries or charging, as they’re powered solely by the device that is providing the audio, which adds some convenience, as you don’t have to worry about the need to carry extra batteries with you or having to recharge. However, the downside to this is that they may pull some extra power from your iPod or other device, draining the battery a bit quicker than usual.

Additionally, the Hesh 2.0 headphones come with a detachable 3.5mm cord, which is nice when it comes to storing them or even if you find the need to replace it, should anything happen to it.

Also included is a carrying bag, which doesn’t seem as though it would offer too much protection, but is nice for storing the headphones, and maybe the cord, should you want to put them together.

All in all, for around $60 (at Target, where I purchased them), I think the Skullcandy Hesh 2.0 headphones are a pretty good deal, as they provide great sound quality and offer good comfort when wearing them.

While there may be some higher priced alternatives available, the Skullcandy Hesh 2.0 headphones are definitely a good pair of headphones to consider if you’re on a budget and are looking for a good pair of over-the-ear headphones that offer great sound quality and comfort!

If you would like to check out these headphones, you can do so from, where they are offered (at the time of this posting) at $38.15, which is a 36% savings from the retail price of $59.99.

For updates on future posts or if you’re interested in what I’m up to on a day to day basis, please feel free to follow me on Twitter (@Jamiemcg)! You can also follow TechnicalCafe’s Twitter (@TechnicalCafe) for news and updates regarding the website, YouTube channel, and more!