Portrait

:)

 

Kate Bush

Army Dreamers

 
 
The office

The office

 
The wind blew over our hydrangea last night.

The wind blew over our hydrangea last night.

 
Papillons en liberté

Papillons en liberté

 
Bonjour Calgary

Bonjour Calgary

 
bryceevansphotography:

Thank you to Nicholas Yee for the first photo of my photograph, SPECTRA I, seen in Southgate Shopping for the Pop-Up Gallery as a part of National Youth Arts Week. So amazing! 
Portfolio | Facebook | Twitter | Instagram | The One Project (Tumblr)

My brother’s photograph is up in Southgate Centre, this is really cool.

bryceevansphotography:

Thank you to Nicholas Yee for the first photo of my photograph, SPECTRA I, seen in Southgate Shopping for the Pop-Up Gallery as a part of National Youth Arts Week. So amazing! 

Portfolio | Facebook | Twitter | Instagram | The One Project (Tumblr)

My brother’s photograph is up in Southgate Centre, this is really cool.

 
 

Stack

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.

 

On AppCode

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.

First some history: I had been using Sublime Text 2 exclusively for web development and really preferred separate, specialized tools working together to perform a task. JavaScript has a lot of these tools (for better or for worse, especially for those trying to learn and confused by choice) that lend themselves to using a text editor instead of an IDE. I usually used ST2 full screen with Solarized Dark on my MacBook Air or Solarized Light on an external display (to help combat the glare).

image

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.

    image

  • 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.

 
brb wormhole

brb wormhole

 

Wicked sample of Laurie Anderson’s “O Superman”. (Exile’s “Super Robot” is another one you should check out)

 
Iron Rangers, Second Oiling

Iron Rangers, Second Oiling

 
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.

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.