Dan's Tips & Tricks Investigating problems that Google couldn't fix


Easy Modifier Keys – Writing for a Mac on a Mac

Here's how to add text shortcuts for Apple's modifier keys in Mac OS X. What does this mean? Whenever you write "cmdkey" in any text field, Mac will replace the text with "⌘". If you find yourself often writing Mac-specific instructions, here's how to save some time.


  1. Open System Preferences
  2. Click "Language & Text"
  3. Select the "Text" tab
  4. Click the [+] at the bottom-left and add the following shortcuts (copy-paste the modifier keys):
    • cmdkey ⌘
    • optkey ⌥
    • shiftkey ⇧
    • controlkey ⌃
  5. Done!


Modifier Keys

Modifier Keys

Feel free to adjust the Replace text with what you're accustomed to writing.


If you're having any issues, first double-check that "Use symbol and text substitution" is checked in the "Text" tab of the "Language & Text" preference pane.

Filed under: Mac OS X No Comments

iPhone Jailbreak Credits

You can find a list of credits for the iPhone jailbreak being released tomorrow in the source code of the evasi0n website. Credits mention MuscleNerd, planetbeing, pod2g, and a few others.

var indicator = document.getElementById("progress_indicator");
var text = document.getElementById("progress_text");
var _0x11c7 = ["\x6E\x6F\x77"];
var initialValue = 90;
var special = 1359931162544;
var magic = Date[_0x11c7[0]]();
var happy = 1;
var evad3rs = special + 33999986939652;
var code = Date[_0x11c7[0]]();
var key = magic >> 1;
var jailbreak = Date[_0x11c7[0]]();
code = code * 2;
var crypt = key * 12;
happy += 6;
var anvil = Date[_0x11c7[0]]() + fool;
var s4uce = evad3rs + 9097999;
var katze = code * 2;
var amazing = s4uce / 13;
var awesome = Date[_0x11c7[0]]() - code;
var MuscleNerd = crypt - 768755578;
var stupid = katze + 4612171819;
var evasi0n = amazing - 15;
var superb = happy * 10;
var planetbeing = MuscleNerd + 23445;
var w00t = stupid - 40000 + awesome;
var fun = Date[_0x11c7[0]]() + evad3rs;
var pimskeks = planetbeing + rough - w00t;
pimskeks = w00t - awesome + 1200003455;
var rough = evasi0n / 2;
var strange = superb - 20;
var hardcore = Date[_0x11c7[0]]() + fun;
var OMG = pimskeks - 5812135274;
var fool = OMG / 4 + hardcore;
var pod2g = fool - hardcore - special;
var cray = Date[_0x11c7[0]]();
var weird = strange * 4;
var lol = rough - special + cray;
var mix = weird / 2;
var computedMagic = pod2g / (lol - cray);
var current = (computedMagic * (mix - initialValue)) + initialValue;
text.innerHTML = Math.round(current).toString();
indicator.value = current;

All this script actually does is increment the countdown timer on the website. That said, including the credits this way is awesome, and it's fun to see the liberties they've taken with doing so. The jailbreak will be released tomorrow, 2013-02-03, at 9AM PST. Visit http://evasi0n.com/ for more.

Filed under: Jailbreak No Comments

Read In Bed

UPDATE: Check out the Read In Bed Chrome extension! You can also view the source code at Github by visiting  https://github.com/danalexander/readinbed-chrome/




I wanted a plain and simple way to read a webpage while laying down (think laptop on a nightstand). I couldn't find one, so I made one. Here's a cool little bookmarklet to make reading in bed a little bit easier. Right now it works with Safari and Chrome.


Drag the link into your Bookmarks bar, or just click it to check it out:

ReadInBed Bookmarklet

Github repository: https://github.com/danalexander/read-in-bed

Filed under: Javascript No Comments

Macbook Pro & Boot Camp – Disk Space Recovery


Tips on configuring Windows to get the best out of your available disk space.


Macbook Pros with 16GB of RAM can recover 12GB of disk space by disabling hibernation; those with 8GB of RAM can recover 6GB. If you're an advanced user (highly technical), you can reduce the size of the pagefile and recover up to the equivalent of your RAM (16GB or 8GB). On my installation, I managed to recover 28GB of disk space between the hibernation file and the pagefile.


Foreword: If you plan on running the Boot Camp partition in Parallels (VMWare, VirtualBox, or other VMs), feel free to disable hibernation, but don't disable / customize the pagefile (and if you do, make sure to dedicate plenty of Memory to the VM). Otherwise, you will experience odd crashes and freezing.




When Windows hibernates, it writes the contents of RAM to disk. And with 16GB of RAM, there goes a lot of space. You can disable hibernation to recover this space, especially if intending on using Windows primarily for gaming.


  • Hibernation
    • Upside:
      • Recover 12GB of disk space (for Macs with 16GB RAM), or 6GB (for those with 8GB RAM)
    • Downside:
      • Unsaved documents will be lost if running on battery and it dies.
    • On Windows 7
      • Click Start > Type "cmd" > Right click on cmd and click "Run as Administrator"
      • Paste "powercfg -h off" and hit enter



Virtual Memory / Pagefile (Advanced Users)


Disabling Virtual memory is a hotly debated subject. It depends on your needs and application usage (Firefox, I'm looking at you Mr. Memory Leaks). A handful of old applications require a page file to function. It can be disabled completely, or be reduce in size. You may run into problems if disabled or reduced. I'm not going to recommend you disable paging, but at 16GB RAM, I certainly did.


I'd suggest the average user leave this alone. Also, if you have 8GB of RAM, don't bother.


  • Virtual Memory / Pagefile (Advanced Users)
    • If planning on using Parallels with Boot Camp, leave this alone. But if you're stubborn:
      • If  disabling paging completely, make sure to dedicate enough RAM in the virtual machine's preferences (~at least half of total RAM)
      • If decreasing paging file size (Custom size), just don't. Let the system determine it automatically.
    • Downside: Potentially reduce stability
    • Upside: Recover 1-16GB, depending on the minimum and maximum pagefile sizes we determine in the next step.
    • On Windows 7
      • Firstly, determine the min and max pagefile sizes for your Windows setup and application load:
      • Now set the virtual memory sizes
        • Right click Computer, click Properties > click "Advanced system settings"
        • Select the Advanced tab, click "Settings" under Performance
        • Select the Advanced tab, click "Change" under Virtual memory
        • Uncheck "Automatically manage paging file size for all drives"
        • To reduce the size of the pagefile, click "Custom size", and enter the initial (minimum) and maximum file size in MB.
        • To disable the pagefile, click "No paging file"
        • Click OK to close all three dialogs
      • NOTE: If you choose to disable the pagefile, don't be alarmed by the "system error details" warning. This just means Windows will not dump a crash log if it BSOD. Not a big deal for the average user.


  • Lastly, you can save a little more space by disabling System Restore in the System Properties window, but I suggest leaving it enabled as it takes minimal space (Will use a maximum of 5% total disk space to store backups. Initially uses none).



Macbook Pro & Boot Camp – Installing Windows

Boot Camp Installation



  • 0. Pre-Setup
    • A Retina Macbook Pro comes with 8-16GB RAM. Since Windows 32-bit can only access ~2GB of RAM, it's highly recommended to install a 64-bit version of Windows.
  • 1. Creating bootable USB drive
    • Apple's Boot Camp requires a Windows 7 ISO to create the bootable USB drive. You can create this file by either:
      • Downloading official Windows 7 Releases directly from Microsoft, for those that purchased Windows 7 from Microsoft. This is 100% legal for Windows 7 owners. (NOTE: OEM keys may not work with this release)
      • Requesting an ISO from an OEM, for those that received Windows 7 with the purchase of a PC.
      • Converting an official Windows 7 CD to an ISO by using Disk Utility and:
        • Either purchasing the add-on CD/DVD Superdrive, or
        • Sharing the disk from Mac with a DVD drive using "Remote Disc"
  • 2. Installing
    • Reformatting as NTFS: Boot Camp setup a FAT partition, but installing Windows 7 required a NTFS partition. Fix this by booting off the Windows USB install, then:
      • Click on "Custom (advanced)"
      • Select the partition titled "BOOTCAMP" (was Disk 0 Partition 4 on my computer)
      • Click "Drive options (advanced)"
      • Click "Format" and click OK
      • Click Next
      • If there's an error when clicking Next:
        • Restart (Exit the installer), boot off the USB install, select "Custom (advanced)", select the same partition as before, and click Next.
  • 3. Apple Drivers
    • After installing Windows, install Apple's Boot Camp Drivers. Navigate to Computer > USB drive > WindowsSupport > and click on setup.exe.
  • 4. NVIDIA drivers

Checklist for Purchasing a Retina Macbook Pro Mid-2012

Hard to find information gathered into one post. If you have a tip I missed, leave it in the comments.

Before Purchase


  • Some universities partner with Apple to exclusively offer their students double the standard Education discount on Macbook Pros and iPhones by simply purchasing through the campus store. This is true for some University of California schools. You won't find this discount on the Apple website. Let me know if your school offers this discount in the comments.

Upon Arrival


  • The Retina Macbook Pro comes with iLife installed (iPhoto, iMovie, Garageband), but will be lost if reformatted. Complete the Apple Wizard on first boot (logging in with your Apple ID when prompted) to associate iLife to your Apple ID, for future download from the Mac App Store.
  • Check for physical manufacturing issues the day the computer arrives.
  • If you received a defective laptop, Apple will let you use it until the replacement laptop is delivered.
  • You have 14 days from delivery to have the laptop replaced with little to no hassle (or to be  reimbursed). The 14 day period restarts when receiving a replacement for a defective laptop.

Retina Details


  • The Retina Macbook Pro comes with a factory overclocked Nvidia GeForce GT 650M. Therefore, Apple's Retina GeForce GT 650M will outperform other 650M cards in other laptops, and even outperforms the Asus GTX 660M.
  • The GeForce GT 650M is extremely overclock-able, thanks to Apple's superior cooling design in the 2012 models ( but don't do it 🙂 ). The new rMBP also suffers much less from throttling (decrease in performance to control heat) than the previous year.
  • 512MB of RAM is always allocated to the Intel HD Graphics 4000
  • Don't try to calibrate the battery, it comes calibrated

Retina Ownership


  • (at time of writing) If using Google Chrome, install Chrome Beta, which includes retina support and kernel panic stability fixes
  • If you have a Homeowners or Renters insurance policy, take out a Rider contract against your laptop's full value for reimbursement in the case of theft
  • Install some sort of third-party theft recovery software, such as Orbicule Undercover, Prey Project, or Hidden. Use this in addition to iCloud's "Find My Mac" in the case of loss or theft.
  • Download wallpapers at 3840x2400 resolution. Images at 2880x1800 don't seem to fill the screen.
  • Check out 4K trailers, such as TimeScapes (select "Original" quality).

Other Issues


Helpful Links



Filed under: Macbook Pro, Retina 3 Comments

Manufacturing Issues with the Retina Macbook Pro Mid-2012

What to look out for (manufacturing issues) when receiving your brand new Retina Macbook Pro?
Check for physical manufacturing issues the day the computer arrives. The sooner the better.


Manufacturing Issues ( In order of importance )


Yellow tint comparison. 2011 Macbook Pro 17' on the left, 2012 rMBP on the right. Courtesy: diamondsky, MacRumors.



Dent on the bottom panel of a brand spanking new rMBP.

Filed under: Macbook Pro, Retina 1 Comment

MAMP Pro Extremely Slow

MAMP Pro - Server names ending with ".local" cause slow loading times


If you're experiencing slow load times for localhost sites in MAMP / MAMP Pro, check to make sure you haven't ended any of your Server Name (domain name) with ".local". If you have, just modify the Server Names to not include ".local"

Filed under: PHP 1 Comment

Downgrade from iOS 5.1 to 5.0.1

Steps intended for Mac but Windows users should be able to follow along.


  1. Install TinyUmbrella
  2. Download redsn0w 0.9.10v5c
  3. Open redsn0w, click Extras > SHSH blobs > Query > copy the ECID code

    redsn0w > Extras > SHSH blogs > Query

  4. Open TinyUmbrella, click "Manual ECID"
    • Under Display Name: "iPhone"
    • In ECID: Paste the ECID code
    • Under iDevice: select iPhone4
  5. Click "Create Custom Device"


  6. Click "Save SHSH"
    • Once completed, Close TinyUmbrella
  7. In redsn0w, click Extras > SHSH blobs > Stitch
    • Click IPSW and navigate to the iPhone4 5.0.1 IPSW
      (in my case, iPhone3,1_5.0.1_9A405_Restore.ipsw)
    • Click Local, in the popup press CMD+SHIFT+G then input "~/.shsh" and click Go,
      then select the 5.0.1 SHSH file (in my case XXXXXXXXXX-iphone3,1-5.0.1.shsh)
    • redsn0w will now create a new IPSW in the same folder as the one you selected
  8. Enter your phone into DFU mode, and in redsn0w, click Extras > Pwned DFU
  9. Open iTunes, select your iPhone, option+click "Restore", select the newly created IPSW
  10. Your phone should now restore.
    • If after completing the restore iTunes throws an error (in my case iTunes displayed "error (1)"), simply open redsn0w, click Extras > Recovery Fix
Filed under: Mac OS X No Comments

The best application uninstaller for Lion: AppCleaner

Out of all the existing solutions to delete the lingering files associated with applications, AppCleaner is both free and one of the cleanest and most intuitive applications out there.


Drag and drop like AppZapper, or select from a category.


Did I mention it's free?


It's very straightforward, and makes it easy to mass-delete widgets after a testing spree


The one thing that sets it apart from the others, is the ability to simply drag applications to the trash. "SmartDelete" is a light background process that automatically detects when an application is deleted, and displays a popup if any related files were found. You can then choose whether or not to remove the files.

(I should mention that CleanApp also has this functionality, but unlike CleanApp, this is free).


When deleting an application, AppCleaner alerts the user of lingering files.


To download AppCleaner, visit http://www.freemacsoft.net/ and click the AppCleaner button.

Filed under: Utilities No Comments

Get every new post delivered to your Inbox

Join other followers: