Posted on by & filed under Content - Highlights and Reviews.

We received our first LEARN SOMETHING NEW TEAM CHALLENGE submission. Thank you for participating, Mirek.

Mirek will post updates in the comments section of this post so please check back regularly to hear how Mirek’s project is coming along.

Here are the details so far.

Current Situation or Problem: I live in London, UK and commute to work in Rome, Italy. Spending a lot of time on EasyJet flights where you can’t open your laptop and work as the seats are too close to each other, even the ones by the emergency exits – I could use this time on reading source code, updating documentation and submitting small changes to my projects using Git on iPad.

Purpose and Details of the Project: To create an application
Roles of Members on the Team: Mirek Rusin – open-source project initiator Open source contributors – any programmers interested in contributing to the project [Mirek, please be sure to submit the names and email addresses of the other contributors of this project (up to three) prior to the completion of the project. Please also let us know if they need complimentary Safari Books Online subscriptions.]
Learning Objectives: iPhoneOS/Objective-C network programming Git internals

Book Title: Sams Teach Yourself iPad Application Development in 24 Hours
Author: John Ray
Publisher: Sams
Link in Safari Books Online:
Book Title: Programming in Objective-C 2.0, Second Edition
Author: Stephen G. Kochan
Publisher: Addison-Wesley Professional
Link in Safari Books Online:
Book Title: Pro Git
Author: Scott Chacon
Publisher: Apress
Link in Safari Books Online:

Due Date: August 16, 2010
Comments: The project will be hosted at under the name GitPad. The project will follow open-source methodology, being initiated by Mirek Rusin under the above address with any contributors welcome to fork/contribute.

Tags: learn something new team challenge, Mirek Rusin, ProGit, Safari Books Online,

13 Responses to “Learn Something New Team Challenge – GitPad by Mirek Rusin”

  1. Mirek Rusin

    Thanks Scott.

    That’s right, we’ll use Git.framework.

    We’ll also contribute to Git.framework to support remotes which are not supported at the moment. We’ll start with contributing readonly dumb HTTP support.
    Then we’ll try to nail ssh protocol.

  2. Mirek Rusin

    FYI GitPad depends on the following sub projects:

    * as Scott mentioned above, Git.framework – most things are supported, we need to add remotes support with dumb http protocol and ssh protocol. If you’re interested in coding please refer to ProGit book’s last chapter ‘Git Internals’

    * GitHub.framework – github has nice rest api, there is no Objective-C client yet, we’ll write ours to contribute fork We want to base GitHub on the following REST client:

    * Objective-C REST support. There are several Objective-C implementations… we need clean lightweight support and we’ve decided to start new project – – adds REST support the way it should be.

    Currently development focuses on the 3rd project.
    Synchronous and asynchronous requests have been implemented.
    POST has been implemented with application/x-www-form-urlencoded encoding and I’m just finishing POST multipart/form-data implementation.

    If you’re interested in development, drop me an email at mirek [at] me [dot] com.

  3. Mirek Rusin

    THE Scott Chacon!… wow, I just realised!

    Thanks for writing the book, it’s great

    I’m also using it as the main reference for the project.

    Is the git source code the best place to look for details on smart git/ssh protocol support?

  4. Mirek Rusin is more less ready with support for asynchronous/synchronous requests, url-encoded and multipart posts so you can upload files/images and neat array support: for example this rest xml will become a dictionary like this:

    users = (
    created = "2008-04-26T15:37:59Z";
    followers = 1;
    fullname = "Mirek Rusin";
    id = "user-8561";
    language = "C++";
    location = London;
    name = mirek;
    pushed = "2010-05-23T21:16:50.272Z";
    repos = 8;
    score = "15.604";
    type = user;
    username = mirek;
    created = "2009-10-16T16:38:48Z";
    followers = 0;
    fullname = "Mirek Rusin";
    id = "user-140734";
    language = Ruby;
    location = London;
    name = mirekrusin;
    pushed = "2010-05-24T02:16:19.737Z";
    repos = 1;
    score = "2.978005";
    type = user;
    username = mirekrusin;
    created = "2010-04-22T14:28:13Z";
    followers = 0;
    fullname = "Mirek Mencel";
    id = "user-249912";
    language = "";
    location = "WrocU0142aw";
    name = mirekm;
    pushed = "2010-05-25T02:20:23.464Z";
    repos = 0;
    score = "2.978005";
    type = user;
    username = mirekm;

    …note the dictionary doesn’t have user key anywhere, which is brilliant for us.

    We’ll use it as a base for where I’m starting coding GitHub API support tomorrow.

    • Mirek Rusin

      Please feel free to contact us at mirek [at] me [dot] com and become project team member.

      We’re currently working on prototypes for iphone and ipad, we’re also coding stand alone frameworks (INI.framework, GitHub.framework and forked Git.framework).

      Contact us if…
      * you want to beta test the app on your iPhone or iPad
      * you are an artist and can create iPhone icons
      * you know something about software usability
      …and if you are a coder, we want your brain!

  5. Rafał

    Sounds like interesting project. I like git spreading. Aircraft spread for iPad sounds interesting :-)

  6. Sergio

    You know they say that “scratching your own itch” is a great source of new ideas. This is an example of that. Nice job, looking forward to using it.

  7. Claudio

    iPad is not my development platform, but is true that I often only need to change a line or two, so I welcome iPad and Gitpad to my development toolset.
    Keep on your nice job, Mirek.

  8. Amedeo

    Intriguing idea. Wasn’t the iPad just for media-consumption? :) Keep going!


  1.  Safari Books Online Announces “Learn Something New Team Challenge” Winners « Safari Books Online's Official Blog