<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ben Rousch&#039;s Cluster of Bleep</title>
	<atom:link href="http://clusterbleep.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://clusterbleep.net/blog</link>
	<description>Of family, technology, and West Michigan user groups</description>
	<lastBuildDate>Thu, 11 Apr 2013 11:31:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Watch D.O.G.S.</title>
		<link>http://clusterbleep.net/blog/2013/04/11/175/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=175</link>
		<comments>http://clusterbleep.net/blog/2013/04/11/175/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 11:29:59 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[george]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=175</guid>
		<description><![CDATA[Note: I wrote this post in Nov 2012, but I didn&#8217;t publish it until April 2013 &#8211; the morning before me second Watch D.O.G.S. experience. I was re-reading it this morning and decided to clean it up and post it. &#8230; <a href="http://clusterbleep.net/blog/2013/04/11/175/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><em>Note: I wrote this post in Nov 2012, but I didn&#8217;t publish it until April 2013 &#8211; the morning before me second Watch D.O.G.S. experience. I was re-reading it this morning and decided to clean it up and post it.</em></p>
<p>As part of the Watch D.O.G.S. program I got to spend the day at my son, George&#8217;s, school. They had me moving to a new class (grades K-4) every 15-20 minutes, so it was pretty hectic. I got to work with a few groups of kids in the classrooms while they did their regular work, a few groups doing their special assignments away from class, and some kids one on one. I was surprised that all of them were happy, well-behaved, and eager to learn with me.</p>
<p>I met some really bright kids who solved their math problems faster than I could, some who had started writing interesting stories about trolls, evil wizards, and portals to other worlds, some who had their books memorized, and a boy that can draw sharks amazingly well. It was a fun challenge to me to get these bright kids to stretch their skills a little farther. I asked the story tellers for more details about what they planned to write next, I tripped up the memorizers by taking pages out of order and interrupting their flow with questions, and I introduced the shark artist to a few anatomical details he hadn&#8217;t noticed, as well as a new shark (hammerhead).</p>
<p>I also met some kids who were behind the rest of class in certain skills. It was great to work with them one on one and see them make progress even in the short time I had with them. I helped one little guy figure out the difference between &#8220;b&#8221; and &#8220;d&#8221; and also &#8220;h&#8221; and &#8220;n&#8221;. I helped a girl work through her math problems and she grinned when she finally got something. But they weren&#8217;t all so easy to help.</p>
<p>One Kindergarten girl didn&#8217;t know her letters so she was really bummed about the game we were playing with a couple of other kids. When she would get a letter wrong she would harshly chastise herself with &#8220;Oh, great job <name>.&#8221;, and put her head down. It broke me heart to see her beat herself up like that, but she just couldn&#8217;t seem to remember the letters. Just when I had run out of ideas for helping her, one of the other kid&#8217;s shoes came untied and he asked for help. The despondent girl said she could do it, and she did. George can&#8217;t tie his own shoes, so I was impressed by this girl tying someone else&#8217;s (which is even harder than tying your own). I praised her for this and she perked back up. She also told me she can do dishes and mop the floor!</p>
<p>There was one second or third grade boy I wasn&#8217;t able to reach at all. He had his coat on his desk, two of his favorite stuffed animals propped up inside of it, and a piece of paper with a black square colored on it so the animals were &#8220;watching TV.&#8221; He was obsessively concerned about keeping the animals on their &#8220;couch&#8221; and the TV facing them. He was very distracted during the math lesson. He didn&#8217;t do any of the problems, or even look at the teacher. He just played with some scissors and kept propping the animals up so they would watch TV. After we removed the coat, animals, TV, and scissors, he tried to do one of the math problems. He got it right, but went back to his own distracted world immediately afterwards. I&#8217;m not sure if this kid has a really bad home life, or has a bad case of ADHD, but it was tough to see him like that. He might be the only kid all day I couldn&#8217;t get to smile.</p>
<p>In another class, I was helping a group of 2nd graders with rhyming words. They had &#8220;trip&#8221; so I told them to a &#8220;s&#8221; to the front. One boy blurted out, &#8220;Oh yeah! Like you go to a strip place!&#8221; Not exactly what I was thinking, but OK.</p>
<p>In another class the teacher asked the kids for some good uses of petroleum or oil. One kid said &#8220;To burn down factories!&#8221; I thought the answer was pretty good since they had been talking about how factories pollute so much just moments before. Go Planet!</p>
<p>Overall, it was a great experience, and I look forward to doing it again in the Spring.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2013/04/11/175/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wait long enough and someone will do it for you</title>
		<link>http://clusterbleep.net/blog/2013/03/08/wait-long-enough-and-someone-will-do-it-for-you/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wait-long-enough-and-someone-will-do-it-for-you</link>
		<comments>http://clusterbleep.net/blog/2013/03/08/wait-long-enough-and-someone-will-do-it-for-you/#comments</comments>
		<pubDate>Fri, 08 Mar 2013 13:24:40 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=173</guid>
		<description><![CDATA[Like many of you, I have a crap-ton of ideas, and I get new ones every day. Until about 2009 I never bothered to write them down, or even discuss them with anyone. They&#8217;ve always been just sort of interesting &#8230; <a href="http://clusterbleep.net/blog/2013/03/08/wait-long-enough-and-someone-will-do-it-for-you/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Like many of you, I have a crap-ton of ideas, and I get new ones every day. Until about 2009 I never bothered to write them down, or even discuss them with anyone. They&#8217;ve always been just sort of interesting mental exercises. Most of these are not monetizable (my spell checker says that&#8217;s not a word, but I don&#8217;t care), but interesting in some way. Some of them are good, and I think could make some money if I invested enough time and effort. Over the years, I&#8217;ve discovered many of my ideas have been implemented by other people. I&#8217;m always kind of happy when I come across actual implementations of my ideas. Maybe I see it as proof that my ideas could really take shape, but mostly because I think these ideas make the world a better place and it&#8217;s good to see them realized. Out of curiosity, I often try to find out when these people started their projects in an attempt to see if I thought of it first.</p>
<p>The first time I remember this happening is with maglev trains. Well before I had any idea of the engineering (pun intended) involved, I&#8217;d had this idea about running trains on magnets instead of wheels to reduce friction. Then years later I remember reading in Popular Mechanics about the first maglev trains in Asia and thinking, &#8220;Whoa, that was my idea. How did they know?!&#8221; Much more recently, I ran into the same thing with trains in vacuum tubes. It was really cool to see that <a href="http://en.wikipedia.org/wiki/Vacuum_tube_train">someone is actually working those too</a>. (Since then, I&#8217;ve begun to suspect this idea may have been sparked by memories from my days as a toddler watching <a href="http://en.wikipedia.org/wiki/Supertrain">SuperTrain</a> with my parents. I&#8217;ll have to ask them if they were fans of the show.)</p>
<p>An example from a couple of years ago was a social media site for BarCamps and conferences designed to let the people in a particular talk continue the discussion afterwards. The idea was that the people in the talk could subscribe to a mini-email list or discussion thread just for that talk. Then the speaker could post materials from the talk and answer follow-up questions. <a href="http://convore.com/">Convore</a> came along about a year later and did almost exactly what I was thinking. <a href="http://pyohio.org">PyOhio</a> used it in 2011 without a lot of success (few participants), and we gave it a go at <a href="http://barcampgr.org">BarCampGR</a> in 2011 with the same results. Convore is gone now, but <a href="http://startgarden.com/ideas/detail/tribbon">Tribbon was recently funded at StartGarden</a> and is looking to fill a similar need. They&#8217;re not doing it how I had planned (my idea was much closer to Convore), but I think they&#8217;ve got a good plan.</p>
<p>I first started drafting this post back in September of 2012 because that week had been an especially good week for folks reading my mind and implementing my ideas. First someone grabbed <a href="http://dvice.com/archives/2012/09/smartphone-crad.php">mobile phone laser tag</a> out of my idea list. And after finally pitching one of my ideas to someone, she pointed out that someone else has already begun implementing my <a href="https://www.weddingpartyapp.com/">real-time automatic smartphone photo conglomeration for weddings</a> idea.</p>
<p>I just came across an Indigogo campaign for one my silliest ideas from about seven years ago &#8211; <a href="http://www.dvice.com/2013-3-7/tailly-robotic-tail-reacts-your-heart-rate">a robotic tail that responds to your mood</a> &#8211; which is why I&#8217;ve finally decided to finish this post. I&#8217;ll probably keep updating it as new things pop up.</p>
<p>The point of this post is not really to talk about my ideas, but to remind myself that if I wait long enough, someone will do it for me. With family, work, and user groups, I have very little free time to implement my ideas. I always tell myself I&#8217;ll get around to it, but I very rarely do. On one hand it&#8217;s fun to see them in the real world, even if not by me. On the other hand, it&#8217;s depressing to see so many of them actualized without my help or input. I think it&#8217;s time to sacrifice some sleep to get some things built!</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2013/03/08/wait-long-enough-and-someone-will-do-it-for-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GRDevDay 2013 and My Kivy Talk</title>
		<link>http://clusterbleep.net/blog/2013/03/04/grdevday-2013-and-my-kivy-talk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=grdevday-2013-and-my-kivy-talk</link>
		<comments>http://clusterbleep.net/blog/2013/03/04/grdevday-2013-and-my-kivy-talk/#comments</comments>
		<pubDate>Tue, 05 Mar 2013 02:51:59 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[grpug]]></category>
		<category><![CDATA[Kivy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=180</guid>
		<description><![CDATA[I was lucky enough to give a talk about Kivy &#8211; a multi-touch, cross-platform Python GUI and application framework &#8211; at GRDevDay 2013. Although my talk was the least-attended talk I went to all day, I enjoyed giving it and &#8230; <a href="http://clusterbleep.net/blog/2013/03/04/grdevday-2013-and-my-kivy-talk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I was lucky enough to give a talk about <a href="http://kivy.org">Kivy</a> &#8211; a multi-touch, cross-platform Python GUI and application framework &#8211; at <a href="http://grdevday.org/">GRDevDay</a> 2013. Although my talk was the least-attended talk I went to all day, I enjoyed giving it and I got to meet a few new Python folks from Michigan. I&#8217;m going to chalk up the attendance to the fact that I was in the same time slot as a lot of good talks, including three that I wanted to see myself. Ah well, such are conferences. At any rate, it gave me an opportunity to see what worked and what didn&#8217;t in this talk so I can make some changes before I give it at <a href="http://mobidevdaydetroit.com/">MobiDevDay Detroit</a> in May.</p>
<p><div class="wp-caption alignright" style="width: 410px"><a href="http://farm9.staticflickr.com/8085/8534063635_62ba2a9ef3.jpg"><img src="http://farm9.staticflickr.com/8085/8534063635_62ba2a9ef3.jpg" width="400" alt="Watching the "So you think you know Javascript" talk at GRDevDay" class /></a><p class="wp-caption-text">Watching the &#8220;So you think you know Javascript&#8221; talk at GRDevDay</p></div>GRDevDay was a great conference. The organizers really treat the speakers well with a semi-private speaker&#8217;s lounge and even special gifts. This is one of the few local events that I attend where I don&#8217;t do any organizing, and even though I feel like kind of a slacker, it also feels good to not have all of that pressure for the whole day. The GitHub-hosted drink-up at Kitchen76 was unbelievably crowded, but I still had fun and got to talk at length with some people I usually chat with infrequently online.</p>
<p>For those interested, I&#8217;ve posted <a href="https://speakerdeck.com/brousch/kivy-intro-and-tutorial-grdevday-2013">the slides from my Kivy talk</a> to Speaker Deck, and you can find the <a href="https://github.com/brousch/saythis-kivy-intro-app/tree/grdevday2013">tutorial as it existed for the talk in this repository on GitHub</a>.</p>
<p>[Edit 2013-03-05]<br />
There were a few questions I was unable to answer at my GRdevDay talk. As I find answers, I will post them here.</p>
<p><strong>Question: Can you make Android widgets using Kivy?</strong><br />
<em>Answer: Probably not, but there has been a lot of work in pyjnius. No one has tried it recently.</em></p>
<p>[Edit 2013-03-07]<br />
In my talk I said that you have to specify Android permissions in the Manifest.xml file. This is incorrect, you specify the permissions as part of the build command. See the <a href="http://python-for-android.readthedocs.org/en/latest/usage/#step-2-package-your-application">Python for Android docs</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2013/03/04/grdevday-2013-and-my-kivy-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Google+ Page and Community Setup Tips</title>
		<link>http://clusterbleep.net/blog/2012/12/07/some-google-page-and-community-setup-tips/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=some-google-page-and-community-setup-tips</link>
		<comments>http://clusterbleep.net/blog/2012/12/07/some-google-page-and-community-setup-tips/#comments</comments>
		<pubDate>Fri, 07 Dec 2012 13:37:28 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=177</guid>
		<description><![CDATA[The relationship and difference between a Google+ Page and a Google+ Community eluded me at first. After having created a few of each for the various user groups I&#8217;m involved with, I think I have a handle on how to &#8230; <a href="http://clusterbleep.net/blog/2012/12/07/some-google-page-and-community-setup-tips/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The relationship and difference between a Google+ Page and a Google+ Community eluded me at first. After having created a few of each for the various user groups I&#8217;m involved with, I think I have a handle on how to set them up.</p>
<p>You start with a Page for your group. Make sure you set up Managers for the Page. This can be done by switching to the Page, then clicking the tiny Settings link in the lower right, and then on the Managers tab.</p>
<p>From that Page you create a Community. See, a Page is like a person (kind of like a corporation is a person), so it can own Communities. Those people who are Managers of your Page can also manage the group by switching to the Page first. The Page will be the default Owner of the Community, but you can add other Owners. If you&#8217;re viewing the Community, click on the Members link. You can then use the little triangle next to member&#8217;s names to promote them to Moderators and from there to Owners.</p>
<p>Hopefully this will get you off on the right foot with your Pages and Communities.</p>
<p>[Edit]<br />
By request, here are the Google+ Pages and Communities I&#8217;ve setup:
<ul>
<li>BarCampGR <a href="https://plus.google.com/116952079842867940611/">Page</a> and <a href="https://plus.google.com/communities/116845631368399784302">Community</a></li>
<li>GRLUG &#8211; Grand Rapids Linux User&#8217;s Group <a href="https://plus.google.com/100159013417109684251/">Page</a> and <a href="https://plus.google.com/communities/108709214280028483052">Community</a></li>
<li>GRPUG &#8211; Grand Rapids Python Users Group <a href="https://plus.google.com/110494190034733774480/">Page</a> and <a href="https://plus.google.com/communities/101131173885454809069">Community</a>
<li>GRMobileDev &#8211; Grand Rapids Mobile Development Group<a href="https://plus.google.com/111464484401546664190/">Page</a> and <a href="https://plus.google.com/communities/114661161229789891312">Community</a></li>
<li>GRWebDev &#8211; Grand Rapids Web Development Group<a href="https://plus.google.com/114303701161189538249/">Page</a> and <a href="https://plus.google.com/communities/104201772982407375637">Community</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/12/07/some-google-page-and-community-setup-tips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PyOhio 2012 Presentation &#8211; Python and Android</title>
		<link>http://clusterbleep.net/blog/2012/09/04/pyohio-2012-presentation-python-and-android/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pyohio-2012-presentation-python-and-android</link>
		<comments>http://clusterbleep.net/blog/2012/09/04/pyohio-2012-presentation-python-and-android/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 22:00:56 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[grlug]]></category>
		<category><![CDATA[grpug]]></category>
		<category><![CDATA[grwebdev]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[planet-ubuntu-users]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu-michigan]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=167</guid>
		<description><![CDATA[About a month ago I gave a talk titled &#8220;Python and Android: A descent into madness with Ben Rousch&#8221; at the PyOhio conference. I think the talk went really well, much better than the one I gave last year. There &#8230; <a href="http://clusterbleep.net/blog/2012/09/04/pyohio-2012-presentation-python-and-android/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>About a month ago I gave a talk titled &#8220;Python and Android: A descent into madness with Ben Rousch&#8221; at the <a href="http://pyohio.org/">PyOhio</a> conference. I think the talk went really well, much better than the one I gave last year. There was a good crowd and a few people asked me questions afterwards. Due to time constraints, I wasn&#8217;t able to go into much depth on the topics, so I hope this blog post will help you to find more information about the topics I covered.</p>
<p>To start off, here are <a href="http://clusterbleep.net/files/pyohio-2012-python-and-android-slides.pdf">the slides from the talk</a>. Most of the useful links are at the end of the slideshow, so I&#8217;ve extracted them here to save you some time:</p>
<p><strong>Scripting Layer for Android Resources:</strong>
<ul>
<li><a href="http://code.google.com/p/android-scripting/">Website</a></li>
<li><a href="http://www.apress.com/9781430235699/">Apress book: &#8220;Pro Android Python with SL4A&#8221; by Paul Ferrill</a></li>
<li><a href="http://android-scripting.googlecode.com/hg/android/script_for_android_template.zip">SL4A App Template</a></li>
<li><a href="https://github.com/brousch/sl4a_pydroid_mock_api">SL4A Python Mock API</a></li>
</ul>
<p><strong>BotBrew Basil Resources:</strong>
<ul>
<li><a href="http://botbrew.com/">Website</a></li>
<li><a href="https://play.google.com/store/search?q=botbrew">BotBrew Basil Android App</a></li>
<li>IRC: #botbrew on Freenode</li>
</ul>
<p><strong>Linux on Android Resources:</strong>
<ul>
<li><a href="http://linuxonandroid.org/">Website</li>
<li><a href="https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid">Complete Linux Installer Android App</a></li>
<li>IRC: #linuxonandroid-help on Freenode</li>
</ul>
<p>Next up is the video of the presentation. We had some audio problems about two minutes into the talk, but don&#8217;t fret, we stopped the talk until they were fixed and it&#8217;s all good at around six minutes in.</p>
<p><iframe width="640" height="480" src="http://www.youtube.com/embed/So2weWysyZc" frameborder="0" allowfullscreen></iframe></p>
<p>So now that you&#8217;ve watched the talk, you know it ends on a kind of a bummer. The good news is that just a few days later I figured out how to use AIDE and SL4A to create Android apps on Android with Python, and I wrote it up in <a href="http://clusterbleep.net/blog/2012/07/31/how-to-create-an-android-app-and-apk-on-android-with-python/">this blog post</a>.</p>
<p>In the coming weeks you can expect a blog post that goes more in depth with <a href="http://botbrew.com/">BotBrew</a>. I&#8217;ve also been poking around with a few other Python on Android projects and will let you know what I find out.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/09/04/pyohio-2012-presentation-python-and-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Create an Android App and APK on Android with Python</title>
		<link>http://clusterbleep.net/blog/2012/07/31/how-to-create-an-android-app-and-apk-on-android-with-python/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-create-an-android-app-and-apk-on-android-with-python</link>
		<comments>http://clusterbleep.net/blog/2012/07/31/how-to-create-an-android-app-and-apk-on-android-with-python/#comments</comments>
		<pubDate>Tue, 31 Jul 2012 13:20:20 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[grlug]]></category>
		<category><![CDATA[grpug]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=168</guid>
		<description><![CDATA[I&#8217;m a developer (among other things). I love Android, but I think Java is cumbersome and annoying. I want to create Android apps using Python. With the Scripting Layer for Android (SL4A) I can create little scripts on the Android &#8230; <a href="http://clusterbleep.net/blog/2012/07/31/how-to-create-an-android-app-and-apk-on-android-with-python/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m a developer (among other things). I love Android, but I think Java is cumbersome and annoying. I want to create Android apps using Python. With the <a href="http://code.google.com/p/android-scripting/">Scripting Layer for Android (SL4A)</a> I can create little scripts on the Android device, or I can develop bigger apps using Eclipse and the Android SDK on a &#8220;real&#8221; computer. About six months ago the <a href="https://plus.google.com/101304250883271700981">Android Java IDE (AIDE)</a> was created. It lets you create real, distributable Android apps (APKs) on Android itself, which is very cool, but you have to do it Java.</p>
<p><em>Or do you?</em></p>
<p>Here&#8217;s how I combined SL4A&#8217;s Eclipse app development process with AIDE to create an Android app and APK on Android, written in Python.</p>
<p><strong>Preliminary Setup</strong><br />
Before we begin, you will need a few Android Apps installed:</p>
<ul>
<li><a href="http://code.google.com/p/android-scripting/">SL4A including the Python Interpreter</a> <a href="http://www.youtube.com/watch?v=1O39oALC83w">[Installation HowTo Video]</a></li>
<li><a href="https://play.google.com/store/apps/details?id=com.aide.ui">The Android Java IDE (AIDE)</a></li>
<li><a href="https://play.google.com/store/apps/details?id=com.dropbox.android">Dropbox</a></li>
</ul>
<p><strong>OK, let&#8217;s get started!</strong></p>
<p><strong>On your computer:</strong></p>
<ol>
<li>Download <a href="http://android-scripting.googlecode.com/hg/android/script_for_android_template.zip">script_for_android_template.zip</a></li>
<li>Extract it to `Dropbox/Projects/MyProject`</li>
<li>Wait for Dropbox sync to finish</li>
</ol>
<p><img src="http://clusterbleep.net/files/sl4a-python-in-aide.png" alt="" width="300" align="right" style="border:1px solid black" /><br />
<strong>On Android:</strong></p>
<ol>
<li>Open AIDE</li>
<li>Cancel app creation if it pops up</li>
<li>Select &#8220;Download Dropbox Folder here&#8221;</li>
<li>Select &#8220;Projects&#8221;</li>
<li>Select &#8220;MyProject&#8221;</li>
<li>Tap &#8220;Download&#8221;</li>
<li>Wait for Dropbox sync to finish</li>
<li>Select &#8220;Open this App Project&#8221;</li>
<li>Select &#8220;res&#8221;</li>
<li>Select &#8220;raw&#8221;</li>
<li>Select &#8220;script.py&#8221;</li>
<li>Make some changes</li>
<li>Menu -&gt; Run</li>
</ol>
<p><strong>Tips and Tricks</strong></p>
<ul>
<li>Your Python project lives in the `MyProject/res/raw` folder.</li>
<li>`script.py` is the entry point of your Python project. You can change this, but I don&#8217;t have instructions for doing so yet.</li>
<li>You can skip the Dropbox part of the instructions and do it all on Android, but if you include Dropbox it is easy to go back and forth between AIDE and Eclipse. I think it&#8217;s worth the extra step.</li>
<li>To create a new file or folder in your project, long-press on an existing file for a file menu.</li>
<li>The first time someone runs your APK they will be prompted to install Python for Android if they don&#8217;t already have it. The process is the same as you went through when installing the Python Interpreter for SL4A.</li>
<li>If your app refuses to install or run, you probably need to sign it. I suggest creating signing keys in Eclipse on your desktop and storing them in Dropbox. You can then use them from within AIDE. AIDE does have built-in key generation, but it didn&#8217;t work when I tried it.</li>
<li>If &#8220;Download&#8221; is greyed out when you try to get your folder from Dropbox from within AIDE, that may mean you already have a project with that name in AIDE. Each project name must be unique. You can delete the old project from within AIDE, or rename the new project&#8217;s folder in Dropbox.</li>
</ul>
<p><strong>Where should you go from here?</strong><br />
You should head over to <a href="http://code.google.com/p/android-scripting/wiki/Tutorials">the SL4A Tutorials</a> to learn what all you can do with it.</p>
<p><strong>What&#8217;s next for this project?</strong><br />
My goal is to encapsulate this process into an Android app you can download from Google Play. The app will download SL4A Python and the script template, extract it to Dropbox or a location of your choosing, setup the app name you want, and setup the entry point you want (instead of script.py). It will be an easy Android App creator for Python on Android.</p>
<p><strong>My Sources</strong><br />
I scraped together this information from several sources. These are the big ones:</p>
<ul>
<li><a href="http://www.apress.com/9781430235699/">&#8220;Pro Android Python with SL4A&#8221; by Paul Ferrill from Apress</a></li>
<li><a href="http://jokar-johnk.blogspot.com/2011/02/how-to-make-android-app-with-sl4a.html">&#8220;How to make an Android app with SL4A and Eclipse&#8221; from JohnK</a></li>
<li><a href="https://plus.google.com/101304250883271700981/posts">The AIDE Website</a></li>
</ul>
<p><strong>Updates</strong></p>
<ul>
<li>[2012-07-31] I&#8217;ve just learned about the <a href="https://code.google.com/p/android-python27/">android-python27</a> and related projects. Using this, you can embed the Python runtime in your application to avoid your users having to download it on first run. There is a lot of cool stuff going on around this project including PyQT support and advanced UIs with <a href="http://kivy.org/#home">Kivy</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/07/31/how-to-create-an-android-app-and-apk-on-android-with-python/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Running Stardock&#8217;s &#8220;Sins of a Solar Empire: Rebellion&#8221; on Linux</title>
		<link>http://clusterbleep.net/blog/2012/07/17/running-stardocks-sins-of-a-solar-empire-rebellion-on-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=running-stardocks-sins-of-a-solar-empire-rebellion-on-linux</link>
		<comments>http://clusterbleep.net/blog/2012/07/17/running-stardocks-sins-of-a-solar-empire-rebellion-on-linux/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 16:05:26 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[grlug]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[planet-ubuntu-users]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu-michigan]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=165</guid>
		<description><![CDATA[My sister works at Stardock, a company in the Detroit area, and she has been pestering me to try one of their games. It took a while for me to get motivated enough to do so since Stardock&#8217;s games are &#8230; <a href="http://clusterbleep.net/blog/2012/07/17/running-stardocks-sins-of-a-solar-empire-rebellion-on-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>My sister works at <a href="http://www.stardock.com/">Stardock</a>, a company in the Detroit area, and she has been pestering me to try one of their games. It took a while for me to get motivated enough to do so since Stardock&#8217;s games are for Windows and I haven&#8217;t really been a gamer since I switched to Linux at home in 2005. However I heard there have been big improvements in <a href="http://www.winehq.org/">WINE</a> since last I&#8217;d tried it, so I finally found a few hours of free time to give it a go.</p>
<p>First I installed the <a href="https://launchpad.net/~ubuntu-wine/+archive/ppa">WINE PPA</a> into <a href="http://www.ubuntu.com/">Ubuntu 12.04</a> to make sure I had the most recent version. Then I installed wine1.5-amd64 and playonlinux. <a href="http://www.playonlinux.com/">PlayOnLinux</a> provides a nice GUI for WINE and made installing the Steam client very easy. After Steam was installed, it was easy to open it up and install <a href="http://www.sinsofasolarempire.com/">&#8220;Sins of a Solar Empire: Rebellion&#8221;</a>. I was pleasantly surprised when everything just worked. Those WINE folks are really impressive!</p>
<p><code><br />
$ sudo add-apt-repository ppa:ubuntu-wine/ppa<br />
$ sudo apt-get update<br />
$ sudo apt-get install wine1.5-amd64 playonlinux<br />
$ playonlinux<br />
</code></p>
<p>My laptop was well below the specs suggested by Stardock for the game, and I was running under WINE, so I lowered all of the graphics and detail as far as possible. The game ran perfectly. I worked through the first tutorial with no problems at all. Now all I have to do is find hundreds of hours of free time so I can play more!</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/07/17/running-stardocks-sins-of-a-solar-empire-rebellion-on-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ubuntu 12.04 Splash Screen Lockup with LiveCD</title>
		<link>http://clusterbleep.net/blog/2012/05/09/ubuntu-12-04-splash-screen-lockup-with-livecd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-12-04-splash-screen-lockup-with-livecd</link>
		<comments>http://clusterbleep.net/blog/2012/05/09/ubuntu-12-04-splash-screen-lockup-with-livecd/#comments</comments>
		<pubDate>Wed, 09 May 2012 20:56:04 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[grlug]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[planet-ubuntu-users]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[ubuntu-michigan]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=161</guid>
		<description><![CDATA[I just setup Kubuntu Linux 12.04 on a HP Pavilion zv6000 and ran into a pesky bug. This bug is on all of the Ubuntu and Kubuntu 12.04 final release CDs and ISOs, so this is going to be a &#8230; <a href="http://clusterbleep.net/blog/2012/05/09/ubuntu-12-04-splash-screen-lockup-with-livecd/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I just setup Kubuntu Linux 12.04 on a HP Pavilion zv6000 and ran into a pesky bug. This bug is on all of the Ubuntu and Kubuntu 12.04 final release CDs and ISOs, so this is going to be a common issue for a while. In this post I&#8217;ll show you how to work around the dreaded splash screen lockup due to b43 missing firmware bug.</p>
<p>The first symptom of the problem is that your computer locks up on the splash screen while booting the Ubuntu or Kubuntu 12.04 LiveCD. This can also happen during the first boot after upgrading from Ubuntu 11.10 to 12.04 if you haven&#8217;t previously installed the Broadcom drivers in 11.10. At this point you can&#8217;t see the error, all you see is a stalled splash screen. You will have to long-press the power button on your laptop to shut down. </p>
<p>If you&#8217;d like to see the error, reboot from the LiveCD, and select F6 at the Install/Memtest/Check CD for Defects screen. Then delete the &#8220;quiet&#8221; and &#8220;splash&#8221; from the boot command line and continue booting from the CD. Eventually you&#8217;ll see:<br />
<code>[   95.514833] b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found<br />
[   95.514847] b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found<br />
[   95.514855] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all the instruction on this website.</code><br />
Again, at this point you will have to shut down by long-pressing the power button.</p>
<p>To get around the problem and actually install Ubuntu, you&#8217;ll have to boot from the LiveCD as before, press F6 at the Install/Memtest/Check CD screen, and add the following to the boot options: <code>b43.blacklist=yes</code> . Then when you continue booting, you&#8217;ll be able to login and install. [Edit] Here is a short video showing the procedure.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/mSji0DO4X7w" frameborder="0" allowfullscreen></iframe></p>
<p>However you will lock up again after the first reboot due to the same error (this time in your installed Ubuntu instead of the LiveCD). You get around the problem in a similar manner. When the GRUB screen comes up, press &#8216;e&#8217; to edit the boot options for the first boot entry. Add the <code>b43.blacklist=yes</code> to the boot options line, and then continue booting. Here&#8217;s a short video showing this procedure.</p>
<p><i>[Edit] If you&#8217;re still having trouble with this step, <a href="http://clusterbleep.net/blog/2012/05/09/ubuntu-12-04-splash-screen-lockup-with-livecd/#comment-597041566">this comment from A. Spratt</a> may help you.</i></p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/v-EKrJnb790" frameborder="0" allowfullscreen></iframe></p>
<p>Once you&#8217;ve successfully booted in Ubuntu or Kubuntu, make sure you have a wired Internet connection and issue these commands at the terminal or konsole to install the Broadcom Wifi firmware: <code>sudo apt-get install firmware-b43-installer</code> . Reboot, and everything should work, including your Wifi.</p>
<p>Here are a few of the sources I used to gather this information:</p>
<ul>
<li><a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/972823">Launchpad Bug 972823: HP Pavilion hangs at boot</a></li>
<li><a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/950295">Launchpad Bug 950295: b43 missing firmware kernel panic</a></li>
<li><a href="https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx">Ubuntu Help Wiki: Broadcom Wifi Driver Help</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/05/09/ubuntu-12-04-splash-screen-lockup-with-livecd/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Video Editing on Linux at The Open Source Futures</title>
		<link>http://clusterbleep.net/blog/2012/05/04/video-editing-on-linux-at-the-open-source-futures/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=video-editing-on-linux-at-the-open-source-futures</link>
		<comments>http://clusterbleep.net/blog/2012/05/04/video-editing-on-linux-at-the-open-source-futures/#comments</comments>
		<pubDate>Fri, 04 May 2012 22:42:34 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[grlug]]></category>
		<category><![CDATA[grpug]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[planet-ubuntu-users]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu-michigan]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=160</guid>
		<description><![CDATA[I gave an hour and a half demo of video editing on Linux at the May Open Source Futures meeting in Lansing. I covered a little bit of FFMPEG and a lot of the OpenShot non-linear video editor. There were &#8230; <a href="http://clusterbleep.net/blog/2012/05/04/video-editing-on-linux-at-the-open-source-futures/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I gave an hour and a half demo of video editing on Linux at the May <a href="http://www.meetup.com/The-Open-Source-Futures/">Open Source Futures</a> meeting in Lansing. I covered a little bit of <a href="http://ffmpeg.org/">FFMPEG</a> and a lot of the <a href="http://www.openshot.org/">OpenShot</a> non-linear video editor. There were a lot of questions at the meeting, so I put together this blog post full of useful commands and links to help answer a few of the questions I couldn&#8217;t answer at the meeting.</p>
<p><strong>Preparing Your Ubuntu-based Linux for Video Editing</strong><br />
There are a gazillion codecs and video editors and players for Linux. Here are some of the things I always use to prep my machine for video editing joy.</p>
<p><a href="https://help.ubuntu.com/community/Medibuntu">The Medibuntu Repository</a> (for great codecs!)<br />
You want to make sure you have all of the video and audio codecs you will need before you start. The Medibuntu repository is the best place to get them. Just run the script on the Medibuntu page to install the repo, and then run the following commands to install all of the good stuff. These commands assume you&#8217;re running a Linux distro based off of Ubuntu 11.10 or 12.04. </p>
<ul>
<li>FFMPEG and gobs of codecs: <code>sudo apt-get install ffmpeg libavcodec-extra-53 libavutil-extra-51 w64codecs libdvdcss2 h264enc libquicktime2</code></li>
<li>GUI Players and Utilities: <code>sudo apt-get install vlc avidemux</code></li>
<li>OpenShot Video Editor: <code>sudo apt-get install openshot blender inkscape</code></li>
<li>Everything You&#8217;ll Need: <code>sudo apt-get install ffmpeg libavcodec-extra-53 libavutil-extra-51 w64codecs libdvdcss2 h264enc libquicktime2 vlc avidemux openshot blender inkscape</code></li>
<li><a href="http://h264.code-shop.com/trac/wiki/Encoding#Ffmpegx264profileBaselinelevel3.0iPhone">Encode a video for iPhone or iPod Touch</a></li>
</ul>
<p><em>You can also <a href="http://www.openshot.org/download/">use OpenShot via a LiveDVD</a>. I haven&#8217;t personally tried this method.</em></p>
<p><strong>Useful FFMPEG Commands</strong></p>
<ul>
<li>Convert (almost) any video file to an editor-friendly format: <code>ffmpeg -i in.mp4 -vcodec mpeg4 -sameq -r 30 -acodec libfaac out2.mp4</code></li>
<li>Convert a video to a series of JPEGs: <code>ffmpeg -i in.mp4 -vcodec mjpeg -sameq temp/out-%d.jpg</code></li>
<li>Fix some out-of-sync audio: <code>ffmpeg -i infile -r 30 -sameq outfile</code></li>
</ul>
<p><strong>OpenShot Info</strong></p>
<ul>
<li><a href="http://www.openshot.org/">The OpenShot Website</a></li>
<li><a href="http://www.openshotusers.com/help/1.3/en/">The OpenShot Users Manual</a></li>
<li><a href="http://www.openshotusers.com/help/1.3/en/ar01s17.html#sect2_66">How to make scrolling credits in OpenShot</a></li>
</ul>
<p><strong>Python and Django Groups &#8220;Near&#8221; Lansing</strong><br />
The subject of Python and Django groups in the area came up, so I put together this quick list.</p>
<ul>
<li><a href="http://www.grpug.org/">GRPUG: Grand Rapids Python Users Group</a></li>
<li><a href="https://groups.google.com/group/michipug/">MichiPUG: Michigan Python Users Group</a></li>
<li><a href="http://coffeehousecode.appspot.com/locations/detroit.html">Coffeehouse Coders Detroit</a></li>
<li><a href="http://chipy.org/">ChiPy: Chicago Python Group</a></li>
<li><a href="https://groups.google.com/group/django-chicago">Chicago Djangonauts</a></li>
</ul>
<p>If there are any more questions, especially any that I missed from the meeting, please ask them in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/05/04/video-editing-on-linux-at-the-open-source-futures/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Responsive Design at MoMoGR</title>
		<link>http://clusterbleep.net/blog/2012/05/02/responsive-design-at-momogr/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=responsive-design-at-momogr</link>
		<comments>http://clusterbleep.net/blog/2012/05/02/responsive-design-at-momogr/#comments</comments>
		<pubDate>Wed, 02 May 2012 18:07:30 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[grwebdev]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=158</guid>
		<description><![CDATA[At their last meeting, the Mobile Monday Grand Rapids (MoMoGR) group asked me to fill in for a speaker and panelist who had to cancel. The topic of the night was &#8220;Web Meets Mobile&#8221; so the responsive design talk I&#8217;d &#8230; <a href="http://clusterbleep.net/blog/2012/05/02/responsive-design-at-momogr/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.meetup.com/MoMoGR/photos/7887422/#115500162"><img alt="MoMoGR Web Meets Mobile Panel" src="http://photos4.meetupstatic.com/photos/event/a/2/highres_115500162.jpeg" title="MoMoGR Web Meets Mobile Panel" class="alignright" width="300" height="224" /></a>At their last meeting, the <a href="http://www.meetup.com/MoMoGR/">Mobile Monday Grand Rapids</a> (MoMoGR) group asked me to fill in for a speaker and panelist who had to cancel. The topic of the night was &#8220;<a href="http://www.meetup.com/MoMoGR/events/57263152/">Web Meets Mobile</a>&#8221; so <a href="http://clusterbleep.net/blog/2012/04/24/my-responsive-design-presentation-at-the-april-2012-grwebdev/">the responsive design talk</a> I&#8217;d given at <a href="http://www.grwebdev.org">the Grand Rapids Web Development Group</a> (GRWebDev) meeting the week before was a perfect fit. I revisited the talk over the weekend and made some changes to the slides to fit the shorter time limit and static format (slides only, no live action). Although I think the new version of the presentation was less impressive live, the slides from it are better for viewing afterwards. Here are the revised slides along with my notes, which are basically my whole script for the presentation: <a href="http://clusterbleep.net/files/momogr-responsive-design-presentation-rev3.pdf">My Responsive Design Slides and Notes Rev. 3</a></p>
<p><a href="http://www.meetup.com/MoMoGR/photos/7887422/#115500112"><img alt="Ben Rousch Presenting at MoMoGR Web Meets Mobile" src="http://photos1.meetupstatic.com/photos/event/7/0/highres_115500112.jpeg" title="Presenting at MoMoGR" class="alignleft" width="300" height="224" /></a><strong>Adaptive Images</strong></p>
<p>One issue I mention in the talk which I hadn&#8217;t seen a solution to is adaptive image sizing. You use big images to make the big version of your site look good, but then you end up sending the same big images to mobile devices, which wastes bandwidth and mobile processing power while it downsizes the images on the device. I came across these two articles on the <a href="http://www.webmonkey.com/">WebMonkey website</a> today which address the problem. They both require Javascript, which is kind of a bummer, but beggars can&#8217;t be choosers, so here you go: <a href="http://www.webmonkey.com/2011/08/speed-up-your-responsive-designs-with-adaptive-images/">Build Faster Mobile Websites With &#8216;Adaptive Images&#8217;</a> and <a href="http://www.webmonkey.com/2012/04/a-smarter-way-to-serve-high-resolution-images/">JavaScript Package Offers a Smarter Way to Serve Hi-Res Images</a></p>
<p><strong>Adaptive Menus</strong></p>
<p>An issue which I haven&#8217;t touched on in the talks is adaptive navigation and menus. I came upon an article from <a href="http://filamentgroup.com/">The Filament Group</a> which discusses some problems and strategies for dealing with these elements in responsive designs: <a href="http://filamentgroup.com/lab/responsive_design_approach_for_navigation/">A Responsive Design Approach for Navigation, Part 1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/05/02/responsive-design-at-momogr/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My Responsive Design Presentation at the April 2012 GRWebDev</title>
		<link>http://clusterbleep.net/blog/2012/04/24/my-responsive-design-presentation-at-the-april-2012-grwebdev/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-responsive-design-presentation-at-the-april-2012-grwebdev</link>
		<comments>http://clusterbleep.net/blog/2012/04/24/my-responsive-design-presentation-at-the-april-2012-grwebdev/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 14:10:48 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=157</guid>
		<description><![CDATA[It took me about a year and a half, but I finally gave a presentation at the Grand Rapids Web Development Group meeting, An Ode to a One Page Website&#8221;. It went well and was a lot of fun. I &#8230; <a href="http://clusterbleep.net/blog/2012/04/24/my-responsive-design-presentation-at-the-april-2012-grwebdev/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>It took me about a year and a half, but I finally gave a presentation at the <a href="http://www.grwebdev.org">Grand Rapids Web Development Group</a> meeting, <a href="http://www.meetup.com/grwebdev/events/16302056/">An Ode to a One Page Website&#8221;</a>. It went well and was a lot of fun. I spoke about responsive design using <a href="http://semantic.gs/">The Semantic Grid System</a> as applied to a one page website (the over-arching topic of the meeting). About 45 people were in attendance.</p>
<p>Here are <a href="http://clusterbleep.net/files/grwebdev-april-2012-responsive-design-presentation.pdf">the slides from my responsive design presentation</a> (including notes).</p>
<p>Here is <a href="http://clusterbleep.net/files/april-2012-dritharat-website.zip">a copy of the Dr. I website as used during my presentation<a/>.</p>
<p>And finally here is a link to <a href="http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-dont-forget-the-viewport-meta-tag/">the viewport article I mentioned during the presentation</a>.</p>
<p>I&#8217;ll link to the video once when it becomes available.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/04/24/my-responsive-design-presentation-at-the-april-2012-grwebdev/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Free Viewer for Microsoft Outlook .msg Files</title>
		<link>http://clusterbleep.net/blog/2012/04/18/a-free-viewer-for-microsoft-outlook-msg-files/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-free-viewer-for-microsoft-outlook-msg-files</link>
		<comments>http://clusterbleep.net/blog/2012/04/18/a-free-viewer-for-microsoft-outlook-msg-files/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 15:16:50 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[grlug]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[planet-ubuntu-users]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[ubuntu-michigan]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=156</guid>
		<description><![CDATA[In my day job I ran into a situation where one of my users needed to read the contents of a bunch of .msg files. We use Google Apps and don&#8217;t have Microsoft Outlook installed anywhere, so this was a &#8230; <a href="http://clusterbleep.net/blog/2012/04/18/a-free-viewer-for-microsoft-outlook-msg-files/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In <a href="http://www.vdiw.net/">my day job</a> I ran into a situation where one of my users needed to read the contents of a bunch of .msg files. We use Google Apps and don&#8217;t have Microsoft Outlook installed anywhere, so this was a bit of a problem. I hate slogging into the seedy world of Microsoft shareware, but after a quick search of my Linux tools that&#8217;s where I ended up.</p>
<p>To make a long story short, I eventually found a free cross-platform viewer for these Microsoft Outlook .msg files so I thought I&#8217;d share it with the Internet. Hopefully someone will stumble on this post and won&#8217;t have to download crippled trialware or risk viral infections from seedy software sites.</p>
<p>The aptly-named <a href="http://freecode.com/projects/msgviewer">MSGViewer</a> is what worked for me. It&#8217;s a Java webstart application, so it&#8217;s cross-platform. However it did not run on Java7; I had to downgrade to Java6 to get it to work. It is lacking print functionality, but you can copy and paste the email contents to something else if you need to print it.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/04/18/a-free-viewer-for-microsoft-outlook-msg-files/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Four Forty-Five This Morning</title>
		<link>http://clusterbleep.net/blog/2012/04/18/four-forty-five-this-morning/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=four-forty-five-this-morning</link>
		<comments>http://clusterbleep.net/blog/2012/04/18/four-forty-five-this-morning/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 10:26:18 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[fluff]]></category>
		<category><![CDATA[george]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=153</guid>
		<description><![CDATA[I was making out with my wife in our bunk in a mining colony on an alien world run by our teleporting trans-dimensional sparkly vampire overlords who prefer to travel by miniature steam train when I woke up to George&#8217;s &#8230; <a href="http://clusterbleep.net/blog/2012/04/18/four-forty-five-this-morning/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I was making out with my wife in our bunk in a mining colony on an alien world run by our teleporting trans-dimensional sparkly vampire overlords who prefer to travel by miniature steam train when I woke up to George&#8217;s softly padding feet and dragging Ledo (blanket) as he plodded into our bedroom. It was 4:45AM.</p>
<p><a href="http://upload.wikimedia.org/wikipedia/en/3/39/YoshiMarioParty9.png"><img class="alignright" title="Yoshi" src="http://upload.wikimedia.org/wikipedia/en/3/39/YoshiMarioParty9.png" alt="" width="200" height="245" /></a>George: Momma, Daddy, can I have a <a href="http://en.wikipedia.org/wiki/Yoshi">Yoshi</a>?<br />
Me: It&#8217;s very early, go back to bed.<br />
George: But can I have a Yoshi?</p>
<p>I could tell this wasn&#8217;t going to end soon, so I grabbed my pillow and blanket and we went back to his room. We laid down on his futon and I closed my eyes.</p>
<p>George: So can I have a Yoshi?<br />
Me: Sorry, buddy. Yoshi&#8217;s aren&#8217;t real.<br />
George: Yeah, but can I have a Yoshi toy?<br />
Me: We&#8217;ll see.<br />
George: Is there a Super Mario Brothers Store around here?</p>
<p>He had taken my sleepy &#8220;We&#8217;ll see&#8221; as a &#8220;Yes&#8221; and was ready to go get it right then.</p>
<p>Me: I don&#8217;t think there are any Super Mario Brothers stores. Maybe in Japan.<br />
George: Like <a href="http://www.youtube.com/watch?v=eeXsvGkQlb0">Choo-Choo Soul</a>?<br />
Me: Right, like where the bullet train is.<br />
George: OK! let&#8217;s go!<br />
Me: It&#8217;s very far away.<br />
George: Where is it?<br />
Me: It&#8217;s across the Pacific Ocean.<br />
George: Can we walk there?<br />
Me: No, we can&#8217;t walk to Japan. It&#8217;s way too far.<br />
George: Well, can we go there?<br />
Me: Maybe someday.</p>
<p>At this point I had woken up enough to realize we had gotten way off the original topic.</p>
<p>Me: OK, look, we can get a Yoshi toy next time we go to Toys &#8216;R&#8217; Us. Now please lay down and go back to sleep.</p>
<p>Two minutes later we were downstairs eating breakfast because he was &#8220;not too sleepy&#8221;. I think he wrangled a Yoshi toy and trip to Japan out of me.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/04/18/four-forty-five-this-morning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remote User Group Meeting Participation</title>
		<link>http://clusterbleep.net/blog/2012/03/02/remote-user-group-meeting-participation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=remote-user-group-meeting-participation</link>
		<comments>http://clusterbleep.net/blog/2012/03/02/remote-user-group-meeting-participation/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 21:54:56 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[grlug]]></category>
		<category><![CDATA[grpug]]></category>
		<category><![CDATA[grwebdev]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[planet-ubuntu-users]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu-michigan]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=148</guid>
		<description><![CDATA[Remote participation in a meeting is one of those would-be-nice things that comes up with every user group. Most recently someone requested it via the GR Mobile Dev discussion list, which is what prompted me to finish this neglected blog &#8230; <a href="http://clusterbleep.net/blog/2012/03/02/remote-user-group-meeting-participation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Remote participation in a meeting is one of those would-be-nice things that comes up with every user group. Most recently someone requested it via the <a href="http://www.grmobiledev.com/">GR Mobile Dev</a> discussion list, which is what prompted me to finish this neglected blog post.</p>
<p>I&#8217;m not completely opposed to remote participation, but I have not personally seen it work at any user group meeting. Here are a few of the reason I&#8217;ve identified for why this is so:</p>
<p><div class="wp-caption alignright" style="width: 410px"><img title="A Bustling GRWebDev Meeting" src="http://photos3.meetupstatic.com/photos/event/3/3/1/a/highres_88333082.jpeg" alt="A Bustling GRWebDev Meeting" width="400" height="299" /><p class="wp-caption-text">A Bustling GRWebDev Meeting</p></div>1. Quality: Streaming a meeting via something like Ustream or Skype produces low quality video unless you have good video equipment and a lot of spare upload bandwidth. You also need a decent microphone to pick up the presenter while ignoring ambient sound. The hardware is not cheap, and when you have a dozen or more heavy Internet users in the same room, the bandwidth is precious.</p>
<p>2. Personnel: It can be hard to find people willing to spare the time to attend a user group meeting. Finding someone willing to spare the time so that <em>other people</em> can &#8220;attend&#8221; the meeting is even harder. Due to unavoidable distractions, if you are the cameraman or camerawoman, you will not get as much value out of the presentations as a fully-engaged audience member.</p>
<p>3. For actual two-way participation you need some kind of physical presence at the meeting. A laptop sitting on a table in the back of the room isn&#8217;t going to be loud enough to be noticed, which means someone at the meeting has to babysit the remote participants to relay their interactions. Similar to reason #2, you&#8217;re going to have trouble finding that babysitter.</p>
<p>Obviously these problems are not insurmountable, but so far they have been enough to prevent any of the meetings I attend from doing remote participation. That doesn&#8217;t mean it can&#8217;t work, it just means I haven&#8217;t seen it. If you&#8217;re willing to commit to being the streaming cameraman, microphone wrangler, remote presence babysitter, or whatever else needs to be done to get it to work, please get a hold of me.</p>
<p>Now if you&#8217;ll indulge me a bit, I will explain why I think remote participation isn&#8217;t really even valuable for a user group.</p>
<p>To be frank, much of the information coming out of the typical user group meeting is not groundbreaking. In most cases, you can find presentations with similar information on YouTube, Slideshare, or <a href="http://speakerdeck.com/">SpeakerDeck</a>.</p>
<div class="wp-caption alignleft" style="width: 410px"><img title="You don't get this by remote participation." src="http://farm6.staticflickr.com/5301/5592446931_61b7253f8d.jpg" alt="You don't get this by remote participation." width="400" height="299" /><p class="wp-caption-text">You don&#39;t get this by remote participation.</p></div>
<p>As an attendee, what really makes a user group meeting valuable is the opportunity to meet and engage with other enthusiastic local developers &#8211; something you will not get via remote participation. If you attend the meetings and put a little effort into engaging and talking to people there, you&#8217;ll make new friends and you&#8217;ll build a valuable network of peers. These are people you can consult when you need a new job, when you&#8217;re learning a new technology, or when you need to refer someone to someone you trust.</p>
<p>I was a hermit for a decade before I put aside my fears and started coming to user group meetings. It&#8217;s worth it. Trust me. You&#8217;ll get to know some awesome people.</p>
<p>As a viewer, I personally find a streamed presentation less valuable than one which has been recorded and posted to YouTube. If I had that particular time slot free, why would I watch from home instead of going to the event in person? Why passively consume the meeting instead of actually shaking hands with the people presenting? Also, if it&#8217;s on YouTube, I can watch at my own pace on my own time while I&#8217;m doing something else, such as riding the exercise bike. The recorded and uploaded version just makes more sense than a streamed version.</p>
<p>To this end, I have started recording some of the meetings I attend and putting those videos up on YouTube. For each two hour meeting I end up with about 1.5 hours of presentation footage. Afterwards, it takes me about two hours of editing, then one night to render and another to upload (1.5 hours of HD video is big). I have decided to take on this task because I think the videos will be good for helping groups to promote themselves. Hopefully some folks who have heard of the groups but don&#8217;t know if it&#8217;s worth taking the time to attend can find out what they&#8217;re missing. I also think that having the meetings online may bring in bigger presenters because we can give them a little bigger audience.</p>
<p>Now I know a lot of you think you don&#8217;t have the time to attend a meeting. Hey, I have a wife and a kid, so I know it&#8217;s hard to justify being away from home. Do it anyways. Being gone a few nights a month does not make you a bad parent, husband, or wife. Swap a night with your spouse and you each get some one-on-one time with the kids, as well as a night off from them. I&#8217;ll bet your parents want to spend time with their grandkids. By the time the meeting is over, the kids are in bed, so you might as well go have a drink at the after-party &#8211; that&#8217;s where you really get to meet the interesting people.</p>
<p>To sum up, I don&#8217;t like remote participation for several reasons: it distracts organizers, volunteers, and attendees; a recorded copy of the presentation is better than a streamed version; and you will get none of the real value of a user group meeting by sitting at home.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/03/02/remote-user-group-meeting-participation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Principle</title>
		<link>http://clusterbleep.net/blog/2012/02/29/my-principle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-principle</link>
		<comments>http://clusterbleep.net/blog/2012/02/29/my-principle/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 20:16:27 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[grlug]]></category>
		<category><![CDATA[grpug]]></category>
		<category><![CDATA[grwebdev]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[planet-ubuntu-users]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu-michigan]]></category>
		<category><![CDATA[wmlug]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=146</guid>
		<description><![CDATA[I watched Bret Victor&#8217;s talk &#8220;Inventing on Principle&#8221; last night and since then I have been thinking about what My Principle could be. Bret Victor &#8211; Inventing on Principle from CUSEC on Vimeo. The most troubling &#8220;bug&#8221; I see today &#8230; <a href="http://clusterbleep.net/blog/2012/02/29/my-principle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I watched Bret Victor&#8217;s talk &#8220;Inventing on Principle&#8221; last night and since then I have been thinking about what My Principle could be.</p>
<iframe src='http://player.vimeo.com/video/36579366?title=1&amp;byline=1&amp;portrait=1' width='400' height='225' frameborder='0'></iframe>
<p><a href="http://vimeo.com/36579366">Bret Victor &#8211; Inventing on Principle</a> from <a href="http://vimeo.com/cusec">CUSEC</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>The most troubling &#8220;bug&#8221; I see today is computing devices and platforms which cannot be used to create programs that run on themselves. Today&#8217;s tablets and smartphones have more processing power, more pixels, and more RAM than a desktop computer from a few years ago. Yet you need a laptop or desktop to develop for Android, you need a Macintosh to develop for iOS, and you need a Windows PC to develop for whatever Microsoft&#8217;s mobile operating system is called these days.</p>
<p>This means our children are growing up with computing devices they can&#8217;t easily program. An entire layer of complexity, annoyance, and additional cost has been added to the programming environment. I can&#8217;t just hack away at a program on my Android tablet without bringing a whole other computer into play. Schools are giving iPads to every kid, but they can&#8217;t actually learn to program with them. They can&#8217;t discover how the programs they are using are created or how they work.</p>
<p>This does not make sense to me.</p>
<p>The web is in a similar situation. You can&#8217;t make a website from within a web interface. Why can&#8217;t we bootstrap a website from a web small stub, and then develop the site from within that web environment?</p>
<p>I know of one in-road which has been made on Android: the <a href="https://code.google.com/p/android-scripting/">SL4A</a> project lets you use various scripting languages to program right on the device, but it&#8217;s cumbersome when you go beyond basic features.</p>
<p>I think <a href="https://wordpress.com/">WordPress</a> comes pretty close to this on the web side, which may explain it&#8217;s popularity, especially among non-hardcore programmers.</p>
<p>I&#8217;m going to put a little more thought into this situation and see what emerges. If you know of any existing solutions to this problem that I&#8217;ve overlooked, please let me know.</p>
<p>And if you need want motivation for determining and following Your Principle, watch the video.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/02/29/my-principle/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting a Dropbox Public Link in KDE using Dolphin</title>
		<link>http://clusterbleep.net/blog/2012/01/11/getting-a-dropbox-public-link-in-kde-using-dolphin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=getting-a-dropbox-public-link-in-kde-using-dolphin</link>
		<comments>http://clusterbleep.net/blog/2012/01/11/getting-a-dropbox-public-link-in-kde-using-dolphin/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 14:38:23 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=143</guid>
		<description><![CDATA[I recently switched to Kubuntu and am falling in love with it, but I&#8217;ll talk more about that in a future post. This post is just about getting the Dropbox &#8220;Get public link&#8221; functionality working in Dolphin&#8217;s right-click menu. Under &#8230; <a href="http://clusterbleep.net/blog/2012/01/11/getting-a-dropbox-public-link-in-kde-using-dolphin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I recently switched to <a href="http://www.kubuntu.org">Kubuntu</a> and am falling in love with it, but I&#8217;ll talk more about that in a future post. This post is just about getting the <a href="http://www.dropbox.com">Dropbox</a> <a href="http://www.dropbox.com/help/16">&#8220;Get public link&#8221; functionality</a> working in Dolphin&#8217;s right-click menu. Under Gnome and Unity the default file manager in Nautilus so this functionality works after <a href="https://www.dropbox.com/install?os=lnx">the standard nautilus-dropbox install</a>, but KDE uses Dolphin as its file manager so we have to do a little bit of fiddling after the standard install to get it working.</p>
<p>I came across an old Dropbox forum post that has a simple way of adding the public link in the right-click menu. The final working version is scattered across a few posts and a blog, so I thought I&#8217;d pull it all together here for the rest of you migrating to KDE.</p>
<p>As usual, it&#8217;s pretty simple once you have it figured out. All you have to do is put a single file with the right commands in the right place. So open your favorite text editor and create the following file: <code>~/.kde/share/kde4/services/ServiceMenus/dropboxpublic.desktop</code> . Then paste all of this stuff into it and save it:</p>
<p><code>[Desktop Entry]<br />
Type=Service<br />
ServiceTypes=KonqPopupMenu/Plugin<br />
MimeType=application/octet-stream<br />
Actions=CopyPublicLink<br />
Encoding=UTF-8<br />
Version=0.1</p>
<p>[Desktop Action CopyPublicLink]<br />
Name=Get public link<br />
Icon=klipper<br />
Exec=dbus-send --type=method_call --dest=org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents string:`dropbox puburl %f`</code></p>
<p>Now you should have a &#8220;Get public link&#8221; entry in the Actions sub-menu if you right-click a file in Dolphin. This will put the public URL in your clipboard so it&#8217;s ready to paste into your web browser, email client, IRC session, or whatever. Usually only files in the <code>~/Dropbox/Public</code> directory have a public links, so if you use it on something outside of that directory nothing will be added to your clipboard.</p>
<p>P. S.<br />
The original forum post is here: <a href="http://forums.dropbox.com/topic.php?id=12034&#038;replies=2#post-76494">http://forums.dropbox.com/topic.php?id=12034&#038;replies=2#post-76494</a><br />
And the original blog post is here: <a href="http://ustunozgur.blogspot.com/2009/09/kde-submenu-action-for-getting-public.html ">http://ustunozgur.blogspot.com/2009/09/kde-submenu-action-for-getting-public.html </a></p>
<p>P. P. S.<br />
If you&#8217;re not a Dropbox user, but you&#8217;d like to be, please use <a href="http://db.tt/HWOAk2np">this Dropbox referral URL</a> to sign up. If you do, you&#8217;ll get an extra 250MB of storage for free, and I&#8217;ll get and extra 500MB.Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2012/01/11/getting-a-dropbox-public-link-in-kde-using-dolphin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A Few CyanogenMod 7.1 on Nook Color Fixes</title>
		<link>http://clusterbleep.net/blog/2011/11/21/a-few-cyanogenmod-7-1-on-nook-color-fixes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-few-cyanogenmod-7-1-on-nook-color-fixes</link>
		<comments>http://clusterbleep.net/blog/2011/11/21/a-few-cyanogenmod-7-1-on-nook-color-fixes/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 21:44:43 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=137</guid>
		<description><![CDATA[I&#8217;m currently running CyanogenMod 7.1 on my Barnes &#38; Noble Nook Color and I absolutely love it. I feel like I&#8217;m living in the future when I use this thing. However it&#8217;s not perfect, and I have rectified a couple &#8230; <a href="http://clusterbleep.net/blog/2011/11/21/a-few-cyanogenmod-7-1-on-nook-color-fixes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m currently running <a href="http://www.cyanogenmod.com/devices/nook-color">CyanogenMod 7.1 on my Barnes &amp; Noble Nook Color</a> and I absolutely love it. I feel like I&#8217;m living in the future when I use this thing. However it&#8217;s not perfect, and I have rectified a couple of annoyances that I should document here for anyone else with these problems who should wander by.</p>
<h2>Old Android Market installed</h2>
<p>I&#8217;m running CyanogenMod 7.1 on both my Droid phone and my Nook Color tablet, but for some reason one of them had an old version of the Android Market. Unfortunately I can&#8217;t remember now which one was stuck on an old version. I ended up slogging through the interwebs until I found a working up-to-date APK for the Android Market. I&#8217;ve stashed a copy of <a href="http://dl.dropbox.com/u/101667/Android/Market_3.1.5.apk">the Android Market 3.1.5 APK</a> in my Public Dropbox for anyone else who needs it.</p>
<h2>Unable to install Google Earth app</h2>
<p><a href="http://clusterbleep.net/blog/wp-content/uploads/2011/11/screenshot-1321908806697.png"><img class="alignleft size-medium wp-image-140" title="Google Earth on Nook Color" src="http://clusterbleep.net/blog/wp-content/uploads/2011/11/screenshot-1321908806697-175x300.png" alt="Google Earth on Nook Color" width="175" height="300" /></a><br />
For some reason the Android Market said I could not install <a href="https://market.android.com/details?id=com.google.earth">the Google Earth app</a>. I have no idea why. I ended up scouring the backwaters XDA and came upon an APK for it. This installed and is working well for me. I have placed a copy of <a href="http://dl.dropbox.com/u/101667/Android/googleearth.apk">the Google Earth APK</a> in my public Dropbox for anyone else who needs it.</p>
<h2>Weirdness in the <a href="https://market.android.com/details?id=bn.ereader&amp;hl=en">Nook for Android app</a></h2>
<p><a href="http://clusterbleep.net/blog/wp-content/uploads/2011/11/screenshot-1321908088980.png"><img class="alignright size-medium wp-image-139" title="Broken Nook for Android Magazines" src="http://clusterbleep.net/blog/wp-content/uploads/2011/11/screenshot-1321908088980-175x300.png" alt="Broken Nook for Android Magazines" width="175" height="300" /></a><a href="http://clusterbleep.net/blog/wp-content/uploads/2011/11/screenshot-1321907976060.png"><img class="size-medium wp-image-138 alignright" title="Working Nook for Android Magazines" src="http://clusterbleep.net/blog/wp-content/uploads/2011/11/screenshot-1321907976060-175x300.png" alt="Working Nook for Android Magazines" width="175" height="300" /></a><br />
I subscribed to <a href="http://www.popsci.com/">Popular Science</a> and <a href="http://www.nationalgeographic.com/">National Geographic</a> magazines while I was using the standard Nook Color operating system. After my upgrade to CM7.1 I could only download the first issue of each magazine because they all appeared stacked on top of each other. I finally stumbled on <a href="http://forum.cyanogenmod.com/topic/32968-nook-app-problem/">this CyanogenMod forum post</a> which offered a few possible solutions.</p>
<p>To save you some reading, it looks like CM7.1 sets the Nook Color screen&#8217;s DPI to 160. The Nook for Android app assumes that the density is more than 160DPI, and this apparently causes the problem with the magazines stacking. I installed the <a href="https://market.android.com/details?id=com.wemobs.android.lcdresolution">free LCD Resolution app</a> from the Android Market and used to set my resolution back to the default 169DPI. This fixed the problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2011/11/21/a-few-cyanogenmod-7-1-on-nook-color-fixes/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>What I don&#8217;t Like About Apple</title>
		<link>http://clusterbleep.net/blog/2011/10/07/what-i-dont-like-about-apple/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-i-dont-like-about-apple</link>
		<comments>http://clusterbleep.net/blog/2011/10/07/what-i-dont-like-about-apple/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 13:41:31 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[evil-list]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=131</guid>
		<description><![CDATA[Note: Most of this post was written before the death of Steve Jobs, but his demise and the outpouring of admiration for him and Apple was the impetus for me finishing it. I have had a few people recently ask &#8230; <a href="http://clusterbleep.net/blog/2011/10/07/what-i-dont-like-about-apple/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><em>Note: Most of this post was written before the death of Steve Jobs, but his demise and the outpouring of admiration for him and Apple was the impetus for me finishing it.</em></p>
<p><em>I have had a few people recently ask me why I don&#8217;t use my Macbook any more. I have answered those queries when they came up, but I&#8217;d like to put a few more of my thoughts and beliefs out there for future reference.</em></p>
<p>I was (and still am) a Linux user before I used Apple. The spirit of openness, sharing, freedom to use, and freedom from cost of the Linux ecosystem has had a big effect on my technical usage and community participation. I hate licenses &#8211; not so much because they cost money (everyone has the right to make a living) - but because they are an artificially-imposed annoyance whenever I have deal with a licensed program. The groups I run and participate in are genrally free of cost and are open for anyone to attend and contribute to.</p>
<p>I don&#8217;t actually hate Apple. In fact, I love a lot of their products. I have an old G4 PowerMac, a Macbook Pro, and there are a few iPods scattered around the house. These are some of the nicest computers and devices I&#8217;ve ever used. They&#8217;re stable, powerful, easy to use, and beautifully designed. I feel a psychological urge to use these things &#8211; kind of like an addiction. However I currently don&#8217;t use them and won&#8217;t buy another Apple product because I feel like a hypocrite when I do.</p>
<p>There are currently two big issues holding me back from buying and supporting Apple:</p>
<p><strong>Software Patents</strong> &#8211; Apple is very aggressive when it comes to defending their software patents. I have a big problem with software patents and I try not to support companies that are actively making the situation worse. I think their lawsuits un-competitive and a huge waste of money and court resources that should be spent on more useful endeavors.<br />
<a href="http://dvice.com/archives/2011/09/apple-receives.php"> http://dvice.com/archives/2011/09/apple-receives.php</a></p>
<p><strong>The Walled Garden of iOS</strong> &#8211; If you want to develop for the iPhone or iPad, you have to buy an Apple computer. And then you have to pay Apple $99/yr for the privilege of letting people install your app, assuming Apple approves of it. This creates a large barrier to entry for anyone that wants to casually play around with mobile development, especially for the underprivileged. I cannot support this artificially expensive and closed development model when free, open alternatives like Android exist.</p>
<p>There are also a few little things that annoy me about Apple products. These don&#8217;t keep me from using Apple, but they do help to keep me on Linux:</p>
<ul>
<li><strong>Inflexible interface</strong> &#8211; Use your interface the Apple way or you will be annoyed.</li>
<li><strong>Half-assed support of open source</strong> &#8211; (GTK, fink/macports/homebrew, Python)</li>
<li><strong>Expensive</strong> &#8211; You have to pay for pretty much any little add-on or program for OSX. Things that are free for Windows or Linux are often for-pay on OSX (VMWare Fuse vs VMWare Player)</li>
</ul>
<p>I think software patents and the associated lawsuits are stifling innovation and progress, especially for developers not backed by big companies with a patent war-chest. This is holding all of us back from experiencing better technology and the freedom to use it how we want to.</p>
<p>I also think that the artificially closed and expensive iOS platform is not good for education, especially with regards to the underprivileged. Unless you have money, you can&#8217;t play in the iOS walled garden. This is not how we create a level playing field.</p>
<p>So, until these issues are fixed, I&#8217;m going to try to fight my Apple urges.</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2011/10/07/what-i-dont-like-about-apple/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>An Idea for Improving ArtPrize Voting</title>
		<link>http://clusterbleep.net/blog/2011/09/30/an-idea-for-improving-artprize-voting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=an-idea-for-improving-artprize-voting</link>
		<comments>http://clusterbleep.net/blog/2011/09/30/an-idea-for-improving-artprize-voting/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 20:53:00 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[fluff]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=135</guid>
		<description><![CDATA[The Idea: Check in via mobile at each piece of art you visit Most everyone agrees that the top 10 winners of ArtPrize 2011 are terrible. Why is this? I think it&#8217;s because the voting is so unrestricted. You can &#8230; <a href="http://clusterbleep.net/blog/2011/09/30/an-idea-for-improving-artprize-voting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>The Idea: Check in via mobile at each piece of art you visit</strong></p>
<p>Most everyone agrees that the top 10 winners of ArtPrize 2011 are terrible. Why is this? I think it&#8217;s because the voting is so unrestricted. You can vote for anything and as many things as you want to. Heck, there&#8217;s no attempt to even determine whether you&#8217;ve actually seen the exhibit you&#8217;re voting for or against.</p>
<p><em>I think checking in at each exhibit would greatly improve the quality of voting at ArtPrize.</em></p>
<p>This could be accomplished by a few methods, from simple to more complicated:</p>
<ul>
<li>Typed in code (can be abused by someone posting a list of all codes)</li>
<li>QRCode (can be abused by someone posting a pic of all QRCodes)</li>
<li>QRCode + GPS check</li>
<li>RFID (need special equipment)</li>
</ul>
<p>Then you can do things like:</p>
<ul>
<li>Your votes are weighted based on how many exhibits you actually visited</li>
<li>Give a maximum number of votes based on how many exhibits were visited (1 for every 10 exhibits)</li>
<li>Restrict voting only to exhibits you&#8217;d actually visited</li>
</ul>
<p>This would give attendees:</p>
<ul>
<li>A convenient list of the art they&#8217;d seen over the voting period (it&#8217;s hard to search site now)</li>
<li>A short list to help decide what to vote on (if restricted # of votes)</li>
</ul>
<p>Statistics from this could be used to determine things like:</p>
<ul>
<li>How big of an effect venue has</li>
<li>Whether the voting window is large enough for people to see everything</li>
</ul>
<p>New types of prizes and games also become possible:</p>
<ul>
<li>Souvenir or virtual badge for people who visit 25%, 50%, 75%, 100% of exhibits</li>
<li>Badge for people who visit all of a type of exhibit (paintings, sculpture, etc)</li>
<li>Badge for people who visited everything in a venue</li>
<li>Most raw votes (current)</li>
<li>Highest % of votes by visitors</li>
<li>Most visited exhibit</li>
<li>Most visited venue</li>
<li>Venue-specific prizes like:</li>
<ul>
<li>Most votes at a venue</li>
<li>Highest % of votes at a venue</li>
</ul>
</ul>
<div><span style="font-size: small;"><span class="Apple-style-span" style="line-height: 24px;">So what do you think? Feel free to chime in with your ideas and opinions below.</span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2011/09/30/an-idea-for-improving-artprize-voting/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Catalyst Radio Interviews GRWebDev on WYCE</title>
		<link>http://clusterbleep.net/blog/2011/06/27/catalyst-radio-interviews-grwebdev-on-wyce/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=catalyst-radio-interviews-grwebdev-on-wyce</link>
		<comments>http://clusterbleep.net/blog/2011/06/27/catalyst-radio-interviews-grwebdev-on-wyce/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 15:41:49 +0000</pubDate>
		<dc:creator>brousch</dc:creator>
				<category><![CDATA[grwebdev]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://clusterbleep.net/blog/?p=127</guid>
		<description><![CDATA[A few weeks ago Ross Hunter and I were interviewed by Denise Cheng on WYCE&#8216;s Catalyst Radio. We talked about CoNGA West Michigan, the Grand Rapids Web Development Group, and the tech scene in Grand Rapids. A link to Catalyst Radio&#8217;s &#8230; <a href="http://clusterbleep.net/blog/2011/06/27/catalyst-radio-interviews-grwebdev-on-wyce/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>A few weeks ago <a href="http://ross-hunter.com/">Ross Hunter</a> and I were interviewed by <a href="http://therapidian.org/users/dennetmint">Denise Cheng</a> on <a href="http://www.grcmc.org/radio/">WYCE</a>&#8216;s <a href="http://www.grcmc.org/radio/catalyst.php">Catalyst Radio</a>. We talked about <a href="http://conga-wm.org">CoNGA West Michigan</a>, the <a href="http://grwebdev.org">Grand Rapids Web Development Group</a>, and the tech scene in Grand Rapids.</p>
<p><em>A link to Catalyst Radio&#8217;s archive copy of interview is coming soon. In the meantime, you can listen to these recordings I made of the interview.</em></p>
<p><a href="http://clusterbleep.net/files/wyce-grwebdev-interview-full.mp3">Full Episode of Catalyst Radio Interview with GRWebDev including News and Music (27MB)</a></p>
<p><a href="http://clusterbleep.net/files/wyce-grwebdev-interview-short.mp3">Catalyst Radio Interview with GRWebDev (Interview Only) (13MB)</a></p>
<p>I was happy with how the interview turned out. Denise did a great job of cleaning it up and making us look good. My thanks to <a href="http://therapidian.org/">The Rapidian</a>, WYCE, Catalyst Radio, and Denise Cheng for having us on!</p>
]]></content:encoded>
			<wfw:commentRss>http://clusterbleep.net/blog/2011/06/27/catalyst-radio-interviews-grwebdev-on-wyce/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://clusterbleep.net/files/wyce-grwebdev-interview-full.mp3" length="28089845" type="audio/mpeg" />
<enclosure url="http://clusterbleep.net/files/wyce-grwebdev-interview-short.mp3" length="13605492" type="audio/mpeg" />
		</item>
	</channel>
</rss>
