Why I Don’t Use Interface Builder
Posted on
For iOS development, I don't use Interface Builder. I haven't willfully used a NIB (when I say NIB, I mean Interface Builder file, not the specific format) since iOS 2.0. In the past, I've worked with a few folks that really liked using Interface Builder. This is an argument I've had over and over.
Instead of mindlessly arguing on one side or the other of this, here's my go to points when I'm trying to win someone over.
Choosing to be explicit is my number one reason to do things in code instead. If someone new to the team opens up a view or view controller, they can see right away where everything is and not have to wonder if this file has a NIB.
How I Design for iOS
Posted on
As a developer, designing is a big challenge. My process is a lot different than "normal designers." I design much like I code: trial and error.
When I'm programming, it's constantly running the tests to see what failed, trying a fix, repeat. It's finding a bug, try a fix, repeat. You get the idea. That's how I work. It's constantly iterating on ideas to see if they work.
When I was first starting out, I'd find myself reading entire source files to try to understand everything that was happening and only running the code very rarely. It's no surprise that were lots of bugs in this code. Letting the computer do the work for you is like the whole point. Anyway, this is how I design.
How to Build a Ruby Gem
Posted on
This is my first post on the Treehouse Blog. I did an 8 minute video tutorial on how to make a Ruby gem with Bundler. Check it out.
The code from this video can be found here: github.com/soffes/adder. Here is Ruby's module_function documentation.
Hi, I’m Sam Soffes. I’m going to show you how to create and distribute a Ruby Gem. So, let’s say you have some really fancy code that adds 2 numbers together. We’re going to package this up into a Ruby Gem called Adder and you shoot it on Rubygems.org, so anyone can Gem install Adder and use our code. First off, you’ll need Bundler. If you don’t already have Bundler, you can easily install it with Gem install bundler. Now, simply Run, Bundle, Gem, and the name of your Gem. So, in this case, Adder. Great, and you can see here it generated a bunch of files for our Gem so, we’ll open this up in Sublime and try it out. So, most importantly it generated a Gem spec for us. and you can see it has some placeholder values. I’ll go ahead and fill this in. It’s a good idea to add a required Ruby version, that way if you’re using features that aren’t available in 187 or 192 or whatever, Rubygems won’t let you install it on a Ruby that’s not supported. Kind of on a side note, if all you’re using 19 for is the hash syntax, it’s a good idea to go ahead and use the old 187 syntax, so more people can use your code. I really prefer the 19 syntax, but I usually end up switching, just so I can support 187. If that’s the only change, no reason not to.
Springboard Episode 3
Posted on
Ash Furrow was kind enough to have me on his podcast for people wanting to learn iOS development, Springboard.
We had a lovely chat about open source & design. Give it a listen.
Sublime Text 2 Configuration
Posted on
For a long time, I've been symlinking my Sublime Text configuration from Dropbox to where it wants it. Last night, I wiped my computer and remembered how handy this is.
Someone on Twitter suggested that I put it in git instead. Definitely a much better idea. Here's my Sublime Text configuration. It just adds packages I've installed that aren't the default, my theme, and of course all of my preferences.
Hopefully you find it useful.