<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>
Resume:

http://resume.mgile.com


Public Speaking:


Widgets:
</description><title>Something Something Pivot</title><generator>Tumblr (3.0; @mgile)</generator><link>http://mgile.com/</link><item><title>AppleTV2 Slides - 360iDev Denver 2011 Presentation Slides</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lritqaKWme1qzhtta.png"/&gt;&lt;br/&gt;

The folks at 360iDev will be graciously posting video of my AppleTV2 presentation at 360iDev Denver 2011 soon.  In the meantime, you can download copies of my slides here in HTML and PDF form:  &lt;a href="http://mgile.github.com/atv360/AppleTV2-MichaelGile-360iDev2011.pdf"&gt;(PDF)&lt;/a&gt;  |  &lt;a href="http://mgile.github.com/atv360/"&gt;(HTML)&lt;/a&gt;&lt;/p&gt;</description><link>http://mgile.com/post/10204578195</link><guid>http://mgile.com/post/10204578195</guid><pubDate>Wed, 14 Sep 2011 11:28:58 -0500</pubDate><category>iOS</category><category>AppleTV</category><category>iPhone</category><category>Apple</category><category>360iDev</category></item><item><title>atvHelloWorld - AppleTV2 1-click build and deploy Xcode 4 sample project</title><description>&lt;p&gt;As presented at 360iDev Denver 2011, atvHelloWorld is an Xcode project I developed to illustrate how amazing the AppleTV2 could be if Apple ships an AppleTV SDK and adds AppleTV apps to the AppStore.  Huge doesn&amp;#8217;t even begin to describe the opportunity (more on that later&amp;#8230;).

To get the source, head over to github and pull or fork to your hearts content: 

&lt;br/&gt;&lt;br/&gt;&lt;a href="https://github.com/mgile/atvHelloWorld"&gt;&lt;a href="https://github.com/mgile/atvHelloWorld"&gt;https://github.com/mgile/atvHelloWorld&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://mgile.com/post/10202555713</link><guid>http://mgile.com/post/10202555713</guid><pubDate>Wed, 14 Sep 2011 09:54:26 -0500</pubDate><category>iOS</category><category>iPhone</category><category>iPad</category><category>AppleTV</category><category>Xcode</category></item><item><title>Oh my…</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lmwthw6Ogz1qzkbrpo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Oh my…&lt;/p&gt;</description><link>http://mgile.com/post/6605761587</link><guid>http://mgile.com/post/6605761587</guid><pubDate>Thu, 16 Jun 2011 20:01:04 -0500</pubDate><category>houston</category><category>hot</category><category>melting</category><category>face</category></item><item><title>Making fantastic progress on my AppleTV hacking this weekend.</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lkuqgkO7LD1qzkbrpo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Making fantastic progress on my AppleTV hacking this weekend.&lt;/p&gt;</description><link>http://mgile.com/post/5289219413</link><guid>http://mgile.com/post/5289219413</guid><pubDate>Sat, 07 May 2011 19:53:05 -0500</pubDate><category>ios</category><category>appletv</category><category>360iDev</category></item><item><title>360iDev Session - AppleTV Apps: Are you ready for the big screen?</title><description>&lt;p&gt;Great news! I&amp;#8217;ve been accepted as a speaker for the 360iDev conference in Denver, Colorado taking place September 11-14, 2011.  Here is an overview of my session:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;i&gt;Headline from 2012: Apple destroys yet another market by introducing AppleTV AppStore. 60,000 games available today! Nintendo in panic mode&amp;#8230;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Did you know the latest AppleTV runs iOS? Is your app ready for the AppleTV AppStore? Do you know how best to present your app on a large-screen format? This session will teach you everything you want to know about AppleTV, including:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;How to develop unofficially until Apple releases the AppleTV AppStore&lt;/li&gt;
&lt;li&gt;Hardware provided by AppleTV&lt;/li&gt;
&lt;li&gt;Designing your app for the big screen&lt;/li&gt;
&lt;li&gt;User interface issues with limited remote control&lt;/li&gt;
&lt;li&gt;Sending audio and video to your AppleTV via AirPlay&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;See the entire schedule here:
&lt;a href="http://360idev.com/schedule"&gt;&lt;a href="http://360idev.com/schedule"&gt;http://360idev.com/schedule&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And don&amp;#8217;t forget to register early:
&lt;a href="http://360idev.eventbrite.com/?ref=ebtn"&gt;&lt;a href="http://360idev.eventbrite.com/?ref=ebtn"&gt;http://360idev.eventbrite.com/?ref=ebtn&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

I&amp;#8217;m also working hard to bring a couple &amp;#8220;one more thing&amp;#8221; surprises, so be sure to grab your seat early!</description><link>http://mgile.com/post/5026310432</link><guid>http://mgile.com/post/5026310432</guid><pubDate>Thu, 28 Apr 2011 19:15:41 -0500</pubDate><category>iOS</category><category>iPhone</category><category>AppleTV</category></item><item><title>OBD2Kit - Open source automotive diagnostics library for iOS</title><description>&lt;a href="https://github.com/FuzzyLuke/OBD2Kit"&gt;OBD2Kit - Open source automotive diagnostics library for iOS&lt;/a&gt;: &lt;p&gt;OBD2Kit is an iOS library I created for my startup &lt;a href="http://fuzzyluke.com"&gt;FuzzyLuke&lt;/a&gt;. After realizing there wasn’t such a huge market for this stuff beyond hobbyists I decided to open source the core library I had created.  The result is a reusable library for integrating OBD-2 diagnostics for WiFi and GoPoint GL1 automotive scanners into your own iOS applications.

In the coming months I will be adding more documentation and sample applications so that others may hopefully see some use out of this code.

Here’s some OBD-2 primer links if you have no idea what I’m talking about:

&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/On-board_diagnostics"&gt;OBD-2 Wikipedia Entry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://gopointtech.com/"&gt;GoPoint GL1 iPhone/iPad Diagnostic Reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://plxkiwi.com/kiwiwifi/"&gt;PLX Devices Kiwi WiFi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

Here’s the basic usage:
&lt;script src="https://gist.github.com/926544.js"&gt; &lt;/script&gt;

And here is how you can handle basic response information like speed and RPMs:
&lt;script src="https://gist.github.com/926548.js"&gt; &lt;/script&gt;</description><link>http://mgile.com/post/4731572308</link><guid>http://mgile.com/post/4731572308</guid><pubDate>Mon, 18 Apr 2011 18:49:00 -0500</pubDate><category>iOS</category><category>iPhone</category><category>iPad</category><category>OBD-2</category><category>fuzzyluke</category><category>cars</category></item><item><title>Binding Django user accounts and LinkedIn via javascript token exchange</title><description>&lt;a href="https://github.com/mgile/django-linkedinauth"&gt;Binding Django user accounts and LinkedIn via javascript token exchange&lt;/a&gt;: &lt;p&gt;This is an open-source project I created to enable the simple handoff of the Javascript-based LinkedIn sign-in button to a Django web application via bearer token exchange.  The server side handoff is described in:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://developer.linkedin.com/docs/DOC-1252"&gt;&lt;a href="http://developer.linkedin.com/docs/DOC-1252"&gt;http://developer.linkedin.com/docs/DOC-1252&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This enables a Django application to easily create a user profile model that authenticates against the LinkedIn API whenever a user clicks the LinkedIn javascript sign-in button on the client.&lt;/p&gt;</description><link>http://mgile.com/post/4729669155</link><guid>http://mgile.com/post/4729669155</guid><pubDate>Mon, 18 Apr 2011 17:41:01 -0500</pubDate><category>django</category><category>linkedin</category><category>javascript</category><category>oauth2</category><category>python</category></item><item><title>Django runserver and stunnel for testing HTTPS</title><description>&lt;p&gt;Recently I was testing a Django web app that required SSL enabled in order to retrieve a secure cookie for use server-side.  After some quick google and stackoverflow searches, it appeared that simple tunneling with stunnel was the way to go.  Unfortunately most of the documentation for doing this is typical unhelpful RTFM-isms.&lt;/p&gt;

&lt;p&gt;To get a simple tunnel setup, we typically want to follow this route:&lt;br/&gt;&lt;code&gt;&lt;br/&gt;
browser ---&amp;gt; https://localhost:8443 ---&amp;gt; http://localhost:8000 ---&amp;gt; runserver&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;That is, the routing of all requests on &lt;code&gt;localhost&lt;/code&gt; port &lt;code&gt;8443&lt;/code&gt; to &lt;code&gt;localhost&lt;/code&gt; port &lt;code&gt;8000&lt;/code&gt;, which is where our Django runserver instance is serving up our web application and static content (if any).  To setup this routing, I&amp;#8217;ve created a simple stunnel configuration file, which also provides a few other configuration niceties, like outputting all messages to &lt;code&gt;stdout&lt;/code&gt; rather than running silently in the background.  The configuration file is represented below:&lt;/p&gt;

&lt;p&gt;&lt;script src="https://gist.github.com/926334.js"&gt; &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Be sure to note the use of the &lt;code&gt;TIMEOUTclose&lt;/code&gt; option.  Without this set to a low timeout value, you will notice a severe lag before your browser receives a close message.  To run stunnel with this configuration, simply execute the following from the command line:&lt;br/&gt;&lt;code&gt;&lt;br/&gt;
sudo stunnel fake_https&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Finally, you must tell Django&amp;#8217;s runserver to modify all incoming HTTP requests to behave as if they were over HTTPS. This tells Django to set all request objects to return &lt;code&gt;True&lt;/code&gt; for calls to &lt;code&gt;request.is_secure()&lt;/code&gt;.  This may be accomplished by simply setting the &lt;code&gt;HTTPS&lt;/code&gt; environment variable to a non-zero value (i.e. True) prior to executing runserver.  For example:&lt;br/&gt;&lt;code&gt;&lt;br/&gt;
HTTPS=1 python manage.py runserver&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You may now visit &lt;code&gt;https://localhost:8443&lt;/code&gt; in your web browser, and you should see activity in your stunnel terminal window and in your Django runserver terminal window, indicating a successful tunneling of all local SSL traffic to your basic Django runserver.&lt;/p&gt;

&lt;p&gt;This simple method is a great way to test your web apps locally to ensure they behave correctly under secure and unsecure scenarios, including server-side handling of secure cookies.&lt;/p&gt;</description><link>http://mgile.com/post/4729505823</link><guid>http://mgile.com/post/4729505823</guid><pubDate>Mon, 18 Apr 2011 17:35:19 -0500</pubDate><category>django,</category><category>python</category><category>stunnel</category><category>ssl</category><category>https</category></item></channel></rss>

