Blog Archives

how to enable TRIM

trimforce
Starting with 10.10.4, you can now enable Trim for 3rd party disks without resorting to 3rd party tools. Apple have included a new command line utility called trimforce.

Beware, the name was not picked acccidentally. Trimforce forces TRIM activation on all 3rd party SSDs regardless of whether they support it or not, so use at your own discretion. Generally, it should be safe to use if your disk manufacturer recommends having TRIM turned on, but only your own testing will confirm that. As always, be sure you have full and regular backups of your disks in case of data corruption.

Note that trimforce requires sudo — meaning you’ll need an admin password to do this:

sudo trimforce enable

The new command line utility doesn’t have a --status option, so if you want to check the current TRIM status from the command line, you’ll need this command:

system_profiler SPSerialATADataType | grep 'TRIM'

🙂

monitor Bluetooth battery levels

BatteryAlert v1

I’ve just released a little utility app for those of you with an Apple Magic Mouse, Trackpad or Keyboard over on my software site, sqwarq.com.

BatteryAlert monitors and notifies you of Bluetooth battery levels via Email, Messages, Notifications or Alerts, with live Dock tile offering easy visual indication of current battery status at all times.

The first 1000 downloads of BatteryAlert are free. 🙂
Requires OS X 10.10 Yosemite or later.

BatteryAlert window

how to get Eclipse and Java to play on Yosemite

eclipse_by_a4size_ska-d2dvgyj

If you’re trying to launch the Eclipse IDE with Apple’s old 1.6 JDK installed and find that you’re having trouble updating your Java installation, try the following procedure.

1. Remove Apple’s JRE
First up, let’s get rid of the end user plug in. In Terminal, do

sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

2. Remove Apple’s JDK
Next, we need to uninstall the Java Development Kit. Do not mess about in the System’s Frameworks/JavaVM.framework folders. You’ll need those. Rather, in Terminal do

sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

If you’ve got later versions of the JDK (like 1.7), change the file name in the above command appropriately.

3. Install Oracle’s JDK for Mac
Next go to the Oracle Java page and look for the latest JDK. It’s important that you get the JDK for developers and NOT the JRE for end-users if you want to use Eclipse.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Download and run the installer. You should now be able to launch Eclipse without problems. 🙂





Picture: Eclipse by A4size-ska

how to sit down safely

osxclock 1

Well, Tim Cook says sitting is the new cancer…and since I don’t envisage myself in the market for an iWatch, but do need to be reminded to get up and take a break from the desk every 60 minutes, I wrote OSXClock.

I also need a clock for displaying the time on a large screen on occasion when conducting timed-based tests. In the past, I’ve used timeanddate.com for this, but it has a couple of disadvantages: first, you have to be connected to the internet; second, it doesn’t have an alarm or timer.

Hence, OSXClock was born, Applehelpwriter’s answer to the Apple Watch :p, and considerably cheaper! 😀


Script Editor battle

graph2-01
Here’s a short video showing some of the differences between Apple’s own Script Editor and my DisplayDroid.

If you haven’t got 5 minutes, the highlights include:

DisplayDroid shows result of each line of the script
DisplayDroid offers more informative error messages
DisplayDroid has automatic language detection (between AppleScript and JavaScript)
DisplayDroid allows you to set a breakpoint on any line in your script
DisplayDroid lets you step through the script line by line

applescript: toggle Notification Centre (Yosemite)

Notifications Center

Ever since Apple introduced Notification Centre, scripting it has been anything but easy.

I’ve seen brutal shell scripts and a variety of GUI scripts that variously work in Mountain Lion and Mavericks to turn ‘Do Not Disturb’ on and off. With Yosemite, Apple made yet another change to the ui process that controls Notification Centre, which means scripts like this one will choke.

If you’re wondering how to simply toggle whether Notification Centre is enabled or not with AppleScript on Yosemite, here’s the trick (whether this will continue to work in 10.11 is anyone’s guess** — see the comments below for the El Capitan version).

Enjoy it while it lasts! 🙂

tell application "System Events"
    tell application process "SystemUIServer"
        try
            if exists menu bar item "NotificationCenter, Do Not Disturb enabled" of menu bar 2 then
                key down option
                click menu bar item "NotificationCenter, Do Not Disturb enabled" of menu bar 2
                key up option
            else
                key down option
                click menu bar item "Notification Center" of menu bar 2
                key up option
            end if
        on error
            key up option
        end try
    end tell
end tell

how to get back your Dock preferences

dock prefs


As I noted in an earlier post, one of Yosemite’s annoying usability regressions is that Apple have removed the Dock Preferences from the  menu.

I was so irritated by this that I thought I’d just slip them back in to the menu bar. 😉 Hence, FastTasks 2 from v1.6 onwards now lets you manage most Dock preferences from the menu bar again!



how to troubleshoot your mac with FT2

FastTasks 2
Macs are famously reliable beasts, but we often make changes to our machines that can cause unexpected behaviours such as the dreaded spinning “beachball” (i.e., slow response times), excessive fan noise, and crashes.

This is where Apple Support Communities comes in handy, a place where I spent the best part of my spare time for 2 years helping thousands of people solve problems with their macs. With a few rare exceptions of internal hardware malfunction, the majority of problems I’ve encountered with macs involve changes made to the mac by installing or removing third-party software (sometimes unwittingly).

There was a time when people seeking help on ASC were first told to go through a lengthy process of collecting arcane information from various deep and mysterious places on their computer before ASC support volunteers could help determine the problem. Fortunately, there’s now a number of free utilities available that will collect some or all of that information for you automatically, including my own FastTasks 2 and DetectX.

In this post, I’m going to assume you’re using FastTasks 2, for a couple of reasons (aside from the obvious one that its my own app!). First, aside from having a system profiler, FT2 provides other functions that are useful in troubleshooting, whose use I’ll indicate below. Secondly, unlike other analysers, FT2 not only profiles your system configuration at the time you run it, it can also show you what’s changed over time (see Step 5 below), making detection of new problems even faster and easier. For that reason, it’s a good idea to run FT2 when your system is trouble-free so that you have a log of a known ‘good’ configuration. However, I’m going to assume for most of this post that you don’t have a log of a known good state, and walk you through a series of steps that you can use to trackdown troublemakers.

To get started, download FT2 from here, and then proceed to Step 1.

*Note if your problem is with Safari, you can go straight to Step 10.

If your problem is with internet connections / networking, that’s a vast issue too large for this post, but try the advice here first. If that doesn’t work, the FT2’s Profile view contains a lot of information about your network configuration. Click the FT2 menu, choose ‘Analyser > Check now’, and click the Profile tab. Then follow the general advice in Step 11 below.

If your problem involves unusual behaviour of system hardware (keyboard lights, fans, system volume, etc) follow Step 3 of this post first.

Step 1. Put a block behind the rear wheel…
The first rule of troubleshooting is not ‘You don’t talk about troubleshooting’ but ‘You don’t do anything until you have a backup stashed away’. Fat fingers and a hasty desire for a cure can lead all of us to make mistakes when following procedures, and the last thing you want to do is accidentally delete some file or resource that is irreplaceable. So, back up first, and cure yourself of the tendency to rush for a solution. Troubleshooting takes time, and troubleshooting without a backup is like changing a wheel on your car without putting a block behind the rear wheel. Don’t get crushed by your own rush to get back on the road!
Step 2. Start with the obvious…
Launch FastTasks and wait for the system analyser to finish loading. You’ll see the analyser presents you with an ‘Issues’ page. This page lists any files or apps that are installed on your computer which have, in my experience, been known to cause problems for some users. If your system is clean of these files or apps, the page will be empty, like mine:

Issues

If anything is listed in the ‘Issues’ page, your first step is to deal with these as detailed below. If not, you can go straight to Step 3 now.

Depending on the issue, (click on an item in the FT2 window and press the ‘Info’ button), uninstall, delete or move to a temporary folder on your Desktop any items listed in the Issues page. You can open each item in the Finder either by double-clicking it in the FT2 window, or selecting it and clicking the ‘Reveal’ button.

If anything listed in the Analyser as a ‘Performance’ issue has been installed from outside of the App Store, check the Developer’s web pages to see if there is an uninstaller and, if so, use that. If not, move the App or files to the Trash, but do not empty it. At the end of this step, if it turns out that app or file is not the culprit, and you still want to use it for some reason, you can drag it back out of the Trash.

After dealing with anything in the ‘Issues’ list, restart your mac and see if the problem behaviour is solved.
Step 3. Wipe the board…
If you didn’t have any issues, click the FT2 icon in the menu bar and note the system information in the lower half of the menu. Look at the ‘Uptime’ stat. This shows how long since you last rebooted your machine. If the problem behaviour has only been noticed since the last reboot, then restart your machine now, and test again.

Uptime

More often than not, most unexpected or strange behaviour that comes out of nowhere can be solved by a system reboot.
Step 4. Check the disk
Click the FT2 icon and note the system information in the lower half of the menu. Look at the empty/full icon and the stats below it on disk usage (you can choose to have one of these shown in the menu bar all the time if you wish, as well as change the color of the icon. In the menu, choose Preferences > Menu Bar Icon). You should have got a warning from FT2 if your disk is gettting critically full, but even if your disk is only 70% or so full, you could find your machine slowing down when Spotlight is indexing or if you’re doing any operation that requires a lot of disk activity. My recommendation for a speedy machine is to keep disk usage below 60% if possible (I rarely let my own disk ever get above 50%).

While we’re thinking about the disks, let’s just check the S.M.A.R.T status of the Internal boot disk. With the FT2 window open (if not, click ‘Analyser > Check now’), click the ‘Profile’ tab. Scroll down right to the bottom of the page and check that the S.M.A.R.T status says ‘verified’. If it doesn’t, there’s your problem: you need to replace your hard disk ASAP.

SMART

Step 5. Reverse gear…
If you’ve ran FT2 before, anything that’s changed since the last time you ran it will be highlighted in the view (you’ll also see the yellow warning triangle at the top).

Screen Shot 2014-10-22 at 21.26.22For example, in the screenshot above, note how FT2 records that the Ghostery extension has installed an update of itself in the background!
If you haven’t run FT2 before, go to Step 6. If you’ve run FT2 before but no changes are indicated, look through the logs by using the back and forward arrows on either side of the ‘Run’ button. For convenience, you can click the ‘Console’ button, then type ‘added’ into Console’s search bar, making a note of anything shown, then type ‘removed’, again making a note of any changes.

Whether you find changes in the Console, logs, or indicated in FT2’s current Profile view, the process is the same. For any change indicated, you need to reverse it. That means, anything added should be removed, and anything removed should be replaced from a backup. However, it’s important to be methodical, so deal with one change at a time, restarting the system and checking for the problem again after reversing each change. If that doesn’t solve it, move on to the next change and repeat.

There’s such a high chance that you’ll discover the cause of the problem this way that its the best argument for running FT2 on a regular basis and before you hit trouble. Trouble always starts with some change…

If you’re still encountering problems, go to Step 6.
Step 6. The root of all Evil…
Well, maybe not all, but without doubt the overwhelming cause of problems I’ve dealt with on ASC were caused by login items. These are things that automatically run when you log in to your account. Any app or script that’s in your Login Items that causes problems to your system will affect your system from the start of your session and often right through till you log out (often regardless of whether you quit the app in mid-session).

With FT2’s Analyser window open, click the ‘Profile’ tab. At the very top of the page, check what and how many items are in your Login Items. You really don’t want more than four or five items in here in any case, or you’ll notice a real lag betweeen when you log in and when your system is ready to be used. Keep only the essential things in here (yes, I’d say FT2 is one of them, see the end of this Step).

However, even one app can cause problems if it’s the wrong app. To troubleshoot Login Items, click the FT2 menu and choose ‘Login Items > Remove All’. Click ‘OK’ to confirm. When you see the notification that Login Items are empty, restart your mac and test for the problem.

loginitems

If the problem is not solved, go to Step 7. If the problem is solved, you can try adding each of your login items back in one at a time to ascertain which item caused the problem. Better still, just keep your login items empty and enjoy faster start up times.

The exception to the above advice is to consider keeping FT2 in your Login Items. The reason is that every time you login in, FT2 will run a background profile check and store that in its logs. That’s a vital tool for solving troubleshooting problems in the future (see Step 5 above), and one of FT2’s most useful features (however, if you don’t want FT2 to start on login, choose ‘Preferences > Start at Login’ and click to remove the tick).
Step 7. Digging deeper…

First, a note about .DS_Store files: In this and the remaining steps, you can ignore any file called .DS_Store shown in the profiler. These are hidden files generated by the Finder and can be ignored (likewise, you can delete them, the system will just recreate them when it needs to).

If you’ve got this far and your problem persists, it’s time to start looking further down the profile list. The next item in the profile view is User Launch Daemons. Notice that FT2 handily shows you where you can find this directory. To use that info, highlight the path shown (omit the closing bracket), then control-click, and choose ‘Services > Reveal in Finder’, to open the directory.

I do NOT recommend deleting files from here directly. Instead, you need to identify which apps these files belong to and uninstall them. After uninstalling, check back in Launch Agents to see if the uninstaller has cleaned up the file. If it hasn’t, you can then delete it (but be sure you’re deleting the correct file).

If the file doesn’t appear to belong to an app or you’re in doubt about its parentage, then move it (don’t delete it) to your Desktop. As with Login Items in the previous step, you need to be methodical here, and test each item after you remove or uninstall it with a reboot. Doing so means you can firmly determine which apps and files are OK and which are suspect.
Step 8: and deeper…
If your problems remain after working through all the User Launch Daemons, scroll much further down the list until you find Domain Library Launch Agents and Domain Library Launch Daemons and Domain Library StartUpItems. For each, you need to follow the procedure in Step 7: in other words, start by identifying the parent app of the file in the directory, uninstall it, check its cleaned up the file in the directory (if not, move it to your desktop) and re-test.
Step 9: Problems, problems, problems…
Still not got to the bottom of it? Then we need some more info. The best thing to do right now is determine whether the problem only affects your user account or all users on your system. Knowing this will provide a better focus for continued efforts.

To do that, go to  > System Preferences > Users & Groups and click the padlock and supply an Admin password to open it. You’ll now be able to click the little ‘+’ button just above the padlock and create an extra Admin account.

After creating the account, restart the mac, log in to the new account and see if the problem affects that account too. Once you’ve determined that, log back into your normal account and go to Step 11 below.
Step 10: Safari and the internet
Problems with Safari and internet connections are a realm all to themselves and too vast to be discussed here except in general terms.

If the problem appears to be peculiar to Safari, then the first thing to do is open FT2 Analyser and click on the ‘Profile’ page. Scroll down to Safari Extensions and take a look at what’s in there. Anything you don’t recognize or anything new since things were hunky dory? If so, focus on that first.

To deal with Extensions, don’t delete things from the directory itself. Instead, open Safari, and from the menu bar choose “Safari > Preferences” and navigate to the ‘Extensions’ tab.

Start by disabling ALL extensions. Now restart Safari. Problem solved? If yes, then start turning one extension back on at a time, until you discover which one is causing the problem. Uninstall the culprit.

If the problem persists after disabling all extensions, go back to FT2’s Profile view and scroll down till you get to User Library Internet Plug-Ins. If there is anything in here (you can ignore .DS_Store), then select the path shown for the directory (omiting the word ‘path:’ and the closing bracket), right-click and choose ‘Services > Reveal in Finder’. Move anything in the folder to your Desktop. Restart the mac and test.

If the problem is solved, try moving each item back to the Internet Plug-Ins folder, one at a time, restarting and testing after each move until you determine the culprit.

If the problem is not solved, return any items you moved to the Desktop back to the Internet Plug-Ins folder. Then, check to see whether other browsers are affected (if you don’t have it already, it’s always a good idea to keep a copy of Firefox on you mac, just to use as a control for Safari tests if nothing else). Make a note of the answer, then follow the instructions in Step 9 above, then go to Step 11 below.
Step 11: What to do next…
I hope this post has helped solve your problems, but if it hasn’t don’t panic. Your best resource is Apple Support Communities. Though I’m no longer active there (my spare time is used for software development these days), there are many hands on deck and people with all sorts of specialist knowledge about different areas frequent the boards. The key is to make sure you describe the problem as fully as you can and to post information from FT2’s system profiler (use the ‘Copy’ button). Be sure to mention the results of your tests so that people have got enough information to help you.

Also, please be polite to those who respond to you – ASC is staffed by volunteers, not Apple employees, just spending time to help others out. Finally, please don’t email troubleshooting problems to me personally. You’ll get a faster and better response by using the full resources of the support community.

Good luck! 🙂

%d bloggers like this: