Category Archives: Uncategorized

Using Your iPhone to Track Steps

Have you ever wondered how many steps you’ve taken or how active you’ve been throughout the day, but don’t have a pedometer or fitness tracker, like the Fitbit, to track and record this data? If you happen to be running iOS 8 on an iPhone 4s or later or on an iPod Touch 5th generation or later, you can easily track your steps, distance, and other interesting and useful health data, right from your iOS device using the built-in Health app.

Introduced in iOS 8, the Health app enables users to keep track of their health and fitness data, which can be either manually entered or pulled in from other apps, like MyFitnessPal, via Apple’s HealthKit tool. Users can then view this data from with the Health app, with the option to choose which information gets displayed on their Dashboard within the app.

For those users who carry their iPhone in their pocket throughout the day, they can use the Health app to track and view data on how many steps they’ve taken, something that one would have to use either a third-party app or fitness tracker for in previous versions of iOS. Users can also view data on how much distance they’ve walked or ran, as well as what the equivalent number of floors climbed would have been.

In order to view how many steps you’ve taken, you can do so by launching the Health app, where you should see buttons on the bottom of the screen, including “Dashboard”, “Health Data”, “Sources”, and “Medical ID”.

Tapping on the “Health Data” button will bring you to a list that contains various categories of health data that you can view and edit, from vital signs, to nutrition, to fitness.

The Health Data section of Apple's Health app

The Health Data section of Apple’s Health app

From the “Health Data” menu, you can tap on “Fitness”, which will give you the option to view various kinds of fitness data, including “Active Calories”, “Cycling Distance”, “Flights Climbed”, “NikeFuel”, “Resting Calories”, “Steps”, and “Walking + Running Distance”.

The iOS Health App's "Fitness" Categories

The iOS Health App’s “Fitness” Categories

When you choose the “Steps” option, you should see a screen detailing the number of steps that you’ve taken over a time period of days, weeks, months, or the year, with the data in both numerical and graph form, allowing you to view the number of steps you’ve taken over the selected period of time.

Step data seen within the Health app on iOS 8

Step data seen within the Health app on iOS 8

In order to view the distance you’ve walked or ran, you can select the “Walking + Running Distance” option from the “Fitness” menu, where you can view both numerical and graphical data in the same time-frames as the “Steps” option.

Health App's "Distance" Screen

Distance data seen within the Health app on iOS 8

In order to make it easier to view both step and distance data, you can use the “Show on Dashboard” slider to add the desired data to the Health app’s Dashboard – that way you don’t have to traverse through the menus and options each time you’d like to view your data.

Health App Dashboard, displaying data on the number of steps taken and the distance traveled

Health App Dashboard

Tapping on the data from the Dashboard will take you to the same data and options page that you arrive at when you do so by traversing through the “Health Data” categories.

For more information regarding Apple’s Health app and HealthKit for iOS, you can check out this page from Apple’s support website, which provides information on the Health app in general, as well as what other functions you have access to with the app.

Have you tried using Apple’s Health app on iOS 8 for keeping track of your daily steps, distance, or anything else? What have your experiences been like? Please feel free to let us know in the comments section below! Also, please feel free to check out the TechnicalCafe YouTube channel for more tech news, tips, tricks, and tutorials!


2014 in Review

The stats helper monkeys prepared a 2014 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 6,300 times in 2014. If it were a NYC subway train, it would take about 5 trips to carry that many people.

Click here to see the complete report.

2013 in review

The stats helper monkeys prepared a 2013 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 6,200 times in 2013. If it were a NYC subway train, it would take about 5 trips to carry that many people.

Click here to see the complete report.

Amazon Prime Air

Amazon, known for being one of the Internet’s most popular retailers, has recently reveled a new method of delivery, known as Amazon Prime Air, which is different than any shipping method seen before, from either online or brick-and-mortar retailers.

What makes Amazon Prime Air different than most shipping methods seen before is that this service will use flying drones to deliver packages to customers, with the goal of delivering packages to customers in 30 minutes or less.

Below is a video that describes the Amazon Prime Air service, that even shows an example of what a drone may look like in action.

However, due to FAA rules that are not yet in place, one should not expect to see the Amazon Prime Air drones flying around just yet. According to the FAQ on the Amazon Prime Air webpage, Amazon says “We hope the FAA’s rules will be in place as early as sometime in 2015. We will be ready at that time.”

As for the safety aspect of having drones flying around, delivering packages to Amazon customers, the aforementioned FAQ also states “The FAA is actively working on rules and an approach for unmanned aerial vehicles that will prioritize public safety. Safety will be our top priority, and our vehicles will be built with multiple redundancies and designed to commercial aviation standards.” It is good to know that Amazon is taking steps to help ensure the safety of those who may happen to witness a drone flying by, delivering an Amazon order to a customer.

The Amazon website does not appear to have any information about the pricing of a delivery that uses a flying drone, but it will be interesting to see if there is an extra charge, and if so, how much this charge will be, in order to have something shipped via an Amazon Prime Air drone. Though, the convenience of having something at your door in a half hour or less is something that I would guess many people would be willing to pay extra for!

While the Amazon Prime Air service is not quite yet ready (or allowed) to be rolled out, it is still quite an interesting concept and it will be interesting to see how it ends up working out. Though, the idea of ordering something from and having it at your doorstep in 30 minutes or less is pretty nice and probably something that one would like to have!

CryptoLocker Trojan

While listening to an episode of the computer security podcast, “Security Now!”, hosted by Leo Laporte and Steve Gibson on the TWiT Netcast Network, I found out about the CryptoLocker trojan, which has been pretty troublesome to those who’s computers happen to get infected with it.

CryptoLocker Background:

CryptoLocker is the name of a trojan horse that has recently surfaced, within the last few months, and has been causing some interesting issues for those who have been unlucky enough to have had their computers infected with this piece of malware, as it actually can encrypt some of the contents of a user’s hard drive, making it virtually impossible for them to access this encrypted data unless they choose to pay a ransom that has been set by the developers of the trojan.

Specifically, the CryptoLocker trojan encrypts the infected hard drive’s files using RSA public-key cryptography, with the only key available to decrypt the data being stored on the servers that control the CryptoLocker trojan. Making matters worse is that users must pay in order to have their files decrypted, with payment types such as Bitcoin or a pre-paid voucher, and users must make this payment by a specific deadline. (According to, the price of a Bitcoin at the time of this posting is equal to around $954.34 US dollars!)

Should a user not make the ransom payment by the set deadline, they may still have the option to get their data unencrypted, but the price will be higher than that which was set before the deadline expired.

Although it is possible to scan for and remove the actual CryptoLocker trojan, if it is activated, thus encrypting one’s files, before the program is scanned for and removed, any files that were encrypted will remain encrypted, so a user essentially has no choice but to pay the ransom, unless they have previously backed up their files and can restore them.

Prevention and Dealing with Infection:

Like many computer viruses and other malicious files and programs, it is possible to essentially prevent one’s computer from being infected with programs like CryptoLocker, simply by being security conscious and taking some basic precautions.

Since CryptoLocker can infected computers via an infected ZIP file, sent to the user in an e-mail attachment, it is important to be cautious as to what e-mails and attachments one opens, especially if they appear to be from an e-mail address that you have never seen before or that looks weird or suspicious.

Many spam e-mails (and those that are infected with viruses and such) may appear as though they are from legitimate sources, such as a school, bank, or even the e-mail provider itself, but looking at the e-mail address that the message was sent from can pretty much give away the fact that the e-mail was sent with malicious intent. This is especially true if the e-mail contains an attachment that is in either .zip or .exe form.

Additionally, one can help to keep their computer from getting infected by a number of viruses and other malicious files or programs by running frequent antivirus, antispyware, and/or antimalware scans. Microsoft Security Essentials is an antivirus program, created by Microsoft, that is available as a free download from the Microsoft website, and can help to prevent, as well as pick up and remove, many viruses and other unwanted or harmful programs and files.

MalwareBytes is a free antimalware program, which has the option to be upgraded to a premium version (though the free version works well), and is another way that users can help to keep their computers free from infection by running frequent scans. MalwareBytes can be downloaded from, where the premium version of the program can also be purchased ($24.95 for a lifetime license for one computer).

Example of Infection:

CryptoLocker actually managed to infect the Swansea, MA police department, forcing them to pay $750 in Bitcoins in order to decrypt the data that the trojan had encrypted on them.

In an article from the website, which talks about the aforementioned infection of the Swansea, MA police department, it is stated that “According to the Security experts and the U.S. Computer Emergency Readiness Team urge people afflicted by CryptoLocker not to pay the ransom, but instead report the incident to the FBI’s Internet Crime Complaint Center. Users should regularly back up important files on external hard drives” (Ryan W. Neal).

However, if one happens to have important or necessary files stored on their computer that have not been backed up and have been encrypted by the CryptoLocker trojan, paying the ransom is the only way to get the files back.

This goes to show that even law enforcement agencies are susceptible to their computers becoming infected with viruses and other malicious files and programs, and that everyone should be careful of what is downloaded and allowed on their computers, so as to prevent things like this from happening.

For more information about the CryptoLocker trojan, you should check out this article from Wikipedia, which is where most of the information regarding CryptoLocker in this post was found, along with additional information.

Five Year Giveaway Winner!

About a month ago, it was the fifth year anniversary of the day that I registered the TechnicalCafe domain name at

In celebration of TechnicalCafe’s fifth birthday, I decided to do a giveaway to someone who comments on either the TechnicalCafe blog or YouTube channel, with the winner being chosen randomly.

As for the prizes, the winner would get to choose from either a $25 gift card and a $25 iTunes gift card, depending on what they wanted. Additionally, the winner will receive a choice of either a TechnicalCafe t-shirt, hat, or other item from the VistaPrint store.

Well, about a week ago, the winner was chosen randomly in a YouTube video, and is Epic, a user who commented on the TechnicalCafe blog post announcing the giveaway.

Congratulations to Epic on being chosen as the winner and thank you to everyone who entered and participated in the giveaway!

Also, thank you to everyone who watches, subscribes to, and takes the time to comment on the TechnicalCafe YouTube channel and videos, as well as to those who read the TechnicalCafe blog. I appreciate it!

– Jamie

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

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!


iOS 7

If you’re an iPhone, iPad, or iPod Touch owner, or perhaps an Apple enthusiast, you have probably heard about the newest version of Apple’s iOS operating system, iOS 7, which was revealed yesterday, on the first day of Apple’s WWDC event in San Francisco, California.

While there was no new iPhone announced, it was announced that Apple’s iOS would be getting a pretty significant update, to iOS 7, this Fall and would be available on the iPhone 4, iPhone 4S, iPhone 5 and the newer iPod Touch and iPad models.

Included in this update are a variety of new features including a new design for the user interface (which includes app icons, the app dock, as well as many of the Apple applications themselves), the addition of the “Control Center”, an update to the “Notification Center”, improved multi-tasking capabilities, iTunes Radio, the camera app, Safari, Siri, and other updates, as well.

User Interface & Design:

The user interface and design that we have been used to in previous iterations of iOS, including the current version, iOS 6, will be receiving a pretty significant update, with many of the Apple made applications’ icons and user interfaces getting face-lifts. Included in this list of apps are Notes, Safari, Calendar, Photos, Camera, Weather, Stocks, Compass, and many of the other Apple apps that are included in iOS.

In addition to the icons themselves being updated with new looks, many of the Apple application user interfaces will also be getting new looks, with many of the apps featuring new, simplified UIs.

For example, the Messages application will be updated with a new UI that features new speech bubbles that look “flatter” than the ones in previous versions of iOS. The keyboard section of the app will feature a keyboard that contains combinations of black, white, and grey. These updates provide a “cleaner” and more simplified look to the app, while still looking similar to the previous version of Messages.

Another significant app update is present in the built-in Weather app, which will feature animations detailing the current weather conditions, in a way that is similar to those seen in other, third-party, weather apps available in the App Store. So, if it is raining outside and you launch the Weather app, you will see rain drops falling on your iPhone’s screen, along with other weather information, like the temperature, etc.

Siri will also be receiving an update in iOS 7, which will make it look more simple and will feature a new screen that appears when talking to or asking questions of the application. In addition to asthetics, Siri will also feature a voice update, and users will now be able to choose between a male and female voice.

Control Center:

Another update included in iOS 7 is Control Center, which provides users with quick access to what their phone is doing at the current moment. Accessible by swiping up on the screen at any time, even from the lock screen, users can perform actions, such as set their phone to Airplane Mode, enable or disable Wi-Fi, turn on the “rotate-lock”, adjust screen brightness, and view information regarding music and volume.

The new Control Center will also enable users to quickly access several apps, including the Calculator app, enable the new “Flashlight” feature, use the camera, and use their timer application.

Notification Center:

The Notification Center, which has been around for a while, and can be accessed by swiping down from the top of the screen from almost any application, is also getting some updates in the newest version of iOS.

Among the updates to the Notification Center include the ability to view the weather, your calendar, reminders, missed calls, text messages, and more. Users can also choose whether they would like to see notifications for “Today”, “All”, or “Missed”, which gives them better control over the information they would like to see.


Multitasking is another feature that has been around for a while that is receiving some updates.

In iOS 7, the operating system learns which applications users like to use, and when, and has the ability to update the app’s content before the user even opens it. This feature may be good for checking applications like the weather, stocks, Facebook, Twitter, and any other app that you check frequently or at a specific time of the day.

Also, like before, pressing the Home button twice will reveal the applications that are currently running on the phone. However, in iOS 7, not only will apps appear in the bottom, dock area, you will also be able to view previews of the applications and if you would like to quit one, all you have to do is swipe up, putting it out of view.

Additionally, iOS 7 will schedule updates to your phone at times that are more convenient for the battery, such as when the phone is plugged in and connected to Wi-Fi.

Other Updates:

In addition to the updates mentioned and explained above, many other features of iOS will be receiving updates, including the camera application, Photos application, Safari, AirDrop, the App Store, Siri, and more.

Also, iOS 7 will feature iTunes Radio, which enables users to stream music and more from “radio stations” available  from within the app, which sounds similar to other third-party applications, like iHeartRadio.

If you would like more information about the updates that will be included in iOS 7, you should check out the iOS 7 page on the Apple website.

Also, if you have any questions, comments, or suggestions related to this blog post or any other matter, please feel free to use the Contact page to send me an e-mail. Alternatively, you can send a Tweet to either @TechnicalCafe or @Jamiemcg!