<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
	<title>Hypertext</title>
	<link href="http://hypertext.net" />
	<updated>2013-06-17T01:06:50-07:00</updated>
	<id>http://hypertext.net/</id>
 	<author>
   		<name>Justin Blanton</name>
   		<email>justin@justinblanton.com</email>
 	</author>
		
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/jblanton" /><feedburner:info uri="jblanton" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
			<title>Find iPhone UDID without iTunes...or a working iPhone</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/RWwmn5ze1PU/find-iphone-udid" />
			<updated>2013-06-16T17:23:25-07:00</updated>
			<content type="html">&lt;p&gt;Like a lot of us last Monday, I really wanted to get the iOS 7 beta on my iPhone, but didn&amp;#8217;t currently have an iOS Developer Program membership ($99/year).  (The last time I felt compelled to get a developer beta was for iOS 5, mainly because I wanted/needed Notification Center.)&lt;/p&gt;


&lt;p&gt;I got home from work really late Monday night and couldn&amp;#8217;t wait to get the beta installed, and in my haste I made a mistake that, at the time, I thought might have bricked my iPhone. (Keep in mind too that you&amp;#8217;re warned you can&amp;#8217;t revert to an earlier version of iOS (i.e., non-beta) if you install the beta, which, it turns out, isn&amp;#8217;t true.) &lt;/p&gt;


&lt;p&gt;I installed the beta (~1:30AM), booted up the phone, and iTunes wouldn&amp;#8217;t recognize it, because I hadn&amp;#8217;t associated my UDID number with my reactivated dev account. Not only had I not taken this step before installing the beta, I hadn&amp;#8217;t even written down my UDID at all. (I should have been able to search my email for this, as I&amp;#8217;d previously sent it to various devs for beta access to their apps, but, long story short, I get new iPhones fairly often because I&amp;#8217;m a maniac, and just hadn&amp;#8217;t grabbed the UDID for this latest one yet.)&lt;/p&gt;


&lt;p&gt;The UDID is a 40-character string that uniquely identifies the phone&amp;#8211;the hardware&amp;#8211;and is easily accessible if you have a working iPhone.  One way is via iTunes: when the phone&amp;#8217;s plugged in, choose the &amp;#8220;Summary&amp;#8221; tab in iTunes and click on &amp;#8220;Serial Number&amp;#8221;, and you&amp;#8217;ll see it change to &amp;#8220;Identifier (UDID)&amp;#8221;, followed by the UDID. (&lt;code&gt;&amp;#8984;C&lt;/code&gt; will copy the string to your clipboard.)&lt;/p&gt;


&lt;p&gt;Another way is through OS X&amp;#8217;s System Information app: click the apple icon in your menubar → About This Mac → More Info&amp;#8230; → System Report&amp;#8230; Once you have the System Information app open, look for USB under &amp;#8220;Hardware&amp;#8221;, and then look for your phone in the USB device tree, and note that the UDID is actually reported as the &amp;#8220;Serial Number&amp;#8221; here. (I&amp;#8217;m pretty sure this method won&amp;#8217;t work (at least on OS X) if iTunes doesn&amp;#8217;t recognize your phone.)&lt;/p&gt;


&lt;p&gt;Another method you can use if you have a working iPhone is to download apps whose sole purpose is to report this string. Search the App Store and you&amp;#8217;ll find plenty of them.&lt;/p&gt;


&lt;p&gt;OK, that&amp;#8217;s all well and good, but what do you do if iTunes &lt;em&gt;isnt&amp;#8217;&lt;/em&gt; recognizing your device, and your device won&amp;#8217;t boot fully? As I was scrambling around trying to find a solution that would salvage my phone, it occurred to me that I had seen folders made up of &lt;em&gt;long&lt;/em&gt; sequences of characters in a backup folder I had been poking around in some time ago. I went snooping and again came across those long sequences in this folder (where iTunes stores your iOS backups):&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;~/Library/Application Support/MobileSync/Backup/&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;I counted up the characters, and sure enough there were 40 for each folder at the above location. I rummaged through the various &lt;code&gt;.plist&lt;/code&gt; files to figure out which of these folders/sequences corresponded to my iPhone 5 (and not my iPad, other iPhones, etc.), punched that string into my dev account, and all was right with the world.&lt;/p&gt;


&lt;p&gt;(Clearly this isn&amp;#8217;t rocket science, but I decided to write something up for other non-devs who may come across this issue in the future and go so searching for a solution.)&lt;/p&gt;


			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/RWwmn5ze1PU" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/06/find-iphone-udid</id>
		<feedburner:origLink>http://hypertext.net/2013/06/find-iphone-udid</feedburner:origLink></entry>
	
		<entry>
			<title>Shortcat [link]</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/bP5S7COXrHg/" />
			<updated>2013-06-11T14:00:21-07:00</updated>
			<content type="html">&lt;blockquote&gt;
 &lt;p&gt;Shortcat is a keyboard tool for Mac OS X that lets you &amp;#8220;click&amp;#8221; buttons and control your apps with a few keystrokes. Think of it as Spotlight for the user interface.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;This is undeniably brilliant, but I&amp;#8217;m not sure I could find a real use for it, and trust me, no one hates taking his hands off the keyboard more than me. In this (well, at least my) world of do-everything Keyboard Maestro macros, TextExpander snippets, and AppleScripts all tied to various key combinations, I just don&amp;#8217;t think I&amp;#8217;d get a lot of mileage out of Shortcat. That said, I&amp;#8217;m curious to see what my fellow power users come up with.&lt;/p&gt;


			
			&lt;p&gt;&lt;a href="http://hypertext.net/2013/06/shortcat"&gt;#&lt;/a&gt;&lt;/p&gt;
			
			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/bP5S7COXrHg" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/06/shortcat</id>
		<feedburner:origLink>http://shortcatapp.com/</feedburner:origLink></entry>
	
		<entry>
			<title>Sofia Coppola on &lt;em&gt;Lost in Translation&lt;/em&gt; [link]</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/xIBtbhj7x1U/its-about-moments-in-life-that-are-great-but" />
			<updated>2013-06-05T15:14:20-07:00</updated>
			<content type="html">&lt;blockquote&gt;
 &lt;p&gt;It’s about moments in life that are great, but don’t last. They don’t go on, but you always have the memory and they have an effect on you. That’s what I was thinking about.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;Lovely. (OMG, &lt;a href="https://twitter.com/jblanton/status/339050058307760128"&gt;it&amp;#8217;s true&lt;/a&gt;!)&lt;/p&gt;


			
			&lt;p&gt;&lt;a href="http://hypertext.net/2013/06/coppola-lost-in-translation"&gt;#&lt;/a&gt;&lt;/p&gt;
			
			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/xIBtbhj7x1U" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/06/coppola-lost-in-translation</id>
		<feedburner:origLink>http://fuckyeahsofia-coppola.tumblr.com/post/23635728248/its-about-moments-in-life-that-are-great-but</feedburner:origLink></entry>
	
		<entry>
			<title>ofexport, an OmniFocus exporter [link]</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/ifuhXOTIhJ8/DOCUMENTATION.md" />
			<updated>2013-06-05T13:39:51-07:00</updated>
			<content type="html">&lt;p&gt;I really don&amp;#8217;t have a use for this (yet), but that didn&amp;#8217;t stop me from downloading and playing around with it. The number of export-to formats it supports is kind of incredible.&lt;/p&gt;


&lt;p&gt;(Via &lt;a href="http://brettterpstra.com/2013/05/31/web-excursions-for-may-31-2013/"&gt;Brett Terpstra&lt;/a&gt;.)&lt;/p&gt;


			
			&lt;p&gt;&lt;a href="http://hypertext.net/2013/06/ofexport"&gt;#&lt;/a&gt;&lt;/p&gt;
			
			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/ifuhXOTIhJ8" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/06/ofexport</id>
		<feedburner:origLink>https://github.com/psidnell/ofexport/blob/master/DOCUMENTATION.md</feedburner:origLink></entry>
	
		<entry>
			<title>Display notifications when Jekyll-based operations complete</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/mvcS57MxhP8/jekyll-notifications" />
			<updated>2013-05-30T16:29:35-07:00</updated>
			<content type="html">&lt;p&gt;I wanted to be notified when my Jekyll-powered site finished building and syncing, and so I whipped up a silly little LaunchBar + AppleScript thing to do just that. As I&amp;#8217;ve mentioned here before, it takes Jekyll &lt;em&gt;forever&lt;/em&gt; to generate and deploy my site (more on that in a future post), and sometimes when I add new content I forget to check it on the site after it&amp;#8217;s gone live (because it&amp;#8217;s been so long since I started the process), and so this is meant to ensure that doesn&amp;#8217;t happen. &lt;/p&gt;


&lt;p&gt;I opted to cheat a little and crib some stuff from an earlier project—&lt;a href="http://hypertext.net/2010/02/launchbar-timer"&gt;Create a simple timer using LaunchBar and AppleScript&lt;/a&gt;—a hack I still use multiple times a day. With that in hand, it really was just a matter of putting a few pieces together.&lt;/p&gt;


&lt;p&gt;As explained in that earlier post, LaunchBar&amp;#8217;s AppleScript library has a &lt;code&gt;display in large type&lt;/code&gt; command, which displays given text in a semi-transparent window across the center of your screen, and by throwing in a &lt;code&gt;delay&lt;/code&gt; command (with no arguments), the window persists until you click anywhere on the screen. (And yeah, this proabably could be modified with little effort to have either Notification Center or Growl handle the message.) With that in mind, the AppleScript amounted to just this:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;tell application "LaunchBar"
    set announcement to "Site Updated!" as string
    display in large type announcement
    delay
end tell&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Once that was complete, all that was left to do was to call the AppleScript from my &lt;code&gt;Rakefile&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;desc "Build site and sync"
task :update =&gt; [:build, :merge, :sync] do
    sh "osascript _announce.scpt"
end&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;For those curious, the "build" task calls &lt;code&gt;jekyll&lt;/code&gt; (with certain arguments), which generates the files needed for the site; the "merge" task &lt;a href="http://hypertext.net/2013/01/merge-sitemaps"&gt;combines the sitemap.xml files from both of my sites&lt;/a&gt; (i.e., &lt;a href="http://hypertext.net"&gt;/&lt;/a&gt; and &lt;a href="http://hypertext.net/photos"&gt;/photos&lt;/a&gt;); the "sync" task calls &lt;a href="http://s3tools.org/s3cmd"&gt;s3cmd&lt;/a&gt; and uploads any new or modified files to Amazon S3, which is where they&amp;#8217;re hosted; and the last line invokes the AppleScript just described. &lt;/p&gt;


			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/mvcS57MxhP8" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/05/jekyll-notifications</id>
		<feedburner:origLink>http://hypertext.net/2013/05/jekyll-notifications</feedburner:origLink></entry>
	
		<entry>
			<title>When did you choose to be straight? [link]</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/PkK_PPcFp-o/QJtjqLUHYoY" />
			<updated>2013-05-27T02:24:03-07:00</updated>
			<content type="html">&lt;p&gt;&lt;iframe width="500" height="281" src="http://www.youtube.com/embed/QJtjqLUHYoY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;


&lt;p&gt;Reminds me of &lt;a href="https://twitter.com/jblanton/statuses/65542863827632128"&gt;this tweet&lt;/a&gt; from yours truly a few years ago: &amp;#8220;I&amp;#8217;m proud of all of my heterosexual friends for always resisting the homosexual urges constantly gnawing at them. It&amp;#8217;s a choice, you know.&amp;#8221;&lt;/p&gt;


			
			&lt;p&gt;&lt;a href="http://hypertext.net/2013/05/heterosexual-choice"&gt;#&lt;/a&gt;&lt;/p&gt;
			
			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/PkK_PPcFp-o" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/05/heterosexual-choice</id>
		<feedburner:origLink>http://youtu.be/QJtjqLUHYoY</feedburner:origLink></entry>
	
		<entry>
			<title>Social-based phone notifications</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/lQKR_O3rEw4/social-notifications" />
			<updated>2013-05-26T15:57:53-07:00</updated>
			<content type="html">&lt;p&gt;I (mostly) don&amp;#8217;t get them anymore. A little over a year ago I turned them off &lt;em&gt;almost&lt;/em&gt; completely. Moreover, the notifications that I do let through are by &lt;em&gt;screen&lt;/em&gt; only—&lt;em&gt;no&lt;/em&gt; sounds or vibrations.&lt;/p&gt;


&lt;p&gt;As some of you are well aware, I have an incredibly demanding job where important emails are constantly being sent to me throughout the day. Also, like many of my fellow bloggers, I get a fair amount of personal email because of this site, etc.&lt;/p&gt;


&lt;p&gt;So what? Well, the truth is, damn near all of it can wait, at least for a short bit, and until I &lt;em&gt;manually&lt;/em&gt; decide to check [insert service here]. To be clear, I check both personal and work email &lt;em&gt;manually&lt;/em&gt;. I have to &lt;em&gt;think&lt;/em&gt; to check them. (&lt;a href="http://hypertext.net/2013/04/triage"&gt;Triage has made dealing with personal email a bit easier&lt;/a&gt;, even if that&amp;#8217;s just in my head.)&lt;/p&gt;


&lt;p&gt;Admittedly, it&amp;#8217;s rare that too much time ever passes that I don&amp;#8217;t think about checking my work email, but by increasing the number of steps that need to be carried out to actually make that happen, I can oftentimes convince myself to &lt;em&gt;not&lt;/em&gt; check it, and continue doing whatever I happen to be doing at the time. (This is made easier still by the fact that I always keep the Mail app on my last screen of apps, alone, so I don&amp;#8217;t constantly see it when scrolling around my phone. Crazytown, I know.)&lt;/p&gt;


&lt;p&gt;So, given that emails are out of the picture, the only social-based things that blow up my phone these days are SMS/iMessages (these are relatively high volume, but I like to see them in real-time), FB messages, and Twitter/ADN stuff (e.g., mentions, DMs, etc.), and, as mentioned, these do nothing more than light up my screen; if my phone&amp;#8217;s in my pocket, lying upside down on my desk (on a satin pillow, of course ;) etc., even these don&amp;#8217;t interrupt me. &lt;/p&gt;


&lt;p&gt;All of this goes for phone calls too; I rarely know about them as they happen (which, yeah, could be seen as reckless in some situations), and sometimes I don&amp;#8217;t even know if a voicemail has been left until days or weeks later when I have to jump into the app for whatever reason. (I loathe talking on the phone, so that app—yeah, the phone app—is buried in a folder. Crazytown, I know.)&lt;/p&gt;


&lt;p&gt;Dave Morin got some flak recently for his &lt;a href="http://www.vanityfair.com/culture/my-phone/2013/03/dave-morin-path-facebook-apple?currentPage=all"&gt;ringtone comment&lt;/a&gt; (&amp;#8220;I don’t use a ring of any kind on my phone. This is so that I am always on offense and never defense.&amp;#8221;), and yeah, it does toe the give-me-a-break line, but I totally get where he&amp;#8217;s coming from.&lt;/p&gt;


&lt;p&gt;The fact is, it&amp;#8217;s 2013, and if I&amp;#8217;m interacting with someone via a network, I want to do it on my terms, namely (mostly) asynchronously. In nearly every instance, you have no right to interrupt me, nor me you.&lt;/p&gt;


			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/lQKR_O3rEw4" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/05/social-notifications</id>
		<feedburner:origLink>http://hypertext.net/2013/05/social-notifications</feedburner:origLink></entry>
	
		<entry>
			<title>Multitasking neurons found essential to the brain’s computational power [link]</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/ytSvAcsVPCw/multitasking-neurons-found-essential-to-the-brains-computational-power" />
			<updated>2013-05-26T13:32:20-07:00</updated>
			<content type="html">&lt;blockquote&gt;
&lt;p&gt;The flexible neurons also greatly expand the brain’s capacity to perform tasks. In the computer model, neural networks without mixed selectivity neurons could learn about 100 tasks before running out of capacity. That capacity greatly expanded to tens of millions of tasks as mixed selectivity neurons were added to the model. When mixed selectivity neurons reached about 30 percent of the total, the network’s capacity became “virtually unlimited,” Miller says — just like a human brain. [&amp;#8230;]&lt;/p&gt;
&lt;p&gt;Miller is now trying to figure out how the brain sorts through all of this activity to create coherent messages. There is some evidence suggesting that these neurons communicate with the correct targets by synchronizing their activity with oscillations of a particular brainwave frequency.&lt;/p&gt;
&lt;p&gt;“The idea is that neurons can send different messages to different targets by virtue of which other neurons they are synchronized with,” Miller says. “It provides a way of essentially opening up these special channels of communications so the preferred message gets to the preferred neurons and doesn’t go to neurons that don’t need to hear it.”&lt;/p&gt;
&lt;/blockquote&gt;


			
			&lt;p&gt;&lt;a href="http://hypertext.net/2013/05/multitasking-neurons"&gt;#&lt;/a&gt;&lt;/p&gt;
			
			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/ytSvAcsVPCw" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/05/multitasking-neurons</id>
		<feedburner:origLink>http://www.kurzweilai.net/multitasking-neurons-found-essential-to-the-brains-computational-power</feedburner:origLink></entry>
	
		<entry>
			<title>Mark Stivers on Pavlov's dog [link]</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/ami6pYTXE9U/" />
			<updated>2013-05-25T13:27:10-07:00</updated>
			<content type="html">&lt;div class="flickr-borderless"&gt;&lt;img src="http://hypertext.net/images/weblog/stivers-pavlov.gif" width="675" height="539" alt="Mark Stivers on Pavlov's dog" /&gt;&lt;/div&gt;


			
			&lt;p&gt;&lt;a href="http://hypertext.net/2013/05/stivers-pavlov"&gt;#&lt;/a&gt;&lt;/p&gt;
			
			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/ami6pYTXE9U" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/05/stivers-pavlov</id>
		<feedburner:origLink>http://www.markstivers.com/wordpress/?p=67</feedburner:origLink></entry>
	
		<entry>
			<title>FiOS customer discovers the limits of “unlimited” data: 77TB a month [link]</title>
			<link href="http://feedproxy.google.com/~r/jblanton/~3/NRbnqL_WgJM/" />
			<updated>2013-05-23T12:53:11-07:00</updated>
			<content type="html">&lt;blockquote&gt;
&lt;p&gt;Houkouonchi got a call from a Verizon representative this week. &amp;#8220;Basically he said that my bandwidth usage was excessive (like 30,000 percent higher than their average customer),&amp;#8221; houkouonchi said. &amp;#8220;[He] wanted to know WTF I was doing. I told him I have a full rack and run servers&amp;#8230;&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;


			
			&lt;p&gt;&lt;a href="http://hypertext.net/2013/05/fios-unlimited-77tb"&gt;#&lt;/a&gt;&lt;/p&gt;
			
			
			&lt;img src="http://feeds.feedburner.com/~r/jblanton/~4/NRbnqL_WgJM" height="1" width="1"/&gt;</content>
			<id>http://hypertext.net/2013/05/fios-unlimited-77tb</id>
		<feedburner:origLink>http://arstechnica.com/information-technology/2013/05/fios-customer-discovers-the-limits-of-unlimited-data-77-tb-in-month/</feedburner:origLink></entry>
	
</feed>
