Thursday, November 5, 2015

How to Move Your iTunes library to an External Drive

iTunes can take a lot of hard drive space, especially for a laptop with an SSD. But if you get an external drive, you can move your iTunes library to the external drive.

1. Copy the entire iTunes folder (~/Music/iTunes) (and all its subfolders and files) to the other drive.
2. Open iTunes while hold down the Option (alt) key (shift on Windows).
3. A dialog will show up, click "Choose Library..." and selected the iTunes folder you copied to the other drive.

Wednesday, October 21, 2015

Great Scott!

Back to the Future day is finally here!

Monday, August 31, 2015

iOS 8.4.1

I mentioned a while back that iOS 8.4 had a few bugs in it in this post. Those issues have not been solved and in fact, there appears to be a few on the iPhone having to do with Location Services and geofences which drain the battery. After the update, no app has a geofence according to Location Services, but if I turn off "Location-Based Alerts" (Privacy | Location Services | scroll down to System Services, and turn off "Location-Based Alerts") then the icon next to the battery goes away and it's all good.

Monday, July 27, 2015

OSX Web Server Folders

Something that I always forget because I don't run a web server on my Mac very often is when I go to localhost I see something different than what I expect. localhost is located here:


While if you are editing ~/Sites then you want:


Wednesday, July 22, 2015

iOS 8.4 iPad Air 2 rotational & wake delay issue work-arounds

There are two iPad Air 2 issues with iOS 8.4 that I personally find pretty annoying and apparently so do others as you can see from this discussion on the Apple message boards.

1. Screen rotation does not work
When running on the iPad, if I rotate the screen before unlocking then screen rotation does not work. The best work around is to disable Reduce Motion:

Settings | General | Accessibility | turn off Reduce Motion.

The screen will now rotate correctly. I really don't like Reduced Motion but not rotating is even worse. Unfortunately battery life suffers.

2. Long wake delay
The only current work-around for the wake delay is to use a Smart Cover/ Smart Case (magnetic wake). I don't use a smart cover so I hope Apple fixes this soon.

There is some additional information in the message on the Apple message boards.

Monday, July 20, 2015

Small Changes in Windows 10 not for the better

There are quite a few changes in Windows 10 and I have hardly uncovered half of them. Many are for the better and many are well less than idea which is cause the majority of the people a bit of a difficult time. I thought Microsoft would have learned from their mistakes before.

Here is the right click menu on the Recycle Bin.

Notice that the "Empty Recycle Bin" is the third item down, when in all previous versions of Windows (I'm not counting Windows 8 because I don't think many people count that as a version) it was the second item.

Many years back Microsoft tested a great idea to reorganize menu items based off use. And by great I mean it was a really bad idea. Research ended up finding that people tend to remember location more than reading the words. Think of it as muscle memory.

There are many other such subtle menu items that have changed location for no apparent reason other than a new feature. A few of them I'm find with, but if Microsoft hopes to get everyone on board with Windows 10, and I think they have a really good chance of success, they need to not change the user interface very much between iterations of Windows.

Wednesday, June 24, 2015

Disable Skype Auto Start

Skype starts automatically and it is pretty trivial how to disable it but you have to know how and that's the key which is why I'm writing this. It doesn't show up in the Registry under Software | Windows | CurrentVersion | RunOnce.

So here is how to disable it:

Launch Skype and login. This is the key step because if you don't login the options are different. Go to the Tools menu and choose Options, under General Settings you'll see the checkbox for start Skype when I start Windows. Uncheck that and you're good!

If you don't have a Skype account, then I think you're out of luck because I've used ProcessMonitor to monitor the registry access and haven't been able to find a manual way to disable this.

Monday, June 22, 2015

Enums in Bash

I find that I use a lot of bash scripts. Using cygwin on Windows, Mac and Linux they are cross platform (for the most part). One feature lacking in bash is enums, but you can simulate them. I ran across this StackOverflow post and there is a nice comment about enums in bash, but it isn't complete.


for ((i=0; i < $tam; i++)); do
    declare -r ${name}=$i

echo get the INITIAL state

echo get the next state from CREATED_CS

echo list elements from CREATED_CS to the end
for ((i=$CREATED_CS; i < $tam; i++)); do
    echo ${STATES[$i]}

echo list elements from CREATED_CS to CREATED_BRANCH
for ((i=$CREATED_CS; i <= $CREATED_BRANCH; i++)); do
    echo ${STATES[$i]}

Often times I want to create an empty enum and add items to it. So here is my example of creating an enum type, OPTION_STATES, defining the enum values and adding an item to it and checking for it later.


# Define enum type.

for ((i=0; $i < $count; i++)); do
    declare -r ${name}=$i
    if [[ $DEBUG == true ]]; then
      echo $name $i

# Create instance of enum type, yes this is a hash table.

# Put an element into the instance.

# Check if that element is in the instance.
if [[ ${OPTIONS[$OPTION_ONE]} == $OPTION_ONE ]]; then
  echo "woo hoo"

Tuesday, June 16, 2015

Desk Ergonomics - Every Diagram on the internet is wrong!

I ran across the following image recently from the article here.

The image is courtesy of Ergotron but I never found it on their website or I would have provided a link other than that one. On a side note, I have tried to use an Ergotron, but it didn't work for me. I'm too tall for one, two it didn't stay clamped to the desk, three the springs were too weak for my monitor, four it bounced when I typed. For someone else it might work out though. I know other people that like them. I think they are shorter and use a smaller monitor.

Anyway, back to my point. I honestly can't stand diagrams like this that have been floating around as long as I've used a computer for the correct ergonomic positioning. There are so many things wrong with this from a movement and ergonomic perspective it isn't even funny. Anyway, I'm going to start writing about this in future articles, but I wanted to point out a couple major issues with this diagram for "ergonomic perfection".

1. The legs are parallel to the floor. Not good. You want your thighs slightly sloped toward the knee. Same goes for the elbow. However sloped forearms makes using a mouse difficult, but I have a solution for this that I will post about in the future. The correct angle for legs and arms is 120 degrees. This isn't always achievable but that is as close to neutral as one can get without standing with their arms at their side and palms facing their legs.

2. The height of the monitor is incorrect. Monitor placement is an extremely complicated subject. It depends on your size and the size of the monitor, and most importantly, where on the monitor you look the most. Like I said, it's complicated. Your eye muscles are very strong in holding your eye up so you can look down, but are much weaker when looking up, so you certainly don't want to be looking up too much. I will write a future post about monitor placement because this is so important.

Monday, June 15, 2015

Rasperry Pi - How can I fix broken sudo - sudo: parse error in /etc/sudoers near line 29?

I recently got a Rasperry Pi and I've googled for many little oddities so I figured I'd write them up here on this blog to save anyone else out there some time.

I decided to create a new account it administrative privileges. So I create a new account for myself and enable sudo for it.

sudo adduser chris

Then add a line to the /etc/sudoers like so.

sudo visudo

This will open the /etc/sudoers file in nano, add a line just like the one already there for the pi user.


However, I spelled PASSWD correctly. And consequently get:

sudo: parse error in /etc/sudoers near line 29
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Can't shutdown, can't edit /etc/sudoers. So I thought I was stuck. Looking online if you have Linux you can put the SD card in your card reader, and mount the file that is rasparian image and edit to your hearts content. On Mac you can sorta do it with Fuse-ext2. Here is the best set of directions for that But, I decided to try something I hadn't seen before:


Then I logged in with "root"! Now I could edit /etc/sudoers all I wanted.

Friday, June 12, 2015

Windows 10

I just installed the Windows 10 preview in a VM on my Mac. So far so good! I think this is going to be a pretty good release of Windows.

Thursday, June 11, 2015

iOS Privacy Settings

Here are a couple privacy settings that I like to make changes to and I'm documenting here so I can point friends and family to this post.

1. Settings, Privacy, scroll down to Advertising, turn "Limit Ad Tracking"

2. Settings, Privacy, Location Services, scroll down to System Services, Frequent Locations, turn it off.