April 30, 2013 at 4:54pm

1 note
Reblogged from tperfitt

Safari Extension to open Twitter.app from OS X Notifications Center

tperfitt:

One of the things that bug the crap out of me is when you click an OS X notification of a tweet in notification center, it opens up twitter.com in Safari.  I usually use the Twitter.app desktop client, and it is disorienting and inconvenient to get notified of a tweet, and then be prompted authenticate to the twitter website.  Here is the flow of the problem:

I create a sweet tweet in Twitter.app:

image

And I hit send.  I then start doing other things, like Xcode or Mail.  Then someone responds:

image

I think that is a cool response, so I click the notification.  BOOM!  I get this in Safari:

image

WHAT?  WHO?  I expected to it to go to Twitter.app since that is where I  started the sandwich conversation.

It was low level irritation, and then I saw this on Daringfirball:

http://daringfireball.net/linked/2013/04/25/twitter-mac

Now, if only they would let Apple open this app instead of the twitter.com website when you get notifications through OS X’s built-in Twitter support.

I would love that!  For me, it would be good enough if it just opened the twitter app, since it would pretty much be near where I want.  So I wondered if Twitter.app had a URL handler, and entering in twitter:// in Safari opened up Twitter.app.  

AHA!  I could now write an safari extension to see if I was going to a twitter.com address, and then open a twitter:// URL.  I’m pretty good at Objective-C, but not so much javascript. Our web guy gave me this:

if(window.location.href.match(/^https:\/\/twitter.com.*/)){window.location=’twitter://’}

And then I created a Safari Extension and put it on github:

https://github.com/twocanoes/twitterlauncher

and now when safari loads up a https://twitter.com URL, the page finishes loading, and the Twitter.app opens (or comes to the front).   Same for notification center.  Not perfect, but better.

Download it here:

Twitter Launcher

April 25, 2013 at 1:41pm

1 note

WWDC2013 sold out in 90 seconds.  Here is a linear graph showing how long that is relative to the last 5 years.  From data from @akosma

March 28, 2013 at 10:01am

0 notes

Boot Runner 1.3

Boot Runner 1.3 has a feature that we are very excited about: The ability to schedule a startup volume selection based on a schedule.   Our customers have been asking for a way to keep their Windows machines up to date, and it has been problematic in the past since it requires the dual boot machines to be booted into Windows during specific times.  Windows updates may be managed by a different group than the group that manages a lab, and the updates and patches happen automatically if the dual boot mac is in Windows at the correct time.  Assuring that the computer is in the correct OS has been a challenge, and we addressed with version 1.3.

Through both policy and in System Preferences, a lab manager can select  a time period where a specific volume is automatically selected and will continue to be selected until the time period has elapsed.  So if your Windows updates happen between 2 am and 5 am, you would set Boot Runner to select the Windows volume during those times and the Mac would reboot into Windows right at 2 am.  If the update process reboots the machine, it would go back to Boot Runner, and if it was still between 2 am and 5 am, it would reboot back to Windows for any additional updates.  When 5 am is reached, a final reboot is done in Windows and the Boot Runner screen is displayed and ready for students to log in.

Another feature we added was a time delay.  Prior to 1.3, if you had a volume automatically selected, Boot Runner would immediately select it.  There was no time to select a different volume.  In 1.3, we introduce a 60 second countdown that gives the user an opportunity to select a different volume.  This countdown is configurable via a preference key, and can be set to any number of seconds that a lab manager wants.

I made a quick video so show this new features, and we updated the documentation to include the new keys.

As always, let us know of any feedback.

tim

March 22, 2013 at 11:09am

0 notes

A quick video to show setting up a Geohopper notification when exiting a location.  Tim shows how he sets up a trigger so his wife knows when he leaves the office.

March 18, 2013 at 10:30am

0 notes

Boot Camp on Large (3 TB+) drive with 10.8.3

With the release of 10.8.3, Apple has provided support for Boot Camp on 3 TB or larger drives.  This is important because 3 TB drives are now becoming more common.  They are still a build-to-order option on the iMac, and until the 10.8.3 update, it was not possible to use Boot Camp assistant on 3 TB (or larger) drives.  While it was still possible to set up the partitions so that you could install Windows and still use all of the available space, you still either had to pave and rebuild the partitions or be happy with two Mac volumes and a Boot Camp volume.  The 10.8.3 update provides support for Boot Camp on 3 TB or larger drives by combining the 2 Mac partitions into a single Mac volume, and making sure the Windows partition is within the first 2.2 TB (allowing it to boot using the legacy MBR boot dance). 

Core Storage

In Apple’s own words (from the man page on diskutil): 

CoreStorage maintains a world of virtual disks, somewhat like RAID, in which one can easily add or remove imported backing store disks, as well as exported usable volumes, to or from a pool (or several pools). 

Core Storage is what provides the functionality behind File Vault 2 (full volume encryption) and is what is used to provide the 3 TB support for Boot Camp.  The important piece to understand about Core Storage for Boot Camp support is even if you see a single volume on your desktop, it is possible a single Mac volume might be made up of multiple physical partitions on the disk.  Core Storage has its own terminology as well.  The volume you see on your desktop is called a Logical Volume, and can be made up of multiple Logical Volume Groups, and those groups are made up of physical partitions. For Boot Camp support, Core Storage is relatively simple.  The Mac volume you will see on your desktop is made up of a single Logical Volume, and that Logical Volume has a single Logical Volume Group, and that Logical Volume Group has 2 physical partitions.  

image

Boot Camp Booting on Intel Macs

Booting Windows on Intel Macs uses the legacy MBR type booting (versus the newer EFI based booting).  This provides the ability to support both Windows 8 and earlier versions of Windows.  However, in order for Windows to boot using this legacy method, the Windows partition must be completely within the first 2.2 TB’s of the physical disk. This wasn’t an issue when 2.2 TB was considered crazy huge.  With the new 3 TB and larger disks, this causes booting issues for booting Windows on an Intel Mac.  The other limitation of legacy booting on Intel Macs is that the Windows partition must be the last used partition of the first  four partitions on a disk.  The partition table on Intel Macs is the GUID partition table (GPT) and it requires that the first partition be a small EFI partition.   OS X also installs a recovery partition, which is normally partition three.  OS X and all user data are on partition three.  So that works out great, as we put the Windows partition on partition four, and it can boot since it is the last of the first 4 partitions.  But then the other requirement hits us: the Windows partition must be within the first 2.2 TB.  So we now what seems to be an impossible task: put Windows on the last of the first 4 partitions, but keep it within 2.2 TB on a 3 TB drive, and use all the available space and keep the Mac data as a single volume on the desktop.

Core Storage to the rescue!

One of the solutions to this issue is to create five partitions:

1: EFI Partition
2: Mac Partition #1
3: Recovery Partition
4: Windows Partition
5: Mac Partition #2

As long as Windows is within the first 2.2 TB, Windows will boot fine.  Mac Partition #1 and Mac Partition #2 will boot as well, as long as they have OS X on them.  However, people would rather have a single Mac partition rather than 2 separate partitions.  You can use Core Storage to combine the 2 Mac partitions, but prior to 10.8.3, you had to backup all the data, create the Core Storage Volume and then restore all the data.  With 10.8.3, OS X is now able to create Core Storage volumes on a live OS, as well as add create Core Storage Groups and add physical volumes to them.  So ultimately, that is what happens with the new Boot Camp Assistant in 10.8.3.  

Boot Camp on a stock 3 TB drive

If you install a 3 TB drive yourself and it did not come with your Mac, it won’t have any Core Storage Volumes (in fact, it probably won’t even be GPT).  If you use the OS X installer and create a partition using Disk Utility, you’ll have a GPT formatted disk with a single Mac partition that will look like this:

1: EFI Partition
2: Mac Partition
3: Recovery Partition

image

The single Mac partition will not be a Core Storage volume, and because of this, Boot Camp Assistant on 10.8.3 will not see it.  You can dynamically convert it to use Core Storage, and then Boot Camp Assistant will see it fine.

Converting a GPT partition to a Core Storage Volume

To convert a GPT partition to be a Core Storage Volume, use command line utility “diskutil”:

diskutil cs convert /

This will add the physical partition to new Core Storage Group, and then add that group to a Core Storage Volume, and mount the volume.  The volume you see mounted on the desktop will look the same, but it is now part of Core Storage.  Opening Boot Camp Assistant, you’ll see that it now recognizes it and can create a Boot Camp partition:

image

After Boot Camp Assistant runs, there will be a single Core Storage Volume made up of one Core Storage Groups, and that Core Storage group has 2 physical volumes.  The actual partition table is exactly like we had before when working around the issue with two Mac partitions:

1: EFI Partition
2: Mac Partition #1
3: Recovery Partition
4: Windows Partition
5: Mac Partition #

But now with Core Storage, the two Mac volumes are combined together:

bash-3.2# diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 4181C0E8-648A-4D75-84B9-B1B498C1A3F7
    =========================================================
    Name:         Mac3T
    Status:       Online
    Size:         1499598979072 B (1.5 TB)
    Free Space:   0 B (0 B)
    |
    +-< Physical Volume F7E14482-4B67-4E13-AA4F-A9111E1D7362
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     698162438144 B (698.2 GB)
    |
    +-< Physical Volume 8C48B830-57B6-4D6D-9737-0E05309C0C20
    |   ----------------------------------------------------
    |   Index:    1
    |   Disk:     disk0s5
    |   Status:   Online
    |   Size:     801436540928 B (801.4 GB)
    |
    +-> Logical Volume Family 5948B358-2B67-40C6-9FB7-9F523D6D9AFA
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume 1B076CF7-D7DD-4429-8B6F-6DC6AF0AB5B7
            ---------------------------------------------------
            Disk:               disk1
            Status:             Online
            Size (Total):       1498994987008 B (1.5 TB)
            Size (Converted):   -none-
            Revertible:         No
            LV Name:            Mac3T
            Volume Name:        Mac3T
            Content Hint:       Apple_HFS
bash-3.2# diskutil list
/dev/disk0
   #:                TYPE  NAME                   SIZE       IDENTIFIER
   0: GUID_partition_scheme                       *3.0 TB     disk0
   1:                   EFI                       209.7 MB   disk0s1
   2:     Apple_CoreStorage                       698.2 GB   disk0s2
   3:            Apple_Boot Recovery HD           650.0 MB   disk0s3
   4:  Microsoft Basic Data BOOTCAMP              1.5 TB     disk0s4
   5:     Apple_CoreStorage PV2                   801.4 GB   disk0s5
   6:            Apple_Boot Boot OS X             134.2 MB   disk0s6


Note a couple of things:

  1. The size of slice 2 and the size of slice 5 (the two Core Storage) add up to 1.5 TB, which is the size of the Mac volume.
  2. The BOOTCAMP partition is 1.5 TB and is not a core storage type.
  3. The BOOTCAMP partition falls completely within the first 2.2 TB of  the partition table.

You can now go forth and install Windows or restore a Winclone image

Conclusion

In order to support booting Windows on OS X with drives larger than 2.2 TB, Apple had to support EFI booting, allowing the Windows partition to boot from any partition of the first 4, or split up the Mac volumes and then combine them with Core Storage.  By choosing the option of splitting up the Mac volumes, it allowed them to support most all of the versions of Windows 7 and Windows 8.  You are still limited to 2.2 TB for the Windows volume, but that is still a tremendous amount of space.

Reprise

I shot a quick screencast showing the process of converting the 3 TB drive to Core Storage and probing the partition table.

BootCamp3TBDrives.mov from Twocanoes Software on Vimeo.

March 15, 2013 at 10:51am

0 notes
Using geohopper to notify folks on my way into Chicago.

Using geohopper to notify folks on my way into Chicago.

March 14, 2013 at 9:06pm

0 notes

3 TB Drive support in 10.8.3 update

The OS X 10.8.3 update just hit, and had this gem:

Boot Camp support for Macs with a 3TB hard drive

We’ll be digging into it bit more, but it appears that the support is not due to EFI support for booting Windows, but rather some fancy use of core storage in OS X.  The Windows partition still exists below the 2.2 TB boundary, and core storage combines the partition before and after the Windows partition to be a single volume.  Very similar approach to the one outline on the twocanoes.com site, but has the additional benefit of being able to merge the partitions without rebooting (though we haven’t confirmed this yet).

Here is the support doc that lists the feature:

http://support.apple.com/kb/DL1640

March 13, 2013 at 5:10pm

2 notes
Reblogged from rtscheil

rtscheil:

Geohopper RSS Feed Screen Saver

As Tim puts the finishing touches on Geohopper, we’ve been testing various ways that Geohopper can talk to other well-established services on the internet.  One that I’ve found surprisingly useful, despite the potentially low “wow” factor is the RSS feed screen saver.  RSS feeds are nothing new and are the basis for many of the news aggregators that most of us read daily without even knowing about how the aggregating is done. 

RSS stands for Rich Site Summary, a standard XML format that allows the syndication of text, video, photos, (content, in other words) across multiple sites.  In the pre-Internet era, syndication of news and entertainment was the way content was distributed from national production companies to local affiliate stations around the country.  RSS format is now an accepted standard and the primary way many people now receive their daily news.  A multitude of RSS reader services and dedicated apps are available for us to cobble together a virtual newspaper tailor-made just for us.  

But you know all that.  What does this have to do with Geohopper?  It means that events sent out by friends and family to my Geohopper app can arrive in the form of an RSS feed, so rather than check my iPhone for notification events, my Mac’s RSS screen saver keeps me current on events that people are sharing with me.  

If all goes well, Geohopper will be out in the world (via the App Store) very soon.  Check geohopper.com for the latest updates or drop us a line at geohopper@twocanoes.com.  

March 9, 2013 at 7:28am

0 notes

Oh my. When I enter and exit a location with geohopper, my Internet bunny does this. Now I just need add a feature in the app for the karotz API keys and tag support.

March 8, 2013 at 4:41pm

2 notes
Reblogged from tperfitt

Using Geohopper to notify enter and exit events via telephone

tperfitt:

Start up Geohopper and drop a pin

image

Set it up to self notify

image

Get the RSS feed URL

image

Go to ifttt.com and set up a recipe.

image

Trigger on RSS Feeds.

image

Paste in the RSS feed from Geohopper:

image

Have it call your phone:

image

Say something snappy:

image

Create the Recipe:

image

Do a test on the location in Geohopper:

image

Then do a test of the IFTTT recipe:

image

Check out the result!

https://vimeo.com/61304982

Whenever you enter or exit, someone will get a phone call!

Real Time Analytics