My Developer Tools and Utilities List (2014 Edition)

I’ve often wanted to do a yearly roundup of the tools and utilities I use; if only as a log of things I use over time. I did this two years ago in 2012 and when I was thinking about getting back to blogging I wanted to update the list. The funny thing is not much has changed. I’m actually surprised that I don’t use that many tools. Hardware Retina MacBook Pro - Still working with my 2012 Retina MacBook Pro with 2.

Continue Reading »

Where I change my mind about CocoaPods

It has almost become a joke at our local NSCoder Night. Bring up CocoaPods and a long and heated discussion about whether it is a good idea will begin. I’ve always been on the “I don’t like it” side of the argument. Then today during our weekly “CocoaBrains” tech talk at Two Toasters we re-review this dependency management solution. Spoiler: I am changing my mind about CocoaPods. Reasons I didn’t like it I tried CocoaPods when it was pretty new.

Continue Reading »

Fall 2013 Conferences

2013 went by really quick. It seems like I just made my resolution to blog more (that didn’t turn out well). One easy blog post I normally like to do is a recap of any conference I attend. This fall I attended iOSDevCampDC, 360iDev, and CocoaConf Atlanta. Here is a quick review of each. iOSDevCampDC 2013 This was my second time going to iOSDevCampDC. This time the event was a little smaller but no less fun.

Continue Reading »

Objective-C Hackathon and JNJProgressButton

A few weeks ago I saw a tweet talking about how Objective-C lost it’s 10th place on the GitHub top language list. A bunch of developers thought this was a shame and started “Back on the Map” as a hackathon to get a bunch of developers committing some Objective-C to GitHub. I thought is was a cool idea and it is always fun to hack on an open source project, so I played along and made JNJProgressButton.

Continue Reading »

Fun with CGGeometry

Deep inside of the Core Graphics framework, there is a treasure trove of awesome known as CGGeometry.h. It isn’t as obscure as a lot of the corners of the Cocoa frameworks; last Decemeber NSHipster covered many of the details behind this collection of geometry tools. However, I still see a lot of code that does geometry the hard way. It often helps for me to visually see how things work together, so I put together the following samples for your geometry needs.

Continue Reading »

Controlling Xcode warnings via pragmas

I hate warnings in Xcode. Originally, they didn’t bug me too much and I’d even use the #warning preprocessor directive to note TODO items. I want problems to be the only thing that shows up in the build log so I notice it right away. Then, one day Xcode updates and I get a lot of new warnings. This is a good thing and you should choose to turn the stricter warnings on.

Continue Reading »

UIAppearance for fun and profit

Over at Two Toasters we’ve started a blog to discuss technical topics around iOS (and Android) development called Toastmo. Lately I’ve been pushing everyone to use UIAppearance in their work and custom views. Today we posted an article I wrote about it that covers all the basics and gives a few examples of implementing the protocol to help your own views. UPDATE: This post is no longer online. Sorry.

→ Accelerated Download Operation with AFNetworking

Late last year I started working on a little experiment. I wondered if it was possible to speed up a download of a large file by splitting up a request and making multiple concurrent requests using HTTP Byte range requests.

So I put together a subclass of AFNetworking’s AFHTTPRequestOperation that can do just that. I found that it works best with about 3 concurrent requests. Any more than that and the overhead of the different operations and combining them seems to take longer than one request. Overall, when running on WiFi it seems to work faster than one operation.

I also created a custom progress bar that can show different parts of the download being finished. It is a pretty cool little project in itself! Even though it is slower with more than 3 requests, the progress bar looks really cool when you tell it to split into 100 requests and it shows them all completing.

Check out the source and send me any comments ideas you have or contribute, if you like. There are a lot of things I’d like to experiment with this idea and try to do some testing to see if it really is faster.

→ JNJGoogleMapsActivity: UIActivity for Google Maps App

At our October CocoaHeads I gave a small talk on using UIActivity to create nice little wrappers around your application’s URL Schemes. I wanted to look for an app to implement a quick version of this on, but got busy and forgot.

Tonight, Google released the Google Maps App for iOS and matching documentation for their URL Scheme. I thought it was worth trying to wrap it in a UIActivity. It is far from tested or complete, but it was a fun little project to hack on.

Check it out on Github.

CocoaConf Raleigh 2012

This weekend I was a speaker and attendee at CocoaConf Raleigh. Now in it’s second year in Raleigh the conference has matured into a great traveling conference (This year they were in Chicago, DC, Columbus, and Portland) with a lot of great sessions. I’ll review my session, discuss the sessions I attended, and talk about the conference overall. The Conference Last year my biggest complaint about the conference was the location.

Continue Reading »