<?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>Hi My Name is Peter Vieth &#187; Uncategorized</title>
	<atom:link href="http://petervieth.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://petervieth.com</link>
	<description>...and I build things</description>
	<lastBuildDate>Tue, 14 Feb 2012 07:59:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Facebook is Making Us Dumb</title>
		<link>http://petervieth.com/2011/12/21/facebook-is-making-us-dumb/</link>
		<comments>http://petervieth.com/2011/12/21/facebook-is-making-us-dumb/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 20:04:21 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=563</guid>
		<description><![CDATA[Lolz, here iz a pic of my cat sleeping. A sad consequence of the ad supported internet is that websites have an incentive to waste your time. Facebook has mastered time wastage, and, in pursuit of a top spot in the social network race, Google may one day figure out how to kill hours of <a href="http://petervieth.com/2011/12/21/facebook-is-making-us-dumb/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>Lolz, here iz a pic of my cat sleeping.</p></blockquote>
<p>A sad consequence of the ad supported internet is that websites have an incentive to waste your time. Facebook has mastered time wastage, and, in pursuit of a top spot in the social network race, Google may one day figure out how to kill hours of your time too; that is, if you aren&#8217;t spending all day on Facebook by then.</p>
<p><em>But but, I thought the internet would lead to a richer, better life!</em> All I can say for you, dear reader: you&#8217;re mucked. How did we get to this sad state?</p>
<h3>Part 1: Time Suck</h3>
<p>This all started innocently enough with news websites and movie and game reviews being split over multiple pages so that you, the user, would have to load more webpages and see more ads. It was easy though unsophisticated.</p>
<p>Lately, advertising has gotten much more personalized; it&#8217;s all about targeting ads to the right people. Google got the ball rolling with AdSense. Google associates your searches with you, and if you&#8217;ve got GMail, it can read your email and target ads better. It&#8217;s not perfect, but it doesn&#8217;t try to sell Viagra to 7 year olds, which is what would have happened in the old days (the dark ages 10 years ago).</p>
<p>The impact to Google&#8217;s bottom line? When a business wants to advertise through Google, they&#8217;ll pay more for Google user&#8217;s eyeballs because the business knows Google targets advertising better, so each view is more likely to lead to a return for the business.</p>
<p>Google has completely missed the boat on social networks though (or rather, it has launched a few, which promptly sank). Basically, the information you share with friends is much more useful for targeting ads; hence, it&#8217;s worth more. I recall a presentation at Google IO conference a few years ago where the presenter showed the value to advertisers of each user of Google, Facebook, Myspace, Yahoo, etc. Facebook was already leaping past Google even though it had a smaller user base. Yahoo et al weren&#8217;t even close.</p>
<p>While Google floundered, MySpace got an early lead, but it&#8217;s juvenile interface was a turn off to anyone over 15. Facebook swooped in and got critical mass and has been expanding ever since&#8211; and getting more value out of you by offering additional features. Status updates and friends are the core of Facebook, but there are a lot of features on the periphery to flesh out Facebook&#8217;s database about you.</p>
<p>For example, turns out, knowing the nature of the relationship between you and your &#8220;friends&#8221; is valuable&#8211; so Facebook has a feature to specify which &#8220;friends&#8221; are family members, spouses, etc. This is sold as a cool feature to communicate to the world your most important relationships. For Facebook, it&#8217;s a way to rake in extra cash.</p>
<p>Facebook and The Social Networks need your data. They have to find ways to get you to voluntarily fork it over (or involuntarily&#8211; Facebook recently accepted 20 years of monitoring by the US government as punishment for its privacy shenanigans). This is why social networks nag you to &#8220;complete your profile&#8221; or something along those lines when you sign up. The incomplete status bar is a constant reminder that you have unfinished business, that you are incomplete until you fill out your profile. Come on, fill it out already! Zuckerberg needs new kitchen counter tops!</p>
<p>And really, the more you are around on a social networking site, the more likely you are to hand over data. Facebook recently stopped sending email notifications of activity on your wall&#8211; ostensibly to &#8220;bother&#8221; you less&#8211; but actually because you now need to compulsively check Facebook to see if anything has happened.  It&#8217;s even worse that you aren&#8217;t notified of replies to your comments on other folk&#8217;s walls, so you need to troll throw all your friends walls for those conversation to continue.  Normally, systems evolve from requiring baby sitting to being smart and efficient&#8211; but Facebook is headed backwards, on purpose. Facebook does still contact you&#8211; but only if you don&#8217;t check Facebook enough, with a teaser that &#8220;you have unread notifications on Facebook!&#8221;</p>
<p>It&#8217;s not just Facebook that has time wastage figured out. Zynga has carefully combined gaming and social networks to suck users in, convincing them to babysit virtual farms, fish, and any number of other things just to keep your eyeballs.</p>
<p>These time wasting companies have shot to super stardom while the old guard of the internet (like the Goog) languish in the land of value driven business models. What&#8217;s a poor Google to do?</p>
<h3>Part 2: Promoting Shallow Discourse</h3>
<p>Remember blogs? Oh yeah, what you&#8217;re reading now. They were the &#8220;in&#8221; thing before social networking (actually, Livejournal combined blogging and a network of friends but has stagnated since). Blogs are a similar idea to status updates, just much more&#8230; wordy. And with that comes a problem&#8211; the number of people writing blogs is much less than the number of people reading them because, well, it just takes a while to write a blog post worth reading. So while a blog author divulges a lot of information which could be mined for advertising, there&#8217;s a whole untapped set of users who are just passively participating in the scene by only reading blogs.</p>
<p>The notable exception to this sea of passive users are the comments section.  Comments on blog posts can get quite lively and have many participants. The comments are usually limited in length by the software for practical reasons, so a sentence or two will usually suffice. Quite easy to post, anyone can do it.</p>
<p>Ah-hah!</p>
<p>So Facebook and Twitter have taken the comments section from blogs and made that the entire core of their platform. Forget the whole blog post thing with it&#8217;s lengthy content and Microsoft Word like interface. We don&#8217;t need that crap. Twitter has a famous 144 character limit on its Tweets and no formatting at all, lest you should try and convey too much information at once.</p>
<p>The unfortunate part is that is really difficult to convey anything deep and meaningful in 144 characters. The only hope is to post a link to a blog post or a video; The Social Networks don&#8217;t provide a platform for hosting those, so if you&#8217;d like to generate something deep and meaningful, go look elsewhere and come back when you&#8217;re done.</p>
<p>So, by restricting our conversation to 144 characters at a time, The Social Networks have left us unable to communicate anything deep and meaningful.</p>
<h3>Part 3: Guidance for the Next Big Thing (Someone Please Make Us Smarter!)</h3>
<p>The really tragic thing is that we have more technology than ever before to create new things. Video development is a breeze with new cameras, software, and Youtube for sharing. Recording music no longer takes a studio, just a decent PC (or tablet). Open source has made all sorts of software and hardware hacking ridiculously easy. A whole generation of massively technology enabled people is growing up, but all they have to organize their thoughts and efforts are stupid 144 character status updates. Taking an idea from conception to maturity takes patience and depth, which The Social Networks cannot provide.</p>
<p>For me, this is most painfully obvious with film making. There are so many videos on Youtube showcasing amazing talent&#8211; but a lot of it is just wanking with technology; rather than a proliferation of story telling, we have a proliferation of demonstrations of camera techniques, editing tricks, etc. The open source community has actually achieved great real world effect, rallying around projects and sticking with them over time.  The technology to create ideas, organize people around those ideas, and to develop those ideas hasn&#8217;t gone mainstream.  I&#8217;m not surprised &#8212; the community tools they have used are relatively cumbersome.</p>
<p>Are you a hot new social network looking for an edge over the current players?  Let me make a modest suggestion: build tools that enable us to become smarter, not dumber.  You can still drive eyeballs to your site by helping your users do really awesome things.  We humans have an innate desire to be a part of something bigger than ourselves, but it&#8217;s really hard still to become a part of something. You can change that!</p>
<p>Google, for god sakes, don&#8217;t just copy Facebook with Google+: think about how cool ideas and projects are born, and then provide the tools for users to make them reality.</p>
<h3>Conclusion</h3>
<p>I thought for sure that if I see one more stupid cat picture on Facebook, I would certainly quit. But I haven&#8217;t. I know it&#8217;s bad for me, but like pizza, I just keep going back for another slice. Well, Facebook has billions of dollars of resources to refine the drug and keep us junkies hooked, so maybe I shouldn&#8217;t feel so despondent.  I can&#8217;t help feeling we could be doing so much more with our lives!</p>
<p>But that&#8217;s not what The Social Networks are about. As long as businesses make money off your time above all else, they&#8217;ll have no reason to respect it. They&#8217;ll keep your eyeballs on their website not by going deep, but by going Hollywood, shallower and with more special effects. And if lowering the level of discourse means more users, so be it.</p>
<p>Stay stupid my friends!</p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2011/12/21/facebook-is-making-us-dumb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CocoaMojo Prototype Mark II</title>
		<link>http://petervieth.com/2011/10/18/cocoamojo-prototype-mark-ii/</link>
		<comments>http://petervieth.com/2011/10/18/cocoamojo-prototype-mark-ii/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 02:20:57 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Chocolate]]></category>
		<category><![CDATA[Custom Builds]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=406</guid>
		<description><![CDATA[CocoaMojo Mark I made a giant mess in the kitchen, leaving a layer of bean shell on the floor and all nearby surfaces. After discussions with a colleague who used to work in industrial automation, we decided a winnower based on blowing air would always make a mess. The best solution was to go from <a href="http://petervieth.com/2011/10/18/cocoamojo-prototype-mark-ii/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>CocoaMojo Mark I made a giant mess in the kitchen, leaving a layer of bean shell on the floor and all nearby surfaces. After discussions with a colleague who used to work in industrial automation, we decided a winnower based on blowing air would always make a mess. The best solution was to go from blow to suck&#8211; and the best way to get the shell bits and dust out would be to suck with a cyclonic separator. This uses a cylinder with an intake at the top and a cone at the bottom and a blower motor to create a cyclone within the cylinder. Depending on the tuning of the apparatus, some material falls down to the bottom of the cone while the rest is sucked upwards and away. The separator can be tuned by varying the angle of the cone wall and size of the cylinder.</p>
<p>That said, finding a cyclonic separator is not so easy, and building one would be challenging also (stainless steel conical fermentation vessels for brewing could possibly work, but the shape of the cone cannot be customized). A close approximation would be a shop vac.</p>
<p>So the hunt was on for a suitable shop vac.</p>
<p>I went to Home Depot and Lowes and purchased four shop vacs, ranging in size from 2/3HP to 3.5HP and attached them to the CocoaMojo Mark I. Lowes had much better prices for equivalent rated vacs, so the only shop vac I purchased at Home Depot was the one which mounts on a 5 gallon bucket.</p>
<p>The results: even the &#8220;3.5HP&#8221; vac could not suck with enough force to winnow large cocoa bean chunks using the Mark I&#8217;s 4 inch pipe. I put quotes around 3.5HP because my old Craftsman 3.5HP had sufficient power&#8230; but the Lowes brand vac did not provide equivalent performance. I wasn&#8217;t willing to sacrifice the Craftsman for CocoaMojo so I needed another solution. I figured the suction power was based on the cross sectional area of the pipe. So I switched to 3 inch PVC. This has about 3/5 of the cross sectional area of 4 inch pipe.</p>
<div id="attachment_561" class="wp-caption aligncenter" style="width: 235px"><a href="http://petervieth.com/wp-content/uploads/2011/10/IMG_9490.jpg"><img class="size-medium wp-image-561" title="IMG_9490" src="http://petervieth.com/wp-content/uploads/2011/10/IMG_9490-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">Testing different lengths of pipe</p></div>
<p>Surprisingly, the Lowes 2.5HP vac was conveniently smaller and performed as well as the Lowes 3.5HP shop vac, so I used the smaller of the two. The Home Depot vacs were just too expensive for their performance and the bucket head vac was terribly under powered.</p>
<p>The results were very encouraging.  It would surely take some tuning, but I was not finding much nib in the shop vac and most of the shells were sucked away from the nib.  I told Mike about progress and we decided to try running a batch of cocoa beans through the whole process.  I modified the existing frame to accept the 3&#8243; pipe and got ready to grind some beans&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2011/10/18/cocoamojo-prototype-mark-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cocoa Bean Winnower Prototype Mark I</title>
		<link>http://petervieth.com/2011/10/18/cocoa-bean-winnower-prototype-mark-i/</link>
		<comments>http://petervieth.com/2011/10/18/cocoa-bean-winnower-prototype-mark-i/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 02:05:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Chocolate]]></category>
		<category><![CDATA[Custom Builds]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=404</guid>
		<description><![CDATA[Mike Winnike, founder of Happy Goat Caramels in San Francisco (look for it at Draegers and other fancy food stores), was looking to expand into goat milk caramel chocolate and in need of an apparatus to separate cocoa nibs from cocoa shell after the beans are roasted and cracked. So he came to me. Briefly, <a href="http://petervieth.com/2011/10/18/cocoa-bean-winnower-prototype-mark-i/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Mike Winnike, founder of Happy Goat Caramels in San Francisco (look for it at Draegers and other fancy food stores), was looking to expand into goat milk caramel chocolate and in need of an apparatus to separate cocoa nibs from cocoa shell after the beans are roasted and cracked. So he came to me.</p>
<p>Briefly, <a href="http://www.tis-gdv.de/tis_e/ware/genuss/kakao/kakao.htm">cocoa beans</a> grow in pods near the equator. The pods are harvested by farmers and the outer husk removed, leaving a pile of beans. The beans are piled up and covered to ferment, which oxidizes many of the bitter tannins and, due to the heat inside the piles, also prevents the beans from germinating (not unlike how grains are prepared for beer production). The beans are then dried in the sun to prevent them from spoiling due to moisture.</p>
<p>The beans have a hard center (nib) and a somewhat soft shell on the outside. The beans are oven roasted to bring out additional flavor and to dry the shell. The roasted bean is easy to crack in a grinder. The result is a pile of nib chunks and shell chunks that must be sorted.</p>
<p>Sorting manually is extremely time consuming, so for anything more than small quantities of chocolate production, an automated solution is needed.</p>
<p>A quick Google search turned up several winnower designs. My favorite thread was on The Chocolate Life about using some PVC tubing and a blower motor. The idea is to dump the output from the grinder down a tube which has a blower motor at the bottom. The lighter chaff escapes out of the tube while the heavier nibs continue and fall to the bottom. That&#8217;s the idea, anyway.</p>
<p>Mike provided an industrial sized &#8220;can fan&#8221; he had purchased.  I went to Home Depot and got 4 inch PVC tubing and some T joints. I built a reducer from the can fan&#8217;s 6 inch output to 4 inch PVC (mostly from duct table), a butterfly valve to vary the fan power, and a gate valve for the bean input.</p>
<p>You can see the results documented in video here.</p>
<p>The winnower definitely worked but it took several passes to sort the beans. Also, the machine was very messy and tended to blow beans out of the input hole&#8211; leaving the gate valve closed and throwing a handful of beans in, then shutting the gate again was the best way to use it. The creator of the winnower on The Chocolate Life forum had pictures of himself using it outdoors, but this seemed rather impractical for Mike&#8217;s apartment in San Francisco.</p>
<p>No, a second prototype would be needed&#8230;</p>
<div id="attachment_559" class="wp-caption aligncenter" style="width: 235px"><a href="http://petervieth.com/wp-content/uploads/2011/10/IMG_9488.jpg"><img class="size-medium wp-image-559" title="IMG_9488" src="http://petervieth.com/wp-content/uploads/2011/10/IMG_9488-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">Yours truly with the Mark I Winnower</p></div>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2011/10/18/cocoa-bean-winnower-prototype-mark-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bending Acrylic</title>
		<link>http://petervieth.com/2011/06/08/bending-acrylic/</link>
		<comments>http://petervieth.com/2011/06/08/bending-acrylic/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 07:35:24 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=551</guid>
		<description><![CDATA[Really, it ain't that hard.]]></description>
			<content:encoded><![CDATA[<p>Some people say you need an oven and form to bend acrylic, slowly raising the temperature until the acrylic assumes the shape of the form, and then lowering the temperature slowly for the acrylic to set correctly.</p>
<p>I say all you need is a heat gun and some patience.  The oven and mold are good, only because they don&#8217;t get impatient.</p>
<p>I stuck an acrylic rod into the head of an EMT bender and put it in the oven at 200F for 15 minutes.  I forget the actual temperature that acrylic melts, but I doubt it mattered as the oven&#8217;s birthdate roughly coincides with the Apollo moon landings and so the temperature knob has fallen out of calibration.<br />
<div id="attachment_552" class="wp-caption alignright" style="width: 310px"><a href="http://petervieth.com/wp-content/uploads/2011/06/bent-acrylic-1.jpg"><img class="size-medium wp-image-552" title="Bent acrylic" src="http://petervieth.com/wp-content/uploads/2011/06/bent-acrylic-1-300x235.jpg" alt="" width="300" height="235" /></a><p class="wp-caption-text">Bent acrylic sanded on one side</p></div><br />
In the end I overheated the acrylic.  How do I know? Bubbles formed inside.  Since these rods are decorative, it&#8217;s actually a cool effect!</p>
<p>I tried again with the range instead of the oven.  After about 30 seconds, I got impatient and cranked the heat all the way up.  Another half minute later the acrylic blistered and started to bend in my hands.  The result was pretty ugly, though functional.</p>
<p>So, somewhere in there is a happy medium.  I suspect around 10 minutes would do the trick.  If you can&#8217;t stand around for 10 minutes with a heat gun or oven range, then make a mold or jig.</p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2011/06/08/bending-acrylic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Open Accessory Development Kit</title>
		<link>http://petervieth.com/2011/06/08/android-open-accessory-development-kit/</link>
		<comments>http://petervieth.com/2011/06/08/android-open-accessory-development-kit/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 07:08:12 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=547</guid>
		<description><![CDATA[Official support for controlling hardware via Android handsets is here.  I'm not impressed.]]></description>
			<content:encoded><![CDATA[<p>While at the Maker Faire, I stopped by the Google display positioned on prime territory by the entrance, a location occupied by Ford last year (the carmaker didn&#8217;t bother with a presence this year).  I had missed all the lectures by then, though two cargo containers with exhibits remained, plus a handful of multi colored folding chairs which attendees sat in. One container was dedicated to Sketchup, while the other showcased some projects, including one based on the Android Open Accessory Development Kit.<a href="http://petervieth.com/wp-content/uploads/2011/06/P1020118.jpg"><img class="alignright size-medium wp-image-548" title="Android Open Accessory Development Kit" src="http://petervieth.com/wp-content/uploads/2011/06/P1020118-300x206.jpg" alt="" width="300" height="206" /></a></p>
<p>I was excited to see this development.  So far, I&#8217;d only had success controlling other devices from Android via Bluetooth.  I picked up the attached NexusOne and tried the demo, but it crashed.  I found the program and ran it again, and it crashed again.  Ok, fine, so when I got home I <a href="http://developer.android.com/guide/topics/usb/adk.html">googled the kit</a>.</p>
<p>A little background: my own project, an Internet connected beer fridge, needed to not only connect to the Internet, but control real world things.  The Arduino can do the latter, but connecting to the internet isn&#8217;t really possible with the available shields.  The Arduino doesn&#8217;t really have the muscle to deal with the internet, either.  I needed another device to handle the internet, one that could talk to Arduino.  I&#8217;d had success with Arduino and a NexusOne via Bluetooth before.  But the NexusOne is a really expensive device, especially compared to the Arduino, so I opted for a Linksys router instead this time.  $8 at a thrift store, and $30 brand new. Can&#8217;t beat that. But it&#8217;s not a polished, super reliable system (yet).</p>
<p>With the weight of Google behind this effort, maybe the extra $250 might be a cheap investment for high quality code and hardware. Then I read the &#8220;How the ADK board implements the Android Accessory protocol&#8221; section.  Ouch.</p>
<p>The really great thing about Arduino is that just about anyone can learn to program the thing.  You can write a program with less than a dozen lines that does something useful.</p>
<p>In my effort to attach the Linksys router, I strove to keep things as simple as possible.   The communication between the router and Arduino is really simple: the Arduino tells the router the status of pins, the router runs a script where the status of output pins can be calculated based on the input pins.  For a temperature sensor, it looks something like this: digital_pin[01]=(analog_pin[00]/1024)*500-273.  The updated pins get sent back to the Arduino.  Simple.</p>
<p>With the Android Open Accessory Development Kit, you&#8217;re looking at about 100 lines of code just to have the Arduino handshake with the phone to set up a connection.  If you&#8217;re using an Arduino, it&#8217;s because you don&#8217;t have time for that crap.</p>
<p>Luckily, my conclusion requires only one word:</p>
<p>Fail.</p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2011/06/08/android-open-accessory-development-kit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smart Meter Hacking</title>
		<link>http://petervieth.com/2011/04/01/smart-meter-hacking/</link>
		<comments>http://petervieth.com/2011/04/01/smart-meter-hacking/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 07:26:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Green]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=543</guid>
		<description><![CDATA[I've been trying to see if there is a way to read energy usage information from the smart meter PG&#038;E installed at my home.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been trying to see if there is a way to read energy usage information from the smart meter PG&amp;E installed at my home, instead of resorting to an inductive clamp device like the TED (which costs $200+).  The meter is a Landis Gyr Focus AXR SD.  I found a <a href="http://www.defranchiseoncor.org/SmartMeters/Landis-Gyr_Focus_AX_Manual_NY_State.pdf">manual for the AX-SD</a> online.</p>
<p>The meter has an IR port on the front which can be read using a device attached to a triangle shaped raised area.  However, the meter can also be programmed this way, so it seems unlikely PG&amp;E would have left this port wide open for me to attach something to it.</p>
<p>There are several ways for smart meters to &#8220;phone home&#8221;:</p>
<ul>
<li>Modulation over power lines</li>
<li>WiFi/WiMax (IP based)</li>
<li>Cell phone network</li>
<li>Short range point to point wireless</li>
<li>Private wireless network (RF mesh)</li>
</ul>
<p>PG&amp;E uses the latter two strategies.  The smart meter talks to nearby meters via a private RF mesh network running at 915mhz.  Each meter in the mesh network not only generates data (hourly, btw), it acts as a repeater for other nearby meters.  PG&amp;E has placed network access points around the state which capture the data on the mesh network and send it over a secure cellular network back to PG&amp;E.  The system supports two way communications.  The natural gas meter is less sophisticated, and only supports one way communication to a data collector unit which send data over to PG&amp;E via  cell network.  <a href="http://webcache.googleusercontent.com/search?q=cache:-hTp2eYyGaIJ:www.pge.com/myhome/customerservice/meter/smartmeter/howitworks/+pg%26e+rf+mesh&amp;cd=1&amp;hl=en&amp;ct=clnk&amp;gl=us&amp;source=www.google.com">Read more at this now defunct PG&amp;E page</a> (thanks Google webcache!).  The page may be defunct because it <a href="http://1hope.org/hopeblog/?p=1061">suggests that the RF mesh network is unencrypted</a>.  Oops.</p>
<p>Can I tap into this RF mesh network? <a href="http://www.blackhat.com/presentations/bh-usa-09/MDAVIS/BHUSA09-Davis-AMI-SLIDES.pdf">Yes, you can</a>.  But the details have been redacted.</p>
<p>Apparently, the electricity smart meters also contain a ZigBee radio, but this is <a href="http://gigaom.com/cleantech/pge-picks-2-consumer-energy-partners-opower/">not yet being used</a>.  It would be nice if DIY hobbyists could access this information, but it doesn&#8217;t seem likely, does it?</p>
<p>Naturally, with all these RF devices around us, it&#8217;s time to put on your <a href="http://gigaom.com/cleantech/pge%E2%80%99s-smart-meter-opt-out-plan-what%E2%80%99s-next/">tin foil hat</a> and head for the hills.</p>
<p>Oddly, the natural gas meter has no wires running to it, so it must be running on battery power.  A short range Zigbee device which spends most of its time in standby mode would hardly use any power at all.  Since the meter will only be accessed once a month, it could run for a long time!  However, I have to wonder if it&#8217;s possible to kill a meter by sending requests to it, preventing the radio from going to sleep?</p>
<p>Read more on smart meters around the world at <a href="http://en.wikipedia.org/wiki/Smart_meter">Wikipedia</a>.</p>
<p>Analog makes a <a href="http://www.analog.com/library/analogdialogue/archives/43-01/smart_metering.html">radio for smart meter RF mesh networks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2011/04/01/smart-meter-hacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP REST Web Services</title>
		<link>http://petervieth.com/2011/02/01/php-rest-web-services/</link>
		<comments>http://petervieth.com/2011/02/01/php-rest-web-services/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 17:53:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=541</guid>
		<description><![CDATA[I've created plenty of REST web services in Java, but never any in PHP.  ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created plenty of REST web services in Java, but never any in PHP.  Netbeans has a really awesome generator for both the REST web services and entity beans for database objects when using Java.  You just step through a wizard and Voila!  True, it&#8217;s not very smart about foreign keys, but it&#8217;s way faster than coding by hand.</p>
<p>But there is no such wizard for PHP.</p>
<p>Many people are confused by REST.  There is nothing magic about REST.  Just like your old RPC calls, which are like function calls over the internet.  With REST, you use HTTP commands (GET, POST, PUT, DELETE, etc) to specify what operation you&#8217;d like to perform.  </p>
<p>For example, think about a user.  You might make separate classes to handle fetching user info, creating users, updating users, and deleting users.  With a REST web service, you stuff all those in one file and do a switch based on GET, POST, etc.  </p>
<p>I found an <a href="http://blog.garethj.com/2009/02/building-a-restful-web-application-with-php/">excellent blog post</a> on a REST web service base class.  Just extend it for your classes.</p>
<p>Note there are some mistakes in the comments about how to instantiate the class.  I did this for the user class I created:</p>
<pre>
// Instantiate the class
$service = new UserRestService("GET, POST, UPDATE, DELETE");
$service->handleRawRequest($_SERVER, $_GET, $_POST);
</pre>
<p>You could also just go with a PHP framework&#8230; but it seemed like overkill for a 3 page, 2 DB table application!</p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2011/02/01/php-rest-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oh No This Embedded PDF Won&#8217;t Load!</title>
		<link>http://petervieth.com/2010/12/21/embedded-pdf-wont-load/</link>
		<comments>http://petervieth.com/2010/12/21/embedded-pdf-wont-load/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 22:21:42 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=515</guid>
		<description><![CDATA[Embedded PDF causing troubles? There is a solution for Chrome and Firefox users.]]></description>
			<content:encoded><![CDATA[<p>So after a couple of days fudging around with Merrill Lynch Edge for my IRA, I decided to give up and just transfer the IRA to Vanguard. &nbsp;I called Vanguard to guide me through the process over the phone to save time. &nbsp;Everything went great, 15 minutes with &#8220;Leo&#8221; and I had the confirmation page up, all I had to do was print the automatically populated application forms and mail them in. &nbsp;I thanked Leo and and hit the print button.</p>
<p><a href="http://petervieth.com/wp-content/uploads/2010/12/vg1.jpg" mce_href="http://petervieth.com/wp-content/uploads/2010/12/vg1.jpg"><img class="aligncenter size-medium wp-image-516" title="vg1" src="http://petervieth.com/wp-content/uploads/2010/12/vg1-300x140.jpg" mce_src="http://petervieth.com/wp-content/uploads/2010/12/vg1-300x140.jpg" alt="" width="300" height="140"></a></p>
<p>A pop-up div loaded with an embedded PDF. &nbsp;The instructions asked me to click the floppy disk icon to save the PDF or the printer icon to print. &nbsp;Well, I&#8217;m using Foxit Reader, not Acrobat, and it doesn&#8217;t have those buttons! Now what? Right clicking on the page and trying to print or save as only printed the HTML, not the PDF.</p>
<p>Chrome comes to the rescue with &#8220;Inspect Element.&#8221; &nbsp;If you have Firebug installed in Firefox, you can do the same thing using Firebug instead. &nbsp;Basically, these tools allow you to edit a web page live. &nbsp;You can try the same procedure with <a href="http://acroeng.adobe.com/Test_Files/embedded/embedded_weblink.html" mce_href="http://acroeng.adobe.com/Test_Files/embedded/embedded_weblink.html">this page</a>.</p>
<div class="mceTemp mceIEcenter" draggable="">
<dl id="attachment_517" class="wp-caption aligncenter" style="width: 217px">
<dt class="wp-caption-dt"><a href="http://petervieth.com/wp-content/uploads/2010/12/vg1a.jpg" mce_href="http://petervieth.com/wp-content/uploads/2010/12/vg1a.jpg"><img class="size-medium wp-image-517" title="vg1a" src="http://petervieth.com/wp-content/uploads/2010/12/vg1a-207x300.jpg" mce_src="http://petervieth.com/wp-content/uploads/2010/12/vg1a-207x300.jpg" alt="" width="207" height="300"></a></dt>
<dd class="wp-caption-dd">The page with the embedded PDF</dd>
</dl>
</div>
<p style="text-align: center;" mce_style="text-align: center;">
<p>Right click on the PDF and selected &#8220;Inspect Element&#8221; and the Inspector Window will pop up. &nbsp;The PDF will either be an embed or object data, with an attribute pointing to the pdf. &nbsp;You can ignore all the other attributes.</p>
<div class="mceTemp mceIEcenter" draggable="">
<dl id="attachment_518" class="wp-caption aligncenter" style="width: 517px">
<dt class="wp-caption-dt"><a href="http://petervieth.com/wp-content/uploads/2010/12/vg2.jpg" mce_href="http://petervieth.com/wp-content/uploads/2010/12/vg2.jpg"><img class="size-full wp-image-518" title="vg2" src="http://petervieth.com/wp-content/uploads/2010/12/vg2.jpg" mce_src="http://petervieth.com/wp-content/uploads/2010/12/vg2.jpg" alt="" width="507" height="253"></a></dt>
<dd class="wp-caption-dd">Right click on the PDF.  In Firefox, hit F12 to load Firebug.</dd>
</dl>
</div>
<div class="mceTemp mceIEcenter" draggable="">
<dl id="attachment_519" class="wp-caption aligncenter" style="width: 310px">
<dt class="wp-caption-dt">
<p><a href="http://petervieth.com/wp-content/uploads/2010/12/vg4b.jpg" mce_href="http://petervieth.com/wp-content/uploads/2010/12/vg4b.jpg"><img class="size-medium wp-image-519" title="vg4" src="http://petervieth.com/wp-content/uploads/2010/12/vg4b.jpg" mce_src="http://petervieth.com/wp-content/uploads/2010/12/vg4b.jpg" alt="" width="300" height="252"></a></dt>
<dd class="wp-caption-dd">Right click on the embed or object tag and choose &#8220;Edit as HTML&#8221;.  Change the tag to a, and the source attribute to href, and then add some text.</dd>
</dl>
</div>
<p>Voila! The PDF is now just a standard link. &nbsp;This worked for Vanguard&#8217;s PDF, which wasn&#8217;t an actual static PDF but a link to some script which generated the PDF on the fly.</p>
<p><a href="http://petervieth.com/wp-content/uploads/2010/12/vg5.jpg" mce_href="http://petervieth.com/wp-content/uploads/2010/12/vg5.jpg"><img class="aligncenter size-full wp-image-520" title="vg5" src="http://petervieth.com/wp-content/uploads/2010/12/vg5.jpg" mce_src="http://petervieth.com/wp-content/uploads/2010/12/vg5.jpg" alt="" width="395" height="196"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2010/12/21/embedded-pdf-wont-load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The State of Augmented Reality</title>
		<link>http://petervieth.com/2010/12/21/the-state-of-augmented-reality/</link>
		<comments>http://petervieth.com/2010/12/21/the-state-of-augmented-reality/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 18:39:28 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Augmented Reality]]></category>
		<category><![CDATA[Location Based Services]]></category>
		<category><![CDATA[Robocop]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=507</guid>
		<description><![CDATA[Augmented Reality: Headsets that show a Robocop view of the world?  Not quite.]]></description>
			<content:encoded><![CDATA[<p>Augmented reality, or AR, is a view of the world with information overlaid (more complete description at <a href="http://en.wikipedia.org/wiki/Augmented_reality">Wikipedia</a>).  Back when the 2nd round of Android phones arrived, AR suddenly burst onto the scene.  There was a Yelp app plus a few other demos.  It was a bit rough, but given some time, it would all work out, right?</p>
<p>The promise of AR is great.  I always imagine working on a project in the garage and having a how-to video playing in the corner.  Or, as Ben suggested, fixing a car while wearing a headset.  The headset detects bar codes on parts automatically and jumps to the right page in the service manual on command.  Cool, huh?  It&#8217;d be like being Robocop, except without OCP goons trying to kill you.  I decided to survey the state of augmented reality now that a few years have passed.</p>
<div class="wp-caption aligncenter" style="width: 528px"><img class="  " title="Robocop's View of the World" src="http://image.gamespotcdn.net/gamespot/images/2003/xbox/robocop/0808/robo_790screen003.jpg" alt="" width="518" height="346" /><p class="wp-caption-text">How Robocop sees the world, from the XBOX Robocop game</p></div>
<p>First, there wasn&#8217;t a whole lot to be found.  The buzz around AR seems to have died down.  So I went to some of the originators of the craze.</p>
<p>One of the earliest Android AR programs was Wikitude World Browser.  This allows you to choose data sources to overlay onto a map or camera view.  Sitting in the kitchen, I went straight to the camera and overlaid Wikipedia.  Looking at the refrigerator, I could see a little callout bubble for SFO airport in the distance.  In fact, besides that, only cities and a few public parks appeared.  Hmm.  I tried panning around quickly.  The application lags a bit, and if you point in one direction, and then away, and then back to the same direction, the callouts do not track to the exact same spot&#8211; it seems there is a good deal of error.  Additionally, it&#8217;s not very smart when the camera is oriented up or down.  The callouts appear in the sky, for example.  Still, an admirable effort.  The Wikipedia information was boring at home, but I could see how this would be handy while traveling.</p>
<div id="attachment_508" class="wp-caption aligncenter" style="width: 490px"><a href="http://petervieth.com/wp-content/uploads/2010/12/wikitude1.png"><img class="size-full wp-image-508" title="Wikitude list of data sources" src="http://petervieth.com/wp-content/uploads/2010/12/wikitude1.png" alt="Wikitude list of data sources" width="480" height="800" /></a><p class="wp-caption-text">Wikitude list of data sources</p></div>
<div id="attachment_509" class="wp-caption aligncenter" style="width: 310px"><a href="http://petervieth.com/wp-content/uploads/2010/12/wikitude2.png"><img class="size-medium wp-image-509" title="Wikitude camera view with Wikipedia overlaid" src="http://petervieth.com/wp-content/uploads/2010/12/wikitude2-300x180.png" alt="Wikitude camera view with Wikipedia overlaid" width="300" height="180" /></a><p class="wp-caption-text">Wikitude camera view with Wikipedia overlaid</p></div>
<p>Wikitude now also has a product called &#8220;Drive&#8221; which is like Google&#8217;s built in Nav app, except the turn by turn directions are overlaid on a camera view, so you don&#8217;t need to strain to imagine the Nav&#8217;s 3d view in your actual surroundings.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/g-0cuqeUvCQ&amp;rel=0&amp;hl=de_DE&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="390" src="http://www.youtube.com/v/g-0cuqeUvCQ&amp;rel=0&amp;hl=de_DE&amp;feature=player_embedded&amp;version=3" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Another popular application is Layar.  This works in a similar way to Wikitude World Browser, except it does not have a camera view.  Instead, a compass heading is displayed at the top of the application, and icons appear near your heading which point to locations of interest.  A list of nearby places is displayed below.</p>
<div id="attachment_510" class="wp-caption aligncenter" style="width: 490px"><a href="http://petervieth.com/wp-content/uploads/2010/12/layar.png"><img class="size-full wp-image-510" title="The Layar application lists nearby points of interest" src="http://petervieth.com/wp-content/uploads/2010/12/layar.png" alt="The Layar application lists nearby points of interest" width="480" height="800" /></a><p class="wp-caption-text">The Layar application lists nearby points of interest</p></div>
<p>So the application of the future is not quite here yet, but there are still some cool things to do with AR.  Whether they are any better than just using plain old Google Maps&#8211; very debatable.</p>
<p>If you&#8217;re looking to do some augmented reality coding, this <a href="http://stackoverflow.com/questions/1939318/augmented-reality-framework">Stackoverflow thread lists available frameworks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2010/12/21/the-state-of-augmented-reality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhoneGap Review</title>
		<link>http://petervieth.com/2010/12/09/phonegap-review/</link>
		<comments>http://petervieth.com/2010/12/09/phonegap-review/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 01:56:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://petervieth.com/?p=503</guid>
		<description><![CDATA[If an open source project is not documented, why bother writing it at all?]]></description>
			<content:encoded><![CDATA[<p>The explosion of mobile devices has created a bit of a dilemma: whereas it would have been possible to get by knowing just Java or C++ before, now a fully outfitted mobile developer needs to be versed in Android&#8217;s Java, BlackBerry Java, Apple&#8217;s Objective C, etc etc.  Good luck mastering all those.</p>
<p>One solution to the problem is cross platform development frameworks.  These convert framework code to native code on multiple platforms.</p>
<p>I searched through <a href="http://en.wikipedia.org/wiki/Multiple_phone_web_based_application_framework">the list on Wikipedia</a> and decided to try out PhoneGap first.  PhoneGap creates projects for multiple native platforms, and allows developers to leverage Javascript, HTML, and CSS.  Just about everybody knows that!  And their website is slick and professional looking.</p>
<p>At least, that&#8217;s the thought.  The beauty of the write once, run anywhere approach fades when you realize you need to setup a development stack for every native environment- not a simple feat.  But, I am already setup for Android development, so why not try that?</p>
<p>Well, actually, I had to install Git, and GitBash, and Ruby, and some Ruby module, and a whole host of other stuff.  I had trouble with some command lines, so after a while I just added everything to the path.  A hack, surely, but I&#8217;d fix it when I got it working&#8230;</p>
<p>I followed <a href="http://wiki.phonegap.com/w/page/16494774/Getting-started-with-Android-PhoneGap-in-Eclipse">the instructions on PhoneGap&#8217;s wiki</a>, however I was not able setup a sample Eclipse project.  Poking around the wiki, I found another set of different directions.  Then I hit Google, and found more permutations (<a href="http://developer.palm.com/blog/2010/09/developing-cross-platform-apps-with-phonegap-part-2-android/">this one</a>, or <a href="http://dev.tonic1394.com/2010/06/phonegap-the-missing-androidwindows-setup-guide/">this one</a>, or <a href="http://mobile.tutsplus.com/tutorials/phonegap/phonegap-development/">this one</a>?).</p>
<p>None worked.</p>
<p>Which brings me to an ancient open source thought exercise: If an open source project is not documented, why bother writing it at all?</p>
<p>With PhoneGap, it&#8217;s even worse.  The problem is not the lack of documentation, it&#8217;s that there&#8217;s a lot of garbage out there.  Please, open source developers, respect the time of your audience, and at least write enough documentation to get started.</p>
<h3>PhoneGap rating: 0 out of 5</h3>
]]></content:encoded>
			<wfw:commentRss>http://petervieth.com/2010/12/09/phonegap-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

