<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>Tech Your Universe</title>
	<link>http://www.techyouruniverse.com</link>
	<description>Musings about technology from a Geek</description>
	<pubDate>Mon, 12 Apr 2010 02:31:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Open up your wifi for the world</title>
		<link>http://www.techyouruniverse.com/technology/open-up-your-wifi-for-the-world</link>
		<comments>http://www.techyouruniverse.com/technology/open-up-your-wifi-for-the-world#comments</comments>
		<pubDate>Mon, 12 Apr 2010 02:29:23 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[philanthropy]]></category>

		<category><![CDATA[technology]]></category>

		<category><![CDATA[free public wifi]]></category>

		<category><![CDATA[open your wireless network]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/technology/open-up-your-wifi-for-the-world</guid>
		<description><![CDATA[I find that some folks that come to my house are surprised to see that I have my wireless internet is open to the world without a key. I also have my mobile hotspot open to the world. The security minded majority may scoff, but it&#8217;s intentional.

 I don&#8217;t really care if someone uses my [...]]]></description>
			<content:encoded><![CDATA[<p>I find that some folks that come to my house are surprised to see that I have my wireless internet is open to the world without a key. I also have my mobile hotspot open to the world. The security minded majority may scoff, but it&#8217;s intentional.</p>
<ol>
<li> I don&#8217;t really care if someone uses my bandwidth. I guess it could become a problem if they saturate it, but I really don&#8217;t see it happening. It&#8217;s kind of like if I got mad at someone when they tried to use the water that was running off my sprinklers on the sidewalk.
</li>
<li> It&#8217;s more convenient for me, and for people that come to my house, not to have to worry about a password. In this case, convenience trumps security [or the illusion of it &#8212; see #3].
</li>
<li> The "security" that is supposedly gained by adding a key is a farce IMHO. <a href="http://www.google.com/search?q=how+to+hack+wireless&#038;tbo=p&#038;tbs=vid%3A1&#038;source=vgc">See videos of how to hack wireless networks in minutes with common tools</a>
</li>
</ol>
<p>&lt;soapbox motive="philanthropic"&gt;<br />
Richard Stallman feels that charging for software is a crime against humanity. I won&#8217;t go that far with this wifi speech, but I do believe that as web geeks, we should do everything we can to help people get connected to the internet.</p>
<p>
5 years from now, we&#8217;ll probably be able to go anywhere and find a free access point. I want to have that day come sooner, and I am going to do what I can to help.<br />
&lt;/soapbox&gt;
</p>
<p>
<a href="http://www.fon.com">fon.com</a> has taken this idea to a new level.
</p>
<p>
They will sell you a wireless router for $40. You plug it in and register your location, and you become known as a free wifi hot spot on their network, for all to use. As a result, they have built the largest wifi community in the world.
</p>
<p>
I understand that some users may have legitimate reason to use a secured network, but for all of the rest of us that have no compelling reason to lock down the wireless access, I&#8217;ll ask that you consider opening it up to the world and spreadin&#8217; the wifi love. And if you&#8217;re in the San Francisco area and you see an access point named <i>Nick&#8217;s Free Wifi</i>, feel free to hop on and enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/technology/open-up-your-wifi-for-the-world/feed</wfw:commentRss>
		</item>
		<item>
		<title>Addictive Video Games - worse than drugs?</title>
		<link>http://www.techyouruniverse.com/technology/addictive-video-games-worse-than-drugs</link>
		<comments>http://www.techyouruniverse.com/technology/addictive-video-games-worse-than-drugs#comments</comments>
		<pubDate>Mon, 08 Mar 2010 19:11:35 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[technology]]></category>

		<category><![CDATA[video game addiction]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/technology/addictive-video-games-worse-than-drugs</guid>
		<description><![CDATA[I recently read a great article from Cracked.com about how video games are engineered to trigger certain pleasure/pain points in our brain to create a cycle of never-ending play. 

It describes the work of B.F. Skinner, a behavioral scientist who provided a logical framework for how our brains work in terms of accomplishments and avoidance. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read a great article from <a href="http://www.cracked.com/article_18461_5-creepy-ways-video-games-are-trying-to-get-you-addicted_p2.html">Cracked.com</a> about how video games are engineered to trigger certain pleasure/pain points in our brain to create a cycle of never-ending play. </p>
<p>
It describes the work of <a href="http://en.wikipedia.org/wiki/B._F._Skinner">B.F. Skinner</a>, a behavioral scientist who provided a logical framework for how our brains work in terms of accomplishments and avoidance. Some tactics used in video games that rely on this behavior:</p>
<ol>
<li><b>Gathering</b> - play on our brains natural instinct to gather/hoard, a skill originally evolved for gathering food, now abused to trick people into performing mindless activities for hours on end. Example: <a href="http://www.freewarcraftguides.com/world_of_warcraft_gold_guide.php">Gold gathering in World of Warcraft</a>.
</li>
<li><b>Discovery</b> - by making sure that rewards are randomly dished out instead of predictably, we never know what is going to happen. This play to chance capitalizes on our discovery mindset. Slot machines have been doing this for years. The video game example is random treasure chests, where you don&#8217;t know if you will get an empty chest or a prize.
</li>
<li><b>Competitiveness</b> - by providing world wide leaderboards and online multiplayer play with access to millions of people to play against, the pull to be the best is very compelling.
</li>
<li><b>Avoidance</b> - by penalizing you when you *don&#8217;t* play. For example: your castle will fall into a state of disrepair if you don&#8217;t visit. Example #2: Your Facebook farmville plants will wither if you don&#8217;t attend to them. Evil.
</li>
</ol>
<p>
In a world where <a href="http://www.obesityfocused.com/articles/obesity-issues/obesity-and-fast-food.php">McDonalds can be sued for making kids fat</a>, and <a href="http://cbs13.com/watercooler/compulisve.gambling.water.2.672913.html">casinos can be sued for problem gambling</a>, and the tabacco industry can be held responsible for making cigarets more addictive, where does the responsibility lie for game manufacturers to curtail their behavior?
</p>
<p>Is this really that bad? Well, people are starting to die. Note <a href="http://videogames.yahoo.com/events/plugged-in/couple-starves-real-child-while-raising-virtual-one/1392152">this tragic story</a> of a couple who let their baby die from malnutrition because they were so pre-occupied by a video game &#8212; that ironically enough, was about raising virtual children. I&#8217;m not just fear mongering here, I think this problem will be getting worse before it gets better.
</p>
<p>My gut says it is up to consumers to control themselves. I preach <a href="http://www.flexyouruniverse.com/life/live-without-excuses">personal responsibility</a>, but I must admit that <a href="http://www.flexyouruniverse.com/life/i-am-a-high-school-dropout">I myself have struggled with video games</a> consuming my life. So has <a href="http://kotaku.com/5384643/i-kept-playing--the-costs-of-my-gaming-addiction">Michael Fahey</a>.
</p>
<p>
Video game designer Erin Hoffman said it perfectly:</p>
<blockquote><p>
Addiction is not about what you DO, but what you DON&#8217;T DO because of the replacement of the addictive behavior.
</p>
</blockquote>
<p>I&#8217;ve seen my kids struggle with it as well. <a href="http://www.callofduty.com/">Call of Duty</a> has occupied with many hours of their lives, so much so that it has interfered with their education, and we&#8217;ve had to make a rule that they have to have B&#8217;s or higher to play video games.</p>
<p>
I&#8217;m concerned about my kids&#8217; future, and humanity as a whole. Video game manufacturers are only going to get more intelligent and more adept at creating addictive games, where will it end?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/technology/addictive-video-games-worse-than-drugs/feed</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft says "We measure our work by its broad impact" - HA!</title>
		<link>http://www.techyouruniverse.com/microsoft/microsoft-says-we-measure-our-work-by-its-broad-impact-ha</link>
		<comments>http://www.techyouruniverse.com/microsoft/microsoft-says-we-measure-our-work-by-its-broad-impact-ha#comments</comments>
		<pubDate>Fri, 05 Feb 2010 21:18:50 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/microsoft/microsoft-says-we-measure-our-work-by-its-broad-impact-ha</guid>
		<description><![CDATA[Microsoft has conceded that they don&#8217;t focus on building good products, but instead - they measure their work by it&#8217;s broad impact. Monopolistic and anticompetitive business practices do indeed facilitate the illusion of impact.

At least in the short term.


Full story on
Microsoft&#8217;s blog. This was a reaction to a former VP of Microsoft who took a [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has conceded that they don&#8217;t focus on building good products, but instead - they measure their work by it&#8217;s broad impact. Monopolistic and anticompetitive business practices do indeed facilitate the illusion of impact.</p>
<p>
At least in the short term.
</p>
<p>
Full story on<br />
<a rel="nofollow" href="http://blogs.technet.com/microsoft_blog/archive/2010/02/04/measuring-our-work-by-its-broad-impact.aspx">Microsoft&#8217;s blog</a>. This was a reaction to a former VP of Microsoft who took a stand to point out the internal state of affairs at Microsoft and how they innovate and run their business. Could this be the <a href="http://online.wsj.com/public/article/SB116379821933826657-0mbjXoHnQwDMFH_PVeb_jqe3Chk_20061125.html">Peanut Butter Manifesto</a> for Microsoft?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/microsoft/microsoft-says-we-measure-our-work-by-its-broad-impact-ha/feed</wfw:commentRss>
		</item>
		<item>
		<title>Google reacts to China&#8217;s censorship</title>
		<link>http://www.techyouruniverse.com/websearch/google-reacts-to-chinas-censorship</link>
		<comments>http://www.techyouruniverse.com/websearch/google-reacts-to-chinas-censorship#comments</comments>
		<pubDate>Wed, 13 Jan 2010 00:30:05 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[websearch]]></category>

		<category><![CDATA[google chinese censorship]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/websearch/google-reacts-to-chinas-censorship</guid>
		<description><![CDATA[So Google found that the Chinese government was hacking them to try to obtain information on anti censorship participants. How did they react?
By announcing that they will open up their Chinese version of Google to be uncensored, and if China determines this to be illegal, they will shut down their Chinese operations.
GREAT move Google. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>So Google found that the Chinese government was hacking them to try to obtain information on anti censorship participants. How did they react?</p>
<p>By announcing that they will open up their Chinese version of Google to be uncensored, and if China determines this to be illegal, they will shut down their Chinese operations.</p>
<p>GREAT move Google. I&#8217;m proud of you for taking such a strong stance against censor ship, and with it, a stance FOR Chinese Human Rights.</p>
<p>Google&#8217;s blog post here</p>
<p><a href="http://googleblog.blogspot.com/2010/01/new-approach-to-china.html">http://googleblog.blogspot.com/2010/01/new-approach-to-china.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/websearch/google-reacts-to-chinas-censorship/feed</wfw:commentRss>
		</item>
		<item>
		<title>What software developers can learn from BattleBots</title>
		<link>http://www.techyouruniverse.com/software/what-software-developers-can-learn-from-battlebots</link>
		<comments>http://www.techyouruniverse.com/software/what-software-developers-can-learn-from-battlebots#comments</comments>
		<pubDate>Tue, 16 Jun 2009 00:15:12 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[software]]></category>

		<category><![CDATA[technology]]></category>

		<category><![CDATA[convergence of software and hardware engineering]]></category>

		<category><![CDATA[simplicity in software development]]></category>

		<category><![CDATA[software development battlebots]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/software/what-software-developers-can-learn-from-battlebots</guid>
		<description><![CDATA[I attended Robogames in San Francisco this past weekend with my 3 sons. We had a great time watching the robots try to kill each other. I let out a Tim Allen grunt at several points, especially when we saw one of the robots with a flame thrower.







I had some time for reflection in between [...]]]></description>
			<content:encoded><![CDATA[<p>I attended <a href="http://www.robogames.net/">Robogames</a> in San Francisco this past weekend with my 3 sons. We had a great time watching the robots try to kill each other. I let out a <a href="http://www.youtube.com/watch?v=BAhVmjptZMI">Tim Allen grunt</a> at several points, especially when we saw one of the robots with a flame thrower.</p>
<div style="float:right; margin-left:10px">
<object width="320" height="265"></p>
<param name="movie" value="http://www.youtube.com/v/R8HrM7kleQI&#038;hl=en&#038;fs=1&#038;"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/R8HrM7kleQI&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"></embed></object>
</div>
<p>
I had some time for reflection in between matches, and my pattern-recognition-heavy brain kicked into gear to find out what was similar between the engineering efforts behind robot building and software engineering. Not everything lines up, but I did notice that some of <a href="/software/simplicity-in-software-design">my thoughts of simplicity and robustness</a> carried over to the world of attack robots. In no particular order:</p>
<ul>
<li><b>Staying moving is more important than having a good weapon</b>. While it did occasionally happen that a kick ass weapon ended a match (and when it did, it was supremely cool!), it was certainly not the majority. Instead of weapons, most of the time the other robot was defeated by getting "stuck" in one way or another, either by being flipped upside down or stuck on an obstacle.
<p>
How does this translate to the software world? If you have a great piece of software, but it doesn&#8217;t work, it won&#8217;t be successful. <i>Never let any new <s>weapon</s> feature compromise stability and robustness</i>.</p>
</li>
<li><b>Simplicity wins</b> - The more moving parts, the more things that can go wrong and break. It was easy to see the <s>robots</s> <a href="/software/php-vs-java-vs-cc-for-web-applications ">products that were over-engineered</a> by the uber geeks. I laughed when I saw these robots quickly die because something simple went wrong. My favorite example was a group of "rocket scientists" that built a robot with two ginormous spinning wheels as weapons. Each wheel was turned by an elaborate contraption of gears and pulleys. You know the end of the story. <i>Resist the temptation to over-engineer, and pride yourself on the simplest solution that accomplishes the goals</i>. Or, to quote Albert Einstein,<br />
<blockquote><p>
Everything should be made as simple as possible, but not simpler.
</p>
</blockquote>
</li>
<li><b>Test, Test, Test</b> - you could really tell a difference between the "mature" robots who had seen a couple of fights, and you could really tell the robots that their owners decide to use them for the first time in the ring. <i>Thorough testing should be done before <s>the robot</s> a product goes into <s>battle</s> the real world</i>
</li>
<li><b>Quality construction and materials</b>. This was almost as important as design. Flimsy aluminum and other cheap materials quickly gave way under battle, and poorly engineered welds or connections suffered the same fate. Same goes in software - <a href="http://en.wikipedia.org/wiki/Spaghetti_code">spaghetti code</a> may look like it&#8217;s going to work, but won&#8217;t stand up to a fierce battle.
</li>
</ul>
<p>It&#8217;s always fun when we can learn from the convergence of two different sciences. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/software/what-software-developers-can-learn-from-battlebots/feed</wfw:commentRss>
		</item>
		<item>
		<title>The cure for spam - forever</title>
		<link>http://www.techyouruniverse.com/technology/the-cure-for-spam-forever</link>
		<comments>http://www.techyouruniverse.com/technology/the-cure-for-spam-forever#comments</comments>
		<pubDate>Mon, 11 May 2009 22:26:35 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[technology]]></category>

		<category><![CDATA[stop spam forever]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/technology/the-cure-for-spam-forever</guid>
		<description><![CDATA[SPAM. No, not the barely edible processed meat, I&#8217;m talking about unsolicited messages we all receive, typically via e-mail. BTW - a common misconception is that SPAM is all junk mail. By the nerdiest of definitions, spam is only the unsolicited messages. If you signed up for a newsletter or a alert every time a [...]]]></description>
			<content:encoded><![CDATA[<p>SPAM. No, not the <a href="http://www.spam.com/">barely edible processed meat</a>, I&#8217;m talking about unsolicited messages we all receive, typically via e-mail. BTW - a common misconception is that SPAM is all junk mail. By the nerdiest of definitions, spam is only the <b>unsolicited</b> messages. If you signed up for a newsletter or a alert every time a new job is posted, that&#8217;s not spam, that&#8217;s something you asked for. SPAM, by definition, has to be unsolicited.</p>
<p>
Another useful tidbit - the term SPAM comes from a famous Monty Python skit - the analogy is that it&#8217;s something that keeps coming over and over again even though you didn&#8217;t ask for it nor did you want it. Here&#8217;s the <a href="http://www.youtube.com/watch?v=ODshB09FQ8w">original skit on youtube</a>, but fair warning, it&#8217;s so repetitive that it is a bit painful to watch&#8230; much like well, SPAM.
</p>
<p>
Lots of theories abound for how to solve the spam problem. <a href="http://www.barracudanetworks.com">Filters</a>. <a href="http://spamassassin.apache.org/">Bayesian spam detectors</a>. There is an entire anti-spam industry where companies spend hundreds of millions (billions?) of dollars a year fighting spam.
</p>
<p>
Fear not, I have the ultimate solution so everyone can stop getting spam. And it&#8217;s quite easy, but will take the effort of the world over. Intrigued? Read on.
</p>
<p>
Why does spam exist? Because advertisers can cheaply and easily reach millions of eyeballs with very low cost. Sure, most of the people that get the e-mail don&#8217;t read it. Quite a few are even annoyed. But of the remaining that is left, a few read it. And guess, what, a few of those actually go to the website to see what is being sold. And a few of those wind up buying something.
</p>
<p>
So a spammer&#8217;s math works like this. I send out 10,000,000 messages for the cost of bandwidth and processing time, which can be free if they are using a hacked/hijacked machine, or just a few dollars if they pay someone. Let&#8217;s say it costs $25. Sure, ISP&#8217;s don&#8217;t like this behavior, so they&#8217;ll be kicked off, but they just go to the next one.
</p>
<p>
Of that 10,000,000 messages sent out, let&#8217;s say 50% of them bounce, because the spammers e-mail list is out of date, or the person&#8217;s inbox is full, or the spam filter rejects them. 5,000,000 left.
</p>
<p>
Of that 5,000,000 people who get the message, 1% read it. 50,000 left.
</p>
<p>
Of the 50,000 people who actually read the message, 1% go to the website. 500 left.
</p>
<p>
Of the 500 people that go to the website, 10% buy something. Assuming they make $25 on each product purchased, that means they make $1250 (50 X $25). Not too shabby a return for $25. In some parts of the world, $1200 is more than people make in a year.
</p>
<p>
So how do we stop all this madness? Drum roll&#8230;.
</p>
<p>
<b>STOP BUYING PRODUCTS FROM SPAMMERS!</b>
</p>
<p>
If no one buys from spammers, the above formula breaks. Spammers will continue sending spam as long as it works. As long as you <i>one-percenters</i> are out there making it worth their while, they&#8217;ll keep leveraging the law of numbers and technology to send us messages we don&#8217;t want.
</p>
<p>
Do your part. Don&#8217;t support spammers. Don&#8217;t buy products advertised via spam!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/technology/the-cure-for-spam-forever/feed</wfw:commentRss>
		</item>
		<item>
		<title>Why on earth doesn&#8217;t javascript have a json_encode?!</title>
		<link>http://www.techyouruniverse.com/software/why-on-earth-doesnt-javascript-have-a-json_encode</link>
		<comments>http://www.techyouruniverse.com/software/why-on-earth-doesnt-javascript-have-a-json_encode#comments</comments>
		<pubDate>Fri, 24 Apr 2009 16:35:36 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[software]]></category>

		<category><![CDATA[technology]]></category>

		<category><![CDATA[json_encode javascript]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/software/why-on-earth-doesnt-javascript-have-a-json_encode</guid>
		<description><![CDATA[Every major language now has tools for JSON encoding a string of text, which is a format that is natively read, understand, and used by Javascript. PHP&#8217;s json_encode works great, I use it all the time for data transport. The reasons for using XML are getting harder and harder to come by. JSON is much [...]]]></description>
			<content:encoded><![CDATA[<p>Every major language now has tools for JSON encoding a string of text, which is a format that is natively read, understand, and used by Javascript. <a href="http://www.php.net/json_encode">PHP&#8217;s <code>json_encode</code></a> works great, I use it all the time for data transport. The reasons for using XML are getting harder and harder to come by. <a href="/software/json-vs-xml-vs-serialize-for-data">JSON is much easier to work with</a>.</p>
<p>Every major language has a built in json_encode, except, <b>Javascript</b>!</p>
<p>WTF?  Irony at it&#8217;s best.</p>
<p>I&#8217;m using <a href="http://www.json.org/js.html">Douglas Crockford&#8217;s JSON.js</a> in the meantime, but Firefox, Internet Explorer, Safari developers - please include support for this in a future release.</p>
<p>
<b>Update Jun 29 2009:</b> I was listened too. <img src='http://www.techyouruniverse.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Firefox 3.1+ and IE 8+ now have native JSON support. <a href="http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/">More info</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/software/why-on-earth-doesnt-javascript-have-a-json_encode/feed</wfw:commentRss>
		</item>
		<item>
		<title>Automatic isight capture to have your Mac be a time lapse camera</title>
		<link>http://www.techyouruniverse.com/technology/automatic-isight-capture-to-have-your-mac-be-a-time-lapse-camera</link>
		<comments>http://www.techyouruniverse.com/technology/automatic-isight-capture-to-have-your-mac-be-a-time-lapse-camera#comments</comments>
		<pubDate>Tue, 31 Mar 2009 17:04:18 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[technology]]></category>

		<category><![CDATA[automatically take pictures with isight camera]]></category>

		<category><![CDATA[isight capture]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/technology/automatic-isight-capture-to-have-your-mac-be-a-time-lapse-camera</guid>
		<description><![CDATA[My Apple MacBook Air has a built in iSight camera. I wanted to have it take pictures automatically every minute and save them in a folder for an upcoming home improvement project, effectively turning it into a time lapse camera. It&#8217;s also good for being able to take pictures of people using your computer. Handy [...]]]></description>
			<content:encoded><![CDATA[<p>My Apple MacBook Air has a built in iSight camera. I wanted to have it take pictures automatically every minute and save them in a folder for an upcoming home improvement project, effectively turning it into a time lapse camera. It&#8217;s also good for being able to take pictures of people using your computer. Handy when used in combination with my <a href="/technology/phone-home-script-to-protect-your-laptop">phone home script</a>. <img src='http://www.techyouruniverse.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>
Here are the steps.</p>
<ol>
<li><a href="http://www.intergalactic.de/pages/iSight.html" target="_blank">Download</a> isightcapture, a command line utility for capturing images. Drag it into /Applications/ folder
</li>
<li>Make a folder for where you want the images stored. I used <code>~/isight_capture/</code>.
</li>
<li>Set up a cronjob to take the pictures and name them with a minute in the filename. From terminal (you need to know <code>vi</code>:
<ol>
<li><code>crontab -e</code>
</li>
<li>Paste <code>*/2 * * * * /Applications/isightcapture ~/isight_capture/image.`date +\%Y-\%m-\%d_\%H_\%M`.jpg</code>
</li>
<li>Save and quit
 </li>
</ol>
</li>
</ol>
<p>That&#8217;s it! Within one minute, you&#8217;ll start to see images in your ~/isight_capture folder every two minutes. Note that they will build up as long as the computer is on, which is about 15 megabytes a day. You may want to have something else that cleans them up. You could also try every 5 minutes instead with <code>*/5</code> for the minutes for the cron, which will do it every 5 minutes instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/technology/automatic-isight-capture-to-have-your-mac-be-a-time-lapse-camera/feed</wfw:commentRss>
		</item>
		<item>
		<title>PHP vs Java vs C/C++ for web applications</title>
		<link>http://www.techyouruniverse.com/software/php-vs-java-vs-cc-for-web-applications</link>
		<comments>http://www.techyouruniverse.com/software/php-vs-java-vs-cc-for-web-applications#comments</comments>
		<pubDate>Tue, 24 Feb 2009 17:22:41 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[technology]]></category>

		<category><![CDATA[php vs java]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/software/php-vs-java-vs-cc-for-web-applications</guid>
		<description><![CDATA[


From Incremental Operations Blog, this call stack shows the layers involved in a [typical?] Java stack. 

To be fair, this is not necessarily Java itself, but poorly written Java code. But based on my experience, this type of excessive architecture is accepted best practice in the Java world, and the architecture astronauts seem to gravitate [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right">
<a href="http://ptrthomas.files.wordpress.com/2006/06/jtrac-callstack1.png"><img src="http://ptrthomas.files.wordpress.com/2006/06/jtrac-callstack1.png" width="400" border="0"/></a>
</div>
<p>From <a href="http://ptrthomas.wordpress.com/2006/06/06/java-call-stack-from-http-upto-jdbc-as-a-picture/">Incremental Operations Blog</a>, this call stack shows the layers involved in a [typical?] Java stack. </p>
<p>
To be fair, this is not necessarily Java itself, but poorly written Java code. But based on my experience, this type of excessive architecture is accepted best practice in the Java world, and the architecture astronauts seem to gravitate to this technology.
</p>
<p>
The original pipe dream of Java was "build once, run anywhere". Since that hasn&#8217;t exactly materialized, Java is the bastard step child of programming. It doesn&#8217;t really fit in anywhere. It is neither high performance nor robust (C/C++), nor easy to program in (PHP/Python/Ruby). It&#8217;s awkwardly stuck in the middle, and doesn&#8217;t do either well. If you <b>need</b> performance that exceeds native PHP/Python capabilities (rare in the typical work place), use a C/C++ extension for the heavy lifting, and if that&#8217;s not enough, your app is at the top 1% of performance demand, and you need to use C/C++ directly.
</p>
<p>
I&#8217;ve heard the defendants of java claim that&#8217;s faster than C/C++, but fundamentally that&#8217;s not possible, since it&#8217;s a layer on top of C/C++. Yes, JIT this and caching that, but these add complexity, which violates <a href="/software/simplicity-in-software-design">my #1 rule of software design</a>, and if you added those same JIT and caching layers to C/C++, they would be even faster.
</p>
<p>
I will give Java the win in 2 areas of web based programming:</p>
<ol>
<li>Where development time and performance <i>does not matter</i>, and data integrity is the absolute most important factor. For example, stock trading and banking sites. If I was asked to build <a href="http://www.etrade.com">E*trade.com</a>, I would use Java and Oracle instead of PHP and MySQL. It would take 5 times longer to do everything, and hardware/software costs would be 10x more, and the web site would be slower, but it would be the most robust solution.
</li>
<li>Where development time and performance <i>does not matter</i>, and there are advantages in maintaining advanced "state" information with transactions and rollbacks. For example - online poker sites and <a href="http://www.ticketmaster.com">ticketmaster.com</a> (advanced reservationing). I&#8217;m sure someone&#8217;s done that using Ajax, but I wouldn&#8217;t trust money flowing over such a system, and I&#8217;d recommend Java.
</li>
</ol>
<p>For the other 99.9% of web applications, scripting languages or C/C++ is a better choice, and the complexity that Java introduces is despicable, and in my opinion, making the choice for Java is doing a disservice to your company in terms of cost (both development time and hardware).
</p>
<p>
Show me a web application that scales well in Java, and I&#8217;ll rewrite it for in in PHP in half the time and it will be twice as fast and one more "9&#8243; in availability. If it&#8217;s still not fast enough, it needs to be done in C.
</p>
<p>
I am not always popular with this argument. Quite a few of my developer peers, whom I respect, have strong pro-java arguments. I have a bet with one of these Java ninny&#8217;s - I think that <b>Java will be less prevalent in 5 years</b> than it is now, because of it&#8217;s excels-at-nothing nature. There is a bottle of expensive tequila riding on this, so I expect to be right. We&#8217;ll see. <img src='http://www.techyouruniverse.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/software/php-vs-java-vs-cc-for-web-applications/feed</wfw:commentRss>
		</item>
		<item>
		<title>Google Canonical Href - with Mediawiki</title>
		<link>http://www.techyouruniverse.com/wikia/google-canonical-href-with-mediawiki</link>
		<comments>http://www.techyouruniverse.com/wikia/google-canonical-href-with-mediawiki#comments</comments>
		<pubDate>Fri, 13 Feb 2009 18:18:49 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[mediawiki]]></category>

		<category><![CDATA[seo]]></category>

		<category><![CDATA[wikia]]></category>

		<category><![CDATA[google canonical href]]></category>

		<category><![CDATA[google canonical href mediawiki extension]]></category>

		<category><![CDATA[google canonical tag]]></category>

		<guid isPermaLink="false">http://www.techyouruniverse.com/wikia/google-canonical-href-with-mediawiki</guid>
		<description><![CDATA[It&#8217;s time to unwind the giant mess of 301&#8217;s, meta tag, and robots.txt hacks that we have in place &#8212; all aimed and eliminating "duplicate" content for search engines. We now have a simple way to tell search engines what the canonical representation of a url. That&#8217;s the promise of the new canonical tag, and [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time to unwind the giant mess of 301&#8217;s, meta tag, and robots.txt <i>hacks</i> that we have in place &#8212; all aimed and eliminating "duplicate" content for search engines. We now have a simple way to tell search engines what the canonical representation of a url. That&#8217;s the promise of the new canonical tag, and I think it will work. Here&#8217;s the syntax:<br />
&lt;link type="canonical" href="/the/trusted/url/of/the/page"&gt;</p>
<p>
More info here:<br />
<a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html</a>
</p>
<p>
And note that it is also supported by <a href="http://ysearchblog.com/2009/02/12/fighting-duplication-adding-more-arrows-to-your-quiver/ ">Yahoo!</a> and <a rel="nofollow" href="http://blogs.msdn.com/webmaster/archive/2009/02/12/partnering-to-help-solve-duplicate-content-issues.aspx">MSN</a>.
</p>
<p>
Why am I so excited about it? Because I implemented it at <a href="http://www.wikia.com">Wikia</a>, who was Google&#8217;s "trusted user" (note that Google mentions <a href="http://starwars.wikia.com">starwars.wikia.com</a> as one of their examples)
</p>
<p>
Mediawiki has a problem with duplicate content. First, it has "soft" redirects, where two articles with different urls can point to the same content (which Google labels as "duplicates"). I had previously written extensions for Mediawiki that turn these into "hard" redirects (by issuing a Location: header with a 301 redirect). This showed a positive uplift for SEO, but it always felt like a hack. The canonical tag is a far more elegant solution, and improves performance by reducing 301&#8217;s.
</p>
<p>
Second, there are many entry points into an article in mediawiki:</p>
<pre>
/wiki/Article_Name
/wiki/index.php/Article_Name
/wiki/index.php?title=Article+Name
/wiki/Article_Name?action=view
</pre>
<p>
All of the above urls will produce the *exact* same content in Mediawiki, but search engines will treat them as different urls, which splits page rank and may introduce the infamous <a href="http://www.google.com/search?client=safari&#038;rls=en-us&#038;q=seo+duplicate+content&#038;ie=UTF-8&#038;oe=UTF-8">duplication penalty</a>.
</p>
<p>
Both of these problems can be easily solved with the new canonical tag, and it&#8217;s quite elegant.
</p>
<p>
I&#8217;ve written a new Mediawiki Extension for supporting the google canonical href tag at Wikia. It&#8217;s open source, and available at <a href="https://wikia-code.com/wikia/trunk/extensions/wikia/CanonicalHref/CanonicalHref.php">Wikia&#8217;s SVN repo</a> for all to use. I will be contributing it to the core mediwiki software as an extension soon. <b>Update</b>: Now available in the <a href="http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/CanonicalHref/CanonicalHref.php">Wikimedia SVN repo</a>
</p>
<p>
This is a big help outside of Mediawiki as well, take "printable" pages as an example, or even urls with extra parameters in the query string - the canonical tag can funnel all of the page rank into one version of the page.
</p>
<p>
Kudos to Google (esp. Matt Cutts), Yahoo!, and MSN on coming together to provide a clean and elegant solution to help fight the duplicate content problem.</p>
<p><b>UPDATE: I believe this is part of Mediawiki core now, so the extension shouldn&#8217;t be necessary</b></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyouruniverse.com/wikia/google-canonical-href-with-mediawiki/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
