Laptop Downsizing

My Laptop Setup

From 512 Pixels:

Currently, I'm using a Mid 2015 15-inch MacBook Pro with Retina display. It has an 2.5 Ghz i7, 16 GB of RAM and a 1 TB of SSD storage. It's the fastest, most capable Mac I've ever owned. ... I went with the 15-inch because I thought I'd be using it as a notebook way more than I actually do.

(http://www.512pixels.net/blog/2016/2/the-notebook-dilemma)

I fell foul of this when I started remote working, I bought a maxed-out 15” Retina MacBook Pro thinking I’d need something powerful for at my desk and something I could carry around for when I needed to get out of the house.

Unfortunately, due to the size of the rMBP, I never took it out and ended up with the same ‘tied to my desk’ feeling I would’ve had with a desktop Mac.

The best thing I did, for my productivity (and my mental wellbeing) was trade the rMBP in for a far, far less powerful 12” MacBook. Yes, it’s slower, which can be especially noticeable when I’m coding or photo editing but now I feel like I have far more freedom and I work in other (more interesting) locations more often.

I don’t regret the decision to trade down, all I had to do was swap some power for a bit of patience, which was worth it in the long run. It’s something I’d definitely recommend considering if you have a large laptop but still feel ‘stuck’ in the home office.

Cloning Permissions And ACLs On OS X

Sometimes permissions get messed up, it’s normally easy to fix, but if the problem also breaks your access control lists (ACLs) then the fix can be much more time consuming (especially when external drives are involved).

Most of the time, for a quick fix, I use the commands below to clone the permissions and ACLs from a known good folder to my broken folder. Usually, this is all I need.

chown $(stat -f%u:%g "$SRCDIR") "$DSTDIR"
chmod $(stat -f%Mp%Lp "$SRCDIR") "$DSTDIR"
(ls -lde "$SRCDIR" | tail +2 | sed 's/^ [0-9]*: //'; echo) | chmod -E  "$DSTDIR"

Either set the environmental variables as you need to or replace them directly (liberal use of sudo may also be required depending on the folder being updated).

I can’t take credit for the above commands, I discovered them on StackOverflow a good while ago and added them to my useful snippets - if I come across the original I will add the necessary credit.

Software Updates

I’ve finally gotten round to updating iSyncIt and Set Icon for Snow Leopard, as always you can download iSyncIt here and Set Icon here.

The new release of iSyncIt fixes the only bug I could find under Snow Leopard – the icon not changing correctly under bluetooth on / off conditions.

The Set Icon release fixes the problem of the application not performing its one and only function – setting a drive icon. Along with the bug fix I modified the image conversion to prevent the (frankly awful) stretching of non-square images to fill a 512×512 icon, images now scale nicely. I also removed the terrible tool-tips that show up when you start the application I used to think they were ‘cool’ but soon realised the error of my ways. However, in place of this I added some ‘brilliant’ window resizing when you remove an icon – we’ll see how long that lasts. Oh, the application will also run as a 64 bit application now – not that that makes any difference what-so-ever, I just did it because I could.

Check back soon.

Updates, Updates, Updates

Again, it has been quite a while since my last post (almost a month in fact) and quite a lot has happened since then. Any regular visitors to the website will have noticed the new theme, the website maintains the new layout released a couple of months ago but the colour scheme has changed to something a bit more minimal. Along with the new theme I have re-introduced some small adverts to the bottom of pages and modified the URL of the blog feed to allow tracking through FeedBurner.

The other main updates to the website are the introduction of My Book Icons 0.8 and My Passport Icons 0.3. The My Book Icons update includes a new icon for the Western Digital My Book Studio II drive. Both of the icon sets now include icons in Windows ICO format and Linux PNG format. On the Mac side of the icon sets, after popular demand, I have added copy & pasteable icons to allow setting of icons using the “Get Info” window in Finder.

You can download My Book Icons here and My Passport Icons here

That’s all for now, check back soon.

My Passport Icons

By popular demand, but a little late, I have released a set of icons to represent the Western Digital My Passport range of external hard drives, this release was driven primarily by requests that I have received and the fact that I have just purchased a WD My Passport drive myself.

For now the release contains only two icons, they are for the red and black “Essential” variants of the My Passport drive. I will be releasing icons for the remaining drives shortly so if you don’t have one of the two drives included keep checking the website.

You can download the icons here.

I will be writing a post shortly to explain why my presence has been lacking recently and why releases are so slow in coming too, so, check back soon.

Just A Few Updates

It’s been almost a month since my last post and a lot has happened since then so I thought I’d bring any readers of my blog up to date.

If you are a frequent visitor to the website you may have noticed the new layout (implemented about 20 days ago now). The layout is much simplified over the old layout. It makes use of a single column layout with items from the old sidebar in the top corners. For now the advertising and Last.fm widgets have been removed whilst I decide if they should make an appearance in the new website. The visual changes comes with a fairly comprehensive code re-write that should drastically improve the performance and security of the website, the changes come thanks to a series of Rails podcasts I have discovered, you can find them here.

A quick list of the main changes to the website are as follows; the removal of all AJAX & AJAX-like functionality (other than Lightbox), everything now works statically for increased accessibility, the blog can now be browsed by category. More user feedback has been introduced. The appearance of forms has been improved and the website now makes sole us of PNG and JPEG images for transparency and quality.

The secondary reason for this post is to officially announce the availability of iSyncIt 1.5, you can download it here. This release, whilst not been too far detached visually from version 1.3.1 comes with a boat load of code improvements. The main changes are as follows; a new preferences system, doesn’t look any different but it’s easier for me to manage. The move to Leopard only. A fix for the problems that were caused in version 1.3 by Growl notifications. You can now enable & disable the login item from within the application. Updates to Sparkle & Growl. Menus now update properly. Scheduling now functions better and the control of bluetooth is improved.

Finally, an unfortunate side-effect of the iSyncIt re-write is the loss of German localization. I will be getting in touch with my friendly volunteer translator shortly to see if he will be willing to re-localize the application for me.

That’s all for now, check back soon.

Set Icon, The Initial Release

After literally tens of emails from people having problems applying the ‘My Book Icons’ to their external hard drives I came to the decision that I needed to write some software to make the whole process a little easier. The result of this decision and a couple of (short) days work is Set Icon.

You may remember from my previous tutorial that setting a custom hard drive icon (correctly) required some Terminal wizardry and some extra command line tools. Set Icon provides and all in one, drag and drop way of setting a custom (ICNS format) icon for a hard drive (including your internal hard drive), without the need for any external tools.

The advantages of using Set Icon rather than copy & paste are; the icon will appear correctly in the Finder sidebar under Leopard, will appear correctly when the hard drive is mounted over a network and will appear correctly in the Boot Camp chooser.

There are a few extra features I plan on adding to Set Icon and I also plan on creating a Tiger compatible version in the near future so all you Tiger users don’t feel left out.

You can download Set Icon from its software page. If you like the software please consider making a donation using the button on the right hand side of the website.

That’s all the news for now, check back soon.

My Book Icons 0.7

It must be that time of the year again, I’m on holiday so I’ve started to update all of the downloads I maintain. The first of these updates, and the one most requested, are the vertical orientation icons for the new Western Digital My Book drives. You can download the new version of these icons from the downloads page. I am planning on updating iSyncIt in the next few weeks too.

The website has also undergone a bit of an update, nothing major, just a few tweaks to make things work a little better now. For example when you login, you will no longer be sent to a confirmation page, you will be returned to the page you were on. Much more convenient when posting comments.

P.S. If you are having trouble applying the icons see if this tutorial helps: Setting Hard Drive Icons In OS X.

That’s all for now, check back soon.

The Advantages Of Time Machine

I wasn’t sure about Time Machine when it was announced, sure it was great to have regular, up-to-date backups with no effort but I couldn’t believe that restoring would be as easy as Apple said it would be. Unfortunately I had a chance to test Time Machine to its fullest in the week just gone.

My iMac was feeling a little sluggish so I ran the cleanup scripts in a program called OnyX, the program has never let me down before but as the scripts were running I noticed the whole contents of my home directory beginning to disappear. I panicked a little but new Time Machine had just completed a backup before I ran the scripts.

First I tried restoring all my data from Time Machine piece by piece but it was taking far too long. The solutions was easy, boot of the Leopard DVD and select the option to restore my whole system from time machine, 45 minutes later the computer rebooted and I was greeted with my old system, all my files, back where they used to be like nothing had happened.

My Aperture library was backed up separately using vaults because Time Machine always insists on backing up the whole library, the restore for Aperture was another half-hour and all my photos were back too.

I couldn’t have asked for an easier restore, yet another shining example of Apple’s software. I won’t personally be using OnyX again but a word of warning, if you don’t use Time Machine, back up your system as frequently as you can afford to. You think data loss will never happen to you but more than likely it will and it saves a lot of trouble (and possibly heartbreak) if you have good backups.

Check back soon for more tales of survival.

How To Ruin Your Filesystem

It’s been a while since I last posted, and, as my iMac is currently ‘busy’ I thought now would be as good a time as any for my first post of the new year. First of all I have to say, Happy New Year, a bit late I know but better late than never. Now I can get to the true purpose of this post.

This post is a cautionary tale about external hard drives and, what I see as an error in Mac OS, more specifically, Leopard. In my endeavor to keep as many Time Machine backups as possible I have recently retired my old Western Digital My Book Premium 320GB in favor of a Western Digital My Book Studio 1TB. The hard drive itself is great, really quiet, large size. It is due to the large size that I am now in the situation I am in.

Because of all my new found space I realized I could keep Time Machine backups of both my iMac and my PowerBook on the same drive. To keep backups of the PowerBook my idea was to mount the WD drive over AFP on my PowerBook and Time Machine from there, this would have been the sensible thing to do, however backing up over 11GB of the network would have been time consuming so I opted to create a network, temporarily, with firewire, so it would be much faster.

It would appear however that firewire daisy chaining works in mysterious ways, when I connected the iMac and PowerBook with a firewire cable the WD drive was ‘passed through’ to the PowerBook and appeared mounted on both desktops. I thought this was a clever feature of Leopard and used it to my advantage & started the Time Machine backup.

The backup subsequently hung, so I stopped it, decided I couldn’t be bothered and I could live without Time Machine for my laptop. I tried using the drive again on my iMac, first deleting the image created by the PowerBook & received an error. Then after trying to verify the drive and finding it couldn’t be repaired, realized I had found what could be considered to be a bug & a combination of my own stupidity.

I am currently running DiskWarrior and the external drive if full of overlapped files. This is because the ‘pass through’ was not a clever Leopard trick, it was a result of the firewire implementation (that could have been blocked in the OS I am sure), and caused simultaneous writes to my external hard drive to occur.

Fortunately it only appears to have written off my Time Machine backups (it was Time Machine that started up on the iMac whilst the PowerBook was doing the same) and not the other data on the drive, which I managed to salvage (in case DiskWarrior fails) by mounting the drive in read only mode.

Take my advice, think before you do something like this, I should have realized this would happen but I thought Apple were good enough to stop me doing something this stupid.

Check back soon for more useful posts.

More Western Digital Icons

That’s right, I’m home for Christmas and I’ve added some new icons to the set. Just as I promised. The main additions to the set are icons for the WD My Book World line of drives, both vertical and horizontal as always. Unfortunately there are no Vista variants for now, because I don’t have Vista installed at the moment, but if anyone would like to donate copy of Parallels or Fusion to me, feel free.

There have been a few more requests for icons for the set, the obvious ones are the icons for the new style WD My Book drives, I will, all being well, have those added in the next week. I’ve also had a request for icons for the WD Passport drives, I will see what I can do.

You can download the new icons set from here. Check back soon for more improvements.

Setting Hard Drive Icons In OS X

Another day and I’m finally getting around to writing another tutorial. This time I thought I concentrate on something I’ve had quite a lot of emails about, ’you’ve given me the icons, how do I go about using them’. I suppose it’s quite an important thing, if your supplying people with something, to tell them how to use it. (Warning: this is a Mac only tutorial).

In previous version of Mac OS X, before Leopard you could get away with applying HD icons though copy and paste alone, and from that point on everything would work fine. Unfortunately, one of the first things I noticed about applying HD icons in Leopard is that copy and paste gives bad results, especially for the scaled down versions of the icon in the new Finder sidebar.

I eventually found the correct way to apply the icons, it involves a little bit of Terminal usage but don’t be afraid. (I have a sneaking suspicion you may also need the Apple Developer Tools installed, these should have been included on your Leopard DVD). I believe this tutorial also applies to setting HD icons on previous versions of Mac OS X.

The first command we will execute in the Terminal copies the icon resource (.icns file) to the correct place on the target HD. You will need to fill in the paths in a way suitable for your system but you can do this by dragging and dropping onto the terminal window.

sudo cp -f /Path_to_Icon/icon_file.icns /Path_to_Drive_Root/.VolumeIcon.icns

Not too difficult was it. The next line will tell the HD to accept a thrid-party icon.

sudo SetFile -a C /Path_to_Drive_Root

The final line will restart the Finder so you can see the changes.

killall Finder

And that’s it. You should see your new icon in the Finder and the correct scaled down version in the Finder sidebar.

Hope you get it working. Check back soon.

Update: After many emails I have written a small utility called Set Icon that automates this process, if you are not feeling confident with the Terminal commands you can download it here.

Update: I’ve just got my hands on a copy of Snow Leopard and the above instructions still seem to work correctly, happy icon changing.

Issue with 1.3 [Updated x2]

I have received several bug reports about version 1.3 of iSyncIt closing after the sync has been completed. I have now narrowed down the cause of this problem and will rectify it ASAP. For the moment you can use the previous version of iSyncIt by downloading it from:

https://files.pardoe.io/iSyncIt_121.dmg

Update: The crash appears only to affect Intel Macs, I’m looking into the issue and hope to have a fix sooner rather than later.

Update: I have now (at least I think) fixed the bug that has been plaguing iSyncIt on Intel macs. The new version of iSyncIt is 1.3.1 and you can download it here.

Check back soon.

New Version Available

Version 1.3 of iSyncIt has been released, this release adds Growl support and will be the last release for Mac OS X Tiger. This is due to the fact I only have one machine for testing and it now runs Leopard. You can download the new version here.

From my preliminary tests iSyncIt appears to work in Leopard, but it will still be undergoing a re-write to take advantage of Objective-C 2.0 and the new Interface Builder palettes. The next release may be in development for a little longer than normal, but I promise I won’t forget about it.

That’s all for now, check back soon.

Problems

I am aware that there were a few problems with the website earlier today and most visitors that weren’t downloading files received “HTTP 500” errors. The problem turned out to be a rouge FastCGI process that was created and wouldn’t shut down or handle requests, I have shut the process down manually now and all systems should be running fine.

On another note regarding problems, I have been made aware of a bug in iSyncIt that causes iSyncIt to crash under certain circumstances. I have only had one actual report of this but if you have also being experiencing problems please contact me through the website. Please include details of your system, language etc. in your bug report. I am working on a fix as you read this.

Thanks in advance, check back soon.

Small Update

iSyncIt has been updated yet again, just a few localization corrections, not much else. Download it here.

Check back soon.

New iSyncIt

Well, I’m posting this a little late, I had completely forgotten about posting information about the update on my own website, yet I’d posted on everyone else’s. That’s right iSyncIt 1.2 has been released and as always you can download it here. The main changes in this release are the introduction of German localization, to match this iSyncIt is now bundled with the localized version of the Sparkle update engine. As for interface enhancements the time of last sync is now shown in the menu, this time comes from iSyncIt’s own records rather than iSync’s records. I have also introduced a menu bar icon that changes depending on the current bluetooth status again this is a work in progress but works well if you use iSyncIt to control your bluetooth power.

That’s all for now, check back soon.

Another Update

I’m pushing them out as fast as I possibly can now. iSyncIt has been updated yet again (download here) to version 1.1. The main emphasis for this version was a revised scheduling system. I was happy with the previous system but after many emails I felt it was necessary to implement a time based system as well as the current timer based system. This new system makes the program much more useable and should cater for the needs of many more people. It may also have introduced a few bugs so feel free to email me with them using the contact form.

My plans for the next release of iSyncIt include a menu bar item that will change depending on the current bluetooth status, unfortunately this requires a re-write of my older, less well formed menu bar code so this release will take a little longer to push out than recent releases, but please bear with me.

Check back soon.

More Java & TextMate [Updated]

Update: Unfortunately this doesn’t seem to work any more.

A while ago I wrote a short post (here) about some additions that I had made to TextMate in order to improve its compiling of Java applications, I had made the changes because I had started programming in Java at university and wasn’t happy with the way that TextMate handled the files. In the post I promised a follow up post detailing some other improvements I had made to the Java bundle, finally, that post is here, sort of.

I’ve made so many changes to various bundles and themes it has become to difficult / long winded to document the changes in a post so instead, I have decided to release the changes as a small download from the website. You can find the files you will need on the relevant software page (this does not work anymore, read the update at the top of the page). The main changes are some slight tweaks of the Blackboard theme, the main theme I use and the addition of some new snippets, the compiling shortcuts from my previous post & some menu reordering in the Java bundle.

Make sure that you follow the instructions on the download page or in the README file when installing the files, I don’t want you to go breaking your computer now.

Sorry for the delay in this one, hope it satisfies you appetite, check back soon.

Scheduling & Photos

Things appear to be moving along more quickly than expected this week, I posted my main application iSyncIt and the My Book Icons on a few forums and the Apple software website and suddenly the visits to my website have rocketed from 200 a day up to 700 hits or more a day. Not as massive as some websites but it’s certainly an incentive for me to do some more work.

After many requests I have started to implement a more suitable scheduling system in iSyncIt, I added the original system for people that change their calendar and contacts very often but it seems people want more flexibility so I am currently coding something more suitable and user programmable.

Also, partially as an experiment and partially due to me wanting to unify my websites into a single website I have today programmed and uploaded a photography section to the website. This portion of the website showcases some of the better photographs that I take, for other people to see. It has been created using the ‘rflickr’ gem and my Flickr Photostream. I had several problems creating the section due to the lack of documentation for the ‘rflickr’ gem, so I will be writing a tutorial in the coming days to help other people who want to create something similar.

Well, thats all for now, check back soon.

The Dark Side

Today I have done the unexpected and moved to the dark side, well, for a few minutes anyway while I release version 0.4 of My Book Icons, the main change for this set of icons is the inclusion of Windows versions of all the icons, including resources for Vista. My main reason for doing this is to give people some consistency between their OS X and Boot Camp / virtualization installations of Windows. But I don’t object to pure Windows users using the icons either, so, anyone that wants them, feel free to download them here.

Now you have recovered from the shock of reading the above I can tell you about a couple of other changes, to the website mainly. In order to try any fund the website and my software / graphics development I have introduced Google Ads to the website, I’m not particularly fond of Google Adverts so I’ve tried to make them as minimal and tasteful as possible, you will only see adverts in the header above and at the bottom of blog and software pages in the form of text ads.

If you like the work I produce I would also like you to consider making a donation using the button to the right (on the website if you are viewing this through RSS), any amount you choose to donate would be helpful to me.

Any money raised through adverts / donations will go towards funding the website and my development of software / graphics. In terms of development the money will be used for my Intel Mac fund so I can develop Universal applications that I can test properly as at the moment all my development is completed on a 12” PowerBook.

Thanks for you time, check back soon.

So Many Changes

Well, it looks like I lied, the iSyncIt release took longer than expected, due in part to my own laziness when it comes to programming but I put the effort in and iSyncIt 1.0 has finally been released. You can download it here.

The main changes to iSyncIt are the removal of the function to remove files installed by versions less than 0.4, the introduction of a preference to change the menu bar icon to one with a little more colour – this is at the request of several people that have emailed me. The final and largest change is the introduction of scheduling for your syncs, this means that you can now tell your computer to sync with your devices every 15, 30, 60 or 120 minutes, it even takes into account your bluetooth control preference. Along with the release of iSyncIt I have also re-vamped some of my smaller applications.

Kill Dashboard, Web Server Management and Kill Front Row have all gone to version 0.2, the main changes to these applications are improved workflow and brand new icons so you can actually keep them in the dock. I’ve also had a little fun with the icons for Kill Dashboard & Kill Front Row.

To continue the theme of making new icons I have released the My Books icons I created for my own external drive to the internet. After very high demand for the icons and a large number of requests I have added the larger My Book drives, vertical versions of the icons and Leopard 512×512 resources to the icon package. You can download them here.

I don’t think I have any other news at the moment, I’m sure i’ll think of something though whilst trying to come up with my next project and more features for iSyncIt. Check back soon.

TextMate, Java & Compiling [Updated]

For those of you that do not already know TextMate is a brilliant text editor for Mac OS X, including syntax highlighting and the most useful snippets system I have ever come across. If your a budding coder and want to try it out visit: macromates.com, and download a copy.

This post illustrates some of the bundle items I have either modified or added to TextMate to make it easier to use for Java development. If you use TextMate already then hopefully you will know how to use the bundle editor if you don’t then there is some good documentation available here.

In the code snippets below a ‘\’ at the end of a line indicates the code continues but is illustrated on the line below.

  • Compile, but no run.
echo "<h2>Compiling $TM_FILENAME</h2>"
cd "$TM_DIRECTORY"
javac -encoding UTF8 "$TM_FILENAME" &> >("${TM_RUBY:-ruby}" -rtm_parser -eTextMate.parse_errors)
  • Run in terminal.
osascript <<EOF
  tell application "Terminal"
    activate
    try
      close front window
    end try
    do script "cd '$TM_DIRECTORY'; java '${TM_FILENAME%.java}'"
  end tell
EOF
  • Compile and run in TextMate.
echo "<h2>Compiling $TM_FILENAME</h2>"
cd "$TM_DIRECTORY"
javac -encoding UTF8 "$TM_FILENAME" &> >("${TM_RUBY:-ruby}" -rtm_parser -eTextMate.parse_errors)
if (($? >= 1)); then exit; fi

{ java -Dfile.encoding=utf-8 "${TM_FILENAME%.java}" echo -e "\nProgram exited with status $?."; }|pre
  • Compile and run in terminal.
echo "<h2>Compiling $TM_FILENAME</h2>"
cd "$TM_DIRECTORY"
javac -encoding UTF8 "$TM_FILENAME" &> >("${TM_RUBY:-ruby}" -rtm_parser -eTextMate.parse_errors)
if (($? >= 1)); then exit; fi

osascript <<EOF
  tell application "Terminal"
    activate
    try
      close front window
    end try
    do script "cd '$TM_DIRECTORY'; java '${TM_FILENAME%.java}'"
  end tell
EOF
  • Compile and run package item. This also relies on you setting a CLASSPATH variable in you .bashrc, and will only work for packages one deep, still useful if you are just starting out with Java.
echo "<h2>Compiling $TM_FILENAME</h2>"
cd "$TM_DIRECTORY"
javac -encoding UTF8 "$TM_FILENAME" &> >("${TM_RUBY:-ruby}" -rtm_parser -eTextMate.parse_errors)
if (($? >= 1)); then exit; fi

export CURRENT_DIR=`pwd | sed -n 's/.*\///p'`

{ java -Dfile.encoding=utf-8 $CURRENT_DIR."${TM_FILENAME%.java}" echo -e "\nProgram exited with status $?."; }|pre

This post was just an illustration of how to make compilation in TextMate for Java more useable, in the next post I will be adding some new snippets, the ones that are missing from the original TextMate bundle.

Update: I have now (finally) expanded on this post, you can read about more changes here.

We're Almost There

iSyncIt 0.9 has been released, the last minor update before the big 1.0 & feature unfrozen release. If you have any particular requests for features then you can contact me and I will see what I can do. I cannot see any obvious problems withe 0.9 release but if there are bugs then they will be corrected in incremental 0.9 upgrades then the necessary code migrated to 1.0.

For those of you that are interested, the current features that are in the works for 1.0 are:

  • Scheduled Syncing
  • Localization
  • Dashboard Widget

Not many features but hopefully enough to keep you users happy for a while.

(I am trying to get .Mac to sync as well but this is proving to be more difficult, if I can work it out, this will also be in the 1.0 release.)

It's Finally Out The Door

At last iSyncIt 0.8 has been released. The main issue fixed with this version are the crashes that occurred, especially when syncing more than once, if you find any more problems don’t hesitate to contact me. I have also created new icons for the software, a more dock friendly (if you choose to put it on your dock) and more ‘Mac’ main icon and a more individual menu bar icon, unfortunately it is still not animated but i’m working on it. So download and enjoy.