<?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>Apreche.net</title>
	<atom:link href="http://www.apreche.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.apreche.net</link>
	<description>One geeks thoughts on the geekeries of the world.</description>
	<lastBuildDate>Tue, 10 Aug 2010 23:28:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>How to Play Doom</title>
		<link>http://www.apreche.net/how-to-play-doom/</link>
		<comments>http://www.apreche.net/how-to-play-doom/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 23:28:03 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1239</guid>
		<description><![CDATA[Just yesterday I read this fascinating piece by Stephen Totilo of Kotaku entitled The First Time I Played Doom Was Yesterday.  It&#8217;s really crazy that in this world, even a video game journalist with an incredibly long tenure could have &#8230; <a href="http://www.apreche.net/how-to-play-doom/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just yesterday I read this fascinating piece by Stephen Totilo of Kotaku entitled <a href="http://kotaku.com/5608100/the-first-time-i-played-doom-was-yesterday">The First Time I Played Doom Was Yesterday</a>.  It&#8217;s really crazy that in this world, even a video game journalist with an incredibly long tenure could have completely missed playing Doom, one of the most important video games in history.</p>
<p>What fascinated me even more was that he had trouble actually getting the game to work. Even if this day and age when people can run Doom on everything from iPods, pocket watches, to microwave ovens, it&#8217;s very strange that someone would have trouble running it on desktop x86 PC. Because I think it is so important that every person, and especially every gamer, should at least have experience with this game, I present to you a tutorial on how to play Doom.</p>
<p>The first step is acquiring the game. This isn&#8217;t really as obvious as you might think. You see, the Doom engine has been open source for a very long time. The only part that is not free and open source is the game data itself. The maps, the art, the textures, all those things are still commercially owned by Id software, and you must pay money to acquire them legally.</p>
<p>The Doom engine stores all of those things in WAD files. An entire game for the Doom engine is stored in a single WAD file. You can, of course, acquire them illegally. If you don&#8217;t pay money, but want to stay legal, you can only acquire the Doom demo version WAD files. Personally I suggest you go on Steam and purchase the id super pack. It&#8217;s a great deal that will also give you Quake, Quake 2, Commander Keen, and many other games which are required playing. Make sure after you purchase the games that you install them in Steam to get the files downloaded to your machine. It should take a matter of seconds on a fast connection.</p>
<p>Now, if you are running Windows, you could attempt to play these games directly in Steam. This will launch the original Doom engine using DOSBox. This might work for you (it does for me), or it might not (it didn&#8217;t for Totilo). Even if it works, it is not a great experience. This engine was designed for DOS, and it shows its age on modern machines. It will run at a really crappy resolution, and it has limited options to make things any easier on you. Stick with it if you are a purist, but I&#8217;m betting you aren&#8217;t.</p>
<p>I do suggest that if it works for you, you should play classic controls mode for a few minutes. This way you can learn what Doom was like in the olden days. You had to hold a button down to enable strafing. You couldn&#8217;t aim up or down. You couldn&#8217;t jump. You had to hold a button to run. You couldn&#8217;t really mouse look. It&#8217;s important to know what it was like so you can fully appreciate the great luxuries we have today.</p>
<p>Now that you know what it was like all those years ago, you don&#8217;t need to suffer like that anymore. Whether you are running Windows, Mac, or Linux, grab yourself a free copy of the <a title="Doomsday Engine" href="http://dengine.net/">Doomsday Engine</a>. Because the Doom engine is open source, many people have rewritten the entire thing to work well on modern computers. Doomsday engine is just one of these, but it has worked very well for me on all three platforms. I recommend it.</p>
<p>Installing the Doomsday engine is pretty straight forward. The only tricky part is that you have to tell it which Doom engine games you own, and tell it the locations of the WAD files. Check off the boxes for every game you have purchased on Steam. If you purchase the id complete pack, that&#8217;s every game except for the demo versions. The WAD files should be located in c:\Program Files (x86)\Steam\steamapps\common\GAMENAME\base\FILENAME.WAD</p>
<p>Just replace GAMENAME with whatever game you are looking for, such as ultimate doom, and replace FILENAME with the filename of the wad file that Doomsday is looking for. The only thing that might be tricky is that the Hexen: Deathkings of the Dark Citadel game actually requires two WAD files. Don&#8217;t worry, they&#8217;re both in the correct folder. If you are running a 32 bit Windows, you can leave off the (x86).</p>
<p>Once you&#8217;ve told Doomsday which games you have, and where the WAD files are, you&#8217;re in modern PC gaming territory. Doomsday&#8217;s configurations are almost exactly like those on every other PC game you are used to. You can select modern resolutions, completely configure your controls, go nuts. You can even do things like add in a mini map that wasn&#8217;t in the original game. The world is your oyster.</p>
<p>Just remember when you&#8217;re playing this old game with the new engine that it&#8217;s not the same as the original. You couldn&#8217;t jump, look up or down, strafe without an extra button, or change weapons with the scroll wheel. It&#8217;s an impure experience, but it&#8217;s good enough for you to learn about the Doom family of games. Most importantly it works, and it won&#8217;t have a person used to modern games quitting in frustration after a few minutes.</p>
<p>One more suggestion. In Totilo&#8217;s article he mentions not finding a shotgun for quite some time. The reason is that he was playing on a sissy difficulty level. He&#8217;s probably too young to die. I suggest you turn up the difficulty, otherwise you really aren&#8217;t going to learn anything. Nightmare is supposed to be nearly unbeatable, but you probably want at least hurt me plenty. If you do that, you&#8217;ll probably be seeing a shotgun toting bad guy right away.</p>
<p>One more hint. If you aren&#8217;t taking out one imp, or two or three regular guys, with one blast from the shotgun, then you&#8217;re doing it wrong.</p>
<p>Prepare to meet your Doom.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/how-to-play-doom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Change the Computer, Change Yourself</title>
		<link>http://www.apreche.net/dont-change-the-computer-change-yourself/</link>
		<comments>http://www.apreche.net/dont-change-the-computer-change-yourself/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 17:03:12 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1232</guid>
		<description><![CDATA[Many long years ago, I used to be a Gentoo user. Today I run Windows 7 on every computer I own, and I use default Ubuntu installations on servers and in Virtual machines for development. I went from running one &#8230; <a href="http://www.apreche.net/dont-change-the-computer-change-yourself/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Many long years ago, I used to be a Gentoo user. Today I run Windows 7 on every computer I own, and I use default Ubuntu installations on servers and in Virtual machines for development. I went from running one of the hardest core Linux distros on the bare metal to not running Linux on bare metal at all. That&#8217;s a pretty big change as far as nerds are concerned. What happened?</p>
<p>My first experience with Linux was in the very late &#8217;90s. The first time I saw it, some kids at the <a title="Camp Watonka" href="http://www.watonka.com/cgi-local/wpage">nerd summer camp</a> I went to were running it. I didn&#8217;t use it, and I didn&#8217;t learn it. Yet, as with all things related to computers, I was curious. In high school a friend lent me a Corel Linux CD-ROM. I tried with no avail to make it work on the family computer (486 100mhz). I didn&#8217;t realize I had to boot from the CD-ROM, and I don&#8217;t think that computer even had that capability.</p>
<p>It wasn&#8217;t until 1999 that I downloaded Red Hat ISOs over my 56k dial-up connection. It was the first computer I ever built and personally owned, a Pentium /// 450mhz. I was able to dual boot Red Hat 6.0 and Windows 98SE. The thing is, I soon deleted it. It didn&#8217;t work with my USB dial-up modem. Linux was apparently just a different desktop with some different looking applications, and bad hardware support.</p>
<p>It wasn&#8217;t until I got to college that I actually learned something. All the computer science labs ran Solaris, and I started to learn UNIX for real. I soon discovered Mandrake Linux. It actually worked with all my hardware, even my weird PCI IDE controller. Most importantly, I learned to SSH into the Solaris systems to do my school work, and even use X11-forwarding.</p>
<p>At this point I was hooked. I was running Linux as the primary OS in a dual boot system. I only loaded up Windows (2000) for PC gaming. The thing is, hardware support was still a problem. My hardware didn&#8217;t all work perfectly, and Mandrake didn&#8217;t update quickly enough to give me the updates that fixed those problems. That&#8217;s when I had the distro rodeo and picked Gentoo.</p>
<p>I tried every major Linux distro at the time, and BSD as well. None of them really impressed me, and Gentoo didn&#8217;t even seem to work. Yet, I kept going back to it. The splash screen was so good looking, the community forums were so helpful, and the documentation was so great, that I kept at it. Eventually I came to realize that yes, I actually had installed it properly multiple times over, but unlike other Linux distros X was not a default part of the system. Booting into a command line wasn&#8217;t a failure, it was success.</p>
<p>From then on I was Gentoo crazy. I would constantly be rebuilding packages updating packages, even reinstalling the whole system. I would constantly be tweaking and twisting system settings to see what they did. Mostly I messed around with the user interface. I even fell into using fvwm, the most customizable X window manager. By default it sucked, but if you configured it, you could go beyond anything else in existence. Boy, did I ever configure it.</p>
<p>Late in my college years, and after graduation, I was soon employed. My free time evaporated. I was spending a lot of time commuting to work. My iPod became a lot more important than my desktop. I needed Windows to run iTunes, and to play games. I had little desire to code outside of work. Yet, I still kept a dual booted Linux because it was nicer to SSH into my blog/podcast server from that, than from PuTTY.</p>
<p>By then, I was rocking Ubuntu. It just worked. It installed in 15 minutes, not three days. I didn&#8217;t need to jump through any hoops to get my NVidia card working. I no longer needed to edit the X configuration to get dual monitor support and proper resolutions. I still had a natural inclination to customize the user interface, but it was kept at a minimum simply due to the fact I had no free time for it.</p>
<p>Eventually I was running Ubuntu and Windows. Then my desktop was dual booted, but my laptop was just Ubuntu. And then when I discovered VirtualBox, and it became good enough, I ran Ubuntu on the desktop in a virtual machine, and only had Windows installed on the bare metal. And just recently I replaced that laptop with a new one. This new laptop is so powerful that it too can run Linux in a virtual machine. And thus, my days of installing Linux are over. I wish I could run Linux in the bare metal and Windows in a virtual machine. The thing is that I use Windows for gaming, and VMs are not so great for that. I use Linux for web development, and running it in a VM makes no difference for that at all.</p>
<p>You see, in college I had a ton of free time. I spent that free time working on my computer. I do not regret spending my time in that manner. Most of the Linux skills I use every single day I learned from rocking Gentoo. Even so, I can now look at my old self and laugh. I was not unlike a mechanic who always worked in the garage and never drove anywhere. I spent all that time trying to customize the computer to my preferences, that I hardly ever computed. That&#8217;s why I don&#8217;t have my own software business. While I was compiling and configuring other people&#8217;s code, the other guys were writing that code.</p>
<p>Thankfully I learned my lesson, and I hope you can learn the same. It is often quite difficult to change computers. You can spend hours just customizing keyboard shortcuts, let alone other settings. Then, as soon as you use a different computer, all of your customizations are gone. Even if your customization can increase your efficiency, is it really worth it if it takes you an hour to set it up?</p>
<p>Take it from someone who has been there. Instead of changing the computer, change yourself. It&#8217;s easy to change yourself, you have 100% full control. You don&#8217;t even need to spend time looking up how to do it. Get used to the default keyboard shortcuts instead of making your own. Learn to live with the default settings. Once you do, you can be just as efficient as you would have been with your customizations. Better still, you will be able to sit at any computer and get going immediately without being frustrated at a different setup.</p>
<p>It used to be that my computer felt like home, and every other computer felt like a foreign country. Thanks to cloud computing, any computer with an Internet connection and a web browser can become your home as quickly as you can login. You no longer have to spend a day installing and configuring software after you have a fresh OS install. You just have to install your favorite browser, and maybe one or two other things like Steam or iTunes.</p>
<p>Learning default settings only makes this even easier. I truly feel at home on absolutely any computer I sit in front of. I am familiar with all three major OSes and all the major browsers. I still do not prefer OSX, which I am forced to use at work, but I know it. I&#8217;ve also made vim my text editor of choice, and I use it with a very default configuration. Vim or vi is already installed on almost every system, I can easily use any server I come across. People who are perhaps used to graphical editors, like Eclipse, may have some slight difficulty if they have to SSH into a server and fix something.</p>
<p>If you get frustrated behind the wheel of any car other than your own, then do you really know how to drive? A real driver can sit in any driver&#8217;s seat and be off to the races after a quick seat and mirror adjustment. That&#8217;s not to say you should never spend time under the hood. It&#8217;s very important to know how things work, and to be able to fix them when they go wrong. Just don&#8217;t spend so much time under there that you never leave your garage.</p>
<p>You won&#8217;t get very far in this world by working on your computer. If you want to make it somewhere, you have to use the computer to compute. Start now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/dont-change-the-computer-change-yourself/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Presenting Presentoh, King of Presentations</title>
		<link>http://www.apreche.net/presenting-presentoh-king-of-presentations/</link>
		<comments>http://www.apreche.net/presenting-presentoh-king-of-presentations/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 01:28:17 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1227</guid>
		<description><![CDATA[I do a lot of panels at various conventions. When I do these panels, I need some sort of visual aid. For this I usually turn to Powerpoint, and its alternatives. The thing is, these just plain suck, at least &#8230; <a href="http://www.apreche.net/presenting-presentoh-king-of-presentations/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I do a lot of panels at various conventions. When I do these panels, I need some sort of visual aid. For this I usually turn to Powerpoint, and its alternatives. The thing is, these just plain suck, at least for my purposes. They have a zillion features that allow people to make really bad presentations. Meanwhile, the feature that I really want, which is video, effectively doesn&#8217;t work.</p>
<p>It dawned on me that because of HTML5, it should actually be possible to create an HTML presentation with video that is seamless. Today I went ahead and prepared a video-centric panel for Connecticon, and I did it all in HTML5. I realized afterwards that I should build this into a tool, so that others can use it as well. Hence, Presentoh was born.</p>
<p><a title="Presentoh" href="http://github.com/Apreche/Presentoh">http://github.com/Apreche/Presentoh</a></p>
<p>The idea is really simple. There are only four kinds of slides I think you should be using: title slides, bulleted lists, videos, and images. I built a simple HTML template which could handle all four types of slides. I made a brain-dead simple CSS style for it which entails white text on black background. The black background also looks more professional because photos and videos really stand out. Also, it looks better when using a projector in a dark room because you can&#8217;t see the borders of the projection.</p>
<p>The only catch was that I wanted to use my Logitech Cordless Presenter. I went out and found jquery.hotkeys, which allowed me to bind any key on the keyboard to move between slides by redirecting in JavaScript. Problem solved.</p>
<p>All you have to do to use Presentoh is create a file containing JSON which defines all the slides in your presentation. Then you just run the presentoh.py script, tell it which json file you want to use, and it spits out all the HTML files for your presentation. Find the first slide in your presentation, open it in your browser, go full screen, and rock and roll.</p>
<p>I think it&#8217;s pretty awesome that while this tool is really hacky, and doesn&#8217;t have any error checking, it still beats out Google Docs, Powerpoint, Open Office, and all the rest in terms of how it handles video. There are some slight catches, but nothing that can&#8217;t be worked around. For example, you have to make sure all of your videos are the right codec for the browser you are using. My H.264 videos obviously didn&#8217;t work in Firefox.</p>
<p>Also another issue is that there is no way to automatically make an HTML5 video go full screen. If you&#8217;re wondering why, <a title="HTML5 full screen video" href="http://stackoverflow.com/questions/1055214/is-there-a-way-to-make-html5-video-fullscreen">the answer is on stackoverflow</a>. Therefore you have to manually specify the height and/or width of each video depending on its aspect ratio, and the resolution you will be presenting in. This is to prevent videos from going off the edges of the screen if they are too wide or too tall, and to prevent aspect ratios from being broken.</p>
<p>All the rest of the information can be found in the README file. I hope Presentoh helps somebody out there with their presentation needs. Enjoy.</p>
<p><!--79ae0a991e384da09696961d2702f294--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/presenting-presentoh-king-of-presentations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GitHub Suggested Workflow</title>
		<link>http://www.apreche.net/github-suggested-workflow/</link>
		<comments>http://www.apreche.net/github-suggested-workflow/#comments</comments>
		<pubDate>Thu, 06 May 2010 02:28:31 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1198</guid>
		<description><![CDATA[The thing that&#8217;s great about Git is that it allows the user to pick any work flow they desire. The problem is that it allows the user to pick any work flow they desire. Thus, users who don&#8217;t know exactly &#8230; <a href="http://www.apreche.net/github-suggested-workflow/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The thing that&#8217;s great about Git is that it allows the user to pick any work flow they desire. The problem is that it allows the user to pick any work flow they desire. Thus, users who don&#8217;t know exactly what they want to do, are confused as to what they should do. Github makes things even worse, as it confuses users with lots of extra information.<span id="more-1198"></span></p>
<p>I have recently started a new project, Project D.O.R.F., and many of the other developers are new to Git. Thus, they have been making some mistakes and not utilizing Git to its fullest. Thus, I have created this guide using Project D.O.R.F. as an example. As you become more experienced with Git, you can figure things out on their own. Until then, this flow will get you a very long way.</p>
<p>Assuming you have Git installed properly, the first thing you need to do is configure Git. It is done like so.</p>
<p><code>$ git config --global user.name "Your Username"<br />
$ git config --global user.email "your@email.com"</code></p>
<p>These two commands will configure your username and e-mail address for every Git repository you work on with that user account on that machine. Every commit in a Git repository has an author, so this is necessary to see which people are responsible for what work. There is also a git blame command that can show who is responsible for each individual line of code in a repository. If these settings are not configured, those features will not work. Alternatively, you can change these settings on a per-repository basis, but I&#8217;ve never had a need for it.</p>
<p>The next step is to go to GitHub and create a fork. First you go to <a href="http://github.com">http://github.com</a> and register for it, as you would any other web site. There is no need to pay any money unless you would like to have private repositories that nobody else can access. Next go to the GitHub page for the project you would like to work on, in this case it is <a href="http://github.com/Apreche/Project-DORF/">http://github.com/Apreche/Project-DORF/</a>. Then, click the fork button. This will create a copy of the project in your GitHub account. You can see that lackofcheese has a fork of the project at <a href="http://github.com/lackofcheese/Project-DORF/">http://github.com/lackofcheese/Project-DORF/</a>.</p>
<p>Now that you have your own personal fork of the project, you need to actually get the code onto your local machine to begin working on it. This is done with the git clone command. Remember, you want to clone your forked repository, not the original one. You also want to clone using the SSH method. Follow the directions on GitHub for configuring your SSH key.</p>
<p><code>$ git clone git@github.com:yourusername/Project-DORF.git</code></p>
<p>This command will create a folder named Project-DORF which contains a clone of the repository. If you would like to put the repository into a different folder, feel free to move or rename it. Alternatively, you can do something like this which will put the repository in a directory named foobar</p>
<p><code>$ git clone git@github.com:yourusername/Project-DORF.git foobar</code></p>
<p>So now it&#8217;s time to get to work. Go into the folder and take a look at the files, and learn the project. You&#8217;ve got to read code before you can write it.</p>
<p><code>$ cd Project-DORF</code></p>
<p>You&#8217;ve read the code, and you&#8217;re ready to make some changes, but wait! What branch are you on? Let&#8217;s check.</p>
<p><code>$ git branch<br />
* master</code></p>
<p>The master branch, you don&#8217;t want to be working directly on the master branch. Do all of your work on separate branches. And if you are working on more than one task, put each task in a separate branch. For example, let&#8217;s say you are planning to improve performance of the renderer, but also fixing a bug in a path-finding algorithm. Don&#8217;t do those things on the same branch. Do them separately. That is the power and magic that Git has to offer you, so there&#8217;s no point if you don&#8217;t use it. We&#8217;re going to fix a bug on a separate branch, let&#8217;s go.</p>
<p><code>$ git checkout -b bugfix<br />
$ git branch<br />
* bugfix<br />
master</code></p>
<p>Perfect, we have a new branch. Now, start coding! Are you done coding? Time to commit. Let&#8217;s pretend we edited game.py, and we made a new file foo.py.</p>
<p><code>$ git status<br />
# On branch bugfix<br />
# Changed but not updated:<br />
#   (use "git add <file>..." to update what will be committed)<br />
#   (use "git checkout -- </file><file>..." to discard changes in working directory)<br />
#<br />
#	modified:   game.py<br />
#<br />
# Untracked files:<br />
#   (use "git add </file><file>..." to include in what will be committed)<br />
#<br />
#	foo.py<br />
no changes added to commit (use "git add" and/or "git commit -a")</file></code></p>
<p>It seems like git recognizes that we have a new file, but it&#8217;s untracked. It also recognizes we have modified game.py, but it&#8217;s not updated yet. You can see that there are instructions right there on the screen as to how to commit our changes. We can checkout a file to reset it to its pre-edited state. This command will undo our changes to game.py.</p>
<p><code>$ git checkout -- game.py</code></p>
<p>But we want to commit our changes, which means adding them first. We can explicitly add the files with the git add command.</p>
<p><code>$ git add game.py<br />
$ git add foo.py</code></p>
<p>Then we can commit the changes with the git commit command.</p>
<p><code>$ git commit</code></p>
<p>Let&#8217;s say you only want to commit some of the changes, but not others? That&#8217;s perfectly fine. Just add the files you want to commit, and don&#8217;t add the files you don&#8217;t want to commit. Protip: Use the special commands like:</p>
<p><code>$ git add -i<br />
$ git add -p</code></p>
<p>to interactively select line-by-line which changes you want to add. If you add two bits of code to a file, and only want to commit one of them, then only commit one of them. Nothing is stopping you.</p>
<p>The thing is, most of the time you are working, you aren&#8217;t making new files. You are just editing existing ones, and you want to commit all of your changes. In these cases use this shortcut command.</p>
<p><code>$ git commit -a</code></p>
<p>This will automatically add and commit all changes to files that already exist. You will still need to explicitly use the git add command to add in any newly created files. You will also need to use the git rm command to remove files. If you move or rename a file, just be sure to git add the new one and git rm the old one in the same commit, and git will figure it out, like magic. git rm is just like git add, so you have to commit afterwards. You should also use commands such as <code>git add -A</code> and <code>git add -u</code> to easily add many files at once. See the official Git documentation for more on that.</p>
<p>You&#8217;ve got your code in a separate branch from master, and you&#8217;ve committed your changes. Now it&#8217;s time to share them with the world. But first, you&#8217;ve got some work to do. While you were working, other people were also on the job. There is probably new code out there, and you have to make sure that your code plays nicely with it. The first thing you have to do is to add the canonical repository for the project as an upstream source. You only have to do this command once per clone.</p>
<p><code>$ git remote add upstream git://github.com/Apreche/Project-DORF.git</code></p>
<p>You don&#8217;t have to call it upstream, you can call it whatever you like, but upstream is an appropriate name. Regardless, this command creates the hook you need to be able to get updates from the &#8220;lead&#8221; repository. How do you get those updates? Let me tell you.</p>
<p>There are three commands you have to be concerned with here: fetch, merge, and pull. Fetch will get the new patches from the remote repository. Merge will merge those patches into your current branch. Pull does both at the same time. Let&#8217;s do it.</p>
<p>Go back to the master branch.</p>
<p><code>$ git checkout master</code></p>
<p>Fetch and merge changes from the upstream master into your local master.</p>
<p><code>$ git pull upstream master</code></p>
<p>Ok, so now your master branch has all the latest goodies that everyone else has been working on. But are your changes compatible? Let&#8217;s find out. </p>
<p>Switch back to your bugfix branch.</p>
<p><code>$ git checkout bugfix</code></p>
<p>Rebase!</p>
<p><code>$ git rebase master</code></p>
<p>Rebase can be a scary thing, but it&#8217;s not scary if you are careful. In this case, what we are using it for is pretty simple. It takes your changes that you have made on your bugfix branch, and sets them aside. Then it takes all the new goodies from the master branch, and puts them on your bugfix branch. Then it takes your changes and puts them back on top of that. If there is a conflict, it will provide you with instructions on how to fix it. Git has three different merging algorithms, though, so that rarely happens. Now that you are all rebased, test your branch and make sure it works. If changes are necessary, go back a few steps. Add and commit the changes. Make sure upstream doesn&#8217;t have any new changes. If it does, rebase again, and so on. Eventually, you will have a bugfix branch worthy of sharing with the world. Let&#8217;s do it.</p>
<p><code>$ git checkout master<br />
$ git merge bugfix<br />
$ git push</code></p>
<p>You&#8217;ve now pushed your changes out to your GitHub page. Congratulations. Now the rest of the world can go to your page and see those changes. Other people working on the project might even take your changes and start fiddling with them themselves. Don&#8217;t worry about that, though. You are interested in getting your changes upstream into the canonical repository. So go back to the GitHub web site for your repository, and click the pull request button. Send a pull request out to your collaborators, in this case Apreche, and they will be notified that your changes are ready for merging. Wait patiently, and if your patches are good, they will be part of the upstream. More information on pull requests is available at <a href="http://github.com/guides/pull-requests">http://github.com/guides/pull-requests</a></p>
<p>Now let&#8217;s get advanced for a second. Git really doesn&#8217;t believe in the idea of a canonical repository. It&#8217;s just a concept we use to make things easier for ourselves. Someone coming to GitHub for the first time is going to see 10 repositories with similar code, how do they know which one is the right one? This is why picking one to be <b>the</b> one is a good idea. However, since there really is no such thing, you can actually do some fancy stuff. You might want to use the git remote add command to add links to some of the other contributors on the project. For example, lackofcheese might do this to be able to fetch amelim&#8217;s changes that are not yet available at upstream.</p>
<p><code>$ git remote add amelim git://github.com/amelim/Project-DORF.git<br />
$ git fetch amelim<br />
$ git merge amelim/master<br />
</code></p>
<p>It also might be a good idea to merge different contributor&#8217;s patches into separate local branches which you then merge together. Never be shy about making a ton of local branches. You can delete the ones you are no longer using to clean up cruft, and the cost of making them is very minimal. Don&#8217;t hold back, branch like a mad man. Here&#8217;s an example of how I would merge changes from two other contributors with my code and then push it out on the master branch. When I was done with this, I would send out a pull request.</p>
<p><code>$ echo "These remote add commands only need to be done once ever per clone"<br />
$ git remote add ameleim git://github.com/amelim/Project-DORF.git<br />
$ git remote add lackofcheese git://github.com/lackofcheese/Project-DORF.git<br />
$ git checkout -b mycode<br />
$ git add somefiles<br />
$ git commit<br />
$ git checkout -b cheese<br />
$ git fetch lackofcheese<br />
$ git merge lackofcheese/master<br />
$ git checkout -b melim<br />
$ git fetch amelim<br />
$ git merge amelim/master<br />
$ git rebase cheese<br />
$ echo "The melim local branch now has amelims changes merged with lackofcheese's"<br />
$ git checkout mycode<br />
$ git rebase melim<br />
$ git checkout master<br />
$ git merge mycode<br />
$ git push<br />
$ echo "mycode on top of amelim's on top of lackofcheese's pushed out to the world"<br />
$ echo "let's delete the branches we are done with<br />
$ git branch -D mycode<br />
$ git branch -D cheese<br />
$ git branch -D melim</code></p>
<p>When you execute the rebase commands, you may be prompted to fix conflicts. If so, just follow the directions on the screen carefully. They usually involve editing the files in question with your editor to fix the appropriate sections by hand, re-adding, and re-committing the changes. It doesn&#8217;t happen often, and it&#8217;s not nearly as hard as it is to fix with non-distributed version control systems. Just make sure to test your code after resolving he conflicts.</p>
<p>That pretty much covers my basic work flow. Just to reiterate. Make separate local branches. Do work on them. Pull (fetch and merge) the upstream changes to your master branch. Rebase your changes on top of master then merge them into master before pushing them out to the world. If necessary, pull the changes of other collaborators into separate branches, and rebase/merge their changes together. Then take the sum of those changes and treat them as you would your own. Rebase them on top of the upstream master, merge them in, and push them out. </p>
<p>I have followed this work flow for quite some time, and it has served me well. Feel free to ask any question. Happy coding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/github-suggested-workflow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPad: Why Must We Be Forced To Choose?</title>
		<link>http://www.apreche.net/ipad-why-must-we-be-forced-to-choose/</link>
		<comments>http://www.apreche.net/ipad-why-must-we-be-forced-to-choose/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 17:00:26 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1193</guid>
		<description><![CDATA[There is, of course, the expected hoo-hah about the iPad. The rage between those who love it and those who can&#8217;t stand its proprietary nature is in full swing. Yet, I am constantly in awe of the fact that nobody &#8230; <a href="http://www.apreche.net/ipad-why-must-we-be-forced-to-choose/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There is, of course, the expected hoo-hah about the iPad. The rage between those who love it and those who can&#8217;t stand its proprietary nature is in full swing. Yet, I am constantly in awe of the fact that nobody seems to notice the obvious and simple cause of this clash.<span id="more-1193"></span></p>
<p>It all comes down to one thing. Why must we be forced to choose between a good user experience and openness? How come we can&#8217;t have both? Every open platform has a god-awful user interface, relatively speaking. All Apple products, especially the portable devices, have a great user experience. I don&#8217;t personally like OSX, but I can&#8217;t deny that it gets a lot of things right that everyone else gets wrong. Font rendering is a good example.</p>
<p>People who don&#8217;t care about openness, or aren&#8217;t aware of the problem, are thrilled. They get everything they want. Hooray for them. People who do care about openness are enraged. Why are they mad about something they aren&#8217;t going to buy or use? This is easy to explain.</p>
<p>They are mad because they see an unfulfilled potential. Think of a screwdriver. A typical screwdriver can screw any screw that is of appropriate size. Imagine a copper screw and a steel screw that are otherwise identical. For some reason the screwdriver works on the steel screw but not the copper one for no apparent reason. I think most people would consider such a screwdriver to be broken.</p>
<p>A device like the iPad has all the hardware necessary to do a billion amazing things. However, it only does a few thousand things. Why? Because Steve Jobs says so. Who is he to tell me what I can and can&#8217;t do with this thing that I have bought? If you compare it to the screwdriver example, you can say that the iPad/iPhone/iPod are all broken. Broken technology enrages the geek, especially when they can&#8217;t fix it.</p>
<p>The nerd goes out to get a different screwdriver that is not broken. All these other screwdrivers are great. They work on all screws, as expected. However, they all have really uncomfortable handles. Every single screwdriver out there which is not broken is really uncomfortable. There is not a single exception.</p>
<p>Why can&#8217;t someone just take the good screwdriver and stick it on the comfortable handle? It&#8217;s so simple. There is no law of physics preventing it from happening. It&#8217;s 100% possible, but for whatever reason it just doesn&#8217;t exist. Every single screwdriver on the shelf is either broken or uncomfortable. The geeks can not be satisfied. Their rage multiplies exponentially.</p>
<p>This is the source of the rage against Apple. Apple seems to be the only company capable of making screwdrivers with comfortable handles, but their screwdrivers can&#8217;t do half of the things that other cheaper screwdrivers can do. Meanwhile, all those other cheaper screwdrivers give you blisters when you use them. I&#8217;m getting angry just thinking about this imaginary screwdriver scenario. </p>
<p>There are only two solutions I see. One is that Apple opens up. Apple is clearly capable of open sourcing things. They could just open their portable hardware and software, and that would be that. Obviously it will never happen, but I don&#8217;t understand why. If Apple did it, they would have immediate complete market dominance. If they had a comfortable and fully featured screwdriver, all competition would crumble instantly. There would be no reason to buy any competitor&#8217;s product.</p>
<p>The other solution is for the open source people to just shamelessly start ripping Apple off. If we can&#8217;t invent something better, which we clearly can not, then let&#8217;s reverse engineer and straight-up steal all of Apple&#8217;s stuff. Take the screwdriver handle down to the metal shop, copy it exactly, and attach it to a real screwdriver. Patent laws my ass. Why should we settle for anything less than achieving our full technological potential? Patents are supposed to help, not hinder, progress. If they are hindering, let&#8217;s just ignore them.</p>
<p>Google, I&#8217;m looking at you. You must know that Android&#8217;s UI sucks compared to iPhone. You have a jillion dollars. Just hire the best designers in the world, and get it done. What are you waiting for? You&#8217;re supposed to be a company of geniuses, why didn&#8217;t you just do this in the first place for Android 1.0? What can you possibly be thinking? What are all the non-Apple companies thinking? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/ipad-why-must-we-be-forced-to-choose/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Why Gaming Won&#8217;t Save The World</title>
		<link>http://www.apreche.net/why-gaming-wont-save-the-world/</link>
		<comments>http://www.apreche.net/why-gaming-wont-save-the-world/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 20:23:08 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1163</guid>
		<description><![CDATA[...being a virtuoso at World of Warcraft is like being a virtuoso at the player piano. <a href="http://www.apreche.net/why-gaming-wont-save-the-world/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.ted.com/talks/jane_mcgonigal_gaming_can_make_a_better_world.html">this TED Talk</a> Jane McGonigal presents the idea that gaming can be used to change the world. People are playing games for billions of hours. Kids growing up today spend so much time playing games, they are virtuosos at it. Therefore, we can use the incredible amount of skill they have built up and direct it towards world-changing activities for the betterment of everyone.</p>
<p><center><!--copy and paste--><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="446" height="326" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/JaneMcGonigal_2010-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/JaneMcGonigal-2010.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=799&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=jane_mcgonigal_gaming_can_make_a_better_world;year=2010;theme=art_unusual;theme=design_like_you_give_a_damn;theme=new_on_ted_com;theme=media_that_matters;theme=the_rise_of_collaboration;theme=what_s_next_in_tech;theme=a_taste_of_ted2010;event=TED2010;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><param name="src" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="bgcolor" value="#ffffff" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="446" height="326" src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" flashvars="vu=http://video.ted.com/talks/dynamic/JaneMcGonigal_2010-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/JaneMcGonigal-2010.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=799&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=jane_mcgonigal_gaming_can_make_a_better_world;year=2010;theme=art_unusual;theme=design_like_you_give_a_damn;theme=new_on_ted_com;theme=media_that_matters;theme=the_rise_of_collaboration;theme=what_s_next_in_tech;theme=a_taste_of_ted2010;event=TED2010;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" bgcolor="#ffffff" wmode="transparent" allowfullscreen="true"></embed></object></center>
<p>The talk itself is insightful, and the research Jane is doing at the <a href="http://www.iftf.org/">Institute For The Future</a> is very interesting. I especially enjoyed the part of the talk where she discussed Herodotus&#8217; story of the Lydians using dice games to ease famine possibly being true. It at least rings true considering the use of video games to distract ill people from their pain and suffering.</p>
<p>Regardless of that Jane&#8217;s talk seems to gloss over many obvious factors. Mainly she completely fails to deeply analyze the mechanics of the games themselves. The sad fact is that games can not change the world, at least not in the way she presents.</p>
<p><span id="more-1163"></span></p>
<p>In the talk, Jane says that in games people present the best version of themselves. Players will never quit until their goals are achieved. Not only that, but they give their strongest effort, and are ready and willing to collaborate. If you ignore the griefers and <a href="http://www.penny-arcade.com/comic/2004/03/19/">shitcockers</a> out there, this is largely true. What she doesn&#8217;t discuss very deeply are the reasons behind these behaviors.</p>
<p>The simple and obvious reason is that games have no true failure. If someone tries to be a hero in real life, and they fail, there are permanent negative consequences. In the real world, you risk losing your money, possessions, freedom, health, and the health of those you care for. It&#8217;s a dangerous world, and many mistakes can not be undone. This is the cause of the anxiety people feel in the real world that they do not have in the game world.</p>
<p>In the gaming world there is a reset button. Even if you fail, you can keep trying with no repercussions other than lost time. In Mario, you don&#8217;t feel much anxiety trying to jump over the gigantic pit because you have extra lives. If you&#8217;re down to your last life, then you actually do feel some anxiety because failure means having to start over from the beginning again. When games do actually have negative consequences for failure, players get upset and play something else.</p>
<p>I think the reason she misses this is because she focuses on World of Warcraft, a game with no consequences. Death isn&#8217;t even a real consequence in WoW, or other modern MMORPGs. It&#8217;s just a momentary obstacle that can be completely reversed. Take a look at some other games out there that actually have harsh consequences for failure. How about some old NES games that have no continues, passwords, or extra lives? How about Steel Battalion which would erase your save data if you failed to eject on time? These games are obviously ludicrously unpopular.</p>
<p>As for the topic of virtuosos and 10,000 hours of practice, I personally don&#8217;t buy it. Measures of talent are strictly relative. How many people out there have played over 10,000 hours of golf or tennis? Now how many Tiger Woods and Roger Federers are out there? How many people in South Korea have played that much Starcraft? What percentage of them are professionals? I know I personally have played many thousands of hours of video games, but you don&#8217;t see me sponsoring PC hardware like Fatal1ty. The first person to ever play the violin was a virtuoso in their time, though they would be terrible by today&#8217;s standards. Being a virtuoso simple means you are better than everyone else. Not everyone can be great. That&#8217;s what makes greatness great.</p>
<p>This fact directly interferes with the factor of epic purpose. Every person who plays Zelda to the end will defeat Ganon and save the world of Hyrule. In the real world, there is only one champion, and it&#8217;s probably not you. Even if you collaborate and give your full effort, odds are you will still fail to be exceptional in the real world. Tons of people around the world dedicate their lives to sports, music, and other things from a young age. A ludicrously small percentage make it big. Strong effort greatly facilitates great achievement, but does not guarantee it.</p>
<p>For the sake of discussion, let&#8217;s imagine that everyone actually can be a virtuoso. We&#8217;ll pretend that we can create an army of Steve Vai&#8217;s by practicing enough guitar. If that is true, then being a virtuoso at World of Warcraft is like being a virtuoso at the player piano. If an activity has no possibility of failure, then either every human being is a virtuoso at it, or none are, regardless of how much practice. It&#8217;s meaningless and unremarkable to be a virtuoso at an activity at which you are guaranteed to succeed. If every scientist got  Nobel Prize, it would lose all meaning.</p>
<p>Let&#8217;s take this same exact TED Talk, and replace all of the World of Warcraft examples with Counter-Strike. People are not ready and willing to collaborate in Counter-Strike, often prioritizing personal kill ratios above the objectives of the team. They will not work hard towards their goal, often switching servers when faced with a superior opponent they can not beat. People are quick to cheat their way to victory because true victory is too much work, if it&#8217;s even possible. Most players quit and never try again when they can not achieve success with minimal effort. These are the same people that quit in real life. They are the boomerang generation running home to mommy because college is too rough. Sorry, I don&#8217;t believe that these people can save the world.</p>
<p>If you want to really change the world with games, you need games that mimic the real world. These are known as simulations. The military uses them to train people for various things, most notably flight. If you play a racing simulator for 10,000 hours as a child, you do actually have a good chance of becoming a professional race car driver. The thing is, an accurate simulation is just as difficult as driving a real race car, and will not attract many players putting in many hours. Tons of people play Mario Kart. Relatively few have even heard of Forza or Gran Turismo. If you could get people to play simulation games as much as they play Bejeweled, then you could change the world. Sadly, that will never happen because simulations are simply not fun to most people. This is why rhythm games have ludicrously simplified instruments. They make rhythm games with real instruments, and almost nobody plays them.</p>
<p>I do think that making the real world more like a game can save it. Make it impossible to fail at life. Give straight A+ grades to every student just for showing up to class. Remove all negative irreversible consequences from everything. Guarantee success for anyone who puts in enough effort, regardless of skill or talent. Do all that, and an army of gamers will revolutionize the real world. Then again, does such a utopian world really need changing?</p>
<p>Until then, I think this talk is actually kind of harmful. A lot of people who are otherwise wasting their lives away will use this to validate that time wasting. Some may falsely believe that they are saving the real world while saving Azeroth. Rather than changing the world with games, it may just be giving people another excuse to play games when they could be saving the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/why-gaming-wont-save-the-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Power Signaling Over HDMI</title>
		<link>http://www.apreche.net/power-signaling-over-hdmi/</link>
		<comments>http://www.apreche.net/power-signaling-over-hdmi/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 00:53:16 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1155</guid>
		<description><![CDATA[Lots of people these days have home entertainment systems. These usually consist of a television, an audio system, and multiple source devices. The source devices typically include a DVD/Blu-Ray player, a Cable Box, one or more game consoles, maybe a &#8230; <a href="http://www.apreche.net/power-signaling-over-hdmi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lots of people these days have home entertainment systems. These usually consist of a television, an audio system, and multiple source devices. The source devices typically include a DVD/Blu-Ray player, a Cable Box, one or more game consoles, maybe a computer, and maybe even something like the Roku. Despite these systems being incredibly common, almost nobody knows how to use them. I have an idea which can make things much much easier for everybody.<span id="more-1155"></span></p>
<p>The fundamental problem is that people do not understand the concept of switching inputs. They simply do not get it that video and audio are separate. They don&#8217;t get that the audio and video come out of one box into another box. They do not comprehend that on the receiving box you must manually select which input you wish to currently be active. Now, people should learn this, but with a change to the HDMI spec, I think we can eliminate the problem in the long run.</p>
<p>Every cable box I have seen has a power outlet on it. Why is that? The reason is that you are supposed to plug your television into the cable box, and then plug the cable box into the wall. This will allow you to have the TV turn on and off when you turn the cable box on and off. Ideally this will eliminate the need for the TV remote control. Sadly, this only makes trouble in a more complicated system. For one thing, it means I have to turn the cable box on in order to play a video game. That&#8217;s just a waste of electricity.</p>
<p>The solution is to add one single additional wire to every HDMI cable. That wire will allow the devices to tell each other if and when they are on or off. The devices will also be able to command each other to turn on or off, or to switch inputs. It&#8217;s really so simple, I&#8217;m amazed it doesn&#8217;t already exist.</p>
<p>Here is an example scenario. You have a TV with an XBox and a DVD player. They are all off. You turn on the XBox. The XBox signals over the wire to the TV that it has turned on. The TV notices that it is off, so it turns on. Then it notices the XBox is the device which told it to turn on, and is the only device sending a signal. Therefore it automatically switches to that input. </p>
<p>Think about the difference that makes for the end user. They push the green button on the XBox controller, and they&#8217;re good to go. No fiddling with other remote controls. No juggling inputs. No nothing. Logitech probably wouldn&#8217;t like it, though, because it would ruin their Harmony product line.</p>
<p>I&#8217;m sure that you intelligent readers can figure out how the system will work in all sorts of other typical situations, but let me make a couple more examples. You turn off the TV, and it tells everything connected to it to turn off as well, saving lots of electricity. You turn off the XBox, and nothing else connected to the TV is still on, so the TV turns itself off. You have the XBox already on, but you turn on the Blu-Ray player. Well, it would be worse to switch away from a game in progress, so it should stay on the XBox. However, if the XBox turns off, it can switch to the Blu-Ray automatically. </p>
<p>Of course, the user will still need the ability to take manual control over which inputs are active, because the automatic setting will not be able to handle every single use case. Even so, such a system will drastically decrease the amount of times the user will have to manually switch inputs or turn devices on or off. It will also drastically reduce electricity usage because devices will almost never be on when they are in use.</p>
<p>Now, there are some extremely complicated situations that require figuring out. The best example I can think of is picture in picture. The TV and/or receiver has to be aware that picture in picture is a possibility. Maybe if you have picture in picture, and you turn on a second device, it opens in the small picture. Then if you turn off the second device, the small picture disappears. Even this complicated situation isn&#8217;t that difficult, you just have to spend some time figuring out the best possible default behavior for every possible scenario.</p>
<p>They&#8217;re adding all sorts of other great features to the HDMI specification like Ethernet, higher video resolution, audio return, etc. Those are far more complex than this simple one-wire feature. It will cost next to nothing to implement, and it will make a huge difference. There&#8217;s no rush, we can just do the usual thing we do with car safety equipment. All new products as of X date must support this feature. It will save a ton of electricity and reduce a ton of headaches. Too bad I&#8217;m just some guy and not an electronics manufacturer. I don&#8217;t even know the second step towards trying to make this a reality. The first step was this blog post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/power-signaling-over-hdmi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>People Still Don&#8217;t Get Git</title>
		<link>http://www.apreche.net/people-still-dont-get-git/</link>
		<comments>http://www.apreche.net/people-still-dont-get-git/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 19:28:05 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1151</guid>
		<description><![CDATA[I&#8217;ve been using Git since slightly before it became very popular about two years ago. Nowadays it is very popular, with much thanks to github. However, even semi-famous programmers like Jeff Atwood don&#8217;t really understand what it&#8217;s all about. I &#8230; <a href="http://www.apreche.net/people-still-dont-get-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Git since slightly before it became very popular about two years ago. Nowadays it is very popular, with much thanks to <a href="http://www.github.com">github</a>. However, even semi-famous programmers like <a href="http://www.codinghorror.com">Jeff Atwood</a> don&#8217;t really understand what it&#8217;s all about.<span id="more-1151"></span></p>
<p>I think the primary thing that confuses people about Git is that it assumes that if you are developing software on a team, that you actually talk to people. Whether it&#8217;s by IM, IRC, a web site, Twitter, Git doesn&#8217;t care. It just assumes that you actually have some form of regular communication with the other developers. </p>
<p>You see, the non-distributed version control systems do not make this assumption. If you are using subversion, your work flow is dictated by the limitations of the software. You do some code. When you commit, you also share. Everyone commits to the same place. </p>
<p>With this sort of system, you don&#8217;t need to talk to the other developers to know what to do. There is only one canonical current version of the code in one repository. If you do an svn update, you know everything you need to know. If you change the code, you just commit, and you don&#8217;t need to tell anybody. They will see your changes when they eventually do an svn update.</p>
<p>This system inevitably leads to the many problems that Git solves. The one I always like to point to is the situation where you need to make a quick bug fix while you are in the middle of working on a big new feature. You need to make a version of your code that has the fix, but not the new feature. If you committed the feature, it&#8217;s going to be a nightmare to get a version of the code without it. If you didn&#8217;t commit the feature, it is very hard to collaborate with others. Branching solves it, but branching in subversion is slow and difficult, and it&#8217;s shared. You might ruin everyone else in the process.</p>
<p>Git lets you do absolutely anything that is possible to do with your code. You can branch, tag, commit, share, patch, and unpatch your code any which way you can imagine, and some you can&#8217;t yet imagine. As long as you are aware of all the commands and features, you can never dig yourself into a hole. You will always be able to deliver the code with the combination of  patches that you need. </p>
<p>The problem with this is that since you have so many capabilities, there is no dictated work flow. Should you have a central repository? Should you push back and forth between individual developers? Should we have any shared branches? Should we use tags? Should you use soft tags or hard tags? Should you merge? Should you rebase? All of these questions, and more, are the subject of much debate. </p>
<p>I think that all of these debates are silly. The correct answer is that there is no correct answer. All of the features of Git are just tools to help you get your code the way you need it to be. If rebasing saves the day, then rebasing is awesome. If sending patches by email works for you, then that&#8217;s also awesome. Whatever process you come up with for your team to work together on the same code is fantastic, if it works for you. </p>
<p>Even if you decided to follow a subversion style of development, you can absolutely just do it with Git instead. Git can work exactly the way SVN works, if you wish it to. The best part is that you can use it exactly like SVN, but because it is Git, you can escape the usual SVN traps when they come up. Therefore, I see absolutely no reason for a new project to use SVN when you can simply use Git and have developers agree to work in an SVN flow.</p>
<p>And that is the beauty of Git, is that it lets you come up with your own process. How you work is no longer dictated by the limitations of the software you are using. It is decided by the developers themselves. And even if developers like to work differently, as many do, they can each work in a way that is comfortable for them without interfering with anyone else. As long as the team communicates with each other, and agrees on how to share code, all is well. </p>
<p>Just to drive the point home, Git was made by Linus Torvalds to use for developing the Linux Kernel. How do you submit a patch to the kernel using Git? You put your patch up in your Git repository, and you email someone requesting them to pull the patch from you. Email!? With SVN you just commit, no need to talk to anybody. I don&#8217;t know about you, but do you think that forcing code changes on other developers without having to talk about it a good idea?</p>
<p>If you actually bother to talk to people then <a href="http://twitter.com/codinghorror/status/8057809501">500+ forks</a> is not a problem. You ask someone and they tell you what fork to clone. Just ignore all those graphs, they mean nothing.</p>
<p>However, I must admit that the 500+ forks is indeed a symptom not of Git itself, but github&#8217;s design, and users not understanding Git. Github makes the fork button very prominent, but forking a project on Github is not really something that people should do that often. Github is not Git. The design of Github, intentionally or unintentionally, leads users into doing something they don&#8217;t actually want to do. It doesn&#8217;t really help people understand Git, and it doesn&#8217;t help people communicate.</p>
<p>What most people should be doing is just cloning repository to their local machines, and making changes there. If they want to submit the changes, then they should use non-Git communication tools to talk to the person they cloned from. They only need to fork on github if they want to publicly share changes that have not yet been, or will not be, merged into the actual project. Otherwise, they should not fork, just clone.</p>
<p>If you do have changes that are not accepted, then sharing them publicly on github in a fork is a very useful thing. Maybe there is someone out there who needs a copy of <a href="http://github.com/fastsoft/djata">djata</a> with a slight tweak, but someone else made the tweak already. The tweak may never be accepted to the canonical codebase, but it can still be made available in a form. That might save someone the time of making that same tweak themselves on their own, which is what they would likely be doing on a project managed by subversion.</p>
<p>Right now I see people with SVN mindsets who won&#8217;t switch to Git because they don&#8217;t truly understand DVCS. Likewise there are people with SVN mindsets who don&#8217;t understand DVCS who switch to Git anyway for whatever reason. The missteps of the latter group provide many of the stories that will keep the former group scared away.</p>
<p>All in all, I&#8217;m not too worried. When I was in college, less than a decade ago, the CS department taught us RCS and the software engineering department taught us CVS. In my senior years some people starting using SVN, which was bleeding edge at the time. Git was released in 2005. The world of version control moves surprisingly rapidly. I think Git&#8217;s dominance is pretty much guaranteed at this point. It will just take time for programmers to escape the SVN mindset and understand the, admittedly more complicated, DVCS world. </p>
<p>We Git users are here to help, so ask before you run away or jump to conclusions. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/people-still-dont-get-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strict Open Source Policies Lead to Fail</title>
		<link>http://www.apreche.net/strict-open-source-policies-lead-to-fail/</link>
		<comments>http://www.apreche.net/strict-open-source-policies-lead-to-fail/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 18:25:26 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1148</guid>
		<description><![CDATA[Ubuntu and Firefox are two of the biggest open source projects in terms of desktop end users. Yet, the same open source philosophies that made these projects so popular are a weak spot that the competition can, and will, use &#8230; <a href="http://www.apreche.net/strict-open-source-policies-lead-to-fail/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ubuntu and Firefox are two of the biggest open source projects in terms of desktop end users. Yet, the same open source philosophies that made these projects so popular are a weak spot that the competition can, and will, use to get ahead. If they do not change their policies I see Firefox being destroyed by Chrome, and Ubuntu losing ground to Windows 7 and Chrome OS.<span id="more-1148"></span></p>
<p>HTML5 is on the move. Pretty much every browser other than Internet Explorer is supporting it pretty well. However, the codec issue on the video tag is going to be a major headache for Firefox. YouTube, which is really the only video site that matters, has decided to go with H.264. Firefox can&#8217;t include H.264 because of patents, and can only support Ogg Theora. Chrome and Safari do not have this problem. IE will also not have this problem, if and when they get their act together.</p>
<p>This is due to the balance of open source that people like RMS do not understand. If you demand everything be purely open source, you will be missing out on something. The same goes if you demand everything be purely closed source. Some applications only exist closed, and some only exist open. You will have to use both to get an optimal user experience, especially on the desktop. </p>
<p>The overwhelming majority of users do not care about whether something is open or not. They only care that it is free as in beer, and that it has all the features they desire. Regardless of speed benefits, Chrome will beat Firefox because of its willingness to not be 100% pure open source, and include things like the patented H.264 video codec.</p>
<p>For those of you who do not know, Ubuntu has a very strict release cycle. Every six months they release a new version of Ubuntu. The most recent release is 9.10, released in October 2009. It includes version 2.6.31 of the Linux kernel. If there is a bug or security patch to that kernel, Ubuntu will push out an update to the users, such as the current version 2.6.31-17. The thing is, the current version of the Linux kernel is actually 2.6.32.5. Ubuntu 9.10 users will never get version 2.6.32. In order to get a newer version of the kernel, they will have to build it by hand, or wait for Ubuntu 10.4 in April. </p>
<p>What&#8217;s the big deal? The kernel version barely makes a difference in the user experience. Most users will probably not notice or care, even if they are stuck with a very old kernel version. Well, what if you apply the same update policy to something like Firefox? Firefox 3.6 was just released, but Ubuntu users will not get that update. Windows and Mac users will, because Firefox updates itself on those platforms. Ubuntu users will have to wait for Ubuntu 10.4, or jump through hoops to update Firefox by hand. They have to wait 3 months for a very significant user experience update.</p>
<p>The problem with these two open source projects, and others, is not that they are open source. Open source is awesome, and it&#8217;s the only reason these projects can even compete in the first place. The problem is that unlike say, the Apache web server, these target every day users. However, their philosophies and policies do not make the experience of the user their number one priority. </p>
<p>Yes, there are good reasons behind these policies. I support stable software releases and being as open as possible. It&#8217;s simply that the user experience is even more important than either of those. You need to make exceptions to policy when the user is suffering. If a store didn&#8217;t make a reasonable exception to its return policy, you would give it a bad review and maybe even stop shopping there. Why can&#8217;t open source projects also make reasonable exceptions? If they don&#8217;t, they&#8217;ll just slowly lose ground to their competitors.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/strict-open-source-policies-lead-to-fail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Real Rip-Off in Wireless</title>
		<link>http://www.apreche.net/the-real-rip-off-in-wireless/</link>
		<comments>http://www.apreche.net/the-real-rip-off-in-wireless/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 15:14:49 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1140</guid>
		<description><![CDATA[Verizon and AT&#38;T recently cut prices on their unlimited voice and data plans. Whoop de doo. Text messages are still a rip-off. Data still isn&#8217;t truly unlimited. People seem to really be focusing on these data plan prices. Meanwhile, people &#8230; <a href="http://www.apreche.net/the-real-rip-off-in-wireless/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Verizon and AT&amp;T recently cut prices on their unlimited voice and data plans. Whoop de doo. Text messages are still a rip-off. Data still isn&#8217;t truly unlimited. People seem to really be focusing on these data plan prices. Meanwhile, people are ignoring the voice prices. Let me tell you, that is where the real rip-off is coming from.<span id="more-1140"></span></p>
<p>I remember when I was a kid, and landline phones were still huge. Sprint made a big deal about their ten cents a minute.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" 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/D9bvxqpq_zk&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/D9bvxqpq_zk&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The number of cents you paid per minute was a huge deal. I remember my grandmother would dial a five digit number before making a long distance call in order to get the price down to five cents per minute. With <a href="http://www.truphone.com/">truphone</a> you can now make many international calls for under three cents per minute. Taking inflation into account, voice calls have gotten ultra cheap over the years.</p>
<p>Now, I&#8217;m someone who doesn&#8217;t talk on the phone much at all. I still need a phone number because it&#8217;s sort of necessary for engaging with society. I also do call family and relatives, and occasionally friends when necessary. But most of my calls are very very short.</p>
<p>So what am I paying for this voice service I hardly use? I have AT&#038;T&#8217;s &#8220;Nation 450 Rollover &#038; 5000 Night/Weekend &#038; Unlimited Mobile-To-Mobile Minutes&#8221; plan. It costs me $39.99 a month. There is no smaller plan available. If you do the math, this comes out to under ten cents per minute. If I&#8217;m paying for just the 450 minutes alone, each minute is under 9 cents. Good deal right?</p>
<p>It would be a good deal if I talked on the phone. As it stands, 4135 rollover minutes available. Oh they&#8217;re so generous letting me rollover the minutes, right? Wrong. The rollover is just an excuse. It makes you feel less bad about paying for all these minutes you never use. The thing is, if you never use them, you&#8217;re paying lots of money for absolutely nothing.</p>
<p>On my last bill I used 20 of the 450 minutes, 4 unlimited M2M minutes, and 64 night &#038; weekend minutes. Even if I were paying a ludicrously high price of 25 cents per minute, for all the minutes, my bill would have been $22. Instead, I&#8217;m paying 45 cents per minute. </p>
<p>The way they structure the plans is highly deceptive. You don&#8217;t think about your voice costs in terms of cents per minute anymore, because you are paying a fixed rate. But when you really think about it, you&#8217;re either paying for something you don&#8217;t use, or you&#8217;re paying way too much for the little that you do use.</p>
<p>Now, for someone who talks on the phone a lot, this probably isn&#8217;t a problem. If I actually used all those minutes, I would actually be getting a pretty good deal. It wouldn&#8217;t be an amazing deal, but certainly not a rip-off. </p>
<p>The other carriers are no better. T-Mobile and Verizon have similar minimum plans of 450-500 minutes for $40. Sprint has a voice plan of 200 minutes for $30. I think somewhere in the fine print there&#8217;s the option to not pre-pay for any minutes, and pay only for the minutes you actually use. Of course, they charge 45 cents for those minutes, making it moot.</p>
<p>There is an argument to be made that wireless minutes should be more expensive than land line minutes. That&#8217;s acceptable, but it&#8217;s not true. Remember, if I used all my minutes, I&#8217;d be paying a reasonable price for them. The problem is that the minimum tier is much too high.</p>
<p>I&#8217;m willing to bet if you looked at the books for any of these wireless companies you would see millions upon millions of dollars paid for unused minutes. I&#8217;m paying as much money for unused minutes as I am for unlimited data, which I use a lot. It&#8217;s about 30% of my phone bill, and I wouldn&#8217;t be surprised if it was 20-30% of their revenues.</p>
<p>Yes, text messages are a rip-off. Yes, data plans are secretly and evilly limited. But most of the money people like me are losing is paying for minutes we never use. Over the course of my two year iPhone contract, I&#8217;ve probably paid over $700 for unused voice minutes. </p>
<p>It&#8217;s nice that we&#8217;re actually seeing a little price war for the unlimited plans. These guys are actually starting to cut some of their ludicrously high margins on the high-end in order to push high-end smart phones to more customers. That&#8217;s well and good, but let&#8217;s also see some competition for the lower end plans. I want to see unlimited data and text for $30-40 with 100 voice minutes for $10-20. Even those prices are a little high, but they are far more reasonable than what I&#8217;m forced to pay now.</p>
<p>Maybe soon I&#8217;ll be able to ditch voice service altogether and use a VOIP solution. Perhaps the reason they don&#8217;t improve their data networks and expand coverage more quickly is to prevent me from doing that very thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/the-real-rip-off-in-wireless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s Fight Terrorism For Real</title>
		<link>http://www.apreche.net/lets-fight-terrorism-for-real/</link>
		<comments>http://www.apreche.net/lets-fight-terrorism-for-real/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 01:28:00 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1137</guid>
		<description><![CDATA[Maybe you can save lives without getting out of bed. <a href="http://www.apreche.net/lets-fight-terrorism-for-real/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The dust has largely settled from a failed attempt to detonate explosives aboard a Northwest airlines over the holiday. There were plenty of people talking about what went wrong. That&#8217;s easy, hindsight is 20/20. The thing is very few people are talking about things we can do. The only ideas anyone comes up with are always the same old freedom infringing measures that result in theater, not real security. Well, I have an idea of what we can do, and it can help against a lot more than just terrorism.<span id="more-1137"></span></p>
<p><a href="http://markmaunder.com/2009/crowdsourcing-a-solution-to-air-terrorism/">Mark Maunder suggests</a> we crowdsource the terrorism fight. He&#8217;s on the right track, fundamentally speaking. Our government is clearly incapable of intelligently combating a non-military threat. It must be the citizens themselves who help to stop terrorism. However, Mark&#8217;s specific suggestions are not all that great. None of them would stop a terrorist with a working explosive device. The people were only saved by the stupidity of the terrorist. There was nothing they could have done to save themselves from an intelligent attacker.</p>
<p>And that is the one thing that gives me hope. So many of the terrorists are just complete morons. Terrorism isn&#8217;t really rocket science. Just about any reasonably good engineer could cause massive amounts of destruction. I can personally come up with any number of plans to cause a very large amount of destruction. The reason we are save is because these smart people are smart enough to have jobs, and money, and such. When you&#8217;re smart enough to be a good terrorist, you&#8217;re smart enough not to be a terrorist in the first place.</p>
<p>Despite this, we can not rest easily. Even morons who fail most of the time are dangerous. They did succeed in 2001, in the London underground, in Oklahoma City, and many other times throughout history. They will fail often due to their lack of brains, but they will succeed sometimes, and it is those sometimes we need to prevent.</p>
<p>Start thinking about ways to prevent terrorist attacks. What do you think of? You think of physical defenses. Locking doors, searching people and bags, detecting explosives and weapons, these are all physical defenses. They all try to stop an attack right before, or as, it is about to happen. They also don&#8217;t work. If someone has a bomb at an airport, they can just set it off in the security line. Heck, trains have almost no security whatsoever. As long as you have a situation where there are many people together, it is next to impossible to physically prevent a terrorist attack. Even if everyone is on the lookout, and the crowd reports suspicious activities, that isn&#8217;t going to stop anything.</p>
<p>What you need to do is prevent terrorism way in advance. Intelligence is absolutely the most effective weapon against terrorism. If you know that a terrorist is going to go on a shooting spree tomorrow, you can have police arrest him today. If you know that someone bought a whole bunch of fertilizer, in the winter, and they aren&#8217;t a farmer, and it&#8217;s for a crop that doesn&#8217;t grow in the area, that they are probably up to something.</p>
<p>You might think this information is difficult and expensive to collect, parse, and act upon. You&#8217;re right, it is. But this is exactly where the crowdsourcing comes in. We need to crowdsource the intelligence to pre-empt terrorism. Let ordinary citizens keep a watchful eye about them. Then we can pool, share, and filter to turn the information into intelligence. Then the authorities can use that to pre-empt villainy.</p>
<p>This kind of crowdsourcing can work, but you can already see it&#8217;s a minefield. Untrained citizens are not that great at collecting intelligence. He who has a hammer sees nails everywhere. If you&#8217;re on the lookout for terrorism all the time, suddenly everything looks like terrorism. Is that a homeless guy, or is it a disguise? Is he hiding a bomb in his shopping cart? Is that guy really a utilities worker, or is he putting a bomb in the subway? What&#8217;s that weird device he has? That computer guy&#8217;s screen is weird, is he hacking?</p>
<p>Is there another kind of crowdsourcing we can do that is actually useful, and doesn&#8217;t require as much training? I think there is. We can find terrorists while sitting on our asses, on the Internet. For real.</p>
<p>I assume people reading this are fairly technologically competent. If you wanted to get illegal things online, like pirated media, guns, drugs, child porn, etc. do you think you could do it? It&#8217;s quite trivial. Yet, law enforcement agencies can&#8217;t seem to figure it out. If my only job was to find illegal activity on the Internet, I could have people arrested faster than they could be processed.</p>
<p>Do terrorists use the Internet just like pirates and pedophiles? You bet they do! Our recent terrorist Mutallab <a href="http://www.msnbc.msn.com/id/34618228/ns/us_news-washington_post">posted all over the Internet</a>. He wasn&#8217;t particularly secretive either. He openly displayed his unhappiness and fundamentalist beliefs. It was a textbook case of a terrorist to be, right out in the open where anyone could see it. The same sort of thing goes not just for terrorists, but school shootings, and other criminals. A great many of these people posted their craziness all over the web before they acted.</p>
<p>These terrorists are not ultra smart super villains like Doctor Doom. They&#8217;re mostly just really sad individuals who reach the breaking point. They post their plans openly. They&#8217;re not hatching an evil scheme in secret, they&#8217;re crying for help. By searching Google, newsgroups, IRC, and Facebook we can find the next Mutallab or <a href="http://en.wikipedia.org/wiki/Seung-Hui_Cho">Seung-Hui Cho</a> before they strike. The authorities can&#8217;t even figure out BitTorrent, but we can. We can find these sad people on the &#8216;net and then do something to make sure they never fall so far as to actually try something.</p>
<p>You&#8217;re probably sitting at your computer right now, and you&#8217;ve had enough free time to read this blog post. You probably also have enough free time to do some searching. Go out there, and see if you can find people on the web who are actually likely to be real terrorists in the making. Maybe you can save lives without getting out of bed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/lets-fight-terrorism-for-real/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Everything Needs a Fast Lane</title>
		<link>http://www.apreche.net/everything-needs-a-fast-lane/</link>
		<comments>http://www.apreche.net/everything-needs-a-fast-lane/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 17:14:18 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1135</guid>
		<description><![CDATA[New York City, especially the theater district, is somewhat unique in that it is a place where the streets are half-filled with tourists and half-filled with natives. The natives know where they are going, and are in a hurry. Tourists &#8230; <a href="http://www.apreche.net/everything-needs-a-fast-lane/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>New York City, especially the theater district, is somewhat unique in that it is a place where the streets are half-filled with tourists and half-filled with natives. The natives know where they are going, and are in a hurry. Tourists walk slowly, they stop in the middle of the sidewalk to look at and photograph things. When you&#8217;re a New Yorker, tourists are the enemy.<span id="more-1135"></span></p>
<p>This same phenomenon can be seen in many other places. The highways are the easiest example. Ignoring the debate about speed limits, I&#8217;m sure every driver reading this has been stuck behindÂ  an elderly person driving extremely slowly. Everyone must suffer and lose precious time because one person is ruining things for everybody.</p>
<p>If you go to ride the Go Karts at an amusement park, they are stupidly safe. Their top speeds are capped by a governor. They are configured in such a way that you can make it around every corner just by steering with the throttle wide open. There is no chance of flipping over, and very very little chance of hurting yourself. They are also much less fun. Why can&#8217;t I ride dangerous go-karts at my own risk, rather than eliminating them entirely?</p>
<p>Notice how whenever you board an airplane, there are all sorts of slow people who waste everyone&#8217;s time? They can&#8217;t get their carry-ons into the overhead bin. They can&#8217;t find their seats. They hang out in the aisle forever. They&#8217;re slow getting through security as well, because they don&#8217;t know the drill. Frequent fliers are made to suffer because these people are so slow. Why not special lanes, or even flights, where only experienced travelers are allowed?</p>
<p>On Metro North trains, and many others, there are touch-screen ticket vending machines. Some people use these things all the time, so buying tickets takes a few seconds. Many people fail to use them, and cause people behind them in line to miss their train, or to spend extra money to buy a ticket from the conductor. Why not have a few machines for first-time ticket buyers where there is a person to help you and teach you how it works. Have all the other machines give a time limit before sending you to the back of the line.</p>
<p>Lastly, let&#8217;s bring it back to technology. Why does almost every ISP block port 25, preventing you from running a mail server? It&#8217;s because most people let their computers get filled with malware and viruses that start sending out tons of spam. The result is that good netizens can&#8217;t run legitimate and safe mail servers from their homes. How about allowing people to unblock the port at the risk of severe financial penalties if they screw up?</p>
<p>Life needs a fast lane. People should always have the safe option available to them. That option should even be the default, but that doesn&#8217;t mean we need to eliminate the risky options entirely. Many people aren&#8217;t afraid of danger, and aren&#8217;t afraid to fail if it means they can go faster the majority of the time.</p>
<p>I&#8217;m not saying we should go back to the olden days where everything was risky and dangerous, and safety really wasn&#8217;t an option. Forcing grandma and the tourists to drive in the fast lane is just as ridiculous as me getting stuck behind them. In all areas of life we need more choices for people to make in terms of risk and reward. One size does not fit all. The slow people want to get away from us just as much as we want to zoom past them. I think the net benefit to our society&#8217;s productivity and happiness would be tremendous. Let&#8217;s make it happen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/everything-needs-a-fast-lane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source is Good for the Environment</title>
		<link>http://www.apreche.net/open-source-is-good-for-the-environment/</link>
		<comments>http://www.apreche.net/open-source-is-good-for-the-environment/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:21:13 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1130</guid>
		<description><![CDATA[Despite all the amazing things we can do with electronics, and despite increases in efficiency, the physical reality is very wasteful. Computers, and other electronics use a lot of electricity, much of it is used for nothing. Discarded electronics fill &#8230; <a href="http://www.apreche.net/open-source-is-good-for-the-environment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Despite all the amazing things we can do with electronics, and despite increases in efficiency, the physical reality is very wasteful. Computers, and other electronics use a lot of electricity, much of it is used for nothing. Discarded electronics fill landfills, and release the poisonous chemicals they are made of. During the winter, they are efficient space heaters, but during summer they make extra work for air conditioners. We would all be a lot less wasteful if we reduced how many electronic devices we buy, and if we upgraded them as rarely as possible.</p>
<p>If you accept that, then you must also accept that open source is the only environmentally responsible method of software and hardware development.<span id="more-1130"></span></p>
<p>A month ago I went to the Boxee Beta unveiling in Brooklyn. I asked Avner Ronen why the Boxee Box didn&#8217;t include Cable Card, DVR, Blu-Ray, etc. Because the Boxee Box only ran Boxee, it would increase the number of boxes under a TV, not decrease them. He agreed that there was definitely a box fatigue, and he also wanted fewer boxes under his TV. He expressed hope that another electronics manufacturer would produce a machine that would run Boxee and all of those other applications simultaneously, but the Boxee Box would not be that device.</p>
<p>There was a time where typewriters were obsolete, but PCs hadn&#8217;t yet become affordable, there was a product known as a word processor. All that machine did was process words. Imagine if today you bought one computer that only ran Microsoft Word. Imagine if you had to buy a separate machine for iTunes, and a separate machine for web browsing, and so on. It&#8217;s so obviously ridiculous, even normal people would laugh. You have a general purpose computer that is capable of running a wide variety of software. There is no reason to have specialized hardware for a single piece of software for the vast majority of applications, especially consumer applications.</p>
<p>As you are reading this right now, I want you to think about the boxes you have under your TV. I imagine that most people have a cable box, some game consoles, a DVD or blu-ray player, a DVR, maybe a Slingbox, and maybe even an old VCR. Some of these have been combined. Many cable boxes have a DVR in them. Game consoles tend to include DVD or Blu-Ray players. That being said, people I know have a lot of boxes in their primary entertainment centers.</p>
<p>This is just as ludicrous as having a separate computer just for word processing. All of those boxes are general purpose computers. There is absolutely no reason that you can&#8217;t have one box that is a cable box, DVR, DVD/Blu-Ray player, game console, and all around media handling machine. How come such a box doesn&#8217;t exist? Sure, some nerds have built such boxes on their own, but there aren&#8217;t any that are available to consumers on the mass market.</p>
<p>The reason is closedness. Cable boxes are closed. DVD and Blu-Ray decoding is closed. Game consoles are closed platforms. A DVR doesn&#8217;t have to be closed source, but many things it deals with, like video codecs, DRM, and other media protocols, are closed. Even VCRs have Macrovision DRM to deal with.</p>
<p>To protect the closed nature of all of this software, it is delivered to the user in a black box. They provide unopenable and unmodifiable hardware with the software built-in. If you want to add any features, you need to get more boxes or different boxes. Sometimes those other boxes do not work well in concert with the black boxes, and you get duplicate functionality. This is ludicrous and technologically unecessary.</p>
<p>The only benefit of this system is that it gives the media companies some slight protection against piracy and such. As I&#8217;m sure you are well aware, it is working really really well. No matter how hard I try, I can&#8217;t find any high definition movies or TV shows available for free. Man, it&#8217;s so worth wasting all this extra energy on electronics to prevent piracy.</p>
<p>The benefits of opening all these systems are that consumers will have an infinitely better experience, and we will reduce a tremendous amount of waste. There is no reason that we all can not have one single computer under our TVs that runs any and all living room entertainment software.</p>
<p>Game console makers should even pack it in. Their insistence on making games for proprietary consoles is silly. There is no reason people can&#8217;t just make PC games that have different modes when hooked up to a TV instead of a monitor. Gaming controllers like Wiimotes (unofficially via Bluetooth) and XBox 360 controllers (officially via USB) already work with PCs just fine.</p>
<p>If all of this software were open source, then everyone would be able to have one, and only one, box under their televisions. That box would handle everything from watching YouTube to watching the pre-recorded evening news. The software on it could be upgraded almost perpetually to handle any new applications, like 3D movies. You might not even need a power strip behind your TV. Heck, you could reduce the audio and video cable rats nest to just one or two wires. We would all save a lot of money and space in the landfill thanks to reducing our box count. Not to mention our entertainment centers would be a lot less cluttered and more aesthetically pleasing.</p>
<p>Also, be aware that I&#8217;m just using the home entertainment system as an easy example. There are plenty of other areas in which lack of openness increases our need for extra devices. Almost every electronic device you see nowadays has a general purpose processor inside. If it does, then it is capable of handling far more functionality than the built-in software allows. Even for all of the things an iPhone can do, the piles of rejected apps are clear evidence that the hardware is capable of far greater functionality than the software allows for. You can also see clear evidence by looking at the wide range of devices which have been made to run Doom and/or the Linux kernel.</p>
<p>If all of these things were open source, we could exploit every piece of hardware to its fullest potential by modifying the software. A black box is almost always going to fall short of achieving its full potential. It will always have possible capabilities that go unused due only to lack of software. If that capability is desired, it will only be achieved through the production of yet another piece of hardware, and expenditure of more money and energy.</p>
<p>Waste not with open source.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/open-source-is-good-for-the-environment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Use Cases for a Tablet</title>
		<link>http://www.apreche.net/the-use-cases-for-a-tablet/</link>
		<comments>http://www.apreche.net/the-use-cases-for-a-tablet/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 00:43:22 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1126</guid>
		<description><![CDATA[Any product, especially an electronic device, has to have very strong use cases to succeed. People use a TV to view video entertainment while being comfortable in their homes. People use a mobile phone to keep in touch with others &#8230; <a href="http://www.apreche.net/the-use-cases-for-a-tablet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Any product, especially an electronic device, has to have very strong use cases to succeed. People use a TV to view video entertainment while being comfortable in their homes. People use a mobile phone to keep in touch with others no matter where they are. People use a trash can as a place to temporarily store things they want to dispose of. But people use a tablet computer to&#8230; um&#8230;<span id="more-1126"></span></p>
<p>And the problem is pretty obvious. Companies want to make tablet PCs, but they don&#8217;t know the use cases. So far, tablets have just been crappy laptops without keyboards. That&#8217;s because the use cases that the manufacturers have in mind are the exact same use case that a laptop has. The result is devices that have the same use case as laptops, but are crappier than actual laptops. This is why tablets have been utter failures. The best they could come up with was that maybe a doctor would want one because it could be used while standing up near a patient&#8217;s bed.</p>
<p>Also, the original tablet computers all had resistive touch screens. The capacitive touch screen didn&#8217;t really exist yet. Everything was designed around a stylus without multi-touch. You couldn&#8217;t type with two thumbs, pinch, scroll, etc. They also had no accelerometers or other sensors. Designing around those technologies prevented them from making a worthwhile device, even if they had the right uses in mind.</p>
<p>Even today, people are only starting to get the right idea about the uses for a tablet PC. People are suggesting to use them as remote controls for home media centers. That&#8217;s a good start, the &lt;a href=&#8221;http://www.pepper.com/&#8221;&gt;Pepper Pad&lt;/a&gt; was doing it years ago. Some are using them as e-readers. You could even argue that the Kindle and other e-readers are actually tablets. Even so, these limited uses are not enough to justify the expense of a tablet PC when you can just get a Logitech remote control and a netbook.</p>
<p>It&#8217;s looking like the long awaited Apple tablet is finally moving from rumor to reality. I anticipate that this iSlate, or whatever it will be called, is going to satisfy one of the two worthwhile use cases for tablet computing, but there is still one other use case that has been completely ignored. That second use case offers a land of opportunity for any electronics company that is willing to go for it.</p>
<p>But first, let&#8217;s discuss Apple&#8217;s tablet. Where could it fit into the lives of consumers? Well, I don&#8217;t know about other people, but I can tell you where it fits into my life. Every morning I am awoken by the alarm in my phone. I pick up said phone and check it before getting out of bed. I then go through my morning routine on my desktop. Then I go to work, using my phone in transit if necessary. I use a desktop/laptop at work. I return home to use my desktop for personal work, like this blog post. If I go out to a friend&#8217;s house or such, I bring my laptop for when my phone won&#8217;t suffice.</p>
<p>Where does the tablet fit in? It fits in for comfortable non-work home computing. When I wake up in the morning and check my phone, that kind of sucks. Even if you have an iPhone, it is small and harder to use than something with a bigger screen. That lack of comfort and size are exchanged for portability. But if I&#8217;m in bed, I don&#8217;t need portability. My laptop can get the job done, but it sucks to use a laptop in bed. I have to sit up and type. I only need a keyboard if I need to work, not to read some emails and web comics.</p>
<p>If I&#8217;m eating lunch, and I want to read some news while I eat, I have to sit at a table or desk, upright, in front of a desktop or laptop. There is no way I can lay down and recline on the couch while simultaneously browsing the web comfortably. Sure, I can use my phone, but again, it is tiny and uncomfortable.</p>
<p>This is the use case that Apple&#8217;s tablet is going to fulfill. You&#8217;ll use it in bed, on the couch, or anywhere else around the house you just want to be comfortable and read the web. I&#8217;m probably not going to get one, due to cost and closed Apple-ness, but I will probably get a competing device when they inevitably appear within a year.</p>
<p>So what&#8217;s the other use case for a tablet PC? If you have been paying attention, ever since tablet PCs hit the scene, only one group of people have wanted them very badly. Go and search the web for tablet PC discussion groups. Who will you find in there? Artists, that&#8217;s who.</p>
<p>Tablet PCs are perfect for artists. Most artists get by using Wacom tablets to draw in the digital world. The problem with them is that you look at the screen and draw on the tablet. It&#8217;s much more natural to draw directly on the screen, simulating drawing on real paper. Wacom does make a product called the Cintiq that does just that. The problem with the Cintiq is that it is incredibly expensive, and it&#8217;s basically a monitor. It is not portable at all.</p>
<p>What someone needs to do is make a tablet PC with a Wacom-powered screen. Make it just powerful enough to run Photoshop nicely, comfortable to hold, and at a good price. Artists will buy it like crazy. Right now these artists have to huddle over their desks, or carry around lots of equipment in their bags. Making a Wacom tablet computer will free them, and they will thank their saviors with piles of money.</p>
<p>Anyone out there who is looking at the tablet world, and trying to make sense of it, just think of the two use cases. Tablets will allow people to compute comfortably from their bed, couch, back porch, etc. They can also help out digital artists a great deal. If you find yourself wanting a tablet, think about what you are actually going to use it for. You&#8217;ll easily see how pointless existing tablets are, but you&#8217;ll also realize the potential of what they could be.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/the-use-cases-for-a-tablet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Guaranteed Cure</title>
		<link>http://www.apreche.net/the-guaranteed-cure/</link>
		<comments>http://www.apreche.net/the-guaranteed-cure/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 17:10:31 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1123</guid>
		<description><![CDATA[Many people suffer various addictions due to a lack of will power. Smoking, overeating, etc. are problems that can, and have, been defeated by force of will. Yet, there are people who try to break their habits, and fail, because &#8230; <a href="http://www.apreche.net/the-guaranteed-cure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Many people suffer various addictions due to a lack of will power. Smoking, overeating, etc. are problems that can, and have, been defeated by force of will. Yet, there are people who try to break their habits, and fail, because they lack will power. I have come up with a mildly unrealistic solution that is absolutely guaranteed to work.<span id="more-1123"></span></p>
<p>Might as well get to the point. The solution is to hire one or two people to follow you and force you to quit. There would be some legal papers necessary for this to work because you would have to give the person permission to follow you everywhere, and maybe even restrain you if necessary. But even so, it wouldn&#8217;t be much more difficult than hiring a personal bodyguard. They&#8217;re just guarding you against yourself.</p>
<p>Despite the fact that this solution is a little extreme and silly, it&#8217;s guaranteed to work. How many people have spent tons of money on pills, patches, fad diets, hypnotists, and other things that don&#8217;t work? How many people have tried to go cold turkey and have nothing to show for it? Depending on the addiction, and depending on the person, I can&#8217;t imagine this solution ever taking more than a few months, max. For most people I see it taking just a few weeks. I also can&#8217;t imagine that the success rate wouldn&#8217;t be 100%.</p>
<p>Let&#8217;s say you are an alcoholic. You hire the person. First thing, they come and remove all alcohol from your house. They search everything, even your body. They then proceed to follow you 24/7. You might need two people, with one working the night shift. These people simply do not let you drink any alcohol, even in the bathroom. If necessary, they may go so far as to physically restrain you. </p>
<p>Obviously in some cases there may be withdrawal symptoms. In those cases, you will just suffer through them until they end. If they get really bad, the person can bring you in for medical attention to fix you up, rather than letting you fail. </p>
<p>Once the pain of withdrawal has subsided, they can watch you for a little while longer just to make sure. They can even slowly disengage just to make sure. Maybe after they think you&#8217;re ready, you can switch from 24/7 monitoring to random spot-checks. They just randomly show up anytime and any place to make sure you haven&#8217;t un-quit. If you have, then you return to full-on watching. </p>
<p>A side bonus of this is that you will hopefully make a new friend, much like rich and/or famous people become friends with bodyguards, drivers, maids, nannies, or other servants. </p>
<p>The biggest problem I see with this idea, besides the obvious legal unrealisms, is the price. The bare minimum cost is the minimum wage times twenty four hours per day. Even if this service existed, it would be priced out of range for those people who probably need it most. </p>
<p>However, the high price is advantageous in some ways. The cost can act as an incentive to quit and stay quit. The sooner you break your habit, the sooner you stop paying for 24/7 service. If you get caught by a random spot check later on, it&#8217;s going to cost you a lot of money all over again. Also, if you paid a huge sum of money to quit, and then you un-quit, it will all have been spent for naught. Thinking of that might aid people&#8217;s will power.</p>
<p>Thinking more realistically for a moment, I do think that this could actually work. What I would suggest is that someone do a scientific study, and use the research budget to hire these watchers. Compare the rate of successful quitters after X amount of time to other addiction curing methods. If it really is super effective, then we really should consider turning it into an available option, especially since it should create a lot of new jobs.</p>
<p>Lastly, there is one way to try this method out right now. Find a friend, family member, co-worker, etc., and get them to watch you. Maybe get one or more people who also have bad habits, and simply agree to mutually watch each other. My guess it that this will work very well because people will try very hard to catch you. It will be almost like a fun game of hide and seek.</p>
<p>It&#8217;s obvious that there is a serious will power deficiency in our society. If we can not figure out a way for people to build up the necessary will within themselves, then perhaps the solution is to borrow the will of others.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/the-guaranteed-cure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Absurdity of Mobile Phone Subsidies</title>
		<link>http://www.apreche.net/absurdity-of-mobile-phone-subsidies/</link>
		<comments>http://www.apreche.net/absurdity-of-mobile-phone-subsidies/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 17:00:53 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1115</guid>
		<description><![CDATA[The issue of mobile phone subsidies and early termination fees has been getting a lot of extra attention lately. The FCC has asked Verizon to explain its early termination fees, and why they are requiring higher fees for users of &#8230; <a href="http://www.apreche.net/absurdity-of-mobile-phone-subsidies/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The issue of mobile phone subsidies and early termination fees has been getting a lot of extra attention lately. The FCC has asked Verizon to explain its early termination fees, and why they are requiring higher fees for users of certain phones. Their answer is, of course, ludicrous. But the fees were ludicrous to begin with. These problems are well known even outside of tech circles, but lets examine it much closer, shall we?<span id="more-1115"></span></p>
<p>The fundamental problem here is that people want fancy phones. The thing is, fancy phones cost a whole lot of money. If you pay full retail price for an unlocked smartphone, it can cost up to $1000, depending on the phone. You can get a really big TV for $1000. Most people, in the US at least, won&#8217;t pay that kind of money for a tiny phone, even though it is something they use constantly.</p>
<p>The solution is to subsidize the phones. Sell the phone for $200 or $100. Then, simply require the customer to stick with your service for two years. Over the course of those two years, you will make back the cost of the phone. If they leave early, you&#8217;ll take a loss, so charge them an early termination fee. Makes perfect sense, on paper.</p>
<p>In reality, it just doesn&#8217;t add up. Let&#8217;s say I already own an unlocked phone. I go to a carrier and ask for service. Even if I don&#8217;t get a contract, I&#8217;ll be paying the same data and voice rates as someone who had their phone subsidized by the carrier. Shouldn&#8217;t my monthly fees for data and voice be less? The carrier didn&#8217;t subsidize a phone for me, but I still have to pay them just as much money as if they had? If I stick with them for two years, then I&#8217;ve paid for a phone subsidy without receiving a heavily discounted phone! People who did not have their phones subsidized should pay less monthly than those who have.</p>
<p>Also, keep in mind that early termination fees never reduce to zero. The fee exists, supposedly, only because of the phone subsidy. Therefore, the cost of the ETF should be equal to the remaining unpaid value of the phone. Let&#8217;s say I get a phone and $400 of the price was subsidized down to $0 with a two year contract. 400 divided by 24 is about $17. The fee in the first month of service should be $400. The fee should then decrease by $17 each month, and in the final month the fee should be $17.</p>
<p>Wait, this payment structure sounds familiar. That&#8217;s right, it&#8217;s called a loan! Actually, it&#8217;s a 0% interest loan. It&#8217;s also exactly what mobile phone carriers need to replace subsidies with.</p>
<p>Step one is to lower all voice/data/text charges. They are absurdly high. Because there will be no more subsidies, there will be no more need for that kind of ripoff. Existing users with subsidized phones will still pay the old fees, or early termination fees, to grandfather them into the new pricing structure.</p>
<p>Step two is to advertise the true cost of phones. Let everyone know the full MSRP of each and every phone. This allows the customer to make a much more informed decision when they select a phone. It also gives people the option of buying phones without service. Carriers won&#8217;t like this, because most people will opt for the cheap phones once they realize the trust cost of the expensive ones. Those cheap phones don&#8217;t require the data plans and other features that the carriers also like to charge an arm and a leg for.</p>
<p>The final step is to offer financing. Even affluent people don&#8217;t want to shell out that much money on a phone all at once. Instead, the carrier offers financing at zero or a very low interest rate, obviously depending on the customer&#8217;s credit rating and such. The monthly payments for this loan will be included in the monthly bill for voice and data. Even if someone cancels their voice and data contract, they will still have to pay off the device itself, or return it.</p>
<p>This is really a win win solution. Carriers will save money from subsidies, and maybe make money with a small and reasonable amount of interest on the financing. Customers will have the freedom to switch carriers as they please, and pay reasonable prices for voice and data service.</p>
<p>The last piece of the puzzle are the device manufacturers. Because of carrier lock-in and subsidies, most handset manufacturers are really selling their product to carriers, not to customers. Motorola and LG make a handset that Verizon loves, not one that you and I love. I think that Apple has demonstrated with the iPhone that by creating a handset for the customer, you can make the real bank. If subsidies go away, perhaps we will see some real competition between the manufacturers for the consumer&#8217;s love. That should result in the current phone arms race escalating and resulting in better cheaper devices for everybody.</p>
<p>Kill subsidies. Get rid of the contracts. Charge full price for devices, but allow financing. Problem solved. Do it now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/absurdity-of-mobile-phone-subsidies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Persistence Sells and Ruins Games</title>
		<link>http://www.apreche.net/persistence-sells-and-ruins-games/</link>
		<comments>http://www.apreche.net/persistence-sells-and-ruins-games/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 03:14:16 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1095</guid>
		<description><![CDATA[Imagine you are about to play a game of Monopoly. According to the rules, each player starts with $1500. One of the other players, however, insists that they are going to start with $2000. What is their justification for this &#8230; <a href="http://www.apreche.net/persistence-sells-and-ruins-games/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Imagine you are about to play a game of Monopoly. According to the rules, each player starts with $1500. One of the other players, however, insists that they are going to start with $2000. What is their justification for this extreme head start? Well of course, it&#8217;s a bonus they deserve because they won the last game of Monopoly they played.<span id="more-1095"></span></p>
<p>I imagine that most people, even those who only slightly care about fair play, will not tolerate this. The absurdity of it is laughable. Why should a previous game of you played against other people have anything to do with the game we are about to play today? Should we give the previous Olympic gold medal sprinter a ten second head start? It&#8217;s obvious that this is wrong.</p>
<p>Now, having a handicap in a game is frequently acceptable. If you were going to bowl or golf against a professional, they would give you a head start. This is because these are competitions of almost pure skill. You are not on the same competitive level, and your loss is a foregone conclusion. Giving you a handicap is just a way of making the competition interesting for all participants when the skill differential is so great.</p>
<p>These kinds of handicaps are not the same as head start in Monopoly. For one thing, Monopoly is a game that is largely based on chance, not skill. Also, the head start is given to a player who just won, not the one who just lost. It&#8217;s bad enough that you give one person a head start, but you give a head start to the person who doesn&#8217;t need it. That&#8217;s just wrong.</p>
<p>To compound the issue, this sort of head start creates a momentum issue. Whoever wins is likely to keep winning because they will continue to receive bonuses. In a game with a strong momentum mechanic only the early game matters. The player that strikes first will get boosts that allow them to keep winning and winning and winning. You might as well not even play beyond the beginning of a game with momentum.</p>
<p>I would hope that all of these things are pretty obvious, even to novice gamers. What surprises me is that these persistent momentum mechanics are being added to an increasing number of new video games. Why? Because it is those same mechanics that increase sales and popularity.</p>
<p>Think about that. A game that gives players bigger and bigger head starts based upon previous games they have played will be more popular than a game which provides fair and balanced competition.</p>
<p>Just yesterday I played a game called <a title="Altitude" href="http://www.altitudegame.com">Altitude</a>. My initial experience was very good. It&#8217;s a multiplayer team versus game. Each player pilots an airplane in a two dimensional playing field and shoots at the opponents. The controls are tight. The gameplay is complex enough to be interesting, but simple enough to pick up easily.</p>
<p>The one problem with this game is that it has a strong leveling mechanic. The more you play, the more levels you get. As you gain levels, you gain access to better planes, weapons, and abilities. The players who have been playing longer are given a humongous advantage.</p>
<p>Yet the game had a lot of players, and none of them had a problem with this at all. It didn&#8217;t even cross their minds that this mechanic was a problem. In fact, they would cite it as a part of the game they like the most!</p>
<p>How can this be? It&#8217;s quite simple. People like head starts when they are the recipients of them. Also, it&#8217;s basic Skinner box psychology that an organism will superstitiously repeat a behavior that it associates with reward. Give a mouse a treat every time it jumps, and eventually it will think that jumping gives treats. It will be a very jumpy mouse.</p>
<p>Games like Altitude put the player in a Skinner box. As long as you keep playing the game, you will continue to get levels. Your actions might result in getting the levels faster or slower, but you&#8217;ll get them. Those rewards will encourage you to keep playing. They&#8217;ll also make you very happy as they increase the head start you receive in the next game, and the next game, and so on.</p>
<p>The same mechanic can be seen in all sorts of games these days. Achievements, levels, upgradeable items, and unlockable abilities are the hot mechanics in video games these days. Who needs to make a game that actually has good mechanics and quality fair competition? That&#8217;s hard! It&#8217;s much easier to make a Skinner box that takes advantage of basic psychology to control player behavior, and get them playing your game for hours on end.</p>
<p>What&#8217;s even worse is you have culprits like MMORPGs, Farmville, and others who are effectively extorting money out of the player with the sunk cost fallacy. Want to keep all the bonuses you earned in that MMORPG? Better keep up with the monthly fee. Want to get more money in Farmville? Just cough up some real cash for an instant hit you won&#8217;t have to work for.</p>
<p>If you are playing one of these games, I strongly encourage you to think seriously about what you are doing. Are these games actually good games? Are they good for you? Are they worth your time and money?</p>
<p>For game designers, can we please put some ethics ahead of our wallets? When we hear about certain advertising techniques, we deem them to be unethical. They take unfair advantage of human psychology to deceive and/or coerce people into spending money. These game mechanics are no different, except that they are present in the product itself and not the advertisement.</p>
<p>It is possible, and in fact trivial, to make games that effectively control people&#8217;s minds. We need to recognize this fact, and work together to create a code of ethics for game designers. Games which are designed specifically to addict players can be, and are, harmful. People are being deceived into playing golf against Tiger Woods, giving him a head start, and preferring it to a fair competition. You know something is wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/persistence-sells-and-ruins-games/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Privacy is Dead</title>
		<link>http://www.apreche.net/privacy-is-dead/</link>
		<comments>http://www.apreche.net/privacy-is-dead/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 01:39:54 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1080</guid>
		<description><![CDATA[Towards the end of my previous post I began to talk about the inevitability of a techno-anarchist future. Eventually we will have such powerful technology that is so widely available to the masses that it will be impossible to enforce &#8230; <a href="http://www.apreche.net/privacy-is-dead/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Towards the end of my previous post I began to talk about the inevitability of a techno-anarchist future. Eventually we will have such powerful technology that is so widely available to the masses that it will be impossible to enforce any laws. It will be like living in a world full of wizards. Their vast powers allow them to do great good, and great harm. Those same powers also allow them to disguise or conceal anything beyond the point of deniability. If someone can snap their fingers to affect things on the other side of the world, you live in anarchy whether you like it or not.</p>
<p><span id="more-1080"></span></p>
<p>You can already see this anarchy happening in the realm of intellectual property law. Our current technology gives us the wizard-like power to instantly, and deniably, distribute perfect copies of any digital data anywhere in the world at effectively no cost. No matter how many DMCAs there are, no matter how many RIAAs there are, they&#8217;ve already lost. The spread of information, of any kind, can not be stopped. The dam burst long ago, and can not be repaired.</p>
<p>What I find funny is that many people who agree the intellectual property damn has burst, do not also believe that the privacy dam is equally affected. The record and movie studios will be frustrated that they can not control who has access to their information, and people will laugh at them. Yet, these folks who are laughing will express the same exact frustrations when it comes to not being able to control access to their personal information.</p>
<p>It is as impossible to control access to your personal information as it is impossible for the old entertainment industry to control access to content. If you&#8217;re a privacy advocate, the number of early leaks of Hollywood movies on bittorrent should scare you.</p>
<p>There are a lot of arguments to be made for why we should have privacy. I agree with many of them. It&#8217;s not right for employers to make hiring decisions based on things like medical conditions or sexual orientations. It makes life a lot harder if annoying acquaintances are immediately aware of juicy details in your relationships. It&#8217;s not cool that stalkers have the ability to follow your every move, and make your life miserable.</p>
<p>If privacy were possible, I would love it for all the reasons above, as well as others. If people were able to choose which pieces of personal information were private, and which were public, that would be a perfect world. The fact is, it&#8217;s not a perfect world. It&#8217;s a very imperfect world. Rather than waste time in this futile and impossible battle for privacy, we should instead concentrate on developing ways to get on in a world without any privacy.</p>
<p>The first thing we need to do is implement much greater computer security systems with multi-factor authentication. Giving everyone a yubikey will go a long way towards allowing people to store personal data digitally, but also give them complete control over who can access which information under which circumstances. Too bad we are all relying on useless things like social security numbers and handwriting.</p>
<p>Also, people need to start realizing that the value of sharing information can often outweigh the costs. Look at the kinds of people you see on the TwiT podcasts. They are very public figures who are very digitally connected. They share all sorts of information about themselves directly, and it is trivial for a tech savvy person to get all of their pertinent information such as addresses and phone numbers. Yet, this kind of thing has only helped them, not hurt them. The sharing has made them more popular, allowed more people to connect with them, and their audience feels a much better relationship with them.</p>
<p>I can give some personal examples as well. As a podcaster, I have shared my phone number and address with many of our listeners. Those that do not know this information can acquire it trivially on the Internet. Despite sharing our address, nobody has stalked us. Instead, they just send us wonderful gifts. And despite sharing my phone number, nobody crank calls me. Instead, they call to meet up at various conventions and have a good time.</p>
<p>I saw today that some guy who lost American Idol was all over the news because he came out of the closet. How come he is on the front page, and the winner is nowhere to be seen? Because he shared information about himself. The benefit of sharing the information for him was tremendous. The harm, if there is any, is negligible by comparison. Even if there is some harm due to lack of privacy, it&#8217;s worth dealing with those problems in order to get the benefit of sharing.</p>
<p>In my opinion, the most fascinating field of scientific discovery right now is neuroscience. Thanks to things like the FMRI we are learning more and more every day about how the human mind actually works. The inevitable result of advancing this technology is that in the future, we will be able to read people&#8217;s minds. Not even your own thoughts will be protected from being shared. A world where minds can be read is a world that many people will be very uncomfortable living in, but it&#8217;s also an unavoidable reality.</p>
<p>The world can&#8217;t be perfect. If we want to have a free flow of information, that is going to necessarily include personal information whether we like it or not. Our society will be much better off if we give up the fight for privacy, and instead concentrate on developing strategies for coping in a world without it. If we continue to lean on privacy, we will collapse the day it disappears. If we can somehow learn to stand without it, then we can can let it go in peace.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/privacy-is-dead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Injustice by Association</title>
		<link>http://www.apreche.net/injustice-by-association/</link>
		<comments>http://www.apreche.net/injustice-by-association/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 01:54:24 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1086</guid>
		<description><![CDATA[It has recently come to my attention that there are far too many laws which outlaw harmless activities, simply because they correlate with other harmful illegal activities. It all goes back to the day when they had to get Al &#8230; <a href="http://www.apreche.net/injustice-by-association/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It has recently come to my attention that there are far too many laws which outlaw harmless activities, simply because they correlate with other harmful illegal activities. It all goes back to the day when they had to get Al Capone for tax evasion. Rather than eliminate incompetency and impotence of the law enforcement, requiring them to work harder, we pass laws to make their jobs all too easy. The side effect is that many grave injustices are allowed to pass.<span id="more-1086"></span></p>
<p>Take for example this story. A man came to the US from South America to work. As many who follow that same path in life, he was saving money so that one day he could return home and support his family. After years of hard work, he had built up a tidy pile of cold hard cash. We&#8217;re talking about many thousands of dollars in paper money.</p>
<p>He was finally on his way back home to see his family, when he was pulled over by police for a traffic violation. They ended up searching his car and finding the cash. Even though there was no evidence of any other wrongdoing, the police confiscated the cash, and they were not legally obligated to ever return it. Why does this law exist? Because drug dealers often have lots of cash on hand. This law lets cops arrest drug dealers, and take their cash away when the drug dealers are too smart to get caught actually dealing.</p>
<p>There is another law, in some places, that makes it illegal to have a large number of small zip-lock bags. Very small plastic baggies, the kind I use to sort out pieces in board games, are also the kind that drug dealers use to sell drugs. Depending on where you are, how many bags you have, and the size of the bags, you could be arrested and convicted even if you have never touched illegal drugs in your entire life.</p>
<p>The United States has a strong interest in preventing the hunting of bald eagles. They are an endangered species, last I heard, and they are a national symbol. Thus, it is illegal to possess any part of an eagle. Veterinary places that handle eagles have to document and send all Eagle parts to a central authority. Native Americans who want Eagle feathers and such for their rituals, and what have you, must officially request them.</p>
<p>If we find a poacher who has some eagle feathers in his truck, but we can&#8217;t actually prove that he poached an eagle, this law makes it possible to convict said poacher. I guess that&#8217;s a good thing, except for the fact that someone who happens to live near some eagles might be convicted despite a complete and utter lack of wrongdoing.</p>
<p>There are many other laws out there which revolve around the concept of tool possession. Guns are sort of the obvious tool, but what about lock picks, chemistry sets, or bongs? Sure, there are correlations between these objects and illegal activities, but is that really enough? What if someone is honestly a bong historian, and just likes to collect them? What if someone else just likes to pick locks for Houdini reasons? Modern chemistry sets don&#8217;t have nearly any of the fun stuff they used to have back in the day.</p>
<p>People like to say that it is better for ten guilty to go free than one innocent to be imprisoned, but I don&#8217;t think too many people really believe it. So much of our entertainment media is about beating or catching the bad guys. When it is about a wrongly accused innocent, the audience is always 100% sure that the accused is truly innocent. When an obviously guilty person gets away on a â€œtechnicalityâ€ it is portrayed as a win for the bad guys. I think that some more stories about people of ambiguous guilt will help Blackstone&#8217;s formulation really become a part of the public consciousness.</p>
<p>We need to stop letting law enforcement be lazy. If someone is dealing drugs, then catch them dealing drugs. If someone is poaching eagles, catch them poaching eagles. If all you can do is catch someone with a pile of cash and some eagle feathers stored in plastic baggies, then either the criminals are smarter than the cops, the cops just suck at their jobs, or the person is actually innocent.</p>
<p>Lastly, I think we have a major problem coming up in our society in that we will find an ever increasing number of laws absolutely unenforceable. Imagine if you lived in a typical high fantasy setting, with wizards and dragons. How would you enforce laws on the wizards? You really can&#8217;t. Sufficiently powerful magic allows for absolute deniability. You know the old saying that sufficiently advanced technology is indistinguishable from magic? Well, it&#8217;s true in this regard. People with access to sufficiently powerful technology will be able to do whatever they please with no possibility of being caught.</p>
<p>If we start living by Blackstone&#8217;s formulation now, we can ease ourselves into the future techno-anarchy. If we continue along our current path, it&#8217;s going to all come crashing down one day when online money laundering spirals out of control.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/injustice-by-association/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>We Need Nicer Medicine</title>
		<link>http://www.apreche.net/we-need-nicer-medicine/</link>
		<comments>http://www.apreche.net/we-need-nicer-medicine/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 02:33:05 +0000</pubDate>
		<dc:creator>Apreche</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.apreche.net/?p=1090</guid>
		<description><![CDATA[Anyone who knows me knows that snake oil peddlers rank close to the top on the list of things I despise. When someone is suffering from an illness, taking their money in exchange for false hope is among the worst &#8230; <a href="http://www.apreche.net/we-need-nicer-medicine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Anyone who knows me knows that snake oil peddlers rank close to the top on the list of things I despise. When someone is suffering from an illness, taking their money in exchange for false hope is among the worst things one human can possibly do to another. Evidence based medicine is the best medicine we have, and I wouldn&#8217;t let myself, or anyone I care about, receive any other kind of treatment. However, evidence based medicine has one major problem in that is is very unpleasant for the patient.</p>
<p><span id="more-1090"></span></p>
<p>Even as a kid, going to a doctor&#8217;s office is typically unpleasant. Most people hate getting pricked with needles, drinking nasty liquids, or swallowing strange pills. People hate being in hospitals more than anything. They never want to go there, and they want to leave as soon as possible. People hate real medicine so much, they will avoid going for as long as possible, until they are very ill and have no other choice.</p>
<p>Yet, when it comes to snake oil, people love it. In fact, people love it so much, they will take it even if they aren&#8217;t sick. Going to phony healers is so fun, people go when they are in perfect health. People who are genuinely ill will avoid getting real help. People who are just fine will seek out completely fake help. What is going on here?</p>
<p>Some of it is just that reality sucks. Snake oil is usually very pleasant when compared to real medicine. Surgery, radiation, chemotherapy, injections, strong medications, etc. are all very unpleasant things. They have lots of side effects, and pain is only the first one. Most, but not all, snake oils have no effects whatsoever other than placebo. You can&#8217;t have a side effect if you don&#8217;t have a primary effect. The only way to make medicine more pleasant is with scientific advancement. More investment in medical research is the only way to solve any of these problems.</p>
<p>There is another side of this problem that we can solve. You see, real medicine isn&#8217;t nice. When you&#8217;re in the hospital, you rarely see the doctor. Nurses don&#8217;t come immediately when you push the call button, if at all. Emergency rooms have long waits. You never really get to spend a lot of time talking with your doctors. They can&#8217;t sit around for an hour chatting with you. They have a lot of patients to see, and not enough hours in the day to see them all.</p>
<p>Not only that, but because of ethical concerns, doctors will only talk to you in a certain way. They don&#8217;t talk like a normal person. They are often cold and clinical. There are many things they can not, or will not, say. Even a doctor who has what most would consider excellent bed-side manner does not speak in a way that is as reassuring and comforting as is possible.</p>
<p>On the other hand, a snake oil practitioner is the exact opposite. They will sit and talk with you all day. Most of them actually aren&#8217;t scam artists, but actually believe in the snake oil they are peddling. They are well-meaning normal folk, who want to, and believe they are, healing their fellow humans. They really do care about you. They don&#8217;t have ethical qualms because they don&#8217;t know ethics. They engage you in warm environments like living rooms and local shops, as opposed to sterile offices. They also speak in the most reassuring manner possible, with lies. Nothing is more comforting than someone guaranteeing a perfect recovery with no side effects, no pain, and trivial treatments.</p>
<p>Obviously there is a limit to how much nicer doctors can be. I am not suggesting in any way that we should give up the aforementioned ethical concerns doctors have when speaking with patients. In fact, I think that many doctors need to be more ethically conscious than they are. I obviously don&#8217;t think doctors should start lying to patients, as the scammers do, just to make them happy.</p>
<p>What I do think is that we need a new profession. We need someone whose only job is to talk with patients and doctors. It should be someone who is knowledgeable in the areas of medicine and psychology. They should be able to speak with patients, both to assess the patient&#8217;s situation and to make sure the patient fully understands their conditions and treatment. They should also be able to efficiently communicate to doctors the information they need to treat the patient, of course without actually practicing any medicine.</p>
<p>Let me use my own hospital experiences as some examples. Personally, I have only been to a hospital because of myself twice. Once was for a broken bone, which needed no treatment, and once was a quick emergency room trip to get stitches. However, I have been to the hospital quite a few times to visit friends and relatives.</p>
<p>Let&#8217;s begin with the time my roommate cut his finger while making dinner. It definitely needed stitches. We drove to the nearest emergency room, and of course we expected to wait, but they took him in right away. Time passed, and nothing happened. It was late at night, and the people at the desk could not offer any information. We also could not leave the waiting room. There was no communication with my roommate whatsoever. Eventually hotel staff starting leaving, and there was nobody to talk to at all. Waiting was not a problem. What was the problem was there was nobody to talk to. All we needed was someone to estimate the waiting time, keep us informed, maybe predict what the doctors would do. We couldn&#8217;t even get some assurance that care would actually be provided. I guess its fitting that there was no assurance, as no care was provided. My roommate left without treatment after an ungodly wait, and no communication from the staff. He went to the clinic the next day for treatment, and part of his finger is still numb to this day.</p>
<p>Let&#8217;s talk about my grandparents. When they go to the hospital, they have many doctors. Cardiologists, internists, gastroenterologists, and more. I&#8217;ve been to these hospitals on successive days, and you never see these doctors. You can spend a week there, and you&#8217;re lucky if you see a doctor once. You&#8217;re lucky if they call you more than once every few days. Any non-nurse who comes to see you tends to ask the same questions, even though you know that information is on the chart. It&#8217;s a miracle if they stay more than a few minutes.</p>
<p>There&#8217;s also no way to know that your multiple doctors are communicating with each other. You want to be assured that all the doctors are discussing your case together, and they all have up to date information. Yet, never have I seen such a thing. You talk to one doctor, then the next one won&#8217;t even ask what the previous doctor did. You have to make the initiative to tell them. And even when you do tell them, they don&#8217;t indicate in any way that they care, are paying attention, or are taking that information into consideration.<!--more--></p>
<p>If you are a doctor, and a patient tells you something, even if it is stupid and useless information, you have to at least pretend that what they are saying is the most important thing in the world. Lying to the patient about their condition or treatment is unacceptable. But a doctor lying about their own feelings has the potential to decrease the stress and anxiety of the patient, and therefore smooth the path to recovery. Based on that, I can make the case that doctors are obligated to do this, otherwise they are being negligent in their treatments.</p>
<p>If the profession I suggested actually existed, that person could solve these problems. They could make sure both the patient and doctors are all up to date with the latest information. They could reassure the patient that they are receiving the best treatment possible, and they could save doctors a lot of time dealing with inefficiencies. They could even fill the role of translating complex medical knowledge into terms that patients can understand.</p>
<p>We need medical care in this country, and around the world, to be nicer. Anyone who engages the medical system as, or with, a patient, has a very strong possibility of meeting with a very stressful, unpleasant, and anxiety-ridden scenario. It&#8217;s no mystery at all as to why people are flocking to fake medicine. It&#8217;s so warm and welcoming. If fake medicine worked, nobody would ever use evidence based medicine.</p>
<p>While I fully support evidence based medicine, we need to realize that there is more to medicine than the medicine itself. The experience is just as important as the product. The great experience is why people go to Starbucks instead of making something in their kitchen. Doctor&#8217;s offices and hospitals really need to work on providing this better patient experience, and having a person to sit and talk with can go a long way towards achieving that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apreche.net/we-need-nicer-medicine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
