Easiest, Cheapest Way To Speed Up Your Mac

4623570_raw.jpgI’ve recently been playing around a LOT with various development tools for HTML5 on my aging MacBook Pro… The thing is 6 years old now which is ancient in computing terms. And it was beginning to show its age so I began searching around for ways to bring it back to it’s former life and speed it up a bit.

In doing so I updated our ReviewMacSoftware site with the information over a couple of articles. The first article about speeding up a mac can be found at http://www.reviewmacsoftware.com/how-to-make-your-mac-run-faster.html – this is the first article I wrote which gained some good comments and some of those comments had some great other tips for getting the speed back into your Mac. I’ve done all of the things I’ve listed on that article, including updating to SSD (BIG difference, but big cost too) as well as checking permissions and so on. Worth a quick read if you want to speed your mac up a bit.

One of the comments was about Detox Your Mac which I’ll be honest I haven’t even tried as yet, but lots of people seem to like it. It’s available as a digital download on ClickBank. Clean My Mac 3 gets some fairly good reviews around the Web too and I like most of what it does if you don’t want to get under the hood of your Mac yourself. A lot of people on the Apple Support forums don’t seem to like it, but they’re experienced Mac System Administrators so I suspect their dislike for it is simply based on the fact that their experience with OSX means they can do better manually.

SDCZ528GB_sandisk_sandisk_cruzer_switch_8gb_usb_flash_drive_blackBut in the end, the biggest speed up for my MacBook was actually to re-install Yosemite from USB, with a complete reformat of the hard drive and just a restoration of my documents from a Time Machine backup. After that the Mac felt like new – it’s quick, runs cooler (and therefore quieter since I have MacFans running which speeds up the fans a bit if it gets warm). The only things that seem to stress it now are web browsers – is there ANY decent web browser available for OSX that doesn’t have memory leaks and eventually bring the system to a crawl? Chrome, Firefox and Safari all suffer the same fate and get the fans spinning and the bottom of the computer cooking my legs….

I know it seems a bit self serving to link to a bunch of articles on a site that I own and run myself, but the readership of this blog is a bit different to the readership over there (indeed, ReviewMacSoftware doesn’t really (at this stage) have any regular readers – everyone just comes from Google for the particular article they need) so I thought I’d highlight some of the articles and hopefully, if you use a Mac too, you can save yourself some upgrade dollars and make your mac run faster by combining all the different advice there into one blog post here.

Good luck, I hope the article was at least semi useful and please feel free to get in touch by leaving a comment below

Setting up an Intel NUC DN2820FYKH as a HTPC

Intel_NUC_4th_GenI recently did exactly this with an Intel NUC DN2820FYKH. This was a bit of a gamble because I wasn’t entirely sure the spec of the NUC was up to scratch for a home theatre PC.

Turns out, it actually is – with a couple of caveats which I’ll go into in a moment. You’ll need to add RAM (I went with 8G on mine) and a laptop drive. SSD will perform better, but it performs well on a standard 5400 RPM. The Celeron DN2820FYKH performs quite admirably – I suspect the Core i3, i5 and i7 versions would do everything you need – albeit with a slightly bigger power footprint.

Firstly, I didn’t use Windows. I don’t even like Windows, so that was never an option. I used XBMCBuntu – a fairly lightweight version of Ubuntu with XBMC pre-packaged. I then add the ‘mythbuntu-control-center’ package to add MythTV backend and set up MythBuntu components for Live TV. You can do this the other way around too – install MythBuntu and then add XBMC packages. I just prefer the XBMCBuntu startup splash screens for my HTPC so I do it the other way around 🙂

Then, find yourself a Sony PlayTV USB Tuner (if you want Live Terrestrial TV). The NUC has no space for adding TV tuner cards so you’ll need a USB tuner. The PlayTV has worked flawlessly for me and I highly recommend them. I picked mine up from EB Games in Melbourne, but you can get them on eBay too. Sadly they don’t appear to be made any more, which is a shame as they’re the cheapest and most reliable way of getting Live TV on your MythTV setup on Linux.

xbmcbootingOnce you install XBMCBuntu and add the Myth components you’ll need to make a couple of tweaks to make it run a little more smoothly and use less power. If using less power was possible. The things runs at about 6W idle, which was why I went with this – I got sick of the power crazed standard HTPC. Firstly, go into the XBMC settings and switch off the RSS feed scroller – that alone drops the XBMC process usage from around 35% constantly to about 10%. Also, if you’re using the Hybrid skin, turn off the background raindrop effect – for another significant processor drop.

Switching between screens on Hybrid skin isn’t silky smooth, but it isn’t far off. Watching TV, movies, listening to music etc is all perfectly smooth. And with built in Infrared, in a 4 inch footprint that costs around 6 watts of energy, this is a highly recommended setup for a Home Theatre PC and requires no active cooling and can sit outside of a cabinet just alongside the TV without looking out of place. And as HTPC’s go, the price is pretty good too. It’ll cost you around $350 all up, less if you only need 4G of RAM.

More Information:

Get MythBuntu
Intel NUCs on eBay
Sony PlayTV on eBay
EB Games pre-owned gear

Slow Safari in OSX Lion

I’ve just recently updated my MacBook Pro to OSX Lion. In general I’m pretty happy with it but there were a few issues, relating to speed that really significantly annoyed me. This blog post is to remind me what I did to solve those issues and perhaps if someone else reads them and is helped too then that’s a bonus!

Safari. This issue isn’t specifically related to Lion because I dropped using Safari months ago because it was just too slow. But Safari is the only browser that plays really nicely with Lions finger sweep gestures and so I was determined to get it back to proper functionality. With that in mind I went searching and discovered a useful tidbit. The 64bit version of Safari is, in general it seems, a bag of nails. So to fix it, open up your Applications folder, right click over Safari and select Get Info. In the info box that pops up you should see a tick box that says ‘Open in 32bit mode’. Put a tick in there and restart Safari… Since doing this my Safari has returned to its zippy self.

Wi-Fi. The performance of my network seemed to be really slow after the Lion upgrade. I can’t quantify it and have no hard firm data to back up my claims. But it just seemed really slow. I changed a couple of things which seem to have brought it back into line. Not sure which one did the trick but here they are;

First, open System Preferences and choose Network. At the top, where it says Location, choose Edit Locations from the drop down. Create a new location – in my case I called it Home. Then, select Home from the drop down. I’ve no idea why this might’ve helped – perhaps someone can comment on why.

Secondly, I also changed the MTU setting to 1492 as per a recommendation from the net. This is the standard setting for a device using PPPoE – and it’s the same setting as the router which connects to the internet. This sort of makes sense that having the same MTU as the internet device would speed things up since packets are getting fragmented the same for each device.

Once I did those three things, the net seems to be back to being happy and Safari is much happier. I’m now happy with Lion – love the new trackpad gestures and Mission Control is a welcome addition!

Installing Bugzilla on a CentOS cPanel VPS

This article is designed to hopefully assist someone not have to go over the same troubles as I experienced installing the latest stable Bugzilla onto my cPanel server. To say it gave me a headache is an understatement.

To begin with everything went smoothly. It was all good. I followed the instructions for the Bugzilla installation, and ran the various perl scripts, which said I needed to install some additional modules to make Bugzilla work. That was no problem, so I thought, because I had CPAN installed and set up.

Most of the modules went on OK, and everything looked good. But then I started receiving e-mails from users of another site written in perl that resides on the server. They were getting Internal Server Errors galore. Premature end of script headers. Oh joy.

So I went on the hunt for what could be going on. I ran the perl script manually for the site that was complaining. It borked with some file or other that couldn’t be found in the @INC path. That’s odd, because it was working before I tried installing the JSON::RPC module from CPAN. I ran the Bugzilla ‘checksetup.pl’ script again and now that borked with files missing from @INC.

What the?

I tried using CPAN to install the missing modules that the checksetup.pl script was now complaining about. One went on, then CPAN itself stopped working! Now I was really confused.

I did some googling around, discovered some fairly useful information to put things back and got CPAN up and running again. I can’t give specifics of this because it really depends on what you did prior to getting here as to what you’ll need to look for. Hopefully though you read this BEFORE you bork your CPAN install 🙂

Long story short, I have two Perl binaries on my system, compiled with different @INC paths.


I discovered it quite by accident. One was in /usr/bin/perl – the other was /usr/local/bin/perl. Running from the command line was using /usr/local/bin/perl, but web scripts (and the checkconfig.pl script) were coded to use /usr/bin/perl.

At this point in time I have renamed the /usr/bin/perl version to /usr/bin/perl.sav and softlinked to /usr/local/bin/perl since all my CPANing and tweaking was done with the /usr/local/bin/perl variant (which used a /usr/local/ prefix to its @INC path).

This seems to have fixed Bugzilla, and kept the other site happy too. I’ve yet to test whether it’s broken cPanel now though!

CS-Cart, A Very Excellent E-Commerce Engine

I’ve been in the Web Development Business now for more years than I care to remember. In that time I’ve worked with plenty of E-Commerce engines, some of which were entirely bespoke before ‘off the shelf’ solutions such as osCommerce or Magento existed.

In more recent years I’ve been using osCommerce. I took a look at Magento but reviews of its fairly serious need for horsepower and to be honest I found it quite difficult to get around. Before any Magento fans flame me I’m quite prepared to admit that is probably much more down to me than it is to Magento. So I stuck with osCommerce. I’ve released a number of E-Commerce sites based on osCommerce and in general I had been fairly happy with it. But, it’s very old technology now – my first shop was released back in 2005, on osCommerce 2.2 and today the platform is still the same, 4.5 years later. And I’m sure I wasn’t on the bleeding edge back then. I don’t want to bash osCommerce here either – that’s not the purpose of this article. But it is my basis for comparison and as such I have to point out the shortfalls it has when compared to CS-Cart.

I took the plunge and started looking at CS-Cart. It was a brave (and potentially stupid) move because I chose to investigate it’s use for a large client site. Sometimes when taking on a large project it can be better the devil you know. In this case though, I was pleasantly surprised. It was better the devil I didn’t know.

CS-Cart is based on the Smarty Template Engine and I have good experience with Smarty, having developed the more recent parts of DearDiary.Net in Smarty, along with the original version of Kabarty Collector, plus the playing around with WHMCS (which also uses Smarty) and a couple of other smaller projects. CS-Cart is also structured into a Model – View – Controller paradigm, which with my commercial background with Java Server Faces, Struts and CodeIgniter appealed to me from the outset. Perhaps having experience in both these technologies helped me to understand CS-Cart quicker than others might was an advantage but I soon found I could get around the software quickly and easily.

CS-Cart is written in PHP using the Smarty Template Engine, and although it is commercial software (which I might add is very reasonably priced at $265US) it does come with full source code so you can find your way around it. Just like the WordPress world though it is highly recommended that you do not make any edits to the core code. Doing so will make your upgrade path much harder – and it’s just about never necessary (although I did have to for one of my customers as it was a bug in the core).

CS-Cart uses a skin architecture (made simple by the use of MVC) so you can make it look exactly how you want – and I’ve applied a pretty radical design to one of my new sites. I’ll update the URL later once it’s been made public. But you can hook in jQuery effects and just totally radically alter the way the site looks whilst not having to stress at all about how the engine works. The engine is totally seperate from the display – which is how a modern system should be designed.

The engine also supports the concept of Add-Ons which means you can plugin extra functionality. In the case of CS-Cart these are quite literally ‘plug ins’. You don’t have to get your editor out and search for line Y in file blah.php and modify this query to show Z. You place the addon into the addons directory – possibly add the addon skin additions to the skins directory, and then activate the addon in the Administration screen. You may need to configure the addon and that’s all done through the Admin screen.

CS-Cart, straight out of the box, comes with dozens of Payment Gateways, including Paypal, eWay, WestPac (sadly, no Commonwealth Bank of Australia or ANZ (yet)), noChex and too many more to mention. Along with those payment gateways, it also comes with a bunch of pre-installed Postage Handlers, including live postage rate calculations from Australia Post and others. It supports multiple taxation models for sales tax, so if you’re a multi-national you can apply VAT to British Addresses, GST to Australian addresses and whatever other sales taxes you might need, all at different taxation rates as defined by you.

CS-Cart is also very user friendly for the customer. It contains its own Content Management System which allows the customer to add additional pages that aren’t product specific (for example, Terms and Conditions, Returns Information, Privacy Policy). The user does not have to understand any PHP to do this, CS-Cart provides an editor built into the Administration Screens.

Positively THE most powerful part of CS-Cart is found in its ‘Blocks Management’. This allows a designer of the site and/or addons to create blocks of content which can be placed on certain (or all) pages and the intuitive interface allows the cart administrator to move these blocks all around to fit how they want it to look. No need to edit HTML – the administrator simply drags the block from (for example) the left sidebar over to the right sidebar, or even to the top. The blocks manager seems to be almost infinitely flexible and even allows certain blocks to be only shown on specific product or category pages.

The only strange part I’ve found to CS-Cart at this stage is the business model that CS-Cart employs when a specific add on is required. You can write to CS-Cart and request a particular addon be coded, which they will quote you a price for. If you agree, and pay the price, they will code the addon. All good there. But that addon could then appear in a later version of the CS-Cart product – even though you just paid for it to be developed. It’s not a huge deal, and I think it’s just something that will happen more in the bespoke software world.

All in all, I’ve been really very pleased with the easy way CS-Cart can be extended and the intuitive and very powerful customer administration interface that makes it a great system to deploy to customers and not have to continually go back and make changes for them.

MacBook Pro Performance running Parallels

Or VirtualBox, and probably VMWare too.

Its been some months now since I made the switch from PC to Mac, using OSX Snow Leopard. Initially I was really pleased with the performance of the MBP, it was considerably quicker on lesser hardware than Vista had ever been. But there was a niggling slowdown on occasions.

It’s fair to say that I am a pretty heavy power user, I run Eclipse for web development work, and Firefox with various plugins, along with the real power hungry VirtualBox (and lately Parallels) for checking websites in Internet Explorer. The MBP runs quite nicely until I fire up VirtualBox. Then it gets dragged down and just generally feels like syrup on a cold morning, which can be frustrating because if you’re running a bunch of programs and suddenly want to find o2 Mobile Phones via Google or just run an antivirus check, watching the machine tank is pretty irritating. The odd thing is, the CPU was definitely not the problem because it never ran below about 85% idle, unless I was doing something heavy in the virtual machine but then it didn’t really matter because you’d expect that. I thought that perhaps having the 5400RPM drive in the machine might have been a mistake.

It certainly seemed that it was generally disk based activity that was really grinding the machine down. Safari was an oddball in the mix. It would often SBBOD and occasionally I saw weird graphical artifacts, particularly when first opening a new tab. Checking the disk usage I could see that it was getting used quite heavily, but that was mostly because the machine had nearly 2Gigs of RAM swapped out. On a 4Gig machine that means that I’m effectively using nearly 6 Gigs of RAM, which seems unlikely. It is of course OSX not Vista, so it shouldn’t really use that much! I’ve set the virtual machine to use 1Gig of RAM so that leaves 5G for the rest. Eclipse can be a beast, but it’s not that big of a beast.

Then I went to the Energy Preferences panel of Snow Leopard and made a tweak. I changed the graphics settings from ‘Better Battery Life’ to ‘Higher Performance’, which basically boils down to switching out the on board 9400M for the more powerful 9600GT big brother.

I’d expect graphics intensive applications to respond better with the 9600GT in place – but I don’t use all that many (occasionally PhotoShop comes out to play, but not often). Eve Online of course responds significantly better on the 9600GT, I’d already tried that some months ago. But what I didn’t bank on was how much better the whole system responds when you’re running Parallels or VirtualBox. It seems that the 9600GT allows much better virtualisation for some reason.

But the whole other issue that is totally obscure, and I really don’t understand why – so if you have an idea please leave a comment below – is that now, with all the same apps open, I have 300Meg of swap used. Not the 2Gigs I previously had. Needless to say, since there’s nowhere near as much swapped out, the whole system is responding much better. By a very long way. It’s like I’ve turned the MBP into a desktop machine.

The only downer is that the battery doesn’t seem to last as long – but that’s expected too. Having said that if the machine is more useable for the time it is alive then you can probably be more productive and get just as much done 🙂

Telstra iPhone Tethering ‘Call Telstra on 125 111 to enable tethering’

iphoneIf you’re an iPhone user on Telstra’s NextG network you may have been disappointed when iPhone tethering suddenly stopped working back in July or sometime there about, when a new set of ‘Carrier Settings’ were downloaded from iTunes onto your iPhone. The good news is that this weekend just gone, Telstra issued a new set of Carrier Settings through iTunes which re-enables tethering – and this time properly and officially.

I installed the new Carrier Settings after reading of everyone’s success around the net. I was rapt. The Optus coverage at mother-in-laws is pants and I often need to work from there while my wife and mother-in-law do other things.

Except that it didn’t work. Every time I went into Settings -> General -> Network and tried to enable tethering I just got a popup message that said to enable tethering I must contact Telstra on 125 111 or visit http://www.telstra.com. It gives you three buttons, Call, Go to Website, or Cancel. Nothing about switching it on anyway. I spent an hour on the phone with Telstra, who eventually handed me off to Apple.

After an iPhone reset, a Network Settings Reset followed by an iPhone reset, and then a full Restore of my iPhone I was still no better off.

And then I found this thread which explained that my Telstra account probably wasn’t set up right. It was highly likely since I’d actually bought my iPhone from Optus and then transferred to Telstra after the Kinglake bushfires rendered Optus unusable for weeks. My APN was set to telstra.internet because telstra.iph didn’t work. As is indicated in the thread previously mentioned, you DO need to have the ability to use telstra.iph to use tethering.

The trouble is that most people on the Telstra helpdesk don’t know about this. So you have to ring 1800 IPHONE and ask them clearly to add the iPhone codes to your account. You’ll need to be specific and possibly need to justify why you want it. But if you’re not specific they’ll go through hours of trying to diagnose why your iPhone consistently tells you to call them on 125 111.

I hope that helps someone. Please leave a comment if it does!

Eclipse hangs on SVN commit

eclipseIf you have a big project you try to check in to a subversion repository, eclipse can get part of the way through and then just hang. The only solution is to end task (or force quit on OSX).

But there is a solution!

This one eluded me (and google) for some time, but I am pleased to say that with the help of the Eclipse mailing list I have found the answer.

Open up the Eclipse preferences, choose Team -> SVN -> Console and uncheck the box that says ‘Limit Console Output’. With this option checked it seems that once Eclipse reaches the limit of the console output, it just freezes. I’m now able to check in a project with a lot of files and it’s all working excellently.

Regular OSX SBBOD (Spinning Beachball of Death) :: FIXED

sbbod-221 Over the past few days I had begun to think that my MacBook Pro was developing a problem. Every so often – and I can’t put my finger on how long, but possibly every 10 minutes or so – no matter what application I was using I would get a Spinning Beachball of Death, or SBBOD. The image to the left is familiar to any Mac OSX user on occasions – sometimes things just do take longer than 5 seconds to achieve and thats when OSX will present you with the beachball in all its glory.

But, you shouldn’t really see it when you’re just browsing web pages. And I was. So I went on the hunt, I googled for causes of the SBBOD, and found lots of great answers, many of which I thought had fixed things and then discovered 9 minutes later that nope, no they hadn’t.

There’s a number of things that can cause a SBBOD, including 3rd party Safari plugins (and it seemed as if Safari was usually what I was running when it occurred, although Mail was exhibiting the issue too, along with other things). One site I discovered advised me to remove the file Database.sqlite3 from ~/Library/PubSub/Database. This tip did seem to improve the startup speed of Safari – though I’m not entirely sure why.

However, the actual fix turned out to be entirely off the MacBook Pro and in fact was on a different machine on the network.

I run a DHCP server (most home users probably just use the broadband router for assigning addresses) as I have a number of virtual machines, along with printers and such like that I prefer to be able to set a fixed address.

The DHCP server had not started up after a restart and as such was not issuing IP addresses. The MacBook Pro was trying to start the networking components, waiting for a response from the DHCP server and when it didn’t receive one in a timely fashion it went ahead and used the previous address that it had been assigned. That’s fair and good, it meant I could get online – part of the ‘It Just Works’ plan I suspect.

But unfortunately it seems that because the IP address hadn’t been properly assigned by the DHCP server, OSX was on occasion attempting to re-validate the settings and that was causing anything that used the network to have to wait until the DHCP request timed out.

Once I restarted the DHCP server, my OSX has been back to it’s awesome self and I’ve seen not even one SBBOD! Wahoo!

The moral of the story: Make sure your DHCP server is running, or manually configure your IP address!

MacBook Pro and Eve Online – A Good Match?

Can you play Eve Online on the 15″ MacBook Pro 2.66 Ghz Core 2 Duo? Read this article to find out.

When I purchased my MBP, one of the things I was really unsure about, and could find very little about was whether it would play Eve Online at a respectable speed. I’d previously been using the HP ZD7000 which is mentioned elsewhere in this blog, and up until the release of Apocrypha that had been doing quite well. It wasn’t fantastic, but it managed 15fps in just about any situation (except large fleets perhaps) and to me, on a notebook, 15fps is acceptable.

With the upgrade to Apocrypha the ZD7000 managed 2fps in many situations, dropping to 0.4fps during warp. At least you don’t need to be too hands on during warp, but it’s just ugly. I hoped (and reasoned) that the 9400M chip in the MacBook Pro would significantly outperform the old FX5600Go that the ZD had in it. But just to be sure, I bought the MacBook Pro which also had the 9600GT – just in case the 9400M wasn’t all that up to it.

I was very pleasantly surprised. The MacBook Pro, with the 9400M enabled, plays Eve Online extremely well indeed. Now admittedly I have not engaged in any fleet battles, and it may well not be up to that. But in general space, warp, and in station I’m seeing 60fps most of the time, dropping to around 30 sometimes depending on what I’m doing. That’s in a Dominix – I’m not sure how much of an effect the ship model will have – on the ZD it made a huge difference, but that’s cos the ZD was struggling anyway.

I did try the 9600GT for a short while, but since I was playing on battery, I decided I wasn’t that fussed since 60fps when using the Interval 1 setting would be the most I’d get anyway. So there’s some future proofing built in now, the 9600GT is said to be somewhere approaching twice the speed of the 9400M so if CCP do an overhaul in a couple of years time I should be able to just switch on the high speed 9600GT and still get good framerates out of it.

The other reason for not using the 9600GT is heat. Eve Online heats the MacBook Pro up like an oven when you’re playing for more than about 5 minutes, and that’s just on the 9400M. I suspect that twice the power means twice the heat and since I am paranoid about heat on notebook computers I decided against using the 9600 for long.

The good news is there’s a couple of things you can do to dissipate that heat quicker and keep the overall temperature down to a satisfactory level. Firstly I started using the Coolpad – it’s an aluminium block (much like the MBP!) with a couple of USB powered fans embedded in it. The fans push cool air upwards onto the base of the MBP and help remove some of that external heat – at the very least keeping the heat off your legs if you’re using it on your lap. A cooler case means cooler internal components and the coolpad knocked about 8 degrees off my top temperature ( from around 80 degrees (ouch!) to around 72 degrees celsius ). I then noticed (thanks to smcFanControl) that the fans were still only running at 2000rpm even when the MBP is running at 72 degrees. I don’t know if that’s an Apple design feature or what, but it seems silly to me. Fans are there to help dissipate heat and prevent damage so if the thing starts getting hot, wind up the fan speed and get rid of some of that heat.

That’s when I search around and found Fan Control 1.2 for the Mac. I installed that, played around with the settings a little and I’m now hovering around the 60 Celsius mark, with the fans running at 4000rpm to keep it that way. Obviously when I shut down Eve Online I expect the temperature to plummet and the fan speed to decrease accordingly.

So, if you want to know if your new MBP will play Eve Online, the answer is a very emphatic yes. But get yourself a CoolPad and download FanControl 1.2 (and possibly smcFanControl to monitor the temperatures) and you’ll be good to go.