New Year’s Resolutions 2013
This year my resolutions are going to be different. Instead of a list of things that I want to accomplish this year, I'm only learning two new things per month.
→ Read moreThis year my resolutions are going to be different. Instead of a list of things that I want to accomplish this year, I'm only learning two new things per month.
→ Read moreI've been professionally programming for the past 5 years and during that time I have neglected my personal health. It's not that I haven't tried to exercise and eat better, I was just not able to get into a consistent routine. It was only after a team outing with my coworkers did I finally realize how much I was out of shape. Where did all my youthful energy go?
So I decided to take control of my health and fitness this year. Below are a number of things that I've done to get on the road to recovery. (You can do them too!)
I'm fortunate enough to work in San Francisco where most locations are within walking distance. My walk to work is 1.2 miles and I've been walking it for over a year now. That's approximately 2.4 miles a day and there were 261 weekdays in 2012 so I've walked approximately 600 miles in 2012 (if you remove holidays and rainy days). Not a bad start to better health and fitness.
→ Read moreUpdate: My friend just showed me a Mac App($4.99) called Committed that recently added Github Enterprise support. My solution is still valid if you want a free alternative though.
We just started using Github Enterprise at the place I work.
I'm a huge fan of GitHub and have been a user since 2009. It offers all the same features as the Github website except one. The Github Mac app recently added notifications to Mountain Lion's Notificaiton Center. It is a very useful feature when collaborating on a Github repo.
→ Read moreI've recently started using MKNetworkKit in one of my iOS projects and ran into an interesting issue.
If the hostname is set like this: "test.apple.com/subname1" and not this: "test.apple.com" then the Reachability notifier will never be initialize. This is an issue because any server connection that is dropped can never be restored.
So set your hostname with out any slash subdomains. Now you know!
→ Read moreMany things have happened since I last posted. The reason that I haven't been blogging lately is that I've taken a job in California working for Weebly, a service that allows anyone to easily create a website.
So what is it that I'm doing at Weebly? Well I'm helping create their much-anticipated iPhone app! All of my time has been consumed working on this app, hence the reason for no blog posts. I've have so much fun working on this app and can't wait until more people get to test it. You can apply to be a beta tester here.
→ Read moreMy (former) company, MotionMobs, recently released our latest iPad app, SlidePad.
SlidePad is a native iPad App for speakers, educators, and business professionals. It uses the Slideshare.net API to provide presentations for experts in every field.
→ Read more"Notifo is a mobile notifications platform empowering developers to build their own services with a scalable and reliable notifications API. The Notifo API is a simple and affordable way to add notifications to any web app or project." (Description is from the Notifo website)
I create this Objective-C library last year in my spare time. I've just added a test interface and simplified the code by using blocks when making Notifo API calls. You can download the library here. Enjoy!
→ Read moreI've been working on a iPad project lately that needed a custom movieplayer control. I wasn't able to find a complete solution on the interwebs so I decided to create one myself and open source it on GitHub. It is not perfect and I need to fix a few issues but I will be updating it regularly since I am using it in one of my projects.
Feel free to suggest any improvements! Github link: CustomMoviePlayer - A custom movieplayer control for iPad
→ Read moreThe following libraries have helped me speed up my iOS development by allowing me to add features to apps with minimal effort.
2 bonus libraries that I created
→ Read moreI had a need to use pull-to-refresh functionality in a UIScrollView for my iPad application. After searching the internet, I was only able to find a pull-to-refresh solution for an iPhone UITableView. However, I was able to adapt this code for an iPad UIScrollView.
You can find an example and the code here. I hope this helps someone out there!
→ Read moreI didn't know why the memory was so high in my iOS application when using NSURLConnection to download multiple images in the background. I found out that the image data was being saved to NSURLCache and was never released. This line of code clears the NSURLCache and cleaned up a lot of memory in my iOS application. I hope this helps someone else out there!
See this post on Forrst
→ Read moreJust got finished trying out the Palm™ Pre Plus these past two weeks and I actually had a great experience with it. It was very different experience from the Palm Pixi Plus which I had previously reviewed. I found that many things crossed over from the Palm™ Pixi Plus review because it runs on the same webOS.

Photo by Evan Travers
Before I get started I'd like to thank BIG for letting me try out another phone. Let's dive right into the review! The Palm Pre Plus is a nice size at 3.9 inches tall, 2,3 inches wide and 0.67. As you can see it fits nicely in my hand. It feels much better than the Pixi Plus which was just too small for me.
→ Read moreI've posted these tools to my twitter account but am now putting them here for easier access and to show the feedback I received. (Note: Some of these tools are not free or Windows specific ) (Note: These apps are just my personal opinion and I did not receive compensation for recommending them) Add your feedback to the comments!
→ Read moreI recently got my hands on the Verizon version of the Palm Pixi Plus from BIG. Being an iPhone use, my first impression was "Wow, this is a very small device!". But the Pixi Plus actually has a wide range of features packed into it's small body(only 4.37 inches tall, 2.17 inches wide, and 0.43 inches thick), features such as a full QWERTY keyboard, 2 MP camera with flash, and 2.63 inch multitouch screen. The Pixi Plus runs on Palm webOS, an embedded Linux operating system. The Verizon version is listed at $79.99 while the Sprint version is priced lower at $49.99 if you buy it with a service plan.

Photo by Evan Travers
→ Read more
Estimated completion time: 30 seconds
Note: This process does not import tags but the tags are available in the source of the exported file.
Note: All delicious bookmarks are imported into one evernote note.
Here are the steps:
So I got back from a 2 week vacation at the beginning of this year and started thinking about the great times I had in 2009. Here are seven of my most memorable moments of 2009:
I ran my first 5k for Susan Komen Race for the Cure. It was a blast! There were tons of people and even a big group of people from work(in the above photo) that ran this race. It was a very muggy day but everyone seemed to enjoy themselves. There were many concession stands that had free food, free water, face painting, and funnel cakes! I'm looking forward to running this race again next year.
→ Read moreI just got the news about the location and date of iPhone Camp Birmingham! The speakers include myself, Brian Cauble and many more!
I'll update this post as I get more information about the event! Location: Daxko Date: December 12th Time: 8am - 1pm Price: $20 Donation! Any amount! Website: http://www.iphonecampbham.com Update: You can now signup here!
→ Read moreSimplify Your iPhone Development
View more presentations from joshgrenon.
I've uploaded my powerpoint slides to SlideShare and embedded them into this post. For your convenience, the links to all the classes and libraries I mentioned in the presentation are in this post. Thank you all who attended my session at BarCamp Memphis!
→ Read moreWelcome fellow iphone developers! If you are searching for a way to create checkmarks in a UITableView then you have come to the right place. I had to search high and low to figure out how to do this. Let's get to it then! Problem: How does one create checkmarks in a UITableView for an iPhone application? Solution: Set the accessory type of the UITableViewCell when it is selected or deselected.
→ Read moreWelcome fellow programmers! First of all, I want to say this is the easiest and most noninvasive way, that I have found, to set a log file name and location without modifying an App.config file. Any other way would require modifying the source on the Enterprise Library itself, but that would corrupt its integrity. I tried to modify the source myself but it was too complicated for me.
Here is a brief description of the Enterprise Library: “Enterprise Library consists of reusable software components that are designed to assist developers with common enterprise development challenges. It includes a collection of application blocks and a set of core features, such as object generation, configuration, and instrumentation mechanisms.” Go here for more detail.
Alright, enough talk and more code! Let’s dive right in!
→ Read moreI wanted to share how to add data to a DevExpress XtraChart control with code and not the chart wizard. The majority of the examples I found at DevExpress.com only used the wizard. So I would like to show everyone how I did it and maybe help a programmer out there who has to do the same thing.
First of all, the thing I needed to do was add series to a DevExpress XtraChart control with data that was calculated when my Form loaded. The wizard examples always used static data that just need to displayed. So I passed my Datatable to the form and used the Datatable.Select method to get the needed DataRows . The next step was to check if length of the DataRows was greater than zero if it is then loop through each one and calculate the values. Add those values to a new Series point. That point will then be added to a new Series which will then be added to the DevExpress Chart control.
The code pictured below is a simple example of the functionality that I used.
→ Read more