<?xml version="1.0"?>
<!-- name="generator" content="blosxom/2.0" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>Mike Clark   </title>
    <link>http://www.clarkware.com/cgi/blosxom</link>
    <description>Mike's soapbox of life in the trenches</description>
    <language>en</language>

  <item>
    <title>iPhone and Rails Tutorial at RailsConf</title>
 <pubDate>Thu, 13 May 2010 15:32:00 GMT</pubDate>
 <link>http://www.clarkware.com/cgi/blosxom/2010/05/13#RailsConfTutorialPrep</link>
    <description>
&lt;p&gt;
I'm excited about teaching a 3-hour tutorial next month at RailsConf on &lt;a
href=&quot;http://en.oreilly.com/rails2010/public/schedule/detail/14136&quot;&gt;Mobile App Development
with iPhone/iPad and Rails&lt;/a&gt;. This stuff is entirely too much fun. And with iPhone 4 and
Rails 3 due to be released this summer, it's an exciting time to be coding in both worlds.
&lt;/p&gt;

&lt;p&gt;
As promised, I've posted &lt;a href=&quot;http://github.com/clarkware/iphone-rails-tutorial&quot;&gt;preparation suggestions&lt;/a&gt; in advance to help you get ready for the tutorial.  If you're planning to attend, I'd highly recommend you spend some time in the next three weeks getting oriented with the iPhone starter project.  Then, in the days leading up to the tutorial, I'll post all the source code you need to follow along during our time together.
&lt;/p&gt;

&lt;p&gt;
Stay tuned!
&lt;/p&gt;</description>
  </item>
  <item>
    <title>The Daily Shoot</title>
 <pubDate>Mon, 07 Dec 2009 22:21:00 GMT</pubDate>
 <link>http://www.clarkware.com/cgi/blosxom/2009/12/07#TheDailyShoot</link>
    <description>
&lt;p&gt;
I love to make photographs, and yet I don't practice the craft and art of photography enough. Now and
then I'll get on a shooting kick for a few days. It's usually when the family gets together, the light
is perfect, the weather is dry and warm, something extraordinary is happening, or someone asks me to
take a picture. While I'm shooting I always learn something new, and hope not to forget it. Then,
after those images are tucked away, my camera gear will collect dust for weeks on end. And the next
time I pick up my camera, it feels like I have to relearn everything again.
&lt;/p&gt;

&lt;p&gt;
Getting better at photography, like any craft, takes &lt;a
href=&quot;http://clarkware.com/cgi/blosxom/2007/04/16/Practice&quot;&gt;practice&lt;/a&gt;. That's a lot easier said
than done. When exactly do you practice? What do you shoot when you're practicing? How do you stay
motivated? These are tricky questions, and sometimes it's easier to just do nothing. Whenever I'm
faced with this scenario, I find it helpful to follow a simple daily routine. No grandiose plan or
unrealistic time commitment, just a little something every day to keep the momentum. And that's what
&lt;a href=&quot;http://dailyshoot.com&quot;&gt;The Daily Shoot&lt;/a&gt; is all about.
&lt;/p&gt;

&lt;div style=&quot;align: right;&quot;&gt;
&lt;img src=&quot;http://clarkware.com/blog/Photography/dailyshoot.png&quot; width=&quot;600&quot; height=&quot;444&quot;&gt; 
&lt;/div&gt;

&lt;p&gt;
&lt;a href=&quot;http://dailyshoot.com&quot;&gt;The Daily Shoot&lt;/a&gt; is a simple routine that encourages the daily practice of photography. The idea was hatched with my good friend and photographer &lt;a href=&quot;http://duncandavidson.com&quot;&gt;James Duncan Davidson&lt;/a&gt; (&lt;a href=&quot;http://blog.duncandavidson.com/2009/11/the-daily-shoot.html&quot;&gt;backstory&lt;/a&gt;).  Here's how it works: Every day at 9AM EST a new photo assignment is tweeted to the &lt;a href=&quot;http://twitter.com/dailyshoot&quot;&gt;@dailyshoot&lt;/a&gt; Twitter account.  Today's assignment, for example, is to make a photo with a blue theme.  Use your big camera or the one you have in your pocket, it's up to you.
Then to share your photo, upload it to your photo sharing site of choice and post a tweet that mentions @dailyshoot with the assignment's hashtag and a link to the photo (&lt;a href=&quot;http://twitter.com/thetalldude/status/6431447935&quot;&gt;example&lt;/a&gt;).  Easy!  Now you know when to practice and what to shoot.  Your photo doesn't have to be a masterpiece and there are no prizes.  The point is simply to help you pick up your camera and make a photograph every day.  Practice.
&lt;/p&gt;

&lt;p&gt;
When you're practicing, it's often inspiring to see what other people are doing if only so you don't feel alone.  So this weekend we launched a revision to the companion web site to help out with that.  No account necessary&amp;mdash;it's all driven from Twitter replies! You can catch up on all the &lt;a href=&quot;http://dailyshoot.com/assignments&quot;&gt;assignments&lt;/a&gt; and view all the photos submitted for a &lt;a href=&quot;http://dailyshoot.com/assignments/1&quot;&gt;particular assignment&lt;/a&gt;.  You can also check out all the &lt;a href=&quot;http://dailyshoot.com/photogs&quot;&gt;photographers&lt;/a&gt; who have participated.  If you'd rather get your daily assignments via RSS, there's an &lt;a href=&quot;http://feeds.feedburner.com/dailyshoot_assignments&quot;&gt;RSS feed&lt;/a&gt; for that.  And if you have suggestions for future assignments, please &lt;a href=&quot;http://dailyshoot.com/suggestions/new&quot;&gt;let us know!&lt;/a&gt; (Thanks to &lt;a href=&quot;http://twitter.com/patricklenz&quot;&gt;Patrick Lenz&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/ujh&quot;&gt;Urban Hafner&lt;/a&gt; for some of the code that powers the new site!)
&lt;/p&gt;

&lt;p&gt;
I've been having a blast with this, both with taking pictures and building out the site. I find I'm
seeing the world differently as I look for a photo that meets the assignment each day. I notice things
that I otherwise would have missed. I'm also feeling more comfortable with my camera than ever before.
Some of the assignments really push me to try new techniques, and even the easy assignments can be
made more challenging. Plus, I'm just loving being able to see what everyone else is doing every day!
It's inspiring to see how other photogs interpret an assignment, and I'm learning a lot from them.
&lt;/p&gt;

&lt;p&gt;
You can start today! It's easy: Keep your eye open for something blue, and make a photo. Upload it
somewhere, reply with a link, and you've joined The Daily Shoot community. Tomorrow we'll have
another fun assignment to help you practice. We'd love to have you join us!
&lt;/p&gt;</description>
  </item>
  <item>
    <title>iPhone on Rails Interview</title>
 <pubDate>Tue, 03 Nov 2009 15:32:00 GMT</pubDate>
 <link>http://www.clarkware.com/cgi/blosxom/2009/11/03#iPhoneOnRailsInterview</link>
    <description>
&lt;p&gt;
While at the 360iDev conference, Dan Grigsby of Mobile Orchard arranged short &lt;a href=&quot;http://www.mobileorchard.com/supersized-360idev-podcast-feat-chris-heintz-mike-clark-jessica-kahn-jake-behrens-peter-bakhirev/&quot;&gt;podcast interviews&lt;/a&gt; (&lt;a href=&quot;http://podcast.mobileorchard.com/podcast/027-360iDev2.mp3&quot;&gt;MP3&lt;/a&gt;) with a number of attendees.  He asked me to give an overview of my &lt;a href=&quot;http://clarkware.com/cgi/blosxom/2009/10/06/iPhoneOnRails&quot;&gt;iPhone on Rails&lt;/a&gt; talk, and we ended up chatting about how to choose between various Objective-C libraries to communicate with REST data sources.  My part starts in around 16:00, but they're all well worth listening to.
&lt;/p&gt;

&lt;p&gt;
Enjoy!
&lt;/p&gt;</description>
  </item>
  <item>
    <title>iPhone on Rails</title>
 <pubDate>Tue, 06 Oct 2009 12:56:00 GMT</pubDate>
 <link>http://www.clarkware.com/cgi/blosxom/2009/10/06#iPhoneOnRails</link>
    <description>
&lt;p&gt;
I find myself living in two worlds these days. On one hand, I'm a web
programmer writing centralized applications mostly with Rails. On the other
hand, I'm an iPhone developer creating mobile applications. My iPhone
apps live in my pocket; my web apps live on the 'net.
&lt;/p&gt;

&lt;p&gt;
Sometimes I want the best of both these worlds: mobile applications that
periodically exchange data with their mother ship in the sky. In fact, one of
my first iPhone apps was a companion to a Rails app that I'd built many years
ago. Suddenly I had a way to access some of our small-business data while on
the go. Then recently I started working on a new iPhone application that ended
up needing a backend web app to share data with a larger community. Along the
way, I hacked up a couple prototype applications just as learning
opportunities.
&lt;/p&gt;

&lt;p&gt;
I gave a tutorial on what I've learned at the 360iDev conference last week.  The short version is that REST conventions make this type of integration a lot easier.  For the longer version, I've posted the tutorial presentation and sample projects:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href=&quot;http://s3.amazonaws.com/pragmaticstudio/iPhoneOnRails.pdf&quot;&gt;iPhone on Rails (PDF)&lt;/a&gt;&lt;/strong&gt;:  This being an iPhone developer conference, I started with an overview of the REST conventions in Rails.  Then, to get the iPhone app talking to the Rails app, I incrementally coded a solution starting with a simple, hand-rolled library and ending up using the excellent &lt;a href=&quot;http://iphoneonrails.com/&quot;&gt;ObjectiveResource&lt;/a&gt; library.  You kinda had to be there...
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href=&quot;http://github.com/clarkware/expenses-iphone&quot;&gt;Expenses&lt;/a&gt;&lt;/strong&gt;:  A bare-bones, no-frills iPhone app that creates, reads, updates, and deletes a single resource (expenses) living in a scaffold-generated Rails app.  It's a simple example of how to use ObjectiveResource.  I deliberately left out any bells and whistles so they didn't get in the way of the fundamentals. (&lt;a href=&quot;http://clarkware.com/blog/iPhone/expenses-app.png&quot;&gt;screenshot&lt;/a&gt;)
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href=&quot;http://github.com/clarkware/budgets-iphone&quot;&gt;Budgets&lt;/a&gt;&lt;/strong&gt;:  Something a bit more realistic.  This iPhone-Rails app combo manages budgets and their related expenses (nested resources).  It also demonstrates a few techniques you'll want to consider in your application, including asynchronous networking, authentication, and error handling. (&lt;a href=&quot;http://clarkware.com/blog/iPhone/budgets-app.png&quot;&gt;screenshot&lt;/a&gt;)
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Of course, you don't have to use Rails or ObjectiveResource.  Sometimes a JSON parsing library and a Sinatra app are a better fit.  Or perhaps Django is more your style.  The point is that conventions matter.
&lt;/p&gt;

&lt;p&gt;
I thought I'd share these resources in the event they give you a jump-start on your next project.  I may screencast the tutorial if there's enough interest.  (Vote by leaving a comment!)  
&lt;/p&gt;

&lt;p&gt;
Enjoy!
&lt;/p&gt;

&lt;div id=&quot;ad&quot;&gt;
&lt;p&gt;
&lt;strong&gt;iPhone Training:&lt;/strong&gt;  I hope you'll join us for 4 full days of hands-on &lt;a href=&quot;http://pragmaticstudio.com/iphone&quot;&gt;iPhone SDK training&lt;/a&gt; in Long Beach, CA on December 1-4.  It's a lot of fun!
&lt;/p&gt;
&lt;/div&gt;</description>
  </item>
  <item>
    <title>Xcode Shortcuts Cheat Sheet</title>
 <pubDate>Tue, 23 Jun 2009 17:34:00 GMT</pubDate>
 <link>http://www.clarkware.com/cgi/blosxom/2009/06/23#XcodeCheatSheet</link>
    <description>
&lt;p&gt;
If you're programming in Xcode, it pays to know some keyboard shortcuts. Of
course, there are a ton of shortcuts you could learn. And some guys
know them all. I'm not one of those guys.  I tend to use a fairly small, high-impact set of essential shortcuts.  Through repeated use on my day-to-day work, they become automatic.  Then once in a while I'll discover a new shortcut, and if I use it often enough it'll stick.
&lt;/p&gt;

&lt;p&gt;
If you're feeling a tad overwhelmed by all the Xcode shortcuts, here's a place to start: &lt;a href=&quot;http://s3.amazonaws.com/pragmaticstudio/XcodeShortcuts.pdf&quot;&gt;my Xcode keyboard shortcuts cheat sheet&lt;/a&gt;.  It's relatively short by IDE cheat sheet standards (only 45 shortcuts), and I like it that way.  It's the sweet spot for what I can remember.  And by focusing on just these shortcuts I've become a lot more productive in Xcode.  These are the same shortcuts I teach visually in my &lt;a href=&quot;http://www.pragprog.com/screencasts/v-mcxcode/becoming-productive-in-xcode&quot;&gt;Becoming Productive in Xcode screencasts&lt;/a&gt;.  The best way to see how I work in Xcode is to check 'em out!
&lt;/p&gt;

&lt;p&gt;
On a related note, here's a chance to practice your Xcode shortcuts: Attend an  &lt;a href=&quot;http://pragmaticstudio.com/iphone&quot;&gt;iPhone Studio&lt;/a&gt; this summer!  We have two courses scheduled in August&amp;mdash;in Reston, VA and Denver, CO&amp;mdash;covering the new iPhone 3.0 SDK.  I think it's the best way to quickly get up to speed on iPhone development.  Every time I've sat in on one, I've learned something new from the instructors.  It's a fun 4 days of hands-on programming, and we promise you won't go away hungry.  
&lt;/p&gt;




</description>
  </item>
  </channel>
</rss>