iMac 27 Inch Mid 2010 SSD Upgrade

I purchased my iMac in 2010; I opted for the lowest spec model. A year after buying it I upgraded the RAM from 4GB to 16GB and about a year after that I had to replace a faulty hard drive. Apple recalled the original drive due to a fault in the firmware on the drive, I ignored the product recall and then found I had to replace it when it broke just out of that recall window.

After 6 years and several OS updates, the old spinning disk just wasn’t cutting it anymore. I didn’t want to pay over £1,000 for a new iMac so instead I went the route of upgrading the hard drive to an SSD.

Rather than me explain how to take apart a mid 2010 27 inch iMac and upgrade to an SSD, I thought I’d just share with you the items I purchased so that you can see what worked for me. I spent hours trying to decide what would work and what would not. The full iFixit guide should be sufficient for you once you have chosen the drive and adapter that you will use. One of the options could be to leave the HD where it is and then use the optical drive area for the SSD. My optical drive broke years ago, but I just left it where it was this time around.

The drive I selected was the Crucial MX300 1TB SSD. The MX300 is a SATA 6.0Gb/s device although this particular iMac (the mid 2010) works on an older SATA standard at 3.0Gb/s. The reason I went for this was so that when I do get rid of my iMac and upgrade, I can keep the SSD and use it elsewhere in a machine that can use it to its full potential. The downside is that I won’t get to use the SSD to its fullest potential in this machine. In fact, the fastest it will work is at the 3.0Gb/s standard. But don’t worry, you won’t regret the upgrade once performed; it’s super quick.

I purchased my 1TB SSD from Amazon in the UK and paid around £230 for it. Here is the drive that I ordered. The same model can be found on the US Amazon store here. It is priced at $244.43 at the time of writing this.

The Crucial MX300 is a 2.5″ drive, but the iMac uses a 3.5 inch hard drive. I am sure you could probably secure the drive by some other means, but I purchased a 2.5″ to 3.5″ AdaptaDrive from NewerTechnology, again on Amazon. This worked perfectly for what I needed. The Amazon US store sells it here.

One optional item that I chose not to buy but might do at a later date is a temperature sensor. I haven’t tested this cable, but have read reports that others have and that it works well. It is available on Amazon UK here, and Amazon US here. Instead, I just wrapped the old sensor around the frame to keep it from dropping down behind the circuit board(s).

Instead of using a temperature sensor I downloaded an app called SSD Fan Control which allows me to select SMART for the hard disk which appears to use the temp sensor built in to the drive. The only downsides that I have come across so far are that when the Mac is rebooted, the fan will spin at full speed until SSD Fan Control starts up. From a cold boot it does not spin up as the overall temperature is lower. Also the fan was on full speed for the duration of the operating system reload.

I may purchase a temp sensor in the near future, but so far all appears to be running just fine without it.

The only other items you need are the following:

  1. A good backup of your files. I use BackBlaze and Time Machine. Although BackBlaze is a paid server at $50/year, I find it invaluable as when my first hard drive failed (my fault), I had a 600GB or so backup that I could download and use.

2.You will need the correct screwdriver(s); T10 Torx screws are used as well as T8 Torx for the drive. A precision screwdriver set typically contains these. One option is this one from Amazon in the UK with this option for Amazon in the US.

  1. Suction cups are needed to remove the glass on the front of the iMac. iFixit shows that you need 2, one for the top left and one for the top right. I’ll whisper this as I’m sure this isn’t recommended, but I used one of the kids bath toys with suction cups on the back. It worked just fine. It just needs to be strong enough to overpower the magnets that hold the glass in place.

If you have all the items above, you are ready to upgrade to an SSD. After I installed Sierra when all came back up, I installed the SSD Fan Control app, and also Disk Sensei. I enabled Trim but if I am honest, I do not know if this is needed or required. I did read that if the drive supports Trim then it will be just fine and if not, I’ll just need to disable it. After a few weeks of running my iMac with this SSD and Trim enabled, I’ve had no problems at all.

Is the iMac 27 inch Mid 2010 Quicker with an SSD?

diskspeedtest

I have to say that my iMac feels like a new machine when I now use the SSD. Of course, the processor is still from 2010, but the disk is far newer and when it was a spinning disk previously, it was so sluggish. It would take a good 30 minutes to reboot and settle down clicking away that it became frustrating to even power it off. Now that it runs an SSD I can be up and running within a minute or 2. From my understanding, the drive works at half the speed of its potential due to the 2010 iMac using the old SATA standard, but the speed increase is great and I no longer have apps freeze while the hard drive churns away in what seems like an endless shuffling of files.

Creating my First Static Library in Xcode

After learning to program for a couple of years and even posting some tutorials of my own of things I learned along the way, I figured it’s time that I start putting some work out there both in the app store and for developers to use.

I work primarily with Xcode and enjoy designing and creating apps for the iPhone and iPad the first of which is has been released and in the app store (I’ll blog about that later) and the second one should be in the app store by the end of this month (April 2014).

The time has now come that I share some of the work with companies and because this is for a company I did some work for, I’ve been asked to put it in to a static library. Although I’ve made use of static libraries and plenty of frameworks in my code, up till this week I hadn’t created my own work and put it in a static library.

After a bit of digging around, I came across this handy tutorial by the team at RayWenderlich.com. The tutorial covers how to create a static library and also includes a few extras such as some code and instruction on how to make the library universal so that developers can use it to both test on devices and to test in the simulator.

The main reason I opted for a static library was because of this comment on the RW site (linked above):

You’d like to share a library with a number of people, but not allow them to see your code.

With this being for business purposes, the code is required to be locked up for now.

Although I haven’t quite finished creating the static library, I have done some testing and followed the tutorial above and found its relatively easy to implement. There’s a few Xcode quirks along the way such as re-importing a newer version causing 2 sets of paths to be searched for and creating warnings. Also, you also might find you need to remove the headers from the target and add them back in to reset everything back up to avoid errors. Finally, when building the static library, remember to specify what headers you want exposing when you create the universal library. You do this in the “Copy Files” section of “Build Phases” for the target.

After a few small speed bumps, I think I’m almost there creating the library.

How to Keep Your PC Safe and Secure

For almost 20 years I tend to have been the go-to guy when people run in to software problems with their PC. Along that journey I have fixed a number of computers and helped bring them back up to speed and make them safe and secure.

The purpose of this post is to share with you the tools that I regularly use as well as the best practices that I have found relating to being secure when online.

This post is not a step-by-step way to clean an already infected and slow machine. Instead, these ideas are presented to help you be secure so that you avoid being infected by a virus or be the victim of a phishing scam.

Use OpenDNS

OpenDNS is a free service that is designed to protect your home network. There is no software to install for OpenDNS. Instead, you make a small configuration change on your router which means that any device connected to it wired or wirelessly will be protected from various websites which includes adult themed as well as sites aimed to steal information from you or install a virus on your PC.

There are two free options when signing up for OpenDNS. The first is OpenDNS Home which aims to make browsing the web faster, give parental controls to parents for children and provide phishing protection and identity theft protection. The second option is called OpenDNS Family Shield which does all that the Home service does but adds in blocks to adult websites.

Lets take a look at what OpenDNS does in more detail. Note that there may be other similar services. I just happen to like OpenDNS because it’s free and works well. If you know of another DNS service aimed to protect a PC then feel free to post a mini review in the comments below.

Blocking Websites and Phishing/ID Theft Attempts

The biggest risk you have when being connected to the internet are emails that you receive which appear to be from banks, Paypal, popular shopping sites like eBay, Amazon and even friends as well as websites that you visit that carry a virus or malware. OpenDNS attempts to tackle both these problems by keeping a 24/7 updated list of problem sites. With you installing OpenDNS on a router, the service automatically intercepts any call to a webpage that might be bad and serves you a warning page instead. This alone is a great way to stop malware or a virus from attacking your PC.

One of the services included for free with OpenDNS is Phishing Protection. Phishing is the term used where someone sends you a fake email from your bank and entices you to click through to a fake website and log in to your bank. Essentially, because the email is fake and it has sent you to an identical (but fake) website, you are not logging in to an online bank but instead are simply providing your username and password to someone else so that they can log in and have full access to your bank account. The same applies for PayPal, Amazon, eBay and many other services that are connected to your bank card. Although accessing your account just to steal money is mentioned above, it isn’t the only reason. Some fake bank emails just want you to visit a webpage so that your PC is infected with malware which can then use your PC to launch an attack on another system or steel files and all your keystrokes so they can get a lot more information from you.

The built in phishing service attempts to block these sorts of websites. It is backed by a company called PhishTank who collect real time information about scams and phishing attempts and add the bad websites to a block list. OpenDNS utilises this block list and if you click on a link, you should be lucky and see a warning telling you to go back. This service also blocks other forms of identity theft.

One bit of extra advice I’ll give here is that if your bank emails and gives you a link to log in and read something or check an option, do not use the link. Instead just go to the web browser and load up the webpage by typing in the URL (or using a book mark). If the message is important enough then after logging in, it will be presented to you. Do not click links in emails to Paypal, Amazon or your online bank unless you know for sure that it came from one of those organisations.

Windows Updates – Keeping your PC Patched

Moving on, the next subject is Windows Updates. One thing I regularly see when fixing friends PCs is the amount of Windows Updates that need to be installed. I’ve seen some cases where none were installed other than perhaps SP1 which came with the operating system. Windows Updates are easy to install on whatever Windows operating system you use. Assuming you have XP or above because Windows 2000/ME and older no longer qualify for security updates.

Make sure that you go to the control panel and Windows Updates and set them to be automatically installed when available. After doing that, run the Windows Update from the Start menu to make sure you are current with your updates. Installing updates will ensure that you are patched from all the known vulnerabilities. When I say updates, I mean all critical updates such as service packs and other individual updates.

Software Updates

As well as Windows Updates, it is worth also checking updates for all of your software. The majority of software has a link, usually within the Help menu, that allows you to check for updates. Office occasionally gets updated to fix vulnerabilities in Outlook as well as other software. Keeping your software current helps prevent malicious attacks from hitting your PC.

I mentioned software updates here. With that, always make sure you are running one of the latest supported web browser. I recommend Chrome or Firefox and then when you are notified an update is available, install it. Using an out of date browser is a high risk as a number of scripting type attacks can be done which will allow unwanted software to be installed. By using the latest versions of your browser, you help prevent malicious websites from installing software you don’t want. That is of course if OpenDNS hasn’t already prevented this from happening. Either way, it’s still best to use the latest software and even more so when it comes down to the web browser.

Virus Scanners

Installing a virus scanner is usually mandatory for most people. I know a few who don’t use virus scanners as they are experienced in noticing and quickly fixing issues, but for the 99.9% of the rest of PC users, this is pretty much a given. Luckily there are some free options out there from the likes of AVG which will provide some decent protection to your PC. Although you can prevent a large amount of attacks coming to you by implementing OpenDNS and running the latest software, there’s still a risk there. If AVG is updated regularly by the user, it provides another protective barrier and can prevent the virus being installed, thus saving paying out money for someone to help fix your PC.

Malware Scanners

Although you might not want to run a virus and a malware scanner on your PC, I always like to have a few around which includes MalwareBytes and Spybot. If I suspect visiting a bad site, then I’ll run a scan to see if anything was installed and then use the software to remove the malware.

In Closing

Keeping your PC clean can be achieved by the few simple steps above and with being a bit more observant. In summary, I’d like to remind you of the following:

  1. Use OpenDNS – It’s free and can help block phishing and id theft.
  2. Use Windows Update and set it to automatically run.
  3. Update all your software, most importantly Outlook (if you use it) and your web browser(s).
  4. Be careful when you open emails. Even though they might come from a friend, if the URL (link within) looks suspicious then don’t open it. If you do then hopefully OpenDNS blocks it or your virus scanner stops the effect. Ask yourself, why would my friend send me this email with little to no detail?
  5. If your bank or an online store emails you then be cautious. If you do think a link is genuine (which it likely isn’t) then make sure it takes you to the correct website. If Amazon it will be something like https://www.amazon.com and not https://www.myamazon.com or www.amazons.com.
  6. Install a virus scanner and have Malware scanners installed just in case.
  7. I’ll throw in this one as a bonus… use two-step authentication where available. Google uses this, Dropbox does and more and more services are transitioning over. Banks often use devices like the PINSentry from Barclays to make up a new password each time you log in.

How I Make my WordPress Blogs Run Faster

Update 21 Jan 2017: TechFright posts were merged in to MatthewNewill.com which runs on Jekyll. I also moved away from PowerVPS a few years ago and went with WebSynthesis for my other blog. I also use a shared MediaTemple account. Some of this content is now out of date.

TechFright.com runs on a VPS server from PowerVPS at the moment. The blog runs alongside several of my other blogs which some are occasionally updated and another is regularly updated. Most get a little amount of traffic each month while others get several hundred visitors a month and one gets a few thousand visitors a day. I run on the fuse basic hosting package which costs $109/month (although I used a coupon to get something like 20 or 25% off of that). I use Centos 5.8 on that VPS which comes with WHM and cPanel. I have used Window hosting extensively before moving to Linux a few years ago but find Linux far easier to work with when using WordPress (for example, rewriting URLs is easier). But, go with what you find familiar.

I want to keep my largest blog (a gadget blog) running as fast as possible with the cleanest code. To achieve this I go to what you might call extreme lengths to keep pages loading fast and WordPress working well. Here’s a few things that I have done to shave a few seconds off the page load speed.

The Genesis Framework

For a long time I was a big fan of the Thesis theme from DIY themes. Looking back through my emails, I purchased a developers licence in April 2008. Unfortunately, I just couldn’t get my site to look how I wanted it to look when wanting to redesign a few months ago, so I switched. I still think the Thesis framework works extremely well and still feel confident in using it from a technical standpoint. I can also manage hooks quite well now and customise the look of my websites, but unfortunately I just don’t have the skills to take the design to the next level and also found it difficult to find themes that I liked. For this reason I dropped Thesis in favour of the Genesis Framework. I did this because of the child themes that you can purchase for relatively cheap. The link just above there gives you a rundown of the technical aspect of Genesis.

I currently use several themes which include Freelance, Magazine, Minimum (I like this one!!) and one called Sample. Price wise, the framework and 1 theme seems to cost $79.95 but when you buy that, you can use it on unlimited sites. You can then also buy child themes at a discount and they usually cost around $20, again they come standard with the unlimited option.

Rather than messing with hooks, I tend to use the Genesis Simple Hooks plugin (for free) which allows you to paste PHP code in to the one of many hooks found in WordPress. I wont go in to the technicalities of using hooks instead of editing theme files, but in simple terms it prevents the need to modify the theme code making it easier to update your theme at a later date.

The page load speed isn’t really recognisable with the Genesis Framework, but the reason I use it is because it is a good foundation for a blog and this is important.

Replace Apache with Litespeed

This is perhaps one of the best enhancements that my blog received. Apache is the standard install at PowerVPS but I had recently read about Litespeed as a replacement for Apache. At the moment I am running on a trial licence for the next 10 or so days and at that point I will decide if I am going to lease a licence for it or opt for another host such as VPS.net that supports Litespeed for a small cost.

The benefits are amazing with Litespeed. As I’m running the trial version I only get to utilise 2 CPUs of the 8 on the VPS, but the page load speed has increased as has the waiting time for a page to be served. While running Apache I was seeing a pause of about 3 – 4 seconds with the waiting…. in the status bar at the bottom of the page. Switching to Litespeed the waiting time is now below a second and overall, the blog and the admin area run a lot smoother.

I recommend trying Litespeed. It is quiet easy to install and I’ll do a tutorial on it at a later date for those who want to install it themselves.

W3 Total Cache

Caching is essential for almost all blogs. WordPress is quiet heavy in terms of how many requests are made to the database and how much PHP is needed to render every single page. Although a blog with modest traffic wont struggle without caching you’ll find that if you write something that hits Stumbleupon or gets linked to from a large blog, the blog will fall on its knees. So, install W3 Total Cache.

What it does is caches pages to either disk or some sort of memory cache like xcache or memcached. When a visitor hits the page for the first time, it renders the page the normal way by querying the database and pulling the images from the disk. The next time a visitor hits that same page, they get served a page from the cache. With pages and posts loading from RAM with Xcache, APC or memcached, it speeds up things a lot and takes load off the CPUs, doesn’t use as many concurrent connections to the MySQL database and doesn’t do much PHP scripting at all. A huge saving for a server. When hundreds of people descend on your post the server can generally handle it with W3 Total Cache because of the load being taken off the server.

You can also use W3 Total Cache to combine CSS and JS files with Minify as well as do Object caching, Browser caching and database caching (I recommend using some sort of memory cache rather than disk caching for database).

Memcached, APC or Xcache

Although caching to disk with W3 Total Cache is possible (there’s a basic and enhanced version), there are several free options that can be installed which as Memcached, APC and Xcache (there are a few others mentioned). Installing one of these is the better way to run caching because it takes the strain off the disk and puts it in to RAM. RAM is far quicker than a regular hard drive, so performance is also a notch higher with these. I’ll also do a post at a later date on how to install Memcached. Although WHM can do some of the installations with the click of a mouse, each of them still require you to edit php.ini to configure them the best way.

Use MaxCDN to Push Images, Theme files, CSS and JS across Continents

Because of how the internet works, the further you are away from a server the longer it takes to get the content to you. Adding a few milliseconds per packet of data soon adds up with a homepage that might be 2.5MB in size. A CDN (Content Delivery Network) aims to tackle that problem by placing servers in busy internet areas around the world. I opted for MaxCDN.com partly due to the price but also because of the good reviews and coverage.

maxcdn

By putting multiple servers around the world and having your blog push content to those servers, it allows someone in Seattle to load up most parts of your website from a server close by to Seatle. Likewise, if someone in the Netherlands loads up your website, a copy of most of the content is pushed on to a CDN server in the Netherlands and they load your site up as though they were local to the server. This cuts down a lot of transport time. Price wise, 1TB of traffic is valid for a single year at costs just $39.95. That low cost and high amount of traffic more than compensates due to the better experience your visitors get. If you run ads, you’ll likely also see revenues increase as well. In my experience, the quicker the page load time, the better the conversion because people like fast loading websites.

With MaxCDN and W3 Total Cache, the service is simple to set up and can be fully configured within an hour of purchasing the service. You also get the added benefit of setting up different domain names for the cdn so that you can have cdn1.yourdomain.com, cdn2.youdomain.com, cdn3.yourdomain.com. The reason you do this is because it spreads images, JS and CSS files around the different host names and speeds up page load. Typically a browser will only load 5 – 8 items at the same time from a single host name. If you have 40 images to download on your page, it will only do them in batches of 5 or so. If you run multiple hostnames it allows several blocks of 5 items to be downloaded simultaneously, thus loading the page faster.

Use the Smush.it plugin to Squash Image File Sizes

A lot of images you will upload will not be as small as they could be. Depending on where you get the images from you might see some that are far bigger than they need to be (referring to file size). Installing a plugin like Smush.it allows you to automatically smush images with a lossless tool. What that means is that your image filesize might end up being 10% to 90% smaller but yet, look identical. Lossless means it doesn’t lose any clarity when being compressed.

If you have an image heavy site, run the images through smush.it to cut down filesize. This of course means that a user has a lot less to download, and therefore the page will load quicker.

I also recommend grabbing all your theme images and running them through the smush.it tool linked above.

In Closing

Although each step only shaves a bit here and a bit there, it’s the combination of all these things that can make a site load in 2 seconds as opposed to 8 second. It’s difficult to put them in priority order because they each do something different, but my loose order would be caching, Litespeed, MaxCDN followed by smushit.

Do you have any other advice on what will help speed up a website? Post your ideas in the comments below.

How to login locally on Windows 7 without specifying hostname

Just a quick tip for today. I found my self fixing a problem earlier that required I logged out as a user and back in as an admin and back in as a user to test etc… Although the Windows 7 PC was attached to a domain, I didn’t want to log in with a domain account. Instead, I had two local accounts set up. One in the admin group and the other in the users group.

The typical way of not logging in to the domain is by entering the following in the username box:

hostname\username

After a while this can get a little tedious, especially as the hostname was a mix of country and serial number. A quick work around is to simply type in:

.\username

Putting the .\ before the username instructs Windows 7 to log the user in locally rather than on to the domain.

I figured if you run in to the same problems sometime that this might be of benefit to you.