My brother’s photograph is up in Southgate Centre, this is really cool.
A semi-regular post of my recently liked Instapaper articles.
I’m going to make a change with this post and occasionally add why I include a particular link, as sometimes titles aren’t the most intriguing or indicative on their own. This one is also a bit longer than others, it’s been a while.
- Nazca Lines of Peru (Wikipedia)
They are being destroyed.
- Alfred Anaya Put Secret Compartments in Cars. So the DEA Put Him in Prison (Wired)
- How I Stopped Eating Food (Rob Rhinehart)
- North Dakota Went Boom (NY Times)
- For 40 Years, This Russian Family Was Cut Off From All Human Contact, Unaware of WWII (Smithsonian)
- Why Early Detection Is the Best Way to Beat Cancer (Wired)
- The Most Spectacular Mutation in Recent Human History (Slate)
- How To Become A Hacker (Eric Steven Raymond)
- Two Hundred Years of Surgery (The New England Journal of Medicine)
- Ketchup (The Language of Food)
The origins and etymology.
- Fear on the family farm: The harrowing story of a man who killed his father (The Edmonton Journal)
- Literacy Privilege: How I Learned to Check Mine Instead of Making Fun of People’s Grammar on the Internet (Painting the Grey Area)
Also see next.
- Ain’t No Reason (The Magazine)
Fascinating article about African American Vernacular English.
- Meet the men who spy on women through their webcams (Wired)
- Crypto Rebels (Wired)
- The Professor, the Bikini Model and the Suitcase Full of Trouble (NY Times)
- Michael Jordan Has Not Left the Building (ESPN)
ESPN also did a great job with the web layout for this article.
- Spirit Guide (The New Yorker)
Neat look into the inside of the Scotch industry, I’ve now got a bottle of Bruichladdich Links to try.
- Pleased To Be Shutting the Piehole Now (Esquire)
Scathing and appropriate, from the 10th anniversary of the Iraq war.
- The Management-Free Organization (Scott Adams)
Today was a big move for Facebook and I spent some time today thinking about what Home could mean for iOS:
A lot of the notifications in iOS are attributed to actions that people take. Liked a photo, sent you an email, etc. iOS notifications already send you metadata along with the message itself (this is why you can swipe a notification from Tweetbot, for example, and it will take you directly to a Twitter user’s info.) So why not allow a service to send along a user ID with the notification? If you get a notification that a Facebook friend (already synced with your Contacts) commented on a photo of yours it could then be displayed as “[profile pic] John A. commented on your Facebook photo…” instead of “[Facebook logo] Facebook: John A. commented on your photo…” 1 It’s a subtle difference but I think one is better at emphasizing what someone actually did instead of which app is the intermediary.
What I really like about this idea is it instantly allows for identities to exist without relying on a centralized source. That’s what Facebook is to almost every user, for a lot of things that they do online. This idea is one of the aspects of The Web We Lost, and I think that there’s still an opportunity for this to happen, perhaps now directly in response to what Facebook is trying to achieve with Home.
I don’t have much to comment on this except to say: Yes, yes, a million times yes. Apple needs to make modal messaging happen on iOS. There’s a precedent for something similar with the Facebook and Twitter sharing UI, and this alone (meaning just text input, not showing an entire conversation) would allow quick replies without the context shift of, swish, changing apps.
Apple could receive a consolation prize for simply adding a “Back to App” button in Messages if you were directed there from a notification. Google does this well with the Youtube iOS app, which uses URL schemes behind the scenes.
1. Strangely enough Facebook Home doesn’t seem to do this for 3rd party notifications, including Instagram, as seen in a screenshot (after scrolling down a bit).
For the past few months I’ve been trying out AppCode as an alternative to Xcode for iOS development. It’s, of course, not a perfect alternative but to give a hint of how it went I did end up purchasing a license and continue to use it daily.
Once I began using Xcode I changed the colour scheme and spent some time watching WWDC videos and reading on how to make the most of its different shortcuts and commands. Xcode has a very polished UI and can be really welcoming to new users. I found that didn’t last long however, as I quickly felt limited by the help it was providing. I can’t claim to have exhausted my energy learning the ins and outs of Xcode, but I didn’t give up right away either. Doing some searching for alternatives didn’t surface much (there are no worthwhile ways to use ST2 for Obj-C development) with the exception of AppCode.
My first reaction was one of horror. Here I am installing a Java-based IDE with a polluted UI to try to develop for a very polished platform and I wasn’t sure how far I would get. Thankfully I gave it a chance, and here’s some notes I took along the way:
Why I’m sticking with AppCode
The refactoring is incredible. Every time I change a method signature I save at least five minutes of tedious work pretending to be a human find-replace machine. And it provides smart defaults (NULL, nil, NO, etc.) for arguments passed to that new signature. This is the kind of thing that a big, heavy IDE should provide.
It’s possible to write an entire method with new properties and then iterate through all the errors (“these are missing!”) and with one shortcut (option + return) create those new properties in the interface, privately if you’d like, and declare the method in the public interface as well. It’s a relief to be able to focus on the functional parts of code instead of the formalities. AppCode can also generate all of an enumerable’s cases in a switch statement.
It will autosuggest image filenames when needed. Even if they aren’t added to the project yet!
It has better tabs. (This shouldn’t have to be a benefit to one IDE over another, but here we are.)
The UI is customizable enough to hide most of the ugly Java IDE-ness. AppCode 2.0 EAP (Early Access Program) has a Darcula theme that looks great, although I still use Solarized Light in the editor on a big screen.
Integration with Dash. Install this plugin and documentation is a quick command + shift + d away, or if you’re running AppCode EAP you can enable Dash support with the built-in external documentation shortcut shift + F1.
AppCode will highlight and list any TODO comments for you.
Some changes I made
These are mostly to bring it closer to ST2:
Map command + t to navigate > file structure. I use this all of the time, and control + up arrow or down arrow also navigates the structure one element at a time.
Disable “allow placement of caret after end of line”. This is the strangest preference I’ve come across.
“Ensure blank line after EOF on save”
“Surround selection on typing quote or brace”
Map command + shift + \ and command + shift + - to create vertical and horizontal splits
Shorten the autocomplete delay to 100ms
Map command + shift + p to “Find action” (like ST2’s anything menu)
What it could do better
After trying out AppCode for a bit I was invited to provide some feedback to JetBrains, and they were very receptive. There were already some open issues for some of my suggestions: customize property attribute order for code generation, drag and drop reordering of code in the structure panel and smarter code organization with pragma marks. These are some other preferences I’d like:
I miss ST2’s centred columns, especially on a big screen. I feel like I’m always looking left.
I also prefer ST2’s ability to have empty tab splits, instead of closing it with the last tab.
So after a few months of using AppCode, Xcode is really only Interface Builder to me now (and I wish it was better at that, too). I still need to use it for managing project settings and adding resources as well, but using both apps hasn’t confused my workflow at all.
I don’t think everyone will want to use AppCode, especially given the typically high design standards of the target audience, but I’d really encourage anyone who strains with Xcode to try it out for the full 30-day trial. It’s saved me countless hours and lets me focus on higher-level decisions while developing. I’d also really love to see Apple bring some of these features across to Xcode. There’s no reason that this functionality couldn’t be implemented, and after Xcode 4 brought such a change in its interface it would be an appropriate tick-tock cycle to add back some features.
I still can’t come to terms with Mac Git clients. GitX, so far my favorite, has a minimal, native UI but doesn’t support creating stashes. Tower and SourceTree are both more full-featured but have odd toolbar icons and tabs. Every time I need to do something like an interactive rebase I need to hop into a terminal anyways, so I decided to try tig (
brew install tig) again. I like the visual branch display, and it’s easy to quickly pull up diffs. I’m running it in a tmux pane so I have one to run commands, but you can also only run it when you need to. Using git on the command line also keeps your hands on the keyboard, and lets you use aliases or access GitHub issues with ghi, etc.