<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
 
 <title>Funkatron</title>
 
 <link href="http://funkatron.com/" />
 <updated>2013-05-20T10:58:52-04:00</updated>
 <id>http://funkatron.com.com/</id>
 <author>
   <name>Ed Finkler</name>
   <email>coj@funkatron.com</email>
 </author>

 
 <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/funkablog-atom" /><feedburner:info uri="funkablog-atom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
   <title>Open Sourcing Mental Illness at php|tek13</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/9btFvQB_OeM/open-sourcing-mental-illness-at-php_tek13.html" />
   <updated>2013-05-20T00:00:00-04:00</updated>
   <id>http://funkatron.com/posts/open-sourcing-mental-illness-at-php_tek13</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/funkatron/1584798852/" title="ChicagoArtInstitute-146.jpg by funkatron, on Flickr"&gt;&lt;img src="http://farm3.staticflickr.com/2249/1584798852_c2e41cf1df_b.jpg" width="1024" height="684" alt="ChicagoArtInstitute-146.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So I gave my &lt;a href="http://funkatron.com/posts/open-sourcing-mental-illness.html"&gt;“Open Sourcing Mental Illness”&lt;/a&gt; talk for the first time last week at &lt;a href="http://tek.phparch.com/"&gt;tek13&lt;/a&gt;. This was exciting, and scary, and overall went well, I think. Here are the slides and audio:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://j.mp/osmislides"&gt;Slides&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://j.mp/osmiaudio"&gt;Audio (mp3)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I got a bunch of just amazing feedback, all of which I do not feel worthy. I don’t like to self-promote, but I sorta feel like the message here is bigger than my need for humility, and good reviews will help me bring this talk to more places. So:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;An outstanding, emotive, important talk. Ed is very brave to deliver this talk with an intense but necessary level of personal details. Would have been pleased with this as a keynote, and I wish that it had been, as it would have reached more folks. &lt;a href="https://joind.in/talk/view/8620"&gt;link »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;This is such an important topic but by its very nature, the people who truly understand it can find it hard to tell those stories. Ed gave so much of himself to tell that story today, I tweeted that he is a hero, and I meant it. &lt;a href="https://joind.in/talk/view/8620"&gt;link »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;I’m in awe of @funkatron’s complete openness about his experiences. It takes a lot to share all of this. Thanks, Ed, for sharing! #tek13 &lt;a href="http://twitter.com/ramsey/status/335085671049990146"&gt;link »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;@funkatron’s “open sourcing mental illness” talk was worth the price of admission for #tek13 — equal parts inspiring and thought provoking. &lt;a href="http://twitter.com/mikegreiling/status/335085214210596864"&gt;link »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;@funkatron “Open sourcing mental illness” Amazing &amp;amp; moving. Highlight of #tek13 for me &lt;a href="http://twitter.com/ieatkillerbees/status/335085187140558848"&gt;link »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;Hey developer conferences, each of you should do whatever it takes to get @funkatron’s “Open Sourcing Mental Illness” talk at your conf. &lt;a href="http://twitter.com/JeremyKendall/status/335788252529299458"&gt;link »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;@DragonBe Great wrap-up! I would agree that talks by @funkatron and @sprunka were the most noteworthy and original at #tek13 &lt;a href="http://twitter.com/PSchwisow/status/336456861551321090"&gt;link »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am scheduled to give the talk at these upcoming conferences:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://opensourcebridge.org/sessions/949"&gt;Open Source Bridge&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.oscon.com/oscon2013/public/schedule/detail/29097"&gt;OSCON&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://distill.engineyard.com/speakers#ed"&gt;Distill&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://truenorthphp.com/"&gt;True North PHP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for all of your support.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9btFvQB_OeM:EJojkzZyy5Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=9btFvQB_OeM:EJojkzZyy5Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9btFvQB_OeM:EJojkzZyy5Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=9btFvQB_OeM:EJojkzZyy5Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9btFvQB_OeM:EJojkzZyy5Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9btFvQB_OeM:EJojkzZyy5Q:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/9btFvQB_OeM" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/open-sourcing-mental-illness-at-php_tek13.html</feedburner:origLink></entry>
 
 <entry>
   <title>Open Sourcing Mental Illness</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/zvp6yhVp5lA/open-sourcing-mental-illness.html" />
   <updated>2013-02-15T00:00:00-05:00</updated>
   <id>http://funkatron.com/posts/open-sourcing-mental-illness</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/funkatron/1584721348/" title="ChicagoArtInstitute-092.jpg by funkatron, on Flickr"&gt;&lt;img src="http://farm3.staticflickr.com/2007/1584721348_8618e4f4d8_b.jpg" width="1024" height="684" alt="ChicagoArtInstitute-092.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update update:&lt;/strong&gt; I started &lt;a href="http://j.mp/osmigogo"&gt;a campaign to fund my travel expenses&lt;/a&gt; giving this talk at tech confs. The response has been amazing. Thank you!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update:&lt;/strong&gt; I talked more about this in &lt;a href="http://j.mp/devhellep28"&gt;Episode 28 of the Development Hell podcast&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;iframe src="http://www.indiegogo.com/project/368758/widget/2795127" width="224px" height="486px" frameborder="0" scrolling="no" style="margin-left: 1em; float:right"&gt;&lt;/iframe&gt;

&lt;p&gt;In June of 2012, we posted &lt;a href="http://devhell.info/post/2012-06-18/whack-job-central/"&gt;an episode of the Development Hell&lt;/a&gt; podcast that was a little out of the norm. Instead of focusing on technical issues or open source community stuff, we talked about mental illness: specifically, my ongoing struggles with depression and anxiety.&lt;/p&gt;

&lt;p&gt;I had just come from the &lt;a href="http://tek12.phparch.com/"&gt;tek12 conference&lt;/a&gt;, which was one of my worst conference experiences ever. I had forgotten some of my daily medications, and also ended up getting (physically) ill. The whole experience was a big struggle for me physically and mentally. I ended up going home early because I was deeply uncomfortable and unhappy.&lt;/p&gt;

&lt;p&gt;I felt really compelled to talk about it when I was home for a couple days. I wasn’t quite sure why, exactly, but I had been carrying this burden for a long, long time, and I was tired and frustrated dealing with it privately. I wanted to explain what it was like for me. I hoped I would feel a little less alone with it. Maybe other folks could learn from it.&lt;/p&gt;

&lt;p&gt;I was blown away by the response. We received &lt;em&gt;far&lt;/em&gt; more feedback to this episode than we ever had, or since.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I simply wanted to write and say that I have never been able to put into words how I feel as well as you all did.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;For too long it’s even restricted my commitment to OS, not that I’m using it as an excuse for my lack of contribution. Sharing your thoughts like this and seeing the other side is really encouraging, despite what my brain wants me to think.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;… I so sympathize with Ed. It really sucks to have a brain that wants to continually sabotage you and keeps you from reaching your potential. Just know there are millions, and I do mean millions of people, that understand what you go through.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;The more we can get these stories out there, the better chance we have of influencing general public perception, and most importantly, helping others who suffer to try to get help.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;… it’s times like these that make this feel like more of a community. … I used to think mental illness was something most people could just overcome through effort and attitude—mostly due to some bad experiences with people who basically blamed all their problems on some undiagnosed “problems.” Then I started living with some guys, one of which really struggled with a ton of different issues (bi-polar being the least of which).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;Listening to the latest @dev_hell is really making me think about how I treat people. You never know what someone else is going through.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They told us that they finally felt like someone was talking about the issues they struggle with every day.&lt;/p&gt;

&lt;p&gt;They said they valued the insight they’d gained into what it’s like to cope with depression and anxiety.&lt;/p&gt;

&lt;p&gt;I was inspired, and energized, and I wanted to do more. But I didn’t really know what. I thought long and hard about it, but didn’t come up with anything that seemed feasible.&lt;/p&gt;

&lt;p&gt;A couple months later, at another conference, a developer I admire greatly told me that when I opened up on /dev/hell about my own issues, they had been inspired to seek help for some of their own issues. I was blown away, of course, that someone I looked up to would have gotten some reassurance and strength from what I was saying about my own issues.&lt;/p&gt;

&lt;p&gt;So I decided that maybe I just needed to keep talking.&lt;/p&gt;

&lt;p&gt;I started working on a basic abstract, and targeted two conference I really love: &lt;a href="http://opensourcebridge.org/"&gt;Open Source Bridge&lt;/a&gt; and &lt;a href="http://www.oscon.com/oscon2013"&gt;OSCON&lt;/a&gt;. I asked folks on Twitter what they’d want to get out of a talk on this topic, and i got lots of good feedback. But this one struck me the most:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Knowing I’m not alone.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Reading that is overwhelming and humbling. I’m just talking about myself and what I’ve been through. Part of me feels selfish for doing so; suspicious of myself, that maybe I’m just doing this for attention and sympathy. But I know it helps me to talk about it, and other people seem to get strength from it too.&lt;/p&gt;

&lt;p&gt;I submitted to both, and pointed folks on Twitter to &lt;a href="http://opensourcebridge.org/proposals/949"&gt;the proposal listing on the OSBridge web site&lt;/a&gt;. Since then I’ve submitted to a couple other technical conferences with open CFPs as well.&lt;/p&gt;

&lt;p&gt;I’m not excited about the prospect of traveling a lot this year – it triggers my anxiety pretty badly. Just thinking about it makes me nervous.&lt;/p&gt;

&lt;p&gt;But if I can help them know they’re not alone, it’s worth it.&lt;/p&gt;

&lt;p&gt;If I can help people understand what it’s like for people who struggle with this, it’s worth it.&lt;/p&gt;

&lt;p&gt;In &lt;em&gt;my&lt;/em&gt; community, the Open Source community, I think I can help. So I’m going to try.&lt;/p&gt;

&lt;p&gt;So if you know a conference, a user group, or another place where open source &amp;amp; techie types get together, I’d like to speak there. If it has to be on a google+ hangout, I can do that. If it can be in person, that would be great too (time and money permitting). And if you want to hear me talk at a conference you’re attending, tell me and I’ll submit – or tell the organizers if it’s not an open CFP.&lt;/p&gt;

&lt;p&gt;And thank you for listening and understanding.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=zvp6yhVp5lA:1CZOpAW7M_g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=zvp6yhVp5lA:1CZOpAW7M_g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=zvp6yhVp5lA:1CZOpAW7M_g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=zvp6yhVp5lA:1CZOpAW7M_g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=zvp6yhVp5lA:1CZOpAW7M_g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=zvp6yhVp5lA:1CZOpAW7M_g:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/zvp6yhVp5lA" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/open-sourcing-mental-illness.html</feedburner:origLink></entry>
 
 <entry>
   <title>I know</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/cpUenpTDKLA/i-know.html" />
   <updated>2013-01-12T00:00:00-05:00</updated>
   <id>http://funkatron.com/posts/i-know</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/funkatron/1583920031/"&gt;&lt;img src="http://farm3.staticflickr.com/2218/1583920031_dd4467b574_b.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I know.&lt;/p&gt;

&lt;p&gt;I know how it felt to have a whole bottle of pills in my mouth, mixed with water. While I sat on the cold plastic tile of the bathroom floor, back against the door, while she tried to push her way in.&lt;/p&gt;

&lt;p&gt;It was an impulse in a lost moment. It passed, and I spit them out.&lt;/p&gt;

&lt;p&gt;I know how it felt to drive on that backroad between cities, my world in pieces, and be certain I wouldn’t be alive in a year.&lt;/p&gt;

&lt;p&gt;I know how it felt to be convinced that you were broken. You didn’t work right. That things that seemed so easy for everyone else were so hard for you. That you cry because you can’t take it any more. That it was never, ever going to get better.&lt;/p&gt;

&lt;p&gt;I know how it feels when the only thing standing between you and that place are the pills you have to take every morning, every day, for the rest of your life.&lt;/p&gt;

&lt;p&gt;I didn’t know him. But &lt;a href="http://bitsplitting.org/2013/01/12/aaron-swartz/"&gt;I wish&lt;/a&gt; I could have sat with him, and listened to his pain, and tell him that I know.&lt;/p&gt;

&lt;p&gt;I know, brother. I know.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=cpUenpTDKLA:nkBBEVOPxYs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=cpUenpTDKLA:nkBBEVOPxYs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=cpUenpTDKLA:nkBBEVOPxYs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=cpUenpTDKLA:nkBBEVOPxYs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=cpUenpTDKLA:nkBBEVOPxYs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=cpUenpTDKLA:nkBBEVOPxYs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/cpUenpTDKLA" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/i-know.html</feedburner:origLink></entry>
 
 <entry>
   <title>Supporting Conferences That Commit to Diversity</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/GzN2VY7nOrM/supporting-conferences-that-commit-to-diversity.html" />
   <updated>2013-01-08T00:00:00-05:00</updated>
   <id>http://funkatron.com/posts/supporting-conferences-that-commit-to-diversity</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/mediamolecule/3818168858/"&gt;&lt;img src="http://farm4.staticflickr.com/3470/3818168858_2e12cdd47c_b.jpg" alt="Ada Lovelace by mediamolecule" title="Ada Lovelace by mediamolecule" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you pay any attention to &lt;a href="http://funkatron.com"&gt;my twitter stream&lt;/a&gt; or the &lt;a href="http://devhell.info"&gt;Development Hell podcast&lt;/a&gt;, you probably know two things about me: I love to hear myself talk, and I’m concerned about the extremely low number of women who participate in open source.&lt;/p&gt;

&lt;p&gt;In the PHP community, where I’ve done most of my open source stuff, we’re lucky compared to a lot of groups. We have a strong, supportive group in &lt;a href="http://phpwomen.org/"&gt;PHP Women&lt;/a&gt;, and I’m not aware of any incidents of harassment at the events I’ve attended. But I still think the participation of women is much lower than it should be, and I want to help change that.&lt;/p&gt;

&lt;p&gt;To that end, I’ve provided a little financial support to organizations like the &lt;a href="http://adainitiative.org/"&gt;Ada Initiative&lt;/a&gt;, and I’ve tried to raise awareness of the issues on the Development Hell podcast by having guests like &lt;a href="http://devhell.info/post/2012-02-16/i-do-not-code-with-my-vagina/"&gt;Selena Deckelmann&lt;/a&gt;, &lt;a href="http://devhell.info/post/2012-10-06/the-grace-hopper-rape-whistle/"&gt;Elizabeth Naramore&lt;/a&gt;, and &lt;a href="http://devhell.info/post/2012-11-25/the-bozo-brush/"&gt;Ashe Dryden&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One place I haven’t addressed it much is in conference participation. I don’t speak at a ton of events every year, but I do get to speak at a few. So this year I’ve decided to pursue attending or speaking at conferences that do the following:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Adopt a public anti-harassment policy / code of conduct&lt;/li&gt;
  &lt;li&gt;Make a strong, concerted effort to get female speakers and panel participants&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This shouldn’t be taken as a threat or boycott of events that don’t choose to do these things. Rather, I’m choosing to support events that prioritize these issues. If you’re working to improve the participation of women in open source, then I want to support you. I want to be part of what you are doing.&lt;/p&gt;

&lt;p&gt;Specifically regarding the number of female speakers, I don’t really want to attach numbers to the percentage that’s acceptable. I think the &lt;em&gt;goal&lt;/em&gt; should be 50%, but going from 0% to halfsies is probably not reasonable at this time. I do think that having &lt;em&gt;no&lt;/em&gt; female speakers is not okay, and I think doing better than last time around is a very doable thing.&lt;/p&gt;

&lt;p&gt;It’s my hope that more and more conferences deal with this stuff up-front. Because CFPs frequently precede a conference by 6 months or more, some of this stuff might not be decided. I’d ask that if you’re involved in organizing a conference, you bring it up early on, because it does matter to many of us who would respond to your CFP.&lt;/p&gt;

&lt;p&gt;If information is not already publicly available, I intend to ask privately about these issues. I think that most conference organizers are well-intended, and I’d much rather bring up these issues in a private, less threatening way. If they haven’t put much thought into it, or if they’re not sure how to address it, I’ll point them towards &lt;a href="http://adainitiative.org/"&gt;resources available from the Ada Initiative&lt;/a&gt; and other groups.&lt;/p&gt;

&lt;p&gt;I hope that if you’re thinking about attending or speaking at a conference, you’ll ask about these things too. Make it clear that these issues matter to you, and support events that are trying to do the right thing.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=GzN2VY7nOrM:-SmpQdnib3Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=GzN2VY7nOrM:-SmpQdnib3Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=GzN2VY7nOrM:-SmpQdnib3Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=GzN2VY7nOrM:-SmpQdnib3Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=GzN2VY7nOrM:-SmpQdnib3Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=GzN2VY7nOrM:-SmpQdnib3Q:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/GzN2VY7nOrM" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/supporting-conferences-that-commit-to-diversity.html</feedburner:origLink></entry>
 
 <entry>
   <title>More Code, More Problems</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/5YLfC8kOpDE/more-code%2C-more-problems.html" />
   <updated>2012-12-13T00:00:00-05:00</updated>
   <id>http://funkatron.com/posts/more-code,-more-problems</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/waltjabsco/2565642140/" title="Biggie Smalls by Walt Jabsco"&gt;&lt;img src="http://farm4.staticflickr.com/3001/2565642140_353dca80c8_o.jpg" alt="Biggie Smalls by Walt Jabsco" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I wrote an article for this year’s &lt;a href="http://webadvent.org"&gt;WebAdvent&lt;/a&gt; (previously PHPAdvent) called &lt;a href="http://webadvent.org/201210"&gt;“More Code, Mode Problems.”&lt;/a&gt; It expands on the MicroPHP Manifesto I wrote early this year and applies it to other languages, establishing a set of principles for creating clear, reusable code.&lt;/p&gt;

&lt;p&gt;Please &lt;a href="http://webadvent.org/201210"&gt;go there&lt;/a&gt; to read it, but you can leave comments here if you like.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=5YLfC8kOpDE:WrUdDrEue1Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=5YLfC8kOpDE:WrUdDrEue1Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=5YLfC8kOpDE:WrUdDrEue1Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=5YLfC8kOpDE:WrUdDrEue1Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=5YLfC8kOpDE:WrUdDrEue1Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=5YLfC8kOpDE:WrUdDrEue1Q:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/5YLfC8kOpDE" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/more-code%2C-more-problems.html</feedburner:origLink></entry>
 
 <entry>
   <title>When is Design Evil?</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/wk7OGMinzzw/when-is-design-evil.html" />
   <updated>2012-10-13T00:00:00-04:00</updated>
   <id>http://funkatron.com/posts/when-is-design-evil</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/skynoir/6902110466/" title="Evil Pandas by Bill Dickinson"&gt;&lt;img src="http://farm8.staticflickr.com/7067/6902110466_22cdd93c8a_z.jpg" alt="Evil Pandas by Bill Dickinson" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://pieratt.com/"&gt;Ben Pieratt&lt;/a&gt; gave a compelling talk at Brooklyn Beta this year about his experiences founding, and then leaving, &lt;a href="http://svpply.com/"&gt;Svpply&lt;/a&gt;. He bravely described both his successes and failures as a founder, and it was one of the highlights of the conference.&lt;/p&gt;

&lt;p&gt;Ben made an interesting assertion during his talk that I’ve been chewing on for a few days since: that he thinks that &lt;em&gt;people&lt;/em&gt; are his medium, not the web or paper or video or what have you. As a designer, his job is to influence user behavior.&lt;/p&gt;

&lt;p&gt;My initial reaction to this was negative. When we’re talking about influencing people, I usually think of Evil Shit. Stuff like the world in &lt;a href="http://criticalcommons.org/Members/ccManager/clips/theylivearglasses.mp4/view"&gt;They Live&lt;/a&gt;, where advertising and media all work to suppress independent thought and promote consumption. That was satire, but based firmly in the reality of &lt;a href="http://www.boston.com/news/nation/washington/articles/2007/01/28/libby_case_witness_details_art_of_media_manipulation/"&gt;government&lt;/a&gt; and &lt;a href="http://trustmeimlying.com/"&gt;the private sector’s&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Media_manipulation"&gt;manipulation of user behavior via the media&lt;/a&gt;. And in interface design, plenty of Evil Shit is done to influence user behavior, like &lt;a href="http://webcache.googleusercontent.com/search?q=cache:http://news.bbc.co.uk/2/hi/technology/7633402.stm"&gt;aping the look of Windows in popups&lt;/a&gt; or &lt;a href="http://www.stefanwobben.com/persuasion/persuasion-or-deception/"&gt;making it hard to choose free options&lt;/a&gt;. Many more examples are mentioned in the slide deck &lt;a href="http://classes.engr.oregonstate.edu/eecs/summer2011/cs352/lecture25-evil.pdf"&gt;“Usability Engineering for Evil”&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When I’ve done web design, I’ve typically focused on the utility of what I’m making, in order to empower the user to accomplish his or her goals. I’ve always been suspicious of attempts to appeal to one’s emotions to influence behavior, particularly when it lacks any logical argument. For example, I’ve been happy with Apple’s products and continue to purchase them &lt;em&gt;despite&lt;/em&gt; having advertising that consistently turns my stomach with its strong emphasis of style over substance.&lt;/p&gt;

&lt;p&gt;But design exists somewhere in the overlap of utility and evoking emotion. The aesthetics of a thing always evoke some kind of emotional response in the user, subtle as it may be. I choose to use some applications over others because I find the aesthetic choices more appealing, even when they have similar functionality.  I generally find it more pleasant – or at least less unpleasant – to use a utility when the UI is both effectively engineered and aesthetically pleasing.&lt;/p&gt;

&lt;p&gt;Poor aesthetics in a vendor’s web site often lead me to dismiss them as an option. Compare the Hover splash page:&lt;/p&gt;

&lt;p&gt;&lt;a href="../media/hover_splash.png"&gt;&lt;img src="../media/th_hover_splash.png" alt="&amp;quot;Hover splash page&amp;quot;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To this one from UglyBill:&lt;/p&gt;

&lt;p&gt;&lt;a href="../media/uglybill_splash.png"&gt;&lt;img src="../media/th_uglybill_splash.png" alt="&amp;quot;UglyBill splash page&amp;quot;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I find Hover not only more aesthetically pleasing, but both easier to use and &lt;em&gt;more trustworthy&lt;/em&gt; because of the level of effort put into the design.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; Of course, Hover at one time &lt;a href="http://peterjs.com/blog/2011/7/14/final-take-on-hovercom-storing-passwords-as-plaintext-and-wh.html"&gt;stored passwords as plain text&lt;/a&gt;, so it’s not as if good design itself indicates good stewardship.&lt;/p&gt;

&lt;p&gt;Still, there’s a difference between making a utility appealing to help the user accomplish what he or she wants, and design that gets the user to do what &lt;em&gt;you&lt;/em&gt; want he or she to do. The latter is fraught with many more ethical issues.&lt;/p&gt;

&lt;p&gt;I’m a big fan of Soviet propaganda art from the 1930s and 40s. This is a good example of the period:&lt;/p&gt;

&lt;p&gt;&lt;a href="../media/liberatedwoman.jpg"&gt;&lt;img src="../media/th_liberatedwoman.jpg" alt="&amp;quot;Liberated woman – build up socialism!&amp;quot;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Compare this to the familiar Obama “Hope” poster:&lt;/p&gt;

&lt;p&gt;&lt;a href="../media/obama-hope-sheppard-feirey1.jpg"&gt;&lt;img src="../media/th_obama-hope-sheppard-feirey1.png" alt="&amp;quot;Hope&amp;quot;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Both of these posters want to influence and inspire in similar ways. Most of us would probably agree that supporting the Soviet regime of the period was not a great idea – even worse than supporting Obama! If we can say it supported an “evil” regime, is the design itself “evil”?&lt;/p&gt;

&lt;p&gt;A similar, but more extreme, approach is used in recent anti-smoking and methamphetamine use campaigns:&lt;/p&gt;

&lt;p&gt;&lt;a href="../media/CDC-Anti-Smoking-Campaign_2.jpeg"&gt;&lt;img src="../media/th_CDC-Anti-Smoking-Campaign_2.png" alt="&amp;quot;Be Careful Not To Cut Your Stoma&amp;quot;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="../media/2029.jpeg"&gt;&lt;img src="../media/th_2029.jpg" alt="&amp;quot;But On Meth It Is&amp;quot;" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since smoking tobacco and taking methamphetamine is generally regarded as bad for you by most people, we’re generally okay with these campaigns, despite their appeal to extreme emotions. But they don’t present anything like a logical argument – it’s purely scare tactics, just like those &lt;a href="http://en.wikipedia.org/wiki/Legal_history_of_cannabis_in_the_United_States#Marijuana_Tax_Act_.281937.29"&gt;used by William Randolph Hearst to demonize marijuana in the 1930s&lt;/a&gt;. That’s not to say the approach isn’t justified in some cases, but I’m not personally comfortable with it as anything but a last resort.&lt;/p&gt;

&lt;p&gt;Propaganda is one thing, but interface design can be equally problematic. The &lt;a href="http://wiki.darkpatterns.org"&gt;Dark Patterns wiki&lt;/a&gt; has lots of good examples of UIs designed to get people to do things they probably shouldn’t. The wiki calls it “tricking” users, but I’m guessing the designers behind many of these would have used words like “entice” and “encourage.” And many of these aren’t obviously nefarious; the involve things like requiring opt-out, defaulting to sharing more data than less, and reducing the visibility of certain UI elements – stuff that’s commonly discussed in web app development.&lt;/p&gt;

&lt;p&gt;Ultimately, if you’re good at your job, you have to become a steward. Developers are stewards of their users’ data. Designers are stewards of their users’ emotions and behavior. Users put their trust in us; respecting that trust means considering the ethics of our design and development choices. As Dennis Kardys says in &lt;a href="http://www.robotregime.com/index.php/articles/view/influence/"&gt;The Ethics of Influence and Manipulation&lt;/a&gt; (which deals with many of these same issues much more intelligently than I do here):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It can be convenient to do your job without thinking about the bigger picture. It’s easier to be passive than to be confrontational, and it’s easy to place the weight of responsibility onto your boss or the client. But the truth is that we alone are responsible for the things we create and contribute to making.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We owe our users that much.&lt;/p&gt;
&lt;div class="footnotes"&gt;
  &lt;ol&gt;
    &lt;li id="fn:1"&gt;
      &lt;p&gt;I actually use &lt;a href="http://gandi.net"&gt;Gandi.net&lt;/a&gt; for domain registrations. I find their web site a bit harder to use, but their “no bullshit” slogan appeals to me, and they never try to up-sell me on anything. Consider this a recommendation.&lt;a href="#fnref:1" rel="reference"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=wk7OGMinzzw:q-rQUqyOqJ0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=wk7OGMinzzw:q-rQUqyOqJ0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=wk7OGMinzzw:q-rQUqyOqJ0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=wk7OGMinzzw:q-rQUqyOqJ0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=wk7OGMinzzw:q-rQUqyOqJ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=wk7OGMinzzw:q-rQUqyOqJ0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/wk7OGMinzzw" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/when-is-design-evil.html</feedburner:origLink></entry>
 
 <entry>
   <title>The MicroPHP Follow-up FAQ</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/HmZ9eS8IKd0/the-microphp-follow-up-faq.html" />
   <updated>2012-02-07T00:00:00-05:00</updated>
   <id>http://funkatron.com/posts/the-microphp-follow-up-faq</id>
   <content type="html">&lt;p&gt;My previous post, &lt;a href="http://funkatron.com/posts/the-microphp-manifesto.html"&gt;The MicroPHP Manifesto&lt;/a&gt;, resulted in much excitement. In between fits of rage and crying, I found some time to answer folks questions, and also discuss the topic on &lt;a href="http://devhell.info"&gt;the /dev/hell podcast&lt;/a&gt; with my cohost &lt;a href="http://littlehart.net"&gt;Chris Hartjes&lt;/a&gt;. To summarize and address some of the common questions, I felt I should write a small FAQ.&lt;/p&gt;

&lt;p&gt;Got a question? &lt;a href="/contact.html"&gt;Ask me&lt;/a&gt;. I’ll add additional entries here as things come up.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id="so-you-think-full-stack-frameworks-suck"&gt;So you think full-stack frameworks suck?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;No.&lt;/strong&gt; I think sometimes they’re very appropriate. It depends on your needs: will the pros you get with library/component/framework X outweigh the negatives? If so, it’s probably a good choice. If not, it’s probably not.&lt;/p&gt;

&lt;h3 id="you-need-a-large-framework-to-enforce-best-practices"&gt;You need a large framework to enforce best practices!&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Sometimes you do.&lt;/strong&gt; My experience at FictiveKin has been that our small team is able to work faster, smarter, and more efficiently by minimizing the size of our PHP codebase and removing all unnecessary layers of abstraction. In some cases that meant not doing certain tasks in PHP anymore (almost all HTML generation was moved to the browser). In others, it meant ripping out a bunch of code and replacing it with a simpler solution that required far less boilerplate and replication. We still kept some code that had more dependencies than we’d like because the wins we get with it outweigh the downsides.&lt;/p&gt;

&lt;p&gt;I’ve certainly seen situations where choosing a popular full-stack framework is a better idea. As teams get larger, enforcement of coding standards and not doing Dumb Shit becomes harder. Hiring and training engineers is usually easier with popular, full-stack frameworks. On the other hand, we’ve found that devs coming from non-PHP backgrounds liked how quickly they can be productive with simpler libraries and frameworks. Your mileage may vary.&lt;/p&gt;

&lt;h3 id="so-youre-saying-we-should-write-our-own-frameworklibrariescomponents"&gt;So you’re saying we should write our own framework/libraries/components?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Good God no.&lt;/strong&gt; There is lots of very good, well-written code out there that’s already solved the problem you’re facing. Most of the time I don’t want to try to solve an issue like oAuth request signing, because it makes my brain hurt and I’d rather focus on building stuff. So, I’ll look for an existing solution that fits my needs first. I sometimes choose to write something from scratch because the existing solutions (that I can find – discovery is a whole other issue) don’t fit well with my existing application structure, or I feel it will introduce more maintenance issues than I’m comfortable with.&lt;/p&gt;

&lt;h3 id="you-should-check-out-my-microframework"&gt;You should check out my microframework!&lt;/h3&gt;

&lt;p&gt;Sure. Generally I think &lt;strong&gt;people should work on writing libraries/components&lt;/strong&gt;, personally. We have plenty of framework choices. But this is PHP, so you have to write your own framework sometime.&lt;/p&gt;

&lt;h3 id="is-x-a-microframework"&gt;Is “X” a microframework?&lt;/h3&gt;

&lt;p&gt;Long answer: I tend to believe that the reference implementation of “microframework” is &lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt;. Routing, request/response objects, sessions, maybe some hooks for template rendering. Generally I think the inclusion of an ORM is a clear sign of non-micro-ness.&lt;/p&gt;

&lt;p&gt;Short answer: &lt;strong&gt;I don’t care&lt;/strong&gt;, really – and you shouldn’t either. If it works for you, awesome.&lt;/p&gt;

&lt;h3 id="how-do-you-choose-what-gets-listed-in-the-microphp-code-collectionhttpmicrophporgcodehtml"&gt;How do you choose what gets listed in &lt;a href="http://microphp.org/code.html"&gt;the MicroPHP code collection&lt;/a&gt;?&lt;/h3&gt;

&lt;p&gt;Generally I think about these things:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Does it try to solve one task, or a small set of closely related tasks?&lt;/li&gt;
  &lt;li&gt;Would it be easy to use with almost any existing code base?&lt;/li&gt;
  &lt;li&gt;Is the code as short as it can be, while still being clear and easy to follow?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of these are hard and fast rules, though. I encourage people to &lt;a href="&amp;#109;&amp;#097;&amp;#105;&amp;#108;&amp;#116;&amp;#111;:&amp;#099;&amp;#111;&amp;#106;&amp;#064;&amp;#102;&amp;#117;&amp;#110;&amp;#107;&amp;#097;&amp;#116;&amp;#114;&amp;#111;&amp;#110;&amp;#046;&amp;#099;&amp;#111;&amp;#109;&amp;#063;&amp;#115;&amp;#117;&amp;#098;&amp;#106;&amp;#101;&amp;#099;&amp;#116;&amp;#061;&amp;#077;&amp;#105;&amp;#099;&amp;#114;&amp;#111;&amp;#080;&amp;#072;&amp;#080;"&gt;share things with me&lt;/a&gt; they think others would find useful.&lt;/p&gt;

&lt;h3 id="why-do-you-hate-rush"&gt;Why do you hate Rush?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;I don’t.&lt;/strong&gt; I like some of their songs, but don’t own any of their work. I also think they’re incredibly smart, talented musicians. My point was to suggest there are other valid approaches, not to reject complexity outright.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=HmZ9eS8IKd0:wcM6o8pabTc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=HmZ9eS8IKd0:wcM6o8pabTc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=HmZ9eS8IKd0:wcM6o8pabTc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=HmZ9eS8IKd0:wcM6o8pabTc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=HmZ9eS8IKd0:wcM6o8pabTc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=HmZ9eS8IKd0:wcM6o8pabTc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/HmZ9eS8IKd0" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/the-microphp-follow-up-faq.html</feedburner:origLink></entry>
 
 <entry>
   <title>The MicroPHP Manifesto</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/3fnJH1V22Xs/the-microphp-manifesto.html" />
   <updated>2012-01-03T00:00:00-05:00</updated>
   <id>http://funkatron.com/posts/the-microphp-manifesto</id>
   <content type="html">&lt;div class="highlight"&gt;
  &lt;p&gt;&lt;strong&gt;Update 2012-01-06:&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;The manifesto itself and the collection is now at &lt;a href="http://microphp.org"&gt;MicroPHP.org&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://zdrojak.root.cz/clanky/manifest-miniaturniho-php/"&gt;Here’s a Czech translation&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/01/microphp-fallacy.html"&gt;The MicroPHP Fallacy&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://phprocks.com.br/2012/01/05/o-manifesto-micro-php-e-a-macro-discussao/"&gt;O Manifesto Micro Php E A Macro Discussão.&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://eltonminetto.net/2012/01/05/meus-dois-centavos-sobre-o-microphp-manifesto/"&gt;Meus Dois Centavos Sobre O Microphp Manifesto&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://ctankersley.com/2012/01/04/the-microphp-manifesto-what-people-are-overlooking/"&gt;The MicroPHP Manifesto – What People Are Overlooking&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;strong&gt;Update 2012-01-04:&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;I’ve started &lt;a href="https://gimmebar.com/loves/funkatron/collection/micro-php"&gt;a collection of lightweight PHP libraries and frameworks&lt;/a&gt; on Gimme Bar [&lt;a href="https://gimmebar.com/api/v0/public/assets/funkatron/micro-php.json"&gt;json&lt;/a&gt;] [&lt;a href="https://gimmebar.com/public/feed/user/funkatron/collection/micro-php"&gt;rss&lt;/a&gt;]. If you have suggestions, &lt;a href="/contact.html"&gt;let me know&lt;/a&gt;!&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;The standard line about the history of Punk is that it was a reaction to the excesses of modern rock, particularly progressive rock of the time. The &lt;a href="http://www.amazon.com/Please-Kill-Me-Uncensored-History/dp/0140266909"&gt;reality&lt;/a&gt; is undoubtedly more complex, but I suspect there is some truth to that. Rock n roll did seem to be the realm of Golden Gods in the late 60s and 70s, inaccessible to average folk. The contrast between bands like Rush and Black Flag –– both supposedly playing “rock” –– was extreme.&lt;/p&gt;

&lt;p&gt;For fun, let’s take a look at Rush drummer Neil Peart’s drum kit:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://funkatron.com/media/neil-peart1.jpg" alt="Neil Peart from Rush" /&gt;&lt;/p&gt;

&lt;p&gt;Now, here’s Black Flag playing in LA in 1979:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://funkatron.com/media/black-flag-whisky-a-go-go2-590x448.jpg" alt="Black Flag" /&gt;&lt;/p&gt;

&lt;p&gt;You can fit the entirety of Black Flag in the space of Neil Peart’s drum kit. And they would still play awesome shit and rock you the fuck out.&lt;/p&gt;

&lt;p&gt;In the past few years, the PHP Zeitgeist seems like it’s been moving in the Neil Peart direction. Lots of work by lots of smart people is going into complex, verbose solutions. Lots of files, lots of nested directories, and lots of rules. I frequently see PHP libraries/components that look like this:&lt;/p&gt;

&lt;script src="https://gist.github.com/1555472.js"&gt; &lt;/script&gt;

&lt;noscript&gt;&lt;a href="https://gist.github.com/1555472"&gt;https://gist.github.com/1555472&lt;/a&gt;&lt;/noscript&gt;

&lt;p&gt;All that, just to &lt;em&gt;start&lt;/em&gt; your application.&lt;/p&gt;

&lt;p&gt;It doesn’t mean this approach is bad, per se. But when I see it, I have a visceral negative reaction. My brain screams&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:24pt"&gt;FUCK.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:24pt"&gt;THAT.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:24pt"&gt;SHIT.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;I can’t do it. I don’t want it. And I don’t think we have to do it this way to do cool things and build awesome stuff.&lt;/p&gt;

&lt;p&gt;The approach I’ve been taking lately is to start with as lightweight a foundation as possible, in the form of a “microframework.” A few of these exist for PHP (of course), including &lt;a href="http://www.slimframework.com/"&gt;Slim&lt;/a&gt;, &lt;a href="https://github.com/jmathai/epiphany"&gt;Epiphany&lt;/a&gt;, &lt;a href="https://github.com/whatthejeff/breeze"&gt;Breeze&lt;/a&gt;, &lt;a href="http://www.limonade-php.net/"&gt;Limonade&lt;/a&gt;, and others. For additional functionality, I pull in lightweight libraries that help me accomplish only the tasks I need. Clarity and brevity are my top considerations.&lt;/p&gt;

&lt;p&gt;My other big consideration is the &lt;strong&gt;commitment&lt;/strong&gt; I make when I use code I didn’t write. Typically I don’t have time to do a full code audit on libraries, so there’s a level of trust that goes with it. And each dependency means more trust. Not just that there aren’t bugs (I expect that if they’re anything like me), but security issues – both whether they exist, and how they will be handled. Will an announcement go out to a mailing list? How long will security fixes be provided that don’t break backwards compatibility? Will I have to upgrade &lt;em&gt;all&lt;/em&gt; my dependencies if I upgrade to the next PHP point release? And all of that assumes the author will have the time and motivation to provide prompt fixes. If they don’t, you’ve just added a bunch of technical debt to your codebase.&lt;/p&gt;

&lt;p&gt;Finding lightweight libraries that don’t pull in lots of additional code dependencies is much harder than it should be. Mostly I think that’s attributable to PHP devs being more interested in framework-specific development. Some work is being done to make mature frameworks less monolithic, and many devs on Twitter have recommended Symfony components as an option. Unfortunately, I think my definition of “lightweight” is not the same as theirs.&lt;/p&gt;

&lt;p&gt;Here’s the &lt;a href="http://cloc.sourceforge.net/"&gt;&lt;code&gt;cloc&lt;/code&gt;&lt;/a&gt; output for a git clone of the &lt;a href="https://github.com/symfony/HttpKernel"&gt;symfony2 HTTP Kernel component&lt;/a&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Mon Dec 26 19:42:23 EST 2011
coj@PsychoMantis ~/Sites &amp;gt; cloc HttpKernel
      94 text files.
      93 unique files.
      12 files ignored.

http://cloc.sourceforge.net v 1.53  T=0.5 s (164.0 files/s, 18736.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
PHP                             72           1175           3440           4290
Bourne Shell                    10             56            155            252
-------------------------------------------------------------------------------
SUM:                            82           1231           3595           4542
-------------------------------------------------------------------------------
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Here’s the same for the Slim framework:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Mon Dec 26 19:42:27 EST 2011
coj@PsychoMantis ~/Sites &amp;gt; cloc Slim
      54 text files.
      51 unique files.
      13 files ignored.

http://cloc.sourceforge.net v 1.53  T=0.5 s (82.0 files/s, 17752.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
PHP                             31            660           4473           3280
Bourne Shell                    10             56            155            252
-------------------------------------------------------------------------------
SUM:                            41            716           4628           3532
-------------------------------------------------------------------------------
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;and the Epiphany framework:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Mon Dec 26 19:42:30 EST 2011
coj@PsychoMantis ~/Sites &amp;gt; cloc Epiphany
      83 text files.
      70 unique files.
      31 files ignored.

http://cloc.sourceforge.net v 1.53  T=0.5 s (102.0 files/s, 5246.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
PHP                             40            218            309           1632
Bourne Shell                    10             56            155            252
HTML                             1              0              0              1
-------------------------------------------------------------------------------
SUM:                            51            274            464           1885
-------------------------------------------------------------------------------
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When there are more files and lines of code in your component than in my entire base framework, I can’t call it “lightweight.”&lt;/p&gt;

&lt;p&gt;It doesn’t mean that stuff is bad, in the grand scheme of things. It doesn’t mean it has no value or is the wrong approach for many. But it’s the wrong approach for me, for sure. And I don’t think I am alone.&lt;/p&gt;

&lt;p&gt;I don’t want to be the prog rock superstar, writing a pretentious rock opera. I want to play shitty power chords in a punk rock band that plays shows in a VFW lodge with no stage, and leaves you so fucking pumped that you go out and form your own band. That’s the coder I want to be.&lt;/p&gt;

&lt;p&gt;I don’t want to be &lt;a href="http://www.drummerworld.com/pics/drum43/neilpeart7.jpg"&gt;Neil Peart&lt;/a&gt;. I want to be &lt;a href="http://synthesis.net/wp-content/uploads/2008/06/greg2.jpg"&gt;Gregg Ginn&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So I wrote this. A “micro PHP manifesto,” if you will. I plan to use it to guide my PHP dev. Maybe you will find it useful as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I am a PHP developer&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I am not a Zend Framework or Symfony or CakePHP developer&lt;/li&gt;
  &lt;li&gt;I think PHP is complicated enough&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;I like building small things&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I like building small things with simple purposes&lt;/li&gt;
  &lt;li&gt;I like to make things that solve problems&lt;/li&gt;
  &lt;li&gt;I like building small things that work together to solve larger problems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;I want less code, not more&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I want to write less code, not more&lt;/li&gt;
  &lt;li&gt;I want to manage less code, not more&lt;/li&gt;
  &lt;li&gt;I want to support less code, not more&lt;/li&gt;
  &lt;li&gt;I need to justify every piece of code I add to a project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;I like simple, readable code&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I want to write code that is easily understood&lt;/li&gt;
  &lt;li&gt;I want code that is easily verifiable&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=3fnJH1V22Xs:ghHjwCrjQJ0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=3fnJH1V22Xs:ghHjwCrjQJ0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=3fnJH1V22Xs:ghHjwCrjQJ0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=3fnJH1V22Xs:ghHjwCrjQJ0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=3fnJH1V22Xs:ghHjwCrjQJ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=3fnJH1V22Xs:ghHjwCrjQJ0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/3fnJH1V22Xs" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/the-microphp-manifesto.html</feedburner:origLink></entry>
 
 <entry>
   <title>Building a Tumblelog with Gimme Bar and PHP</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/9_MpPfYgsY0/building-a-tumblelog-with-gimme-bar-and-php.html" />
   <updated>2011-11-05T00:00:00-04:00</updated>
   <id>http://funkatron.com/posts/building-a-tumblelog-with-gimme-bar-and-php</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/rovingi/1641508502/" title="Tumble by rovingI"&gt;&lt;img src="http://farm3.static.flickr.com/2418/1641508502_fb2a1c607b_z.jpg?zz=1" alt="Tumble by rovingI" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the coolest things about working on &lt;a href="http://gimmebar.com"&gt;Gimme Bar&lt;/a&gt; has been the opportunity to build a platform. While most folks interact with our service via the web site, the site is just one application built on top of the Gimme Bar content collection and curation system. Our web site interacts with the system via our &lt;a href="https://gimmebar.com/api/v0"&gt;HTTP API&lt;/a&gt;, which is open to everyone, not just our internal team. That means that anyone can build applications on top of our platform to suit their own needs or interests.&lt;/p&gt;

&lt;p&gt;To demonstrate this, I built &lt;a href="https://github.com/funkatron/GimmeMe"&gt;&lt;strong&gt;GimmeMe&lt;/strong&gt;&lt;/a&gt;, a simple &lt;a href="http://kottke.org/05/10/tumblelogs"&gt;tumblelog&lt;/a&gt;-type web app that’s powered by Gimme Bar. It uses methods in our API that don’t require authentication, so you don’t need to register with us to use it. And it’s a drop-in, set-one-option-and-go install, so you don’t need to fiddle with a bunch of stuff to use it (but you can if you want).&lt;/p&gt;

&lt;p&gt;I have a running demo on my web server at &lt;a href="http://funkatron.com/GimmeMe"&gt;http://funkatron.com/GimmeMe&lt;/a&gt;. It shows the 50 most recent pieces of content I’ve grabbed with &lt;a href="http://gimmebar.com"&gt;Gimme Bar&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id="installation"&gt;Installation&lt;/h3&gt;

&lt;p&gt;To install the web app yourself, you’ll need a web server with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;PHP 5.2.x or above&lt;/li&gt;
  &lt;li&gt;APC 3.0.8 or above&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Install as follows:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Download the source code as a &lt;code&gt;.zip&lt;/code&gt; or &lt;code&gt;.tar.gz&lt;/code&gt; from &lt;a href="https://github.com/funkatron/GimmeMe/downloads"&gt;the project’s download page&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Decompress the files somewhere under your web server’s document root&lt;/li&gt;
  &lt;li&gt;Edit the &lt;code&gt;$config['username']&lt;/code&gt; value in &lt;code&gt;index.php&lt;/code&gt;
4 .Optionally set the &lt;code&gt;$config['gb_addthis_pubid']&lt;/code&gt; value to include &lt;a href="http://addthis.com"&gt;AddThis&lt;/a&gt; widgets, if you’re into that kind of thing&lt;/li&gt;
  &lt;li&gt;Load the appropriate URL in your web browser to view the install on your web server&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id="the-code"&gt;The Code&lt;/h3&gt;

&lt;p&gt;If you’re a developer type, you’ll probably want to poke around &lt;a href="https://github.com/funkatron/GimmeMe"&gt;the source code in the GitHub repo&lt;/a&gt;. The main work is done by &lt;code&gt;libs/GimmeMe.php&lt;/code&gt;, which handles grabbing data from the API, caching it, and rendering the HTML.&lt;/p&gt;

&lt;script src="https://gist.github.com/1341981.js?file=GimmeMe-getAssets.php"&gt;&lt;/script&gt;

&lt;p&gt;In &lt;code&gt;GimmeMe::getAssets()&lt;/code&gt;, we load the data using the &lt;a href="https://gimmebar.com/api/v0#GET--public-assets--username"&gt;&lt;code&gt;GET /public/assets/:username&lt;/code&gt;&lt;/a&gt; method. This returns a JSON object with an array of asset data in the &lt;code&gt;records&lt;/code&gt; propert. We decode the response JSON into a PHP object (the &lt;code&gt;$assets&lt;/code&gt; variable), and add a couple properties that we’ll use in the HTML template. Then we cache the object in APC, and return it. Next time around, if the cached object has not expired, it will just pull it from APC and return it, so we don’t make more requests to the API than necessary.&lt;/p&gt;

&lt;script src="https://gist.github.com/1341984.js?file=GimmeMe-render.php"&gt;&lt;/script&gt;

&lt;p&gt;The &lt;code&gt;GimmeMe::render()&lt;/code&gt; method loops through the assets we retrieved and makes each one into a &lt;a href="https://github.com/funkatron/GimmeMe/blob/master/libs/GimmeAsset.php"&gt;&lt;code&gt;GimmeAsset&lt;/code&gt;&lt;/a&gt; object. &lt;code&gt;GimmeAsset&lt;/code&gt;s are view objects used by &lt;a href="https://github.com/bobthecow/mustache.php"&gt;the Mustache templating library&lt;/a&gt; to encapsulate display logic, so we set up special methods or data massage in there. After we set those up for each asset, the entire data structure is passed to the Mustache library for rendering, using &lt;a href="https://github.com/funkatron/GimmeMe/blob/master/templates/templates.php#L4"&gt;the ‘page’ template defined in &lt;code&gt;templates\templates.php&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Right now I also am including a &lt;a href="http://blog.sosedoff.com/2009/09/20/rails-like-php-url-router/"&gt;a simple router class&lt;/a&gt; at &lt;code&gt;vendors\Router.php&lt;/code&gt;. We’ll need this for stuff that would involve different URLs, like paging back through assets or loading single-asset pages, but I haven’t quite gotten that far.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;I’d be remiss in not mentioning &lt;a href="http://hereslookingathue.com/"&gt;http://hereslookingathue.com/&lt;/a&gt;, a collection of beautiful imagery collected and organized by Gimme Bar user &lt;a href="https://gimmebar.com/user/hereslookingathue"&gt;hereslookingathue&lt;/a&gt;. It’s another cool example powered by our public API methods.&lt;/p&gt;

&lt;p&gt;Hopefully this gives you a taste of what’s possible with the Gimme Bar API. Most read-only things, like embeddable widgets or reposting tools, would be easy to do with just the public API methods. Beyond that, the vast majority of our system is exposed through the public API, so powerful collection, replication, and organization applications can be built.&lt;/p&gt;

&lt;p&gt;If you have questions or comments, please hit us up on &lt;a href="http://freenode.net/"&gt;Freenode&lt;/a&gt; at &lt;a href="irc://irc.freenode.net/gimmebar-dev"&gt;#gimmebar-api&lt;/a&gt;, or email us at &lt;a href="&amp;#109;&amp;#097;&amp;#105;&amp;#108;&amp;#116;&amp;#111;:&amp;#097;&amp;#112;&amp;#105;&amp;#064;&amp;#103;&amp;#105;&amp;#109;&amp;#109;&amp;#101;&amp;#098;&amp;#097;&amp;#114;&amp;#046;&amp;#099;&amp;#111;&amp;#109;"&gt;&amp;#097;&amp;#112;&amp;#105;&amp;#064;&amp;#103;&amp;#105;&amp;#109;&amp;#109;&amp;#101;&amp;#098;&amp;#097;&amp;#114;&amp;#046;&amp;#099;&amp;#111;&amp;#109;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Photo by &lt;a href="http://www.flickr.com/photos/rovingi/1641508502/"&gt;rovingI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9_MpPfYgsY0:8g8dnx5mB2Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=9_MpPfYgsY0:8g8dnx5mB2Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9_MpPfYgsY0:8g8dnx5mB2Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=9_MpPfYgsY0:8g8dnx5mB2Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9_MpPfYgsY0:8g8dnx5mB2Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=9_MpPfYgsY0:8g8dnx5mB2Y:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/9_MpPfYgsY0" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/building-a-tumblelog-with-gimme-bar-and-php.html</feedburner:origLink></entry>
 
 <entry>
   <title>Stepping Down From Spaz</title>
   <link href="http://feedproxy.google.com/~r/funkablog-atom/~3/h4dGBwYrkQM/stepping-down-from-spaz.html" />
   <updated>2011-10-07T00:00:00-04:00</updated>
   <id>http://funkatron.com/posts/stepping-down-from-spaz</id>
   <content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/paolomargari/4946053155/" title="Tacheles stairs, Berlin"&gt;&lt;img src="http://farm5.static.flickr.com/4093/4946053155_c62e666659_b.jpg" alt="Tacheles stairs, Berlin" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Spaz project has been an very important part of my life for nearly five years now. It’s been extremely rewarding personally and professionally. I’m proud of what we’ve accomplished. In recent months, though, the stress of running the project has become overwhelming. My ability to meet my responsibilities as a father, husband, and member of the FictiveKin team has suffered. So, I’m stepping away from Spaz, and letting others take the reins.&lt;/p&gt;

&lt;p&gt;I’m very pleased to say that &lt;a href="https://github.com/joshthecoder"&gt;Josh Roesslein&lt;/a&gt; (&lt;a href="http://twitter.com/applepie"&gt;@applepie&lt;/a&gt;) has agreed to take over as project lead for Spaz. He’s an excellent coder, very experienced with cross-platform JavaScript applications, and committed to open source. I’m confident that Spaz is in good hands with him.&lt;/p&gt;

&lt;p&gt;I’m still going to have some involvement with Spaz behind the scenes, but it will be very reduced. I’ll probably code a bit here and there, and will continue to maintain existing resources as needed, but I plan on taking a “Project Lead Emeritus” role from here on out.&lt;/p&gt;

&lt;p&gt;To all of the users, supporters, and friends who have made Spaz one of the best experiences of my life: thank you for everything.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;photo by &lt;a href="http://www.flickr.com/photos/paolomargari/4946053155/"&gt;Paolo Margari&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=h4dGBwYrkQM:JS_ORdhuwEs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=h4dGBwYrkQM:JS_ORdhuwEs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=h4dGBwYrkQM:JS_ORdhuwEs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?i=h4dGBwYrkQM:JS_ORdhuwEs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=h4dGBwYrkQM:JS_ORdhuwEs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/funkablog-atom?a=h4dGBwYrkQM:JS_ORdhuwEs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/funkablog-atom?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/h4dGBwYrkQM" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://funkatron.com/posts/stepping-down-from-spaz.html</feedburner:origLink></entry>
 
 
<entry><title type="text">Links for 2010-12-15 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/funkablog-atom/~3/MjvMBdJ9aSk/funka7ron" /><updated>2010-12-16T00:00:00-08:00</updated><id>http://del.icio.us/funka7ron#2010-12-15</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kolber.github.com/audiojs/"&gt;audio.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/MjvMBdJ9aSk" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/funka7ron#2010-12-15</feedburner:origLink></entry><entry><title type="text">Links for 2010-11-30 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/funkablog-atom/~3/G4XCDleuIUU/funka7ron" /><updated>2010-12-01T00:00:00-08:00</updated><id>http://del.icio.us/funka7ron#2010-11-30</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nvie.com/posts/a-successful-git-branching-model/"&gt;A successful Git branching model &amp;raquo; nvie.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/G4XCDleuIUU" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/funka7ron#2010-11-30</feedburner:origLink></entry><entry><title type="text">Links for 2010-11-20 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/funkablog-atom/~3/Bnh7PmonCbc/funka7ron" /><updated>2010-11-21T00:00:00-08:00</updated><id>http://del.icio.us/funka7ron#2010-11-20</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dev.lithify.me/lithium_textmate"&gt;A TextMate Bundle for Lithium&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/Bnh7PmonCbc" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/funka7ron#2010-11-20</feedburner:origLink></entry><entry><title type="text">Links for 2010-11-19 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/funkablog-atom/~3/ODbLi44JTeg/funka7ron" /><updated>2010-11-20T00:00:00-08:00</updated><id>http://del.icio.us/funka7ron#2010-11-19</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bofh.org.uk/2010/11/18/higher-order-javascript"&gt;Higher Order Javascript&lt;/a&gt;&lt;br/&gt;
&amp;quot;In the presentation I asked for a show of hands from people who’d done higher ordered programming before. A scattering of hands went up. Then I asked who’d used jQuery’s $.each(function {...}) and most hands in the room went up. Which means that most of the people in the room had used higher order programming and never realised it.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jashkenas.github.com/coffee-script/"&gt;CoffeeScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/ODbLi44JTeg" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/funka7ron#2010-11-19</feedburner:origLink></entry><entry><title type="text">Links for 2010-11-18 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/funkablog-atom/~3/lXwkqqd8i58/funka7ron" /><updated>2010-11-19T00:00:00-08:00</updated><id>http://del.icio.us/funka7ron#2010-11-18</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lifehacker.com/5693309/how-to-install-android-on-an-iphone-in-six-easy-steps"&gt;How to Install Android on an iPhone in Six Easy Steps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/lXwkqqd8i58" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/funka7ron#2010-11-18</feedburner:origLink></entry><entry><title type="text">Links for 2010-11-12 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/funkablog-atom/~3/9qDIs-FXDD8/funka7ron" /><updated>2010-11-13T00:00:00-08:00</updated><id>http://del.icio.us/funka7ron#2010-11-12</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.mathjax.org/"&gt;MathJax | Beautiful math in all browsers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://plupload.com/"&gt;Plupload - A tool for uploading files using Flash, Silverlight, Google Gears, HTML5 or Browserplus&lt;/a&gt;&lt;br/&gt;
&amp;quot;Allows you to upload files using HTML5 Gears, Silverlight, Flash, BrowserPlus or normal forms, providing some unique features such as upload progress, image resizing and chunked uploads.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/9qDIs-FXDD8" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/funka7ron#2010-11-12</feedburner:origLink></entry><entry><title type="text">Links for 2010-10-28 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/funkablog-atom/~3/rse-C8IEg2o/funka7ron" /><updated>2010-10-29T00:00:00-07:00</updated><id>http://del.icio.us/funka7ron#2010-10-28</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://knockoutjs.com/"&gt;Knockout : Home&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/funkablog-atom/~4/rse-C8IEg2o" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/funka7ron#2010-10-28</feedburner:origLink></entry></feed>
