<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Space Devin</title>
<link>https://space.la</link>
<description>Space: languages, tools, apps, games and the occasional cocktail. Every project since 1997, on a song wheel.</description>
<language>en</language>
<atom:link href="https://space.la/rss.xml" rel="self" type="application/rss+xml"/>
<lastBuildDate>Fri, 02 Apr 2021 00:00:00 GMT</lastBuildDate>
<item><title>Dark Mode First</title><link>https://space.la/portfolio/dark-mode-first/</link><guid isPermaLink="true">https://space.la/portfolio/dark-mode-first/</guid><pubDate>Fri, 02 Apr 2021 00:00:00 GMT</pubDate><description>A one-page design manifesto: in the beginning there was dark mode, kind to the eyes and brilliant in its simplicity. Our UIs got shiny and bright and painful to look at, and only recently have…</description><content:encoded><![CDATA[<p>A one-page design manifesto: in the beginning there was dark mode, kind to the eyes and brilliant in its simplicity. Our UIs got shiny and bright and painful to look at, and only recently have operating systems and websites caught up with a dark mode. Dark Mode First argues for designing the dark theme first and treating light as the variant.</p>
<p>Site: <a href="https://darkmodefirst.com" target="_blank" rel="noopener noreferrer">darkmodefirst.com</a> (source on <a href="https://github.com/spacedevin/darkmodefirst.com" target="_blank" rel="noopener noreferrer">GitHub</a>).</p>
]]></content:encoded><category>design</category><category>css</category><category>manifesto</category></item>
<item><title>Kersplat</title><link>https://space.la/portfolio/kersplat/</link><guid isPermaLink="true">https://space.la/portfolio/kersplat/</guid><pubDate>Sun, 01 Nov 2020 00:00:00 GMT</pubDate><description>Kersplat is a custom-apparel dropshipping app built at AE Studio: design a shirt on your phone, and it gets printed and shipped without touching inventory. The mobile app is React Native with Expo…</description><content:encoded><![CDATA[<p>Kersplat is a custom-apparel dropshipping app built at AE Studio: design a shirt on your phone, and it gets printed and shipped without touching inventory. The mobile app is React Native with Expo (EAS builds to both stores) and the web side and API are Next.js.</p>
<p>Site: <a href="https://kersplat.app" target="_blank" rel="noopener noreferrer">kersplat.app</a>.</p>
]]></content:encoded><category>react-native</category><category>expo</category><category>nextjs</category><category>shopify</category><category>ae-studio</category></item>
<item><title>Bitcoin Fax</title><link>https://space.la/portfolio/bitcoin-fax-tool/</link><guid isPermaLink="true">https://space.la/portfolio/bitcoin-fax-tool/</guid><pubDate>Tue, 31 Oct 2017 00:53:57 GMT</pubDate><description>We all just love faxing stuff -- don&#39;t we? Faxes are the way of the future. You can see low resolution images and documents using nothing more than a phone line. I can imagine some future where…</description><content:encoded><![CDATA[<p>We all just love faxing stuff -- don't we? Faxes are the way of the future. You can see low resolution images and documents using nothing more than a phone line. I can imagine some future where everything is run by faxes. So let's pair faxes with Bitcoin, an old technology that is on its way out the door. Old meets new.</p>
<p>Enjoy the new Bitcoin Fax Tool, developed in React, just for you.</p>
<p>https://bitcoinfaxtool.com</p>
]]></content:encoded><category>bitcoin</category><category>cryptocurrency</category><category>fax</category><category>nodejs</category><category>react</category></item>
<item><title>BEAT.R.</title><link>https://space.la/portfolio/beatr/</link><guid isPermaLink="true">https://space.la/portfolio/beatr/</guid><pubDate>Tue, 05 Sep 2017 18:37:06 GMT</pubDate><description>Just in time for my birthday, comes the release of my new game, BEAT.R. With just a single tap, experience exhilarating 3D blocks exploding everywhere while colors and sounds delight you in every…</description><content:encoded><![CDATA[<p>Just in time for my birthday, comes the release of my new game, BEAT.R. </p>
<p>With just a single tap, experience exhilarating 3D blocks exploding everywhere while colors and sounds delight you in every way.</p>
<p>This infinite runner is sure to grab your attention for at least 30 seconds.</p>
]]></content:encoded><category>store</category><category>featured</category><category>unity</category><category>csharp</category><category>game</category></item>
<item><title>Ionic Video Chat 2</title><link>https://space.la/portfolio/whatsapp-viber-clone-ionic-video-text-chat/</link><guid isPermaLink="true">https://space.la/portfolio/whatsapp-viber-clone-ionic-video-text-chat/</guid><pubDate>Tue, 31 Jan 2017 12:15:56 GMT</pubDate><description>Ionic Video Chat is a fully functional real time Video and Text chat app similar to Viber or WhatsApp. It has full multi-platform support for iOS, Android, macOS, Windows, and Linux. It contains two…</description><content:encoded><![CDATA[<p><strong>Ionic Video Chat</strong> is a fully functional real time Video and Text chat app similar to <a href="https://www.viber.com/" target="_blank" rel="noopener noreferrer">Viber</a> or <a href="https://www.whatsapp.com/" target="_blank" rel="noopener noreferrer">WhatsApp</a>. It has full multi-platform support for iOS, Android, macOS, Windows, and Linux. It contains two versions, one in Ionic 1 and another in Ionic 2.</p>
<p>It comes with a complete backend in <strong>Node.js</strong> and <strong>MongoDB</strong> for user management &amp;amp; chat history features, and utilizes <strong>WebRTC</strong> for direct peer to peer secure communication.</p>
<p>Chat sounds by <a href="https://audiojungle.net/item/cute-pops/15096396" target="_blank" rel="noopener noreferrer">Chase Kenway</a>.</p>
<p>Full documentation and support information is provided in the <a href="https://github.com/devin-la/ionic-video-chat-v2-issues/wiki" target="_blank" rel="noopener noreferrer">wiki</a>.</p>
<hr/>
<a href="/images/posts/357960631988/body-1.png" target="_blank">
<img src="/images/posts/357960631988/body-1.png" alt="Ionic VIdeo Chat App Screenshots" class="full">
</a>
<hr/>
<p><img src="/images/posts/357960631988/body-2.png" alt="Real Time Video Chat App" loading="lazy" />
<img src="/images/posts/357960631988/body-3.png" alt="image" loading="lazy" /></p>
]]></content:encoded><category>ionic</category><category>hybrid</category><category>webrtc</category><category>video</category><category>whatsapp</category><category>cordova</category><category>mobile</category><category>featured</category><category>store</category></item>
<item><title>Ionic Video Chat 1</title><link>https://space.la/blog/ionic-video-chat-1/</link><guid isPermaLink="true">https://space.la/blog/ionic-video-chat-1/</guid><pubDate>Tue, 24 Jan 2017 19:27:12 GMT</pubDate><description>Ionic Video &amp; Text Chat is a fully functional Ionic 1 starter project with Video and Text Messaging similar to WhatsApp. The Video Chat portion features WebRTC using the cordova-plugin-iosrtc plugin,…</description><content:encoded><![CDATA[<p>Ionic Video &amp; Text Chat is a fully functional Ionic 1 starter project with Video and Text Messaging similar to <a href="https://www.whatsapp.com/" target="_blank" rel="noopener noreferrer">WhatsApp</a>.</p>
<p>The Video Chat portion features <a href="https://webrtc.org/" target="_blank" rel="noopener noreferrer">WebRTC</a> using the <a href="https://github.com/eface2face/cordova-plugin-iosrtc" target="_blank" rel="noopener noreferrer">cordova-plugin-iosrtc</a> plugin, and <a href="http://socket.io" target="_blank" rel="noopener noreferrer">socket.io</a> signaling server.</p>
<p>The Text chat utilizes <a href="http://socket.io" target="_blank" rel="noopener noreferrer">socket.io</a>, <a href="https://nodejs.org/" target="_blank" rel="noopener noreferrer">Node.js</a> and <a href="https://www.mongodb.com/" target="_blank" rel="noopener noreferrer">MongoDB</a> for real-time messaging and user authentication.</p>
<hr/>
<ul>
<li>Complete Ionic app, interface, and backend</li>
<li>WebRTC Video Chat using <a href="https://github.com/eface2face/cordova-plugin-iosrtc" target="_blank" rel="noopener noreferrer">cordova-plugin-iosrtc</a> and <a href="https://crosswalk-project.org/" target="_blank" rel="noopener noreferrer">crosswalk</a></li>
<li>Real time text chat using <a href="http://socket.io" target="_blank" rel="noopener noreferrer">socket.io</a></li>
<li>Text message history</li>
<li>Complete <a href="https://nodejs.org/" target="_blank" rel="noopener noreferrer">Node.js</a> and <a href="https://www.mongodb.com/" target="_blank" rel="noopener noreferrer">MongoDB</a> backend for users and data storage</li>
<li>User login and signup</li>
<li>Video previews when calling and answering</li>
<li>Contact List page with most recent message</li>
<li>Timestamp diffs using <a href="https://momentjs.com/" target="_blank" rel="noopener noreferrer">Moment.js</a></li>
<li>Native Audio with fallback for HTML5 audio</li>
<li>Chat sounds by <a href="https://audiojungle.net/item/cute-pops/15096396" target="_blank" rel="noopener noreferrer">Chase Kenway</a>.</li>
<li>Contact Card popup for quick calls</li>
<li>CSS3 Animations</li>
<li>Frequent updates and support</li>
<li>Full support in desktop Chrome</li>
</ul>
<hr/>
<p>Full documentation is available at https://github.com/devin-la/ionic-video-chat-v2-issues/wiki</p>
]]></content:encoded><category>store</category></item>
<item><title>Ionic Video Chat</title><link>https://space.la/blog/ionic-video-text-chat-socket-io/</link><guid isPermaLink="true">https://space.la/blog/ionic-video-text-chat-socket-io/</guid><pubDate>Tue, 24 Jan 2017 12:26:28 GMT</pubDate><description>Last weekend I decided to clone what I imaginged would be a somewhat complicated app: WhatsApp. Particularly the video I was worried about. Currently, Safari, including mobile Safari does not support…</description><content:encoded><![CDATA[<p>Last weekend I decided to clone what I imaginged would be a somewhat complicated app: WhatsApp.
Particularly the video I was worried about. Currently, Safari, including mobile Safari does not support WebRTC as a means of communication for video.
But the super heroes over at <a href="https://github.com/eface2face" target="_blank" rel="noopener noreferrer">eface2face</a> created this amazing <a href="https://github.com/eface2face/cordova-plugin-iosrtc" target="_blank" rel="noopener noreferrer">cordova-plugin-iosrtc</a> which adds WebRTC to cordova/ionic iOS apps!
Along with iosrtc, it also includes <a href="https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview" target="_blank" rel="noopener noreferrer">cordova-plugin-crosswalk-webview</a> for WebRTC inside of Android.</p>
<p>Included with the package is a Node.js, socket.io, and MongoDB backend. All communication for chat happens using socket.io.
For video, each peer connects with eachother after sending messages through socket.io to eachother.</p>
<p>It also includes some pretty perfect chat sounds from <a href="https://audiojungle.net/item/cute-pops/15096396" target="_blank" rel="noopener noreferrer">Chase Kenway</a>.</p>
<p>I decided to release this on the Ionic Marketplace, and you can find it here</p>
<p><a href="/blog/ionic-video-chat-1/">Video and Text Chat full app</a></p>
]]></content:encoded><category>native</category><category>ionic</category><category>cordova</category><category>hybrid</category><category>whatsapp</category><category>mobile</category></item>
<item><title>A fresh new look</title><link>https://space.la/blog/devin-smith-2017-new-design-look/</link><guid isPermaLink="true">https://space.la/blog/devin-smith-2017-new-design-look/</guid><pubDate>Sun, 15 Jan 2017 12:54:24 GMT</pubDate><description>Just about once every year in January I redesign or redevelop my website with whatever tech suits my fancy. Today I release a new design, similiar to my previous one, but much cleaner, with lots of…</description><content:encoded><![CDATA[<p>Just about once every year in January I redesign or redevelop my website with whatever tech suits my fancy. Today I release a new design, similiar to my previous one, but much cleaner, with lots of responsiveness for large displays. </p>
<p>This version is powerd by a lightweight <a href="http://mean.io/" target="_blank" rel="noopener noreferrer">MEAN</a> (MongoDB, Express, Angular, Node.js) stack.</p>
<p>Typically when I redo my site I am focused on the backend or whatever framework I just came out with and how to improve it. This time I just focused on the design and content presentation.</p>
<p>This also marks a move off of tumblr which was nice while it lasted. This time I built my own admin editing tools that allow me to upload to GitHub Issues for image hosting, along with a simple <a href="https://daringfireball.net/projects/markdown/" target="_blank" rel="noopener noreferrer">Markdown</a> editor using <a href="http://codemirror.net/" target="_blank" rel="noopener noreferrer">Codemirror</a>.</p>
<p>If you are reading this, you are already probably looking at the design, so...thanks!</p>
<hr>
<a href="/images/posts/876774358951/body-1.jpg" target="_blank">
<img src="/images/posts/876774358951/body-1.jpg" alt="MEAN stack and design" class="full">
</a>

]]></content:encoded><category>design</category><category>devin</category><category>angular</category><category>mean</category><category>javascript</category><category>mongodb</category></item>
<item><title>WoW Stat 3</title><link>https://space.la/portfolio/wow-stat-3-its-been-years-since-ive-played/</link><guid isPermaLink="true">https://space.la/portfolio/wow-stat-3-its-been-years-since-ive-played/</guid><pubDate>Wed, 20 Jul 2016 15:52:33 GMT</pubDate><description>WoW Stat is a World of Warcraft server monitor utility. All you have to do is set the server you wish to monitor. If your server goes down, WoW Stat will automatically notify you when it is back up,…</description><content:encoded><![CDATA[<p>WoW Stat is a World of Warcraft server monitor utility. All you have to do is set the server you wish to monitor. If your server goes down, WoW Stat will automatically notify you when it is back up, and even relaunch WoW for you. </p>
<p>It's been years since i've played wow, but it turns out that Titanium's servers no longer host the libraries to run my old version of WoW Stat, so I decided to rebuild it in <a href="http://electron.atom.io" target="_blank" rel="noopener noreferrer">Electron</a>. It's built in javascript/html/css and compiled as a desktop app for both Windows and macOS.</p>
<p>Check it out at <a href="http://wowst.at" target="_blank" rel="noopener noreferrer">wowst.at</a>.</p>
]]></content:encoded><category>wow</category><category>wowstat</category><category>world of warcraft</category><category>electron</category><category>javascript</category><category>desktop</category><category>featured</category><category>store</category></item>
<item><title>Male Princess</title><link>https://space.la/blog/male-princess-mike-drew-a-pretty-princess-on-our/</link><guid isPermaLink="true">https://space.la/blog/male-princess-mike-drew-a-pretty-princess-on-our/</guid><pubDate>Thu, 26 May 2016 20:05:14 GMT</pubDate><description>Mike drew a pretty princess on our whiteboard while we were working on Mail Princess. So we just had to. Come check out the Male Princess.</description><content:encoded><![CDATA[<p>Mike drew a pretty princess on our whiteboard while we were working on <a href="http://mailprincess.com" target="_blank" rel="noopener noreferrer">Mail Princess</a>. So we just had to.</p>
<p>Come check out the <a href="http://maleprincess.com" target="_blank" rel="noopener noreferrer">Male Princess</a>.</p>
]]></content:encoded><category>html</category><category>design</category></item>
<item><title>Mail Princess</title><link>https://space.la/portfolio/mail-princess-on-demand-automated-check-and/</link><guid isPermaLink="true">https://space.la/portfolio/mail-princess-on-demand-automated-check-and/</guid><pubDate>Thu, 26 May 2016 19:28:35 GMT</pubDate><description>On-demand automated Check and Document Mailing. Send checks by mail, or documents by mail, or instantly by fax. Making the world a better place, one check at a time. Mail Princess is a hybrid app…</description><content:encoded><![CDATA[<p>On-demand automated Check and Document Mailing. Send checks by mail, or documents by mail, or instantly by fax. Making the world a better place, one check at a time.</p>
<p>Mail Princess is a hybrid app built using Ionic, and Tipsy, with the help of my developers here at Youbeo (now ae.studio), Daniel and Lucas. It sends checks via mail, or images via fax or email.</p>
<p>Take a look at it over at <a href="http://mailprincess.com" target="_blank" rel="noopener noreferrer">mailprincess.com</a></p>
]]></content:encoded><category>mailprincess</category><category>tipsy</category><category>php</category><category>ionic</category><category>featured</category></item>
<item><title>Instill</title><link>https://space.la/portfolio/instill/</link><guid isPermaLink="true">https://space.la/portfolio/instill/</guid><pubDate>Sun, 01 May 2016 00:00:00 GMT</pubDate><description>Instill: share knowledge with video. A tool for recording super fast how-to and training videos so teams could capture what someone knows before it walks out the door. It started as knowledge sharing…</description><content:encoded><![CDATA[<p>Instill: share knowledge with video. A tool for recording super fast how-to and training videos so teams could capture what someone knows before it walks out the door. It started as knowledge sharing with video in 2016 and grew into training and knowledge-sharing video creation over the following years.</p>
<p>Site: instill.io (archived captures 2016 to 2020).</p>
]]></content:encoded><category>video</category><category>saas</category><category>startup</category><category>ae-studio</category></item>
<item><title>Single page GitHub wiki generator</title><link>https://space.la/blog/single-page-github-wiki-generator/</link><guid isPermaLink="true">https://space.la/blog/single-page-github-wiki-generator/</guid><pubDate>Sun, 13 Dec 2015 00:04:36 GMT</pubDate><description>GitHub has a great markdown powered wiki editor that is good for some wikis but not always great for technical documentation. Today I finished up Github Wiki Single Page. This project allows you to…</description><content:encoded><![CDATA[<p>GitHub has a great markdown powered wiki editor that is good for some wikis but not always great for technical documentation. Today I finished up <a href="https://github.com/arzynik/github-wiki-single-page" target="_blank" rel="noopener noreferrer">Github Wiki Single Page</a>. This project allows you to enter any GitHub wiki that contains a sidebar, select a Bootswatch theme, and generate a single page version of it. This works great for searching through docs. </p>
<p>Have a look at the example using <a href="https://github-wiki-single-page.herokuapp.com/tipsyphp/tipsy" target="_blank" rel="noopener noreferrer">Tipsy's Wiki</a>.</p>
]]></content:encoded><category>ruby</category><category>github</category><category>wiki</category><category>markdown</category></item>
<item><title>Tipsy featured on homepage of coveralls.io</title><link>https://space.la/blog/tipsy-featured-on-coveralls/</link><guid isPermaLink="true">https://space.la/blog/tipsy-featured-on-coveralls/</guid><pubDate>Fri, 04 Dec 2015 21:29:15 GMT</pubDate><description>Woohoo! Lee of Coveralls just added Tipsy to the front page. Scroll down to find it in the PHP section. Thanks Lee!</description><content:encoded><![CDATA[<p>Woohoo! </p>
<p><a href="https://github.com/anjin" target="_blank" rel="noopener noreferrer">Lee</a> of <a href="https://coveralls.io/" target="_blank" rel="noopener noreferrer">Coveralls</a> just added <a href="http://tipsy.la" target="_blank" rel="noopener noreferrer">Tipsy</a> to the front page. Scroll down to find it in the PHP section.</p>
<p>Thanks Lee!</p>
]]></content:encoded><category>coveralls</category><category>tipsy</category><category>php</category><category>framework</category><category>code coverage</category></item>
<item><title>Pulpo Loco</title><link>https://space.la/blog/pulpo-loco-another-tipsy-example-complete-pulpo/</link><guid isPermaLink="true">https://space.la/blog/pulpo-loco-another-tipsy-example-complete-pulpo/</guid><pubDate>Tue, 01 Dec 2015 21:01:53 GMT</pubDate><description>Another Tipsy example complete! Pulpo Loco is a simple self hosted MySQL/PostgreSQL URL shortener using PHP and AngularJS. Have a look over at pulpolo.co or visit its source over at GitHub. For more…</description><content:encoded><![CDATA[<p>Another <a href="http://tipsy.la" target="_blank" rel="noopener noreferrer">Tipsy</a> example complete! Pulpo Loco is a simple self hosted MySQL/PostgreSQL URL shortener using PHP and AngularJS.</p>
<p>Have a look over at <a href="http://pulpolo.co/" target="_blank" rel="noopener noreferrer">pulpolo.co</a> or visit its source over at <a href="https://github.com/arzynik/pulpoloco" target="_blank" rel="noopener noreferrer">GitHub</a>.</p>
<p>For more Tipsy examples check out the <a href="https://github.com/tipsyphp/tipsy/wiki/Examples" target="_blank" rel="noopener noreferrer">Examples</a> page.</p>
]]></content:encoded><category>tipsy</category><category>php</category><category>angularjs</category><category>postgresql</category><category>octopus</category></item>
<item><title>Ice Cream Please</title><link>https://space.la/portfolio/ice-cream-please/</link><guid isPermaLink="true">https://space.la/portfolio/ice-cream-please/</guid><pubDate>Mon, 30 Nov 2015 17:24:49 GMT</pubDate><description>Yes please! Last night I redid my old Beer Please site with a few changes: Uses the new Tipsy framework Uses Stripe instead of Paypal Now is opensource There is both a Beer and an Ice Cream design in…</description><content:encoded><![CDATA[<p>Yes please! Last night I redid my old <a href="http://devin.la/post/105405194940/beer-please-is-my-way-of-getting-funds-from" target="_blank" rel="noopener noreferrer">Beer Please</a> site with a few changes:</p>
<ul>
<li>Uses the new <a href="http://tipsy.la" target="_blank" rel="noopener noreferrer">Tipsy</a> framework</li>
<li>Uses Stripe instead of Paypal</li>
<li>Now is opensource</li>
<li>There is both a <a href="https://github.com/arzynik/beerplease" target="_blank" rel="noopener noreferrer">Beer</a> and an <a href="https://github.com/arzynik/beerplease/tree/icecream" target="_blank" rel="noopener noreferrer">Ice Cream</a> design in their own branches</li>
<li>Added a 1 click deploy to Heroku button so you can deploy your own instantly</li>
</ul>
<p>Take a loook over at <a href="http://beerplease.co" target="_blank" rel="noopener noreferrer">beerplease.co</a> or <a href="http://icecreamplease.co" target="_blank" rel="noopener noreferrer">icecreamplease.co</a></p>
]]></content:encoded><category>php</category><category>tipsy</category><category>beerplease</category><category>stripe</category></item>
<item><title>Tipsy Benchmark</title><link>https://space.la/blog/tipsy-php-framework-benchmark/</link><guid isPermaLink="true">https://space.la/blog/tipsy-php-framework-benchmark/</guid><pubDate>Sun, 29 Nov 2015 15:28:19 GMT</pubDate><description>Tipsy gets benchmarked against other popular PHP frameworks. Acording to these tests, Tipsy is the fastest extension-free framework (both phalcon and ice require compiled PHP C extensions to work).…</description><content:encoded><![CDATA[<p>Tipsy gets benchmarked against other popular PHP frameworks. Acording to these tests, Tipsy is the fastest extension-free framework (both phalcon and ice require compiled PHP C extensions to work).</p>
<p><a href="https://github.com/kenjis/php-framework-benchmark#hello-world-benchmark" target="_blank" rel="noopener noreferrer">PHP Framework Benchmark</a></p>
]]></content:encoded><category>tipsy</category><category>php</category><category>benchmark</category><category>framework</category></item>
<item><title>Tipsy v0.10.3</title><link>https://space.la/blog/tipsy-v0103/</link><guid isPermaLink="true">https://space.la/blog/tipsy-v0103/</guid><pubDate>Sun, 29 Nov 2015 01:54:55 GMT</pubDate><description>New Tipsy, new sample code. With the latest release of Tipsy we get performance improvments, PostgreSQL support, and a bunch of easily deployable examples, including Hello World, Blog Example, and…</description><content:encoded><![CDATA[<p>New Tipsy, new sample code. </p>
<p>With the latest release of Tipsy we get performance improvments, PostgreSQL support, and a bunch of easily deployable examples, including <a href="https://github.com/tipsyphp/tipsy-hello-world" target="_blank" rel="noopener noreferrer">Hello World</a>, <a href="https://github.com/tipsyphp/tipsy-example-blog" target="_blank" rel="noopener noreferrer">Blog Example</a>, and <a href="https://github.com/arzynik/beersquirrel" target="_blank" rel="noopener noreferrer">Beer Squirrel</a>.</p>
<p>Take a look at all examples at <a href="https://github.com/tipsyphp/tipsy/wiki/Examples" target="_blank" rel="noopener noreferrer">Examples</a>.</p>
]]></content:encoded><category>tipsy</category><category>framework</category><category>examples</category><category>php</category><category>postgresql</category></item>
<item><title>A Solitary Mann</title><link>https://space.la/portfolio/a-solitary-mann/</link><guid isPermaLink="true">https://space.la/portfolio/a-solitary-mann/</guid><pubDate>Thu, 05 Nov 2015 08:00:00 GMT</pubDate><description>Yet another website for Loic Zimmermann, this time showcasing his new film. Most of the design was done by Loic himself. The rest was built using AngularJS and jQuery. Have a look over at…</description><content:encoded><![CDATA[<p>Yet another website for <a href="http://loiczimmermann.com/" target="_blank" rel="noopener noreferrer">Loic Zimmermann</a>, this time showcasing his new film.</p>
<p>Most of the design was done by Loic himself. The rest was built using AngularJS and jQuery.</p>
<p>Have a look over at <a href="http://asolitarymann.com" target="_blank" rel="noopener noreferrer">asolitarymann.com</a></p>
]]></content:encoded><category>javascript</category><category>angularjs</category><category>loic</category><category>e338</category><category>asolitarymann</category><category>jquery</category></item>
<item><title>Tipsy</title><link>https://space.la/portfolio/tipsy-is-an-mvw-model-view-whatever-php-micro/</link><guid isPermaLink="true">https://space.la/portfolio/tipsy-is-an-mvw-model-view-whatever-php-micro/</guid><pubDate>Wed, 30 Sep 2015 07:00:00 GMT</pubDate><description>Tipsy is an MVW (Model, View, Whatever) PHP micro framework inspired by AngularJS. It provides a very lightweight, easy to use interface for websites, rest apis, and dependency injection. Today Tipsy…</description><content:encoded><![CDATA[<p>Tipsy is an MVW (Model, View, Whatever) PHP micro framework inspired by <a href="https://angularjs.org/" target="_blank" rel="noopener noreferrer">AngularJS</a>. It provides a very lightweight, easy to use interface for websites, rest apis, and dependency injection.</p>
<p>Today Tipsy reaches v0.8.0, and brings a whole lot of stability and features including middleware which is useful for login services.</p>
<p>See <a href="http://tipsy.la" target="_blank" rel="noopener noreferrer">tipsy.la</a> for more detailed examples and documentation.</p>
]]></content:encoded><category>php</category><category>php7</category><category>mvw</category><category>framework</category><category>tipsy</category><category>featured</category></item>
<item><title>Cockpit</title><link>https://space.la/portfolio/cockpit-is-yet-another-administrative-supertool/</link><guid isPermaLink="true">https://space.la/portfolio/cockpit-is-yet-another-administrative-supertool/</guid><pubDate>Wed, 17 Dec 2014 03:58:00 GMT</pubDate><description>Cockpit is yet another administrative supertool I&#39;ve worked on/created. Cockpit is created for Crunchbutton. Delivery drivers use Cockpit to accept orders, manage orders, setup payment info, and for…</description><content:encoded><![CDATA[<p>Cockpit is yet another administrative supertool I've worked on/created. Cockpit is created for <a href="http://crunchbutton.com" target="_blank" rel="noopener noreferrer">Crunchbutton</a>.</p>
<p>Delivery drivers use Cockpit to accept orders, manage orders, setup payment info, and for reporting purposes.</p>
<p>Crunchbutton uses cockpit internally to handle customer service requests, track orders, manage restaurants, drivers, deploy code, and countless other admin tasks.</p>
<p><a href="http://launch.cockpit.la" target="_blank" rel="noopener noreferrer">launch.cockpit.la</a></p>
]]></content:encoded><category>php</category><category>design</category><category>development</category><category>crunchbutton</category></item>
<item><title>Cheryl</title><link>https://space.la/portfolio/cheryl-file-management-for-the-modern-web/</link><guid isPermaLink="true">https://space.la/portfolio/cheryl-file-management-for-the-modern-web/</guid><pubDate>Thu, 11 Dec 2014 08:00:00 GMT</pubDate><description>Cheryl is a web based file manager for the modern web. Built on top of PHP5 and AngularJS with lots of love from HTML5 and CSS3 animations. This is my third iteration of my open source file…</description><content:encoded><![CDATA[<p>Cheryl is a web based file manager for the modern web. Built on top of PHP5 and AngularJS with lots of love from HTML5 and CSS3 animations.</p>
<p>This is my third iteration of my <a href="http://osfilemanager.com" target="_blank" rel="noopener noreferrer">open source file management system</a> I origionaly wrote in 2003. Thats old!</p>
<p>Take a look over at <a href="http://cheryl.io" target="_blank" rel="noopener noreferrer">cheryl.io</a>.</p>
]]></content:encoded><category>cheryl</category><category>php</category><category>filemanager</category><category>featured</category></item>
<item><title>Gamma Wray</title><link>https://space.la/blog/gamma-wray/</link><guid isPermaLink="true">https://space.la/blog/gamma-wray/</guid><pubDate>Tue, 09 Sep 2014 07:00:00 GMT</pubDate><description>Another website for Loic Zimmermann, this time showcasing his short film. Most of the design was done by Loic himself. I just threw it together to do things. Have a look over at gamma-wray.com</description><content:encoded><![CDATA[<p>Another website for <a href="http://loiczimmermann.com/" target="_blank" rel="noopener noreferrer">Loic Zimmermann</a>, this time showcasing his short film.</p>
<p>Most of the design was done by Loic himself. I just threw it together to do things.</p>
<p>Have a look over at <a href="http://gamma-wray.com" target="_blank" rel="noopener noreferrer">gamma-wray.com</a></p>
]]></content:encoded><category>loic</category><category>e338</category></item>
<item><title>The release of Tipsy (MVW PHP)</title><link>https://space.la/blog/the-release-of-tipsy-mvw-php/</link><guid isPermaLink="true">https://space.la/blog/the-release-of-tipsy-mvw-php/</guid><pubDate>Sat, 02 Aug 2014 13:57:00 GMT</pubDate><description>Over the last decade I have modified and released several different PHP frameworks, with each version changing as my style changes. This new framework, created almost from scratch for some of my…</description><content:encoded><![CDATA[<p>Over the last decade I have modified and released several different PHP frameworks, with each version changing as my style changes. This new framework, created almost from scratch for some of my newer, smaller sites, focuses on speed of development, with the idea of making REST based web apps super easy to build.</p>
<p>This new version has been named <a href="http://tipsy.la" target="_blank" rel="noopener noreferrer">Tipsy</a>, because, obviously, I made it...and everything else...while drinking.</p>
<p>Tipsy is an MVW (Model View Whatever) framework, following the examples of <a href="https://angularjs.org/" target="_blank" rel="noopener noreferrer">AngularJS</a>.</p>
<p>Heres a quick example of how easy, yet how powerful and lightweight, Tipsy is:</p>
<p><strong>index.php</strong></p>
<p>    require_once 'Tipsy.php';
    use Tipsy\Tipsy;</p>
<p>    $tipsy = new Tipsy;</p>
<p>    $tipsy-&gt;router()
        -&gt;when('hello', function($Scope, $View) {
            $Scope-&gt;user = 'Devin';
            $View-&gt;display('hello');
        })
        -&gt;otherwise(function() {
            echo '404';
        });</p>
<p>    $tipsy-&gt;start();</p>
<p><strong>hello.phtml</strong></p>
<p>    <h1 id="welcome-user">Welcome, =$user?&gt;!</h1></p>
<p>Take a look at the source, examples, and documentation, over at <a href="https://github.com/tipsyphp/Tipsy" target="_blank" rel="noopener noreferrer">Tipsy's Github Repo</a>.</p>
]]></content:encoded><category>php</category><category>framework</category><category>tipsy</category><category>mvw</category><category>mvc</category></item>
<item><title>Learn to build an application using Angular.js</title><link>https://space.la/blog/learn-to-build-an-application-using-angularjs/</link><guid isPermaLink="true">https://space.la/blog/learn-to-build-an-application-using-angularjs/</guid><pubDate>Sat, 02 Aug 2014 01:43:11 GMT</pubDate><description>How awesome would it be if there was a short online class on how to build an application using Angular? O wait there already is. Check it out.…</description><content:encoded><![CDATA[<p>How awesome would it be if there was a short online class on how to build an application using Angular? O wait there already is. Check it out.</p>
<p>http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro</p>
]]></content:encoded></item>
<item><title>I&#39;ve moved to tumblr!</title><link>https://space.la/blog/i-ve-moved-to-tumblr/</link><guid isPermaLink="true">https://space.la/blog/i-ve-moved-to-tumblr/</guid><pubDate>Wed, 16 Jul 2014 00:11:46 GMT</pubDate><description>After nearly 18 years of building and managing my own website using nothing but a text editor and scratch code, I&#39;ve decided to build on top of an existing platform for once. Tumblrs custom themes…</description><content:encoded><![CDATA[<p>After nearly 18 years of building and managing my own website using nothing but a text editor and scratch code, I've decided to build on top of an existing platform for once.</p>
<p>Tumblrs custom themes are ridiculously simple to modify so that each page can display each type of data nice and pretty.</p>
<p>Maybe now I will write posts more often than once every year...</p>
]]></content:encoded></item>
<item><title>Squirrelly</title><link>https://space.la/portfolio/beer-squirrel/</link><guid isPermaLink="true">https://space.la/portfolio/beer-squirrel/</guid><pubDate>Tue, 17 Jun 2014 07:00:00 GMT</pubDate><description>Following the release of Githubs Octicons, I decided to create a website to showcase 2 of my favorite, the beer and squirrel. I give you Squirrelly, an open source image and text sharing tool built…</description><content:encoded><![CDATA[<p>Following the release of Githubs <a href="https://octicons.github.com/" target="_blank" rel="noopener noreferrer">Octicons</a>, I decided to create a website to showcase 2 of my favorite, the beer and squirrel. </p>
<p>I give you <a href="http://squirrelly.io" target="_blank" rel="noopener noreferrer">Squirrelly</a>, an open source image and text sharing tool built using <a href="http://tipsy.la" target="_blank" rel="noopener noreferrer">Tipsy</a>. Enjoy!</p>
<p><a href="http://squirrelly.io" target="_blank" rel="noopener noreferrer">squirrelly.io</a></p>
]]></content:encoded><category>beersquirrel</category><category>php</category><category>tipsy</category></item>
<item><title>Cluckbutton</title><link>https://space.la/portfolio/cluckbutton-a-video-game-for-chicks/</link><guid isPermaLink="true">https://space.la/portfolio/cluckbutton-a-video-game-for-chicks/</guid><pubDate>Thu, 05 Jun 2014 07:00:00 GMT</pubDate><description>Cluckbutton is a game I created for Crunchbutton just for the hell of it. Crunchbutton provides online food delivery to select areas. By playing the game you are offered discounts on your orders. For…</description><content:encoded><![CDATA[<p>Cluckbutton is a game I created for Crunchbutton just for the hell of it. Crunchbutton provides online food delivery to select areas. By playing the game you are offered discounts on your orders.</p>
<p>For more information, and to play online, visit <a href="http://cluckbutton.com" target="_blank" rel="noopener noreferrer">Cluckbutton</a>.</p>
]]></content:encoded><category>game</category><category>unity</category><category>crunchbutton</category><category>cluckbutton</category><category>featured</category></item>
<item><title>Colos</title><link>https://space.la/portfolio/colos-phillips-hue-app/</link><guid isPermaLink="true">https://space.la/portfolio/colos-phillips-hue-app/</guid><pubDate>Sat, 14 Dec 2013 21:12:00 GMT</pubDate><description>Simple and elegant Philips Hue lighting system control. Change lights easily with preset animated transitions. Available for iPhone and iPad. colos.io</description><content:encoded><![CDATA[<p>Simple and elegant Philips Hue lighting system control. Change lights easily with preset animated transitions. Available for iPhone and iPad.</p>
<p><a href="http://colos.io" target="_blank" rel="noopener noreferrer">colos.io</a></p>
]]></content:encoded><category>colos</category><category>featured</category><category>cordova</category><category>store</category></item>
<item><title>I fucking love AngularJS. I fucking love Cana.</title><link>https://space.la/blog/i-fucking-love-angularjs-i-fucking-love-cana/</link><guid isPermaLink="true">https://space.la/blog/i-fucking-love-angularjs-i-fucking-love-cana/</guid><pubDate>Tue, 19 Nov 2013 10:17:00 GMT</pubDate><description>About a year ago I started a personal project called droplet that is basically a shared photo library social network (for people who have friends). It was my test to learn AngularJS. I fucking hated…</description><content:encoded><![CDATA[<p><p>About a year ago I started a personal project called droplet that is basically a shared photo library social network (for people who have friends). It was my test to learn <a href=\"https://angularjs.org/\" target=\"_blank\">AngularJS</a>. I fucking hated it. The documentation was absolutely awful, wrong at least half of the time. Or the docs reflect some crazy version that never even made it to main repo. It was a complete fucking mess, and that is what I expected.</p>
<p>The fact that it was a fuckshow actually made it MORE fun to learn. So I built this silly little app in 2 days, and decided I had enough knowledge to switch our entire company, <a href=\"https://crunchbutton.com/\" target=\"_blank\">Crunchbutton</a>, away from my scratch built JS framework to Angular. I was wrong. But not in a bad way.</p>
<p>Over the course of the next couple days, i converted what was basically jQuery and a backbone (for templates ONLY) MVC framework and turned it into Angular...for the most part. I got seriously tired of all the broken shit, or people claiming this piece of code works, or whatever, and it just -- not -- working. So I had my developer partner, Daniel, do all the hard stuff! And hard stuff he did. He converted all of my half finished code into pretty angular directives and fixed all the junk I broke. He was my savior.</p>
<p>A couple weeks go by, and we are ready for live. It was awesome, but in reality at the time it was nothing more than a framework change, and a messy one at that. It took us both a while to finish cleaning things up and angularify everything. Soon after, we pushed our app to the iOS store. Yay! But thats not what this post is about.</p>
<p>The app has been in the store for just over a month, and since then I have COMPLETELY redone the UI and design. I spent countless drunk hours designing all the new stuff without touching any code, trying to make sure every pixel was perfect. Well...its fucking perfect.</p>
<p>So let me get to the point:</p>
<p>Without changing more than a dozen lines of code (adding directives), I have built an entire new ui ON TOP of our existing theme, that functions different due to how easy it is to bind functionality to Angular within HTML and HTML that changes.</p>
<p>That about sums it up. So let me explain quickly how and why things are so easy.</p>
<p>We use <a href=\"http://cana.la/\" target=\"_blank\">Cana</a>. Cana is my PHP framework. Hand crafted. Aged for 12 years. This is my sipping whiskey.</p>
<p>Cana has the ability to configure sites, or apps, with a config array to change the include paths in a cascading manner that allows us to create sub templates for ONLY files that have changed compare to the parent. Heres what I mean:</p>
<ul>
<li><span>active themes configuration is [\&quot;sexy\&quot;,\&quot;old\&quot;]</span></li>
<li><span>old theme has 15 files, including home.phtml</span></li>
<li><span>sexy theme only has layout.phtml and home.phtml</span></li>
<li><span>when the request is made to the server, it cascades downwards automatically to include all of the templates needed</span></li>
<li><span>this works for views, controllers, and models</span></li>
<li><span>did i mention there phtml so we can pre process them? :p</span></li>
</ul>
<p><br />Now, when a request is made to the server for a page, it bundles all view files required for angular in the initial request by parsing the layout templates tags.</p>
<p>So in the end, what we have is a system that allows me to edit ONLY the html files I need to create a whole new theme, with new functionality thanks to the power of AngularJS. This is something I did not expect when we first switched.</p>
<p>Being able to develop this theme on the same code line as our primary code is absolutely amazing. It saves us time with branching/merging, and lets us test our code out in the wild where we never would.</p>
<p>Thanks AngularJS. Thanks Cana.</p>
<p>Curious on how I build the views? Take a look at crunchbutton.com (or if you are feeling adventurous dev.crunchr.co) or shoot me an email from my ME page.</p></p>
]]></content:encoded></item>
<item><title>Disable smart quotes in OSX Mavericks</title><link>https://space.la/blog/disable-smart-quotes-in-osx-mavericks/</link><guid isPermaLink="true">https://space.la/blog/disable-smart-quotes-in-osx-mavericks/</guid><pubDate>Tue, 22 Oct 2013 09:17:00 GMT</pubDate><description>Windows and Word users have always driven me crazy when they complain about crazy characters in their posts or pages...and the cause is almost always smart quotes or dashes. With the release of OSX…</description><content:encoded><![CDATA[<p>Windows and Word users have always driven me crazy when they complain about crazy characters in their posts or pages...and the cause is almost always smart quotes or dashes. With the release of OSX Mavericks, we too now have the misfortune of smart quotes. Smart quotes are those little angled quotes that point to your content. Like: </p>
<p>    “Smart double quotes.”          \&quot;Dumb double quotes.\&quot;
    ‘Smart single quotes’           'Dumb single quotes'</p>
<p>If you are pasting things back and forth between people and someone has crazy encoding settings, or isn't using UTF-8, those characters can get all crazy, and not show up properly. Especially when pasting them straight into a database. </p>
<p>So, lets disable them! </p>
<p>To do so in OSX Mavericks:</p>
<ol>
<li>Open System Preferences from Applications or Launchpad or wherever.</li>
<li>Go to Keyboard</li>
<li>Go to the Text tab</li>
<li>Uncheck Use smart quotes and dashes.</li>
</ol>
<p>If you are using TextEdit, you will also need to:</p>
<ol>
<li>Open TextEdit</li>
<li>In the top menu, go to TextEdit &gt; Preferences</li>
<li>Uncheck both Smart quotes and Smart dashes</li>
</ol>
<p>Enjoy!</p>
]]></content:encoded></item>
<item><title>Kutosy</title><link>https://space.la/portfolio/kutosy/</link><guid isPermaLink="true">https://space.la/portfolio/kutosy/</guid><pubDate>Sat, 01 Jun 2013 00:00:00 GMT</pubDate><description>Kutosy: the easiest way for your non-profit to have and maintain a web, social, and mobile presence and identity. A hosted platform aimed at small non-profits that needed a site, social accounts, and…</description><content:encoded><![CDATA[<p>Kutosy: the easiest way for your non-profit to have and maintain a web, social, and mobile presence and identity. A hosted platform aimed at small non-profits that needed a site, social accounts, and a mobile presence without hiring an agency, built during the Give.mobi and CharityCall era of mobile fundraising work.</p>
]]></content:encoded><category>nonprofit</category><category>saas</category><category>php</category><category>tipsy</category></item>
<item><title>Crunchbutton</title><link>https://space.la/portfolio/crunchbutton-food-delivery/</link><guid isPermaLink="true">https://space.la/portfolio/crunchbutton-food-delivery/</guid><pubDate>Sat, 28 Jul 2012 07:00:00 GMT</pubDate><description>Crunchbutton finds the best-loved restaurants in your neighborhood. Then we make it easy to order the dishes you love most. Both you and your local restaurant owners end up happy. We deliver…</description><content:encoded><![CDATA[<p>Crunchbutton finds the best-loved restaurants in your neighborhood. Then we make it easy to order the dishes you love most. Both you and your local restaurant owners end up happy. We deliver McDonalds, Chipotle, In-n-out, and lots more to local college campuses.</p>
<p>Crunchbutton is build on a Cana PHP api with an AngularJS frontend. We use a responsive layout to switch between our mobile and desktop web apps. Our iOS and Android apps are built using PhoneGap.</p>
<p>Crunchbutton is powered by a powerful backend paired with a robust admin tool called <a href="/portfolio/cockpit-is-yet-another-administrative-supertool/">Cockpit</a>. Cockpit handles orders, routing and delivery logistics to drivers, notifications, payments to drivers, restaurants, and much more.</p>
<p>Take a look at <a href="http://crunchbutton.com" target="_blank" rel="noopener noreferrer">crunchbutton.com</a></p>
]]></content:encoded><category>crunchbutton</category><category>delivery</category><category>angular</category><category>php</category><category>cordova</category><category>featured</category></item>
<item><title>Beer Please</title><link>https://space.la/portfolio/beer-please-is-my-way-of-getting-funds-from/</link><guid isPermaLink="true">https://space.la/portfolio/beer-please-is-my-way-of-getting-funds-from/</guid><pubDate>Sat, 05 May 2012 07:00:00 GMT</pubDate><description>Beer please is my way of getting funds from clients. Instead of money, I get paid in beer. Because lets face it, beer always was the true currency. Build on Cana, jQuery, and Facebook Javascript SDK.…</description><content:encoded><![CDATA[<p>Beer please is my way of getting funds from clients. Instead of money, I get paid in beer. Because lets face it, beer always was the true currency. </p>
<p>Build on Cana, jQuery, and Facebook Javascript SDK.  </p>
<p><a href="http://beerplease.co" target="_blank" rel="noopener noreferrer">beerplease.co</a></p>
]]></content:encoded><category>beer</category><category>design</category><category>development</category></item>
<item><title>Droplet</title><link>https://space.la/blog/droplet-is-desktop-and-mobile-app-for-quickly/</link><guid isPermaLink="true">https://space.la/blog/droplet-is-desktop-and-mobile-app-for-quickly/</guid><pubDate>Fri, 27 Apr 2012 07:00:00 GMT</pubDate><description>Droplet is desktop and mobile app for quickly sharing photos and photo albums with friends and followers. Droplet has an easy, drag n drop file transfer for photo albums on desktop. It simplifies the…</description><content:encoded><![CDATA[<p>Droplet is desktop and mobile app for quickly sharing photos and photo albums with friends and followers. Droplet has an easy, drag n drop file transfer for photo albums on desktop. It simplifies the transfer of files between album owners, and allows you to annotate, comment, or manage the contents of a shared album. </p>
<p>Droplet is for people who post more than 1 picture of an event.</p>
<p>Contact me for beta access.  </p>
<p><a href="http://droplet.la" target="_blank" rel="noopener noreferrer">droplet.la</a></p>
]]></content:encoded><category>droplet</category><category>angularjs</category><category>javascript</category><category>mobile</category></item>
<item><title>WoW Stat 2</title><link>https://space.la/blog/wowstat-world-of-warcraft-server-uptime-monitor/</link><guid isPermaLink="true">https://space.la/blog/wowstat-world-of-warcraft-server-uptime-monitor/</guid><pubDate>Thu, 12 Apr 2012 07:00:00 GMT</pubDate><description>WoW Stat is a World of Warcraft server monitor utility. All you have to do is set the server you wish to monitor. If your server goes down, WoW Stat will automatically notify you when it is back up,…</description><content:encoded><![CDATA[<p>WoW Stat is a World of Warcraft server monitor utility. All you have to do is set the server you wish to monitor. If your server goes down, WoW Stat will automatically notify you when it is back up, and even relaunch WoW for you. </p>
<p>After a couple years of letting this program sit and get a few hundred thousand downloads, I decided to redo the entire thing in Titanium with Javascript. I now have this released for both Windows and OSX, both open source and free. You can find the downloads over at the website. </p>
<p><a href="http://wow-stat.net" target="_blank" rel="noopener noreferrer">wow-stat.net</a></p>
]]></content:encoded><category>wowstat</category><category>wow</category><category>desktop</category><category>javascript</category></item>
<item><title>Cana</title><link>https://space.la/portfolio/cana-php-framework/</link><guid isPermaLink="true">https://space.la/portfolio/cana-php-framework/</guid><pubDate>Thu, 22 Mar 2012 07:00:00 GMT</pubDate><description>cana is an mvc php framework for rapid object oriented development. it combines existing php framework fundamentals found in frameworks such as zend, and combines it with easy to use, extended object…</description><content:encoded><![CDATA[<p>cana is an mvc php framework for rapid object oriented development. it combines existing php framework fundamentals found in frameworks such as zend, and combines it with easy to use, extended object support found in ruby, python, and jquery. cana speaks for itself.  </p>
<p><a href="http://cana.la" target="_blank" rel="noopener noreferrer">cana.la</a></p>
]]></content:encoded><category>cana</category><category>php</category></item>
<item><title>Puppy</title><link>https://space.la/portfolio/puppy-domain-registrar/</link><guid isPermaLink="true">https://space.la/portfolio/puppy-domain-registrar/</guid><pubDate>Sun, 01 Jan 2012 21:15:00 GMT</pubDate><description>Puppy is a registrar I built from scratch. It features basic domain management including DNS editing, NS creation, and Whois modification. This is a complete redesign and ground up build of Regpuppy…</description><content:encoded><![CDATA[<p>Puppy is a registrar I built from scratch. It features basic domain management including DNS editing, NS creation, and Whois modification.</p>
<p>This is a complete redesign and ground up build of Regpuppy for use with Caffeine and jQuery. </p>
<p><a href="http://puppy.la" target="_blank" rel="noopener noreferrer">puppy.la</a></p>
]]></content:encoded><category>puppy</category></item>
<item><title>New Years 2012</title><link>https://space.la/portfolio/new-years-2012/</link><guid isPermaLink="true">https://space.la/portfolio/new-years-2012/</guid><pubDate>Sun, 01 Jan 2012 08:00:00 GMT</pubDate><description>For new years I made a simple little website for my guests to pick their drinks from my iPad. Interestingly enough, this is the most used app/web page on my iPad. Everything in the spirits section I…</description><content:encoded><![CDATA[<p>For new years I made a simple little website for my guests to pick their drinks from my iPad. Interestingly enough, this is the most used app/web page on my iPad. </p>
<p>Everything in the spirits section I do have in stock. I keep this pretty updated.  </p>
<p>http://devin.la/bar</p>
]]></content:encoded><category>php</category><category>design</category><category>development</category><category>newyears</category></item>
<item><title>Reading google+ API feeds into your blog with PHP</title><link>https://space.la/blog/reading-google-api-feeds-into-your-blog-with-php/</link><guid isPermaLink="true">https://space.la/blog/reading-google-api-feeds-into-your-blog-with-php/</guid><pubDate>Thu, 15 Sep 2011 19:39:00 GMT</pubDate><description>Today I get this lovely email from google telling me all about the availability of the new Google+ Platform API. So naturally I have to check it out! For a while I have been using facebook and…</description><content:encoded><![CDATA[<p>Today I get this lovely email from google telling me all about the availability of the new Google+ Platform API. So naturally I have to check it out! For a while I have been using facebook and twitter feeds as simplistic blogs for some of my sites, but for my personal site, I would love to just use Google+. </p>
<p>I've created a simple example of how to setup and read your own public Google+ feeds.</p>
<p><strong>Enabling API access and getting your API Key</strong></p>
<ol>
<li>Head over to the APIs Console.</li>
<li>Select Services</li>
<li>Enable the Google+ API services. Without this you will not be able to access your feeds.</li>
<li>Select API Access</li>
<li>Under Simple API Access, grab your API Key. Hang onto this as we will need it to access any of the API services.</li>
</ol>
<p><strong>Getting your Google+ ID</strong></p>
<p>If you don't already know where this is located, head on over to Google+, click on your image in the upper right, and click Profile. In the address bar, it will now have a link like </p>
<p>https://plus.google.com/106670447018211124292</p>
<p><strong>Accessing your activity stream</strong></p>
<p>Now that you have your ID and Key, you can go to the url of your stream. Your stream URL will look like this </p>
<p>https://www.googleapis.com/plus/v1/people/106670447018211124292/activities/public?key=[API Key]</p>
<p><strong>Parsing this stuff in PHP</strong></p>
<p>Thankfully all the responses are in JSON which makes it really easy to read the data. Each item is inside of items.</p>
<p>    $id = '106670447018211124292';
    $key = 'YOUR KEY HERE';
    $feed = json_decode(file_get_contents('https://www.googleapis.com/plus/v1/people/'.$id.'/activities/public?key='.$key));</p>
<p>    foreach ($feed-&gt;items as $item) {
      echo '<h2 id="item-title">'.$item-&gt;title.'</h2>'
        .'<i>'.date('F jS Y @ H:i:s',strtotime($item-&gt;published)).'</i>'
        .'<p>'.$item-&gt;object-&gt;content.'</p>'
        .'<br /><br />';
    }</p>
<p>And now we can access our public junk! This feed contains some additional information other than just the title and content. Like if you entered a url, it will attach the url to it inside of object.</p>
]]></content:encoded><category>google</category><category>php</category><category>api</category></item>
</channel></rss>