<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4552178686808755827</id><updated>2011-07-29T00:50:29.634-04:00</updated><category term='tetris'/><category term='computer science'/><category term='education'/><category term='tech'/><category term='economics'/><category term='warriorship'/><category term='intelligence'/><category term='3h-gdc'/><category term='software engineering'/><category term='politics'/><category term='entertainment'/><category term='programming'/><category term='review'/><title type='text'>Sean T. McBeth</title><subtitle type='html'>Programmer, Photographer, Mad Scientist</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-7868037035435494060</id><published>2011-06-22T11:47:00.004-04:00</published><updated>2011-06-22T11:55:45.320-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>OOP(S), We've Been Going Backwards</title><content type='html'>&lt;div&gt;I'm about to blow your mind, because you've probably never heard someone say this in all of your indoctrination, erh, ahem, I mean training. Object Oriented Programming is wrong.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The fundamental tennets of Object Oriented design methodology are fallacious. The promise of OOP is that anthropomorphizing data will make it easier for programmers to grasp the data interrelations and interactions, but it just muddies the water for how that data is processed. The class does not exist. It really is just a bag of data--your CDog instance is not a dog, it's electrical signals that represent numbers that represent data that represent a dog--and to treat it otherwise is to peddle in lies.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OOP has done nothing to decrease the complexity of application development, nor has it led to more successful projects (success measured in terms of coming in on-budget). And if you look at the OOP advocated by such ecosystems as Java and Struts, you'll even see a massive increase in complexity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In any enterprise scenario, the most important thing is data. An enterprise application is nothing without a solid database, and the database will live on long past the application itself. That's the fallacy of N-Tier and MVC architectures: that the database is somehow an integral part of the application. How many times have you worked on new intranet applications that were connecting to and manipulating old databases, be them ancient mainframe systems or over-leveraged MS Access debacles? We'll be writing programs in C# 7.0 before we completely migrate off of dBase II. That's why COBOL applications still exist, the data storage was integrated into the programming language. And in an ever more regulated business environment, our requirements for data are only going to increase exponentially. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But what changes constantly and dramatically is how we want to see that data. That is our application. The means by which we manipulate data are absolutely decoupled from the data itself. In 20 years time, you're not going to want to know how report XYZ was calculated (in some part because it was probably wrong), mostly because your business needs are completely different and that report just doesn't make sense anymore.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By using OOP, you're marrying your data and your behaviors, by its very definition, and then trying to hide your data. It's like playing 20 questions with your business. When some new business analyst comes along, trying to make a name for himself in the company, and declares that System XYZ that has been running perfectly well for the last decade needs to be rewritten "to bring it up to industry best practices", in an OO scenario you're in the old cliche of "throwing out the baby with the bathwater." This is especially true if you've used an ORM system that lets the application drive the database design.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is probably why there aren't very many jobs for Lisp and other functional language programmers: because their languages were pretty much right the first time so there is no pressure to "upgrade" and their applications just work the first time because they know the difference between data and how we manipulate the data. In functional programming languages, EVERYTHING is understood to be just bags of data. In Lisp and Scheme, you pass around lists to all of your functions, lists that don't advertise particularly well what are in them. That's because, for the most part, it doesn't matter. You don't &lt;i&gt;want&lt;/i&gt; your application to know very much about your data. You want to segregate those parts of the application that do know about the data to very restricted and limited areas. The more generic the bulk of the code, the more reusable it is.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Which brings me to yet another fallacy of OOP: code reuse. When was the last time you reused a class you wrote yourself? I bet you have a "Utility" class somewhere that's a bag of static methods, we all do, because OOP doesn't account for the fact that functionality exists separate from data. That doesn't count, that's not a real class. I'm talking about BusinessEntityWidgetX implementing GodAwfulInterfaceY. When was the last time you reused either across applications?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So OOP, you promised the world, and you never delivered. Then you built a system of indoctrination around yourself (university computer science programs) to protect yourself from criticism. Congratulations, you've achieved the status of religion.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-7868037035435494060?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/7868037035435494060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=7868037035435494060' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/7868037035435494060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/7868037035435494060'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2011/06/im-about-to-blow-your-mind-because.html' title='OOP(S), We&apos;ve Been Going Backwards'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-5034037974570752057</id><published>2011-05-12T10:52:00.000-04:00</published><updated>2011-05-13T16:51:54.333-04:00</updated><title type='text'>On Arguments</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-zFmXvTwubq8/Tcv5uPXJUzI/AAAAAAAABAk/y7o4zLkibHk/s1600/headache.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 270px; height: 320px;" src="http://3.bp.blogspot.com/-zFmXvTwubq8/Tcv5uPXJUzI/AAAAAAAABAk/y7o4zLkibHk/s320/headache.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5605848733985624882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;My friend &lt;a href="http://www.farmckon.net/"&gt;Far McKon&lt;/a&gt; recently posted a bit on living in a connected world and the responsibilities of having an online persona. Check out his post, "&lt;a href="http://www.farmckon.net/2011/05/have-big-mouth-will-travel/"&gt;Have Big mouth, will travel.&lt;/a&gt;" I was originally writing this as a comment on his post, but it got to be quite long and I thought it would better serve as a post on my own blog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I try to use the type of situation that Far refers to as learning experiences (always after the fact, "the bridges I burn light the path before me") to see where I can improve my debating skills. These days, I try to only talking to people who don't agree with me; it forces me to be honest as well as humble. I could have avoided a lot of arguments in the past by being more cognizant of my audience, specifically who that audience might fully entail. It can be a slap in the face to realize that a lot more people heard what you said or read what you wrote than originally you intended. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The key is to recognize the difference between content, delivery, and desired outcome. There is more than one way to express any opinion, and even very contentious opinions can be expressed politely without resorting to patronizing political correctness. Without practice, your delivery is reflexive, and without control over your delivery, you won't get your desired outcome. Tailor your delivery for the outcome.  People don't wan't to have their opinions challenged by a stranger. You often have to "lose" the early battles to get to a position where you can win the war.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It can make you a better writer in the process. When you're more aware of what you want to say and the emotions you want to evoke, you can cut out the extraneous bits that are primarily repetitions of your thesis through the various lenses of your own full range of emotional responses. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But there is also a certain level of responsibility that needs to be shouldered by the other party. If we take on all of the responsibility for poorly ran arguments, then really we're admitting that the other person is perfect. Also, irrational people exist*, and there is just no accounting for them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, what does it all mean? Should we have more anonymous systems to allow us to express our opinions to the fullest? Or should we censor ourselves to be more palatable to the masses? I think the answer is, "Yes". Since the advent of the Internet, we live in a world where people get to tailor-make their social circles. Before the year 2000 (the distant future), if I wanted to talk to someone on a Saturday, it had to be my next-door neighbor. We didn't get along on most things, but we had an amiable relationship because &lt;i&gt;we had to have one&lt;/i&gt;. Now, I can piss off my neighbors all I want and it doesn't matter, I can find validation online in my custom community. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the long run, I think it's healthier for each of us to learn how to argue our points in the complete open. But sometimes, you just gotta say, "FUCK 'EM ALL TO BURNING HELL AND BACK AGAIN, RARRRRRRR!" Venting can be healthy, too, and we need new places to vent. For us 'Netizens that have been around the block a few times, maybe that just means being faster than Teh Nooblets on reinventing our online personas. It certainly means ignoring Facebook Connect and Google Sign-In and OpenID. God, whatever happened to having to remember a dozen passwords for all of the sites we interacted with?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;* There is a whole post on whether or not arguments are based in lack of rationality in one or more parties in the conversation, or a lack of shared facts. Keeping it short, I now recognize that no amount of facts can save certain people. But for the most part, it's the lack of shared facts.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-5034037974570752057?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/5034037974570752057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=5034037974570752057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/5034037974570752057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/5034037974570752057'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2011/05/on-arguments.html' title='On Arguments'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-zFmXvTwubq8/Tcv5uPXJUzI/AAAAAAAABAk/y7o4zLkibHk/s72-c/headache.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-8670088231022613138</id><published>2011-03-22T02:36:00.003-04:00</published><updated>2011-03-22T02:48:08.392-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tetris'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>How to Write Tetris</title><content type='html'>I'm starting a series of articles on how to program basic, 2D video games, with the object of focus being the game of Tetris. I'm going to try to be as language agnostic as possible, but certain parts of this project are extremely OS and programming language dependent. So far, I plan to do the articles in seven parts:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Part 1: Timing&lt;/b&gt; - Making the "game loop" is something that trips up a lot of new programmers. The game loop is a constant feature of your game project, so getting it right is important. There are a number of ways to do this in a variety of different languages; I'll show you the most common ones.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Part 2: Basic Graphics&lt;/b&gt; - You're not going to get very far if you can't draw something on screen. We'll focus on 2D graphics APIs, as there are plenty to come by that are more than suitable for this task.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Part 3: Tetris Logic&lt;/b&gt; - I'll go into detail on how &lt;i&gt;I&lt;/i&gt; have decided to implement basic "Tetris" logic, and my motivations for doing so. There are any number of ways to do this.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Part 4: More Advanced Graphics&lt;/b&gt; - The graphics we did in Part 2 are serviceable, but not pretty. We'll learn how to leverage free tools for drawing tiles and backgrounds that can really punch up the look of your game while remaining very simple to implement.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Part 5: Sound&lt;/b&gt; - The sounds requirements for such a simple game are very limited, so this is only going to cover some basic points.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Part 6: All The Trimmings&lt;/b&gt; - At this point, the game should be playable, but we won't have any of the "trimmings", e.g. menus, game over screens, score tables, options, etc. Here, we'll go over what users typically expect out of their game experiences and how to implement them in a way that is robust and easily expandable.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Along the way, I'll be pointing out different areas of programming best-practice that often only come out of many years of experience. I've been programming professionally for over a decade, so hopefully you can learn from my past mistakes and get off on a good footing.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-8670088231022613138?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/8670088231022613138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=8670088231022613138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8670088231022613138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8670088231022613138'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2011/03/how-to-write-tetris.html' title='How to Write Tetris'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-8653243832701989980</id><published>2011-02-15T17:48:00.003-05:00</published><updated>2011-02-16T14:48:55.981-05:00</updated><title type='text'>I'm quitting</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;div&gt;I have a bit of an announcement to make. I quit my job today. For the last two years, I've basically been in an ever increasing spiral of depression over the fact that I hated my job and had grown to hate the menial work of programming that pretty much consists of 80% of all work in this industry. I jumped around on projects and new jobs trying to deny it, to find some kind of secret sauce that would fix it all ("Maybe I just need a different environment, maybe I need to get away from this shitty code base."), and it only served to make me want to wall myself in my room and never come out again.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;So I quit. I'm probably going to quit programming for a living. I haven't had any fun programming in the last 3 years because I've been too caught up with programming for work that when I get home I'm spent. Back in September of 2010 I started a project that should have taken me 2 months. Three years ago, I would have rushed home from work and worked on such a project until 2 in the morning. It's still not done and the fact that I haven't been able to do that is a serious canary in the mineshaft in terms of my ability to perform in this field. I like to think that I'm a person capable of keeping promises, so I gotta push through the burnout and just get that project done stuff done. Conveniently, I've suddenly have a lot of time on my hands.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've got enough cash to get by for a few months without needing to have any income, and then my lease runs out on my apartment, I'll cancel my internet and utilities, and my cash requirements plummet dramatically. I'm not in as good of a debt position as I would have liked by this point, but that's yet another symptom of what I've been doing (or rather, not doing) for the last 2 years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;I don't really know what I'm going to do long-term. I might end up flipping burgers, or I might end up a freelance photographer. Part of the whole point is to reassess my life decisions and come up with a plan that keeps me from getting burnt out like this again. Now seems like a good time to get a bunch of loan proposals done for different business ideas that have been sitting on the back burner for the last 3 years. Grad school applications suddenly seem feasible.&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-8653243832701989980?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/8653243832701989980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=8653243832701989980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8653243832701989980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8653243832701989980'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2011/02/im-quitting.html' title='I&apos;m quitting'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-6004843680550169526</id><published>2010-08-07T00:39:00.004-04:00</published><updated>2010-11-12T09:07:44.931-05:00</updated><title type='text'>The Antoine Dodson Affair</title><content type='html'>&lt;span class="Apple-style-span" style="  ;font-family:arial;font-size:small;"&gt;&lt;div&gt;Urlesque, purveyors of teh funnays, tackles a little more serious fair in the midst of their typical format.&lt;/div&gt;&lt;a href="http://www.urlesque.com/2010/08/06/antoine-dodson-bed-intruder-meme/"&gt;http://www.urlesque.com/2010/08/06/antoine-dodson-bed-intruder-meme/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;The article brings up the "rape is not funny" issue, siding firmly in the affirmative. The auto-tuned, song parody of the video falls into the category of "rape joke", but it's not about the rape, it's about the flamboyancy of Dodson. When he says, "hide your kids, hide your wife, and hide your husband, they rapin' everybody out here", it's not funny because "everybody" is getting raped, it's funny because he suggested hiding your husband! Anyway, I don't want to go too far down this road, because the article is much more about race than it is about rape.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They're fairly critical of Ed Bassmaster -- a comedian who has successfully turned his popular YouTube in-character-prank-calls into paying acting gigs -- and his parody of the original video. They say he "Needs more blackface, bro!". I think that's pretty unfair, Ed is basically adapting one of his more popular characters to this meme. But whereas Ed can't parody the video because he looks white, apparently the last video in the list is okay, because it's made by an obviously-black-man. I'm really not sure what Ed's race is, and I don't think it should matter in this case.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;The hand-wringing over whether or not it's racially appropriate to laugh at Dodson or the parody videos seems to me to be a tad hypocritical. If race shouldn't be an issue, then don't let it be an issue. Enjoy a ridiculous video for what it is. It just feels more like people jumping over themselves to declare their "sensitivity" to the "issue". Really, it's a hypersensitivity to race that is actually just patronizing. I like the news station's answer to the issue, would it have been better if they didn't let him voice his opinion at all?&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Those are my two cents on a completely inconsequential topic. Thank you.&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-6004843680550169526?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/6004843680550169526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=6004843680550169526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/6004843680550169526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/6004843680550169526'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2010/08/urlesque-purveyors-of-teh-funnays.html' title='The Antoine Dodson Affair'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-5342386346752890565</id><published>2010-05-19T15:34:00.009-04:00</published><updated>2010-05-19T16:36:52.584-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>HTML5 Stereocopy Demo</title><content type='html'>&lt;a href="http://seanmcbeth.110mb.com/stereo.html"&gt;I've written some JavaScript code&lt;/a&gt;  that is a basic demo of &lt;a href="http://en.wikipedia.org/wiki/Stereoscopy"&gt;stereoscopic rendering&lt;/a&gt; with the new Canvas element. The techniques that the Wikipedia article describes that I have used in this demo are:&lt;div&gt;&lt;ul&gt;&lt;li&gt;Stereopsis (in this case, simple linear transformation in X-axis proportional to Z-axis as an approximation to a real 3D transformation)&lt;/li&gt;&lt;li&gt;Occlusion of one object by another (Z sorting)&lt;/li&gt;&lt;li&gt;Subtended visual angle of an object of known size (scaling object size proportional to Z-axis)&lt;/li&gt;&lt;li&gt;Haze, desaturation, and a shift to bluishness (interpolating object color proportional to Z-axis)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The performance in Chrome is pretty good. This also runs on the Android browser, though you have to drop the rendering down to 10 objects even on the Motorola Droid to get anything resembling reasonable frame rates. It also runs in Safari for Windows, Firefox, and Opera. I've included Google's EXCanvas script to get it to work in IE, but performance is abysmal.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-5342386346752890565?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/5342386346752890565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=5342386346752890565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/5342386346752890565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/5342386346752890565'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2010/05/html5-stereocopy-demo.html' title='HTML5 Stereocopy Demo'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-5865958291324830392</id><published>2010-04-05T23:13:00.001-04:00</published><updated>2010-04-05T23:14:35.473-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3h-gdc'/><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>3H-GDC</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: verdana, arial; font-size: 13px; "&gt;&lt;center&gt;&lt;h1 style="font-size: 18px; font-weight: bold; color: black; "&gt;3 Hour Game Design Contest, m.VII&lt;/h1&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;TL;DR Summary:&lt;/b&gt;&lt;br /&gt;Make a puzzle game in 3 hours. Win GDNet+ Membership. April 10th, &lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?year=2010&amp;amp;month=4&amp;amp;day=10&amp;amp;hour=21&amp;amp;min=0&amp;amp;sec=0" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;2100 UTC&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;Prizes:&lt;/b&gt;&lt;br /&gt;#3: a PayPal transfer worth 3 months of GDNet+ membership ($12.95).&lt;br /&gt;#2: a full year of GDNet+ ($39.95).&lt;br /&gt;&lt;big&gt;&lt;b&gt;#1: a $75 gift card for Amazon.com (email gift card).&lt;/b&gt;&lt;/big&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;For the seventh competition ever (it seems weird to me that we've done 6 of these things already, and yet the last one was &lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=430874" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;over 3 years ago&lt;/a&gt;.), we are going to mix things up this time. I've just open sourced &lt;a href="http://puzzlelib.codeplex.com/" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;some code for creating grid-and-tile puzzles&lt;/a&gt;, ala Tetris or Dr. Mario or whatever. It provides a very basic framework for defining pieces and figuring out different ways to place them on a board. Included in the distribution is an example of the Tetris game. On top of that, there are two examples of UI implementations for the game, using either the system console or Windows Forms, demonstrating a sort of MVC setup for game development. Also, I've included the &lt;a href="http://www.gamedev.net/community/forums/www.nunit.org/" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;NUnit&lt;/a&gt; tests in the source code; if you want to run them, you will need to install the framework (the solution file is current configured to not build the test project when building the solution, to avoid errors for anyone who doesn't have NUnit installed). It's pretty simple, but if you have any questions, feel free to ask.&lt;br /&gt;&lt;br /&gt;So, the contest will be based in some way on puzzle games: you can use my library if you want or not, you can spend the next few weeks porting my library to your favorite language if you want (I've released under the MIT license), you can develop your own puzzle game library if you want, it doesn't really matter, as long as you meet the secret theme. If you would use my library, I would greatly appreciate it, to give it a sort of "real world" test, see what people make of it, and see where it should be taken from here. But, it's not required.&lt;br /&gt;&lt;br /&gt;We usually have prizes for this contest, typically a certain amount of cash via PayPal intended to be used to purchase a GDNet+ membership. Prizes are donated by the community as a whole. I've donated games before as well. At the very least, I'll end up covering 1 year, 3 months, and 1 month of GDNet+ membership fees as the top 3 prizes. I might dig through my hardware pile and find something interesting. Anyone else is free to offer something.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Date/Time:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?year=2010&amp;amp;month=4&amp;amp;day=10&amp;amp;hour=21&amp;amp;min=0&amp;amp;sec=0" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;Saturday, April 10th.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theme:&lt;/b&gt;&lt;br /&gt;The past six contests were "Black and White," "Fire," "Crackers," "CARTS," "The Stars", and "The Pits". The emphasis is originality in interpretation. With the Crackers theme there were entries that featured fire crackers, saltines, people "cracking" windows open to prevent leathal doses of methane gas, and southern honkeys.&lt;br /&gt;&lt;br /&gt;I'm getting rid of the ASCII art requirement this time. If you want to do that, that's up to you, I like ASCII art games. I personally think the contest is easier if you do ASCII art, but that's just me. You might find it easier to do it in HTML5 or Flash, which is perfectly acceptable.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Rules:&lt;/b&gt;&lt;br /&gt;&lt;ol style="font-family: verdana, arial; font-size: 10pt; "&gt;&lt;li&gt;Submissions must meet a predetermined theme (which will be revealed 15 minutes before the beginning of the contest)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Any Language (C, Java, C#, Python, javascript, Brainf***, I don't care) or API (SDL, Allegro, PyGame, JOGL, even SVG in HTML5 is cool) are acceptable, as long as you handle all distribution yourself (Ideally include all assemblies. You may link to download page, but please, don't just link to the project's homepage). This is especially true if you use a "game maker", I don't want to have to hunt anything down to play your game.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Writing the code in the time limit is "on your honor". That's why I keep the theme a secret: you might be able to make a generic game between now and then, but you won't be able to make anything specific to the theme. But seriously, why would you cheat for such a simple contest?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Judges will judge on a full binary version of the software. They will not compile the software. Source code is not required, though you may request source code to be posted with your submission.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Judging is conducted by a panel of non-competitors&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Judging is based mostly on overall gameplay and originallity of game design. We understand that content will be light, that graphics will be underdeveloped, that input MIGHT be a bit akward. Gameplay and concepts are key.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;prizes (when available) are listed above, runners up receive nothing.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Three hours is plenty of time to make a classic arcade game, or something new with simple gameplay. The threads for the previous contests are available below. Unfortunately, all of the links are broken. I still have an archive of all of the games, I just need to find a place to put them (&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=563724" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;maybe CodePlex?&lt;/a&gt;)&lt;br /&gt;&lt;ul style="font-family: verdana, arial; font-size: 10pt; "&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=332402" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;The first 3H-GDC&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=333131" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;3H-GDC m.II&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=344998" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;3H-GDC m.III&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=362505" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;3H-GDC m.IV&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=373000" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;3H-GDC m.V&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=430874" style="text-decoration: underline; color: rgb(48, 84, 174); "&gt;3H-GDC m.VI&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;If anyone wants to volunteer as a Judge, please post here and list your machine specs as well as your pertinent software running on your computer. For example, I'm:&lt;br /&gt;&lt;br /&gt;Processor: Intel Core 2 Duo E8600&lt;br /&gt;Memory: 8GB RAM&lt;br /&gt;GFX: NVidia GeForce 8800 GTS&lt;br /&gt;OS: Windows Vista Ultimate 64bit&lt;br /&gt;Browsers: Google Chrome (default), IE8, FireFox 3.6&lt;br /&gt;Other Software: Whatever the lastest, non-beta versions of Java, .NET, Python, Ruby, DirectX, and XNA are available. I don't remember, but I'll make sure everything is up to date before the contest.&lt;br /&gt;&lt;br /&gt;Not that it's terribly important, given the low level graphics this contest will require.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-5865958291324830392?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gamedev.net/community/forums/topic.asp?topic_id=566163' title='3H-GDC'/><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/5865958291324830392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=5865958291324830392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/5865958291324830392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/5865958291324830392'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2010/04/3h-gdc.html' title='3H-GDC'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-1203165927903531243</id><published>2010-02-04T14:33:00.007-05:00</published><updated>2010-03-29T15:34:22.047-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Computers are hard to use</title><content type='html'>I submit that general purpose computing platforms, universally, are more difficult to use than is strictly necessary. In this article, I provide anecdotal evidence for how this can be true. In future articles, I will explore the main causes of this problem, and how it can be corrected.&lt;br /&gt;&lt;br /&gt;My first anecdote is my father. He is an incredibly intelligent man who still has to call me on weekends for help figuring out how to "email a Web site" to his friends. His confusion lies in the fact that there are multiple ways to accomplish this task. He can:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Copy the URL from the address bar of his browser window&lt;br /&gt; &lt;ul&gt;&lt;li&gt;which could be by right-clicking the address bar, selecting Select All from the context menu, right-clicking again and selecting Copy, or&lt;/li&gt; &lt;li&gt;dragging the mouse through the address bar and hitting CTRL+C on his keyboard, then&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;open his email client,&lt;br /&gt; &lt;ul&gt;&lt;li&gt;from the Desktop,&lt;/li&gt; &lt;li&gt;from the Start Menu, or&lt;/li&gt; &lt;li&gt;from the Quick Launch bar, then&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;create a new message by&lt;br /&gt; &lt;ul&gt;&lt;li&gt;clicking the "new message" button on the tool bar of the email client, or&lt;/li&gt; &lt;li&gt;opening the File menu and select New Message&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;paste the URL into the email, fill out the addresses and subject line, and click send, or&lt;/li&gt;&lt;li&gt;click the Page menu in his browser, select the Save As option, which has three seemingly reasonable options available,&lt;br /&gt; &lt;ul&gt;&lt;li&gt;"Webpage, complete" (What does that mean? Who even talks like this?),&lt;/li&gt; &lt;li&gt;"Web Archive, single file" (is that going to work for his brother who uses a Mac?), or&lt;/li&gt; &lt;li&gt;"Webpage, HTML only" (in other words, sans images, but it doesn't say that), and&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;attach the page to an email created in one of the several ways available, or&lt;/li&gt;&lt;li&gt;click the same Page menu in his browser,&lt;br /&gt; &lt;ul&gt;&lt;li&gt;select the Send Page by Email option, and continue from there, or&lt;/li&gt; &lt;li&gt;select the Send Link by Email option, and continue, or&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;post the link onto his Facebook profile.&lt;/li&gt;&lt;/ul&gt;There are many other ways this could be done, but for the sake of brevity (ha!), I will stop here.&lt;br /&gt;&lt;br /&gt;It's 2010 and the man who single-handedly taught me most of the math I know can't tell his friends about an interesting article he just read. It's not that he doesn't know how, it's that he can't decide how. &lt;i&gt;"What's the best way?"&lt;/i&gt; he will ask me. And like an idiot, I obviously answer, &lt;i&gt;"Well, it depends."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I'm not in a better situation. I have a bachelor's degree in Computer Science, have been working in software development for about five years, and I still don't know how to reliably connect to a WiFi network, get connected to the Internet once I'm connected to that WiFi network (shockingly, it isn't always automatic), enable Remote Desktop on my Windows machine, un-mute the sound on my Linux machine, or make my OS X interface not look so horrid (actually, I don't think there is a solution to that one). I'm currently in a red, seething rage over the Blogger interface in which I can't figure out how to make nested lists because I can't find an indent button on the tool bar, and I can't uncross my eyes to manually edit the HTML it generates because it is mangled with SPAN tags referencing a CSS class called "Apple-style-span". These are all egregious distractions from doing what I enjoy: playing games, editing photos, writing code. Or telling my friends about this interesting article I just read.&lt;br /&gt;&lt;br /&gt;It boils down to two issues: the ability to discover functionality and the existence of parallel functionality. In my next article, we will explore the issue of discoverability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-1203165927903531243?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/1203165927903531243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=1203165927903531243' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/1203165927903531243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/1203165927903531243'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2010/02/computers-hard-to-use.html' title='Computers are hard to use'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-8159327725948806666</id><published>2010-01-21T14:07:00.003-05:00</published><updated>2010-01-29T09:53:50.103-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Mousing in the modern era</title><content type='html'>http://dilbert.com/blog/entry/bad_interfaces/&lt;br /&gt;http://toastytech.com/guis/star.html&lt;br /&gt;&lt;br /&gt;I have one UI pet peeve: mousing over large screens. When the Apple Macintosh made the mouse popular in 1984, it was with a 9 inch, 512x324 resolution display. My first computer had a 17 inch, 640x480 resolution display, so not that much larger in terms of usable screen real estate. Now, I have two 22 inch, 1680x1050 resolution displays, one turned vertically. For comparison, I made this image&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_am5gmitRMjE/S1imKzI_rcI/AAAAAAAAAhM/nHCk2csNN5U/s1600-h/screen_size.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 197px;" src="http://1.bp.blogspot.com/_am5gmitRMjE/S1imKzI_rcI/AAAAAAAAAhM/nHCk2csNN5U/s320/screen_size.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5429272055251971522"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The red box in the middle is the old Macintosh display. It looks roughly 5 inches across the diagonal. Mousing interfaces haven't changed in any significant way in the last 30 years, but displays have grown astronomically in that time. If arguments against the mouse over text interfaces were contentious back-in-the-day, it's even worse now. My wrists can't take this anymore.&lt;br /&gt;&lt;br /&gt;I've tried increasing the mouse speed and acceleration, but then it becomes an issue to hit buttons. As the screen resolution grows, the percentage of the screen area that the button takes up shrinks. If you increase the speed of the mouse to compensate for the size of the screen, it makes hitting precise targets more difficult. I have never been able to set the acceleration to be able to move consistently across the screen in both wide swaths and with precision. &lt;br /&gt;&lt;br /&gt;So far, my partial work around is to use a trackball. The ball has momentum so I can give it a spin and it will continue to roll. It also doesn't require anything from the table space below it, so I can use it anywhere, including my lap. However, this brings up a new issue: trackballs make mousing in relatively straight lines much more difficult. &lt;br /&gt;&lt;br /&gt;I've also attempted to use my Wacom tablet as a general purpose pointing device, and while it does solve the moving quickly but selecting precisely problem, it has its own problems in that dragging objects become very tedious (worse than drawing straight lines with the trackball), and the tablet itself takes up a lot of room.&lt;br /&gt;&lt;br /&gt;I haven't yet used a touch screen for a general purpose computer. I'm not sure that would be an ideal setup, it seems likely that it would be straining on the arm. &lt;br /&gt;&lt;br /&gt;Really, most of the screen real estate is completely uninteresting from the perspective of the mouse. As a rough estimate, perhaps 5% of the screen real estate on my current display setup contains something that is clickable. In the old days, that number might have been closer to 25%. I'm interested to see if the UI advanced being made on the touch-screen-only cellphones with contextual gestures and full-screen menu selectors would scale to the desktop metaphor. There has to be a way to make computers easier to use.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-8159327725948806666?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/8159327725948806666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=8159327725948806666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8159327725948806666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8159327725948806666'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2010/01/mousing-in-modern-era.html' title='Mousing in the modern era'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_am5gmitRMjE/S1imKzI_rcI/AAAAAAAAAhM/nHCk2csNN5U/s72-c/screen_size.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-4888409046312189414</id><published>2009-12-03T11:45:00.016-05:00</published><updated>2009-12-22T09:31:59.997-05:00</updated><title type='text'>Telephone Pictionary</title><content type='html'>This game definitely developed as we went. We initially were going with one-sentence replies, but decided to switch to paragraphs when the stories got more and more ridiculous.&lt;br /&gt;&lt;br /&gt;Tammy wanted to play from the start, but she didn't feel well so she came in much later.&lt;br /&gt;&lt;br /&gt;There is a lot of side commentary that I've left out. You'll have to wait for the bound copy of &lt;span style="font-style:italic;"&gt;The Annals of Wedusc&lt;/span&gt; to see it.&lt;br /&gt;&lt;br /&gt;Participants:&lt;br /&gt;PS - a friend, who is a ginger (I know, oxymoron, amiright?),&lt;br /&gt;Sean - me,&lt;br /&gt;Jon - a dyslexic viknig,&lt;br /&gt;Tammy - my inveterate sister&lt;br /&gt;&lt;br /&gt;Transcript follows:&lt;br /&gt;&lt;br /&gt;Sean:&lt;br /&gt;It's a simple game.&lt;br /&gt;1) someone writes a sentence,&lt;br /&gt;2) the next person draws a picture in MS Paint to illustrate the sentence&lt;br /&gt;3) the third person writes a sentence that describes the illustration, without repeating the previous sentence&lt;br /&gt;4) goto 2&lt;br /&gt;&lt;br /&gt;any takers?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;I (love) MS Paint&lt;br /&gt;&lt;br /&gt;I'm in.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sean:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_am5gmitRMjE/SxfrldzWoRI/AAAAAAAAAXw/G1kxqXYT33E/s1600-h/1heartpaint.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 244px; height: 260px;" src="http://1.bp.blogspot.com/_am5gmitRMjE/SxfrldzWoRI/AAAAAAAAAXw/G1kxqXYT33E/s320/1heartpaint.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5411052506196648210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jon:&lt;br /&gt;"I love my man so much..... but is he buying me flowers because he feels guilty...."&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;PS:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_am5gmitRMjE/SxfsvtyF_EI/AAAAAAAAAX4/ar6B_9ObGOA/s1600-h/2oh+shit.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 314px; height: 320px;" src="http://1.bp.blogspot.com/_am5gmitRMjE/SxfsvtyF_EI/AAAAAAAAAX4/ar6B_9ObGOA/s320/2oh+shit.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5411053781796650050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Sean:&lt;br /&gt;"Eric didn't realize Carl and Cheryl's plan to turn the picnic into a sexy party until too late."&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Jon:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_am5gmitRMjE/Sxfs9vPZCnI/AAAAAAAAAYA/MYrmm_R_eiU/s1600-h/3IMG00022-20091202-1410.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_am5gmitRMjE/Sxfs9vPZCnI/AAAAAAAAAYA/MYrmm_R_eiU/s320/3IMG00022-20091202-1410.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5411054022706137714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;PS:&lt;br /&gt;Bear: "They don't do it often, but I love it when humans come into the forest and play football."&lt;br /&gt;Deer:  "Seriously?"&lt;br /&gt;Bear:  "What?"&lt;br /&gt;Deer:  "They're not playing football, dude."&lt;br /&gt;Bear:  "What?  Oh.....oh.....OH!  That's not cool, man."&lt;br /&gt;Deer:  "It's not like they play football with sticks.  I really don't understand how you could confuse..."&lt;br /&gt;Bear:  "Drop it.  I'm depressed now."&lt;br /&gt;Deer:  "Let's go for a drink."&lt;br /&gt;Bear:  "Absolutely.  No fuckin' O'douls though, dude.  Not again."&lt;br /&gt;Deer:  "Slim pickings.  But I think we picked up some Jim Bean during last night's heist."&lt;br /&gt;Bear:  "Swvvveeet."&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Sean:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_am5gmitRMjE/SxftRuy-39I/AAAAAAAAAYI/2ZUtQpT6xk0/s1600-h/4beligerent.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 263px;" src="http://2.bp.blogspot.com/_am5gmitRMjE/SxftRuy-39I/AAAAAAAAAYI/2ZUtQpT6xk0/s320/4beligerent.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5411054366184366034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Jon:&lt;br /&gt;Deer: "oh god, I am so drunk right now"&lt;br /&gt;Bear: "that forest juice got me fucked up. I am so hungry right now"&lt;br /&gt;Deer: "How the hell can you live of berries and honey? You are like a million pounds."&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;PS:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_am5gmitRMjE/Sxftz2p7HFI/AAAAAAAAAYQ/mtZx7ipfwps/s1600-h/5oh+shit2.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 220px;" src="http://4.bp.blogspot.com/_am5gmitRMjE/Sxftz2p7HFI/AAAAAAAAAYQ/mtZx7ipfwps/s320/5oh+shit2.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5411054952409406546" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Sean:&lt;br /&gt;DEER: "Oh shit, it's an ambush! I don't wanna die in some God-forsaken, back-water jungle! Charlie never did nothin' to ME! I only got two weeks left to my tour man, I got a shrimp boat waiting for me back home! You better GET your SHIT together Bear, and turn those fire-breathing powers AROUND!"&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Jon:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_am5gmitRMjE/Sxft-RTeeAI/AAAAAAAAAYY/pNM0c76x-r0/s1600-h/6IMG00023-20091202-2228.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_am5gmitRMjE/Sxft-RTeeAI/AAAAAAAAAYY/pNM0c76x-r0/s320/6IMG00023-20091202-2228.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5411055131361703938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;PS:&lt;br /&gt;"The deer's fur bristled.  The air stank with blood and sulfur.  The droids' guns will still revolving even though no bullets flew forth, as if a cooling mechanism automatically kicked in once the brutal fight came to an end.  The deer looked to his right and saw the bear's broken body crushed against a splintered tree stump, the life in his eyes long faded.  The deer closed his own eyes and said a small prayer.  6 shots remained in each clip.  The deer held each gun out from his body, unintentionally mimicking Christ's offering of his pierced hands to the disciples. His left ear twitched.  He spat dispassionately towards the droids.  And then he began to run."&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Tammy:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_am5gmitRMjE/SxfuIqGTv5I/AAAAAAAAAYg/R28dgTPUYDE/s1600-h/7Untitled.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 168px;" src="http://3.bp.blogspot.com/_am5gmitRMjE/SxfuIqGTv5I/AAAAAAAAAYg/R28dgTPUYDE/s320/7Untitled.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5411055309816053650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Sean:&lt;br /&gt;Robobeaver thought smugly that he had &lt;i&gt;La Danse Grande Forêt et la Bataille&lt;/i&gt; clinched once again within his steely tail-claw. None could match the speed and power of a flawless execution of his patented Tree-Felling Snap-Step. In the distance, he saw a shape approaching. A new challenger had arrived. For a moment, it seemed as if the trees themselves held their breath in anticipation. Bear stepped up. Bear threw down. The rumors were true, Bear had mastered the 5th level Hammer Shuffle. And the denizens of the forest bowed at his paws.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PS:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_am5gmitRMjE/SxgFP3X-7FI/AAAAAAAAAYo/lao7lhpkcdM/s1600-h/8oh+shit3.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_am5gmitRMjE/SxgFP3X-7FI/AAAAAAAAAYo/lao7lhpkcdM/s320/8oh+shit3.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5411080722406370386" style="cursor: pointer; width: 240px; height: 320px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Jon:&lt;br /&gt;Bear: "Look buddy, I really want to keep you but you lost to a fucking turtle. Do you realize how bad it is for my reputation if I keep you on?"&lt;br /&gt;Hare:"I know, boss"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sean:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_am5gmitRMjE/Sxlrhaz9jQI/AAAAAAAAAYw/_rQAifEPoiI/s1600-h/9poker.png"&gt;&lt;img src="http://2.bp.blogspot.com/_am5gmitRMjE/Sxlrhaz9jQI/AAAAAAAAAYw/_rQAifEPoiI/s320/9poker.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5411474649139481858" style="cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tammy:&lt;br /&gt;Mr. Rabbit pleaded. "Please, Mr. Bear ... I've got a wife and fifty-eight bunnies at home, all I wanted was a little extra dough for Christmas-"&lt;br /&gt;"Yeah, yeah," Mr. Bear interrupted, placing Mr. Rabbit on the too-tall chair and reaching into his jacket pocket. "everybody's got an excuse about exactly how they're not gambling addicts. It's for the good of the kids, sure. But that turtle over there has got to get his cut of your losses and he doesn't care why you're in this."&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jon:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_am5gmitRMjE/Sygk3OHq-ZI/AAAAAAAAAbU/NsqE_JWim9g/s1600-h/goofy+game+1.png"&gt;&lt;img src="http://1.bp.blogspot.com/_am5gmitRMjE/Sygk3OHq-ZI/AAAAAAAAAbU/NsqE_JWim9g/s320/goofy+game+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5415619083014699410" style="cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sean:&lt;br /&gt;Rabbit: "Squirrel, you look an awful lot like a carrot right about now. My my, an awful lot. Yes."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;PS:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_am5gmitRMjE/SyglTpyh2BI/AAAAAAAAAbc/1zfCxjGX5n8/s1600-h/oh+shit4.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_am5gmitRMjE/SyglTpyh2BI/AAAAAAAAAbc/1zfCxjGX5n8/s320/oh+shit4.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5415619571478550546" style="cursor: pointer; width: 286px; height: 320px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jon:&lt;br /&gt;"Damn it, bob! Now we are going around in fucking ovals!"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tammy:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_am5gmitRMjE/SzBhsvmpnAI/AAAAAAAAAcw/CaQEsDZ9Wu4/s1600-h/bob.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_am5gmitRMjE/SzBhsvmpnAI/AAAAAAAAAcw/CaQEsDZ9Wu4/s320/bob.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5417937773047421954" style="cursor: pointer; width: 320px; height: 301px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;"The moat goes outside, Bob!  Outside!"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sean:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_am5gmitRMjE/SzBiHwW5QNI/AAAAAAAAAc4/KMT7mSGKRsE/s1600-h/2009-12-22+00.52.10.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_am5gmitRMjE/SzBiHwW5QNI/AAAAAAAAAc4/KMT7mSGKRsE/s320/2009-12-22+00.52.10.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5417938237106241746" style="cursor: pointer; width: 320px; height: 239px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jon:&lt;br /&gt;"I can't put regular crocs in my moat, people will make fun of me...."Is Dr. Nefarious going soft?"  "Did Dr. Nefarious finally puss out?"......I want lasers on them and not laser pointers....Laser that will burn through anything like the laser on the death star......Oh yes, I want Death Star Crocs....oh excellent"&lt;br /&gt;&lt;br /&gt;"Doctor.....they are alligators"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-4888409046312189414?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/4888409046312189414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=4888409046312189414' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/4888409046312189414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/4888409046312189414'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2009/12/telephone-pictionary.html' title='Telephone Pictionary'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_am5gmitRMjE/SxfrldzWoRI/AAAAAAAAAXw/G1kxqXYT33E/s72-c/1heartpaint.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-3355997279790014924</id><published>2009-08-24T15:00:00.004-04:00</published><updated>2009-08-24T15:14:44.097-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>"The Porn Bust", mises.org</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="margin-top: 8px; margin-right: 8px; margin-bottom: 8px; margin-left: 8px; font: normal normal normal small/normal arial; "&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:'Times New Roman';font-size:16px;"&gt;&lt;div style="margin-top: 8px; margin-right: 8px; margin-bottom: 8px; margin-left: 8px; font: normal normal normal small/normal arial; "&gt;&lt;div&gt;&lt;a href="http://mises.org/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The Ludwig von Mises Institute's blog Website&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; features many anti-intellectual property articles. In &lt;/span&gt;&lt;a href="http://mises.org/story/3668"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;"The Porn Bust"&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; (&lt;/span&gt;&lt;a href="http://blog.mises.org/archives/010508.asp"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;with comments&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;), Douglas French talks about how traditional stigma over pornography prevents the industry from effectively protecting copyright, and how that serves the customer as well as the pornography abolitionist. You can probably tell by the length of this article that I fundamentally disagree. It's an interesting piece in that, at least to me, it's a study on "reading into things". The author seems to latch on to the "free market" parts of pornography with little knowledge of the vast depths of the exploitative segment of the industry as a whole, and concludes prematurely that a greater good has been met. "Customers are able to receive a higher-quality product that is cheaper and provided in more mediums, thus making it more convenient to consume."&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;While I don't believe that pornography &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;per se&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; is exploitative -- in an ideal system, actors are willing participants, and who are we to say how two consenting parties choose to trade their services -- the reality of the pornography industry is, as in all things, less than ideal. There is very definitely an "illegitimate" porn black market in opposition to the "mainstream" stuff that employs the household-name pornstars like &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Jenna_Jameson"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Jenna Jameson&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. While there are no known numbers, &lt;/span&gt;&lt;a href="http://www.catholicnewsagency.com/resource.php?n=1069"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;there is some suggestion of a link between pornography and sex trafficking&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. French maligns the situation where greater IP rights for porn producers enabled them to pay actors more than their "opportunity wage". Now that porn is "open and free", we are told that actors are paid more closely to what they are actually worth. Ignore for a moment the obvious misunderstanding of "worth". Because of this insatiable hunger for pornography from the consumer, I believe that anything that weakens the "mainstream" porn industry, and the workers therein, necessarily strengthens the "illegitimate" porn industry. This is probably a difficult sell to make, and coming up with numbers on such a thing would essentially be impossible by definition. But given what we know about markets, demand is almost always filled, even in the face of strict prohibition. There is a definite dearth of attempts to address that base demand; abolitionists tend to focus on suppliers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Much of the black-market nature of porn is certainly due to the social perception of it being an illegitimate career choice. Because of this, the sex worker lives in two separate worlds, split by what is acceptable to their mores and what is acceptable to the aggregate society in which they must live. As long as a segment of people attempt to hide their an activity from their community, the community cannot have the chance to protect that person in the event of abuse. Unfortunately, it is the community's prejudices that lead to this hiding, out of shame, but that's not something that will change overnight. It's very difficult to have a free market labor system in a black market ran by producers who literally drug their workers. Even the legitimate porn industry can tend to be exploitative, especially of &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;male&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; actors in heterosexual genres. The status of the "pornstar" over the basic porn actor gives power to the actor, allowing them to leverage their inherent brand in order to demand better conditions in their work arrangements. There is very little demand for male pornstar figures in heterosexual-male-targeted genres. As such, they tend to be treated as interchangeable cogs in the greater machine, &lt;/span&gt;&lt;a href="http://www.retrocrush.com/archive2/ronj/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;often earning as little as 1/6th of their female counterparts&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The author explains how the market regulates itself, and thereby eliminates any "need" for anti-obscenity laws. He argues that the advent of free porn has made pornography unprofitable to the point where many porn actors cannot support themselves through just acting anymore, who will most likely have to give up porn to be able to make a living, and that this in parallel serves the purposes of the abolitionists. I think it's a naive assumption on his behalf, because it assumes that just because pornography is not profitable for the actor, then it will not be made. He claims "this is the way capitalism is supposed to work." When we compare the decrease in compensation for actors to the increase in consumption by consumers, I think a much different picture of a growing system of worker exploitation comes to light. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;What would be the alternative to the pornstar and sex-slave models? Is it a distributed, home-grown porn production model, where individuals produce their own films featuring themselves, and sell these videos on the open market? Isn't this essentially the entire "amateur" genre?I've never understood the term "amateur pornography", because the people make the films so they can sell them to an "amateur porn" website. It seems more appropriate to call it "freelance pornography". That's still a porn-for-profit model. Why would this group be more capable of turning a profit on pornography than a larger, traditional production house? Wouldn't they actually be less capable, as they would lack the resources to take advantage of larger distribution channels, as well as legal protection in the few instances where pornographers do attempt to enforce their IP rights? I struggle to imagine the market demand being met by free-to-consumer, low-profit, freelance producers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;When French talks about the lack of IP enforcement making porn "cheaper", isn't that necessarily a relative term? There are very significant computer security risks to tracking down free porn, and considering that most people buy new computers rather than fix their virus-laden machines, $500 to $1000 a-time-frame is a pretty steep bill for supposedly "free" porn (it also makes a funny analogy to prostitution, and the perils of cheap hookers, but I digress). Additionally, such sites are supported by ad revenue from pay-porn sites, usually presented on a try-before-you-buy premise, which means somewhere a paying customer is subsidizing all of this "free" porn. &lt;/span&gt;&lt;a href="http://www.latimes.com/business/la-fi-ct-porn10-2009aug10,0,4788614.story"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;While the major porn producers are reporting 30-50% losses&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, best estimates show an ever growing increase in consumption.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;He makes a point out of pornography now being "provided in more mediums," and how it is proof of the innovation the industry brings to the market, innovation that IP rights laws stifle. To me, this is putting the cart before the horse. Pornographers have never invented new mediums, &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Pornographic_films#History"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;they have only exploited to their fullest extent mediums invented by other industries&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. Historically, the pornography industry has driven the adoption of every major advance in media distribution, long before the Internet came along and made media piracy so easy, and not because of some ostensible need to compete with usurpers co-opting their IP. Moving pictures, talkies, color film, VHS tapes, and online video compression would have never seen as widespread of adoption without the porn industry. The porn industry essentially bankrolled broadband penetration, if you'll excuse the Freudian slip. The ever growing demand from the consumer, not the lack of IP rights, is the reason that you can get iPorn on your iPhone.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I would be interested to know on what scale they are measuring pornographic films to qualify them as "higher-quality, more innovative products" and how they attribute that to lack of IP rights. Other than volume, there is very little difference in profit models and distribution systems on a qualitative standpoint over the early days of Internet distribution. Technology has made it harder, better, faster, stronger, but it's not fundamentally &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;different, &lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;it's just more of the same. Is it some sense that production quality is better? Porn has always ran the gamut on production quality, from the highly produced Penthouse to the back-room, Eastern European and South East Asian blue films. One possible reason people still pay for porn today is because the free stuff just plain sucks (by now, you probably suspect my word choice as intentional).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.forbes.com/2001/05/25/0524porn.html"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Ultimately, we know very little about the full scope of the pornography industry&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. Nobody knows how much porn is actually consumed in the market. Nobody knows what proportion of it comes from regulated producers vs slave-labor producers. Without this knowledge, can we really say if the libertarian market system makes it more or less exploitative or more or less of a "better" product for consumers? &lt;/span&gt;&lt;a href="http://archive.newsmax.com/archives/articles/2001/4/23/184354.shtml"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Sex slavery *is* a very significant problem in the world today&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. As the rest of "legitimate" media industries continue to enjoy IP rights protection, the stripping of the porn industry of these rights only further serves to paint it as an illegitimate genre, further shoving it out of the public eye and into the seedy underbelly of the world. The only way a consumer-driven change in worker's rights in the industry will happen is if consumers have the necessary tools to differentiate between "good-" and "bad-practice" porn. Do we have this? Without the "pornstar" model, &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;can &lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;we have this? Even with a porn-industry equivalent to a "green" movement, does the consumer base care enough about the people involved in the production to take advantage of such tools, or do they care more about satisfying their base desires, regardless of the cost to others, so long as there is a modicum of plausible deniability?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-3355997279790014924?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/3355997279790014924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=3355997279790014924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/3355997279790014924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/3355997279790014924'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2009/08/porn-bust-misesorg.html' title='&quot;The Porn Bust&quot;, mises.org'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-8720120146543578864</id><published>2009-07-29T09:41:00.005-04:00</published><updated>2009-07-29T19:26:37.651-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='entertainment'/><title type='text'>A recurring dream</title><content type='html'>&lt;div&gt;&lt;div&gt;I have recurring dreams sometimes. One involves a factory for manufacturing sleep. I haven't had that one since college, mostly because I haven't had any final exams since graduating 4 years ago. This one that I'm writing about now is new. I've had it twice now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm with this beautiful girl (just for reference, it seems she's Elisha Cuthbert), we're going out on a date, and we go to this really awesome Greek restaurant right on the beach. It's a gorgeous place, directly on the sand, with the water lapping against the back of the restaurant itself. When we arrive it becomes clear that we aren't on an actual date, we are "just hanging out", because apparently this is her &lt;i&gt;boyfriend's&lt;/i&gt; restaurant. At that moment, her boyfriend swims up to the back window, and I see who it is.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's Poseidon himself. Only, he's not the ugly barnacle head that he was always made out to be in the myths. He looks like a 10ft tall Chris "Cpt. Kirk" Pine, with flowing seaweed for hair and an iridescent green glow to his skin that is so beautiful, I feel like a jerk just for staring.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I feel like a complete chump at this point. He's just lounging about on the side of his beautiful restaurant, playing with a bag of pearls and diamonds like they were sand, and I'm trying to come up with an escape plan. She introduces me, and she's hanging all over me in front of him. I'm just about crapping my pants because I think Poseidon is going to smite me for messing with his girl. But he's actually really cool, total surfer dude attitude, and just lounges out, splashing water around, calling the girl "babe" and whatever.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We sit down and order, and she's constantly complaining about him. He's an asshole to her, he's constantly out to sea, he's never paying attention to her, she thinks he's screwing a dolphin and that's where the mermaids came from, blah blah blah. I'm just thinking she's being whiny and I'm starting to tune out, already pissed with how things have played out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Poseidon comes back and starts bitching her out because she ordered something really fattening. I'm still trying to get out of there, content with just leaving them to be their messed up selves. Suddenly, he grabs her by the arm and hauls off and smacks her across the face (I'm serious, I have full-time Hollywood productions for dreams), which just sets off some trigger in my brain and I flip the freak out. I grab a trident off of the wall (of course Poseidon decorates his restaurant with tridents), and I set about battling Poseidon, god of the seas. There may or may not have been a moment where I utter a phrase like, "Didn't you hear? Greek religion is dead.", depending on whether or not I would be embarrassed admitting to sounding like David Caruso.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The battle is pretty epic. I mean, considering that battling Greek gods is by definition epic — sort of got that whole "epic" thing started — yeah, I'd say it was epic. He's sending squids after me who are throwing starfish like shuriken. One of his band of ninjasquid pulls out a net, which is the ultimate weapon against a trident, totally fowls the thing up and ruins your day. In one leaping motion, I cleave clean through the net with a butter knife snagged from a nearby table, execute the perfect Mario double jump off the top of the squid's head, arch my back and draw the trident back over my head as I fly through the air in slow motion — flash bulbs popping and a hushed quiet in the room like I'm Lebron James going for a monster dunk at the NBA all-star game — and drive the trident deep into his side. His howl sounds like the great humpback whale's mating call, but I've only wounded him. Luckily, he retreats for the day.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hermes is there, and he's basically David Beckham with a cockney accent. He's so impressed that he gives me his shoes, just because "oi, you ree-lee stuck it to me arsehole uncle, roight. Li-tra-lee, amiright?" She declares I'm her hero and wraps her arms around my neck, pressing her full breasts against my heaving, bare chest (when I lost my shirt, I'm not certain). I mean, by this point I am by freaking definition, but by some serendipitous occasion I don't make one of my typical snarky comments like "Hero? I'm basically Odysseus, wench!". Cupid is walking by and he pats me on the back, "eh, I don't think you need me here bro." Just as she's about to kiss me, she stops:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Wait, but you're Sean McBeth! Hahahabyelol!"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And I wake up, not wanting to see the world ever again.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-8720120146543578864?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/8720120146543578864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=8720120146543578864' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8720120146543578864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/8720120146543578864'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2009/07/recurring-dream.html' title='A recurring dream'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-3876089835221061803</id><published>2009-07-28T13:51:00.002-04:00</published><updated>2009-07-28T14:16:38.863-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='intelligence'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Education, Stab 2</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;I've been working on this posting for a while now, rolling it around in various incarnations in my head. There is so much to say on this one topic, it's very difficult to bring it down to a manageable level and discuss salient points without sidetracking down poorly developed bunny trails. It's also a very difficult subject on which to discuss objectively. We are all products of our educations, and its very easy to assume that we are all products of the same education. Without an example to the contray, people assume they are normal. "Normal: adj. &lt;span class="Apple-style-span" style="border-collapse: separate; font-size: small; "&gt;conforming with or constituting a norm or standard or level or type or social norm".&lt;/span&gt; We are all widely disparate in our educational experiences, even amongst people we see every day. Because of this, we can often be unaware of the bias we may bring to the discussion. In short, if I write something that sounds completely out of line to you, know that I write largely from my own experience.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is something wrong with our educational system. Full stop. I doubt you'd be able to find many people who disagreed with such a statement. Not enough choice, too much choice. Not enough funding, too much funding. Not enough college graduates, too many college graduates. Everyone would certainly disagree on to what degree there is a problem and in what areas things are broken, but otherwise everyone has some sort of opinion on how the schools of this [town|state|nation|world] are fundamentally -- well -- shit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'd like for you to read an article that my father found, &lt;a href="http://www.takimag.com/site/article/the_bell_curve_tolls_for_thee_especially_at_school/" target="_blank" style="color: rgb(17, 65, 112); "&gt;The Bell Curve Tolls for Thee&lt;/a&gt;, by a Charles Murray. The basic premise is that some people are stupid, and they can't help being stupid, so perhaps we should stop trying to treat them as if they aren't stupid. It's worrying because it seems we are pushing people through more education than they necessarily need to be contributing members of society. Yes, it would be nice if everyone could give a dissertation on the suitability of path finding algorithms in a variety of network taxonomies, but that's just not a realistic expectation. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a few more:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;"&lt;/b&gt;&lt;a href="http://nces.ed.gov/pubs93/93275.pdf"&gt;&lt;b&gt;Adult Literacy in America&lt;/b&gt;&lt;/a&gt;&lt;b&gt;", by the National Center for Education Statistic:&lt;/b&gt; suggests that as much as 23% of adult Americans are functionally illiterate. I know I work with at least one person who is functionally illiterate.&lt;/li&gt;&lt;li&gt;&lt;b&gt;"&lt;/b&gt;&lt;a href="http://nces.ed.gov/NAAL/PDF/2006470.PDF"&gt;&lt;b&gt;A First Look at the Literacy of America’s Adults in the 21st Century&lt;/b&gt;&lt;/a&gt;&lt;b&gt;", by the National Assessment of Adult Literacy (NAAL):&lt;/b&gt; suggests as much as 51% of the adult population read so poorly that they earn well under the poverty threshold.&lt;/li&gt;&lt;li&gt;&lt;b&gt;"&lt;/b&gt;&lt;a href="http://www.crossville-chronicle.com/columns/local_story_155175613.html"&gt;&lt;b&gt;THEREFORE I AM: Why can't books and TV just get along?&lt;/b&gt;&lt;/a&gt;&lt;b&gt;", by David Spates:&lt;/b&gt; reports that 1/3rd of high school graduates and &lt;span style="font-style: italic; "&gt;42% of college graduates&lt;span style="font-style: normal; "&gt; never read another book after leaving school. &lt;/span&gt;WHAT?!&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;I hate to use the term, but this sounds like a national emergency. &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Perhaps this is caused by an overvaluing of the university education, and a desire to democratize the college degree. Our president talks about &lt;a href="http://www.barackobama.com/pdf/issues/CollegeAffordabilityFactSheet.pdf" target="_blank" style="color: rgb(17, 65, 112); "&gt;making college affordable for everyone&lt;/a&gt;, presumably so that everyone &lt;i&gt;will&lt;/i&gt; go. I don't think such a concept makes sense. A university education is supposed to be a step above the standard education, an extra step that is necessary for some people because the standard education can only fulfill the needs of the general populace. If going to college is necessary for success in the work place today, it does not mean that everyone needs to go to college, it means that our high-schools are failing to provide educations that meet the demands of human progress. As a corollary to this, the normal distribution of intelligence suggests that sending everyone to college to ensure their career success must require a culling of standards at the university level -- a "lowering of the bar" -- to make sure the dunderkopfs can get through.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;rlz=1C1GGLS_enUS315US327&amp;amp;q=college+graduate+debt&amp;amp;aq=f&amp;amp;oq=&amp;amp;aqi=" target="_blank" style="color: rgb(17, 65, 112); "&gt;College graduates today matriculate with more debt than any generation before them.&lt;/a&gt; Take your pick of links, it's a very popular topic of conversation. It's also no secret why it's happening. The cost of a university education grows faster than consumers have been able to earn money. Using Shippensburg University as a conservative example -- from 2000 to 2005 -- tuition rate increases averaged 5.4% a year, peaking at nearly 10% in 2002, &lt;a href="http://www.inflationdata.com/Inflation/images/charts/Annual_Inflation/annual_inflation_chart.htm" target="_blank" style="color: rgb(17, 65, 112); "&gt;during a time when inflation averaged 2.6%&lt;/a&gt;. I know I wasn't getting more of an education for my money -- I had the same professors, and they were teaching the same classes that were planned for the curriculum as when I entered. Where was that money going? You can check my math if you want (and you probably should), I've collected the numbers with links to my sources here: [&lt;a href="http://spreadsheets.google.com/ccc?key=0Ao5YqsB_iXOydG5YUUhSVUFGQ1ZXMDdHM09iNWdfTGc&amp;amp;hl=en" target="_blank" style="color: rgb(17, 65, 112); "&gt;google spreadsheet&lt;/a&gt;].&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is just Shippensburg, a public university that must have all tuition increases approved by a state-ran board. What has it been like at more popular, private universities? The over valuation that I mentioned before would easily lead to an assumption that demand relative to supply is growing. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, I suspect a secondary source as well, what I refer to as the "campus resort" mentality. I said that I didn't feel like I was receiving anything "greater" for my increased outlay every year. When I entered Shippensburg, we had one gymnasium servicing the entire student body. By the time I left, we had two, and ground was just being broke on the Luhrs Center for the Arts. What relevance does sports have to the educational process? I enjoy sports, but really, what does training in sports beyond weekend enthusiasm garner to preparing people for careers? And while I appreciate having a large performing arts theater in the area now, what value does it add to the university? The university already had three serviceable theaters for any theatrical studies on campus. In short, we were getting "more for our money," it just wasn't in things directly related to the educational process. It certainly wasn't as relevant to someone like me who didn't live on campus.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why should a university provide rock climbing walls in their gyms? A relatively insignificant proportion of students will use such an apparatus, which is almost certain to be funded through activity fees paid by the entire student body. Why should the university provide dining halls? Aren't college students, who are ostensibly adults, capable of shopping at the grocery store, cooking their own food, and feeding themselves? Necessity is an excellent teacher in this regard. Why should the university provide housing? Your employer doesn't guarantee you a house or an apartment when you are hired at a new job. Perhaps if these things were not provided by the university, but by the local market, students could navigate a more customized path through funding the various aspects of living and education during their college years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's make the entire experience ala carte. Let's have a university offer its name on a degree to any student capable of passing their tests with a satisfactory score. Let's have the university offer classes to anyone who is willing to pay the course fee.  Let's make these two concepts that I just presented completely divorced of each other. You find your own classes from any university to attempt to pass the tests of any other university. Universities would be like licensing boards for professionals, which is functionally equivalent to their current use case. Why bother with admissions any more -- what just purpose does the admission process even serve? If a student can pass the tests of Harvard on a self-taught course load, then why does he or she not deserve a Harvard degree? If a student paid for Harvard classes, but finds they cannot pass Harvard tests, then why must that student's efforts be completely wasted? Perhaps they can pass Shippensburg tests, still leaving their university age with a degree, albeit a "lesser" one (there must be some consequence for not doing well). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've filled an entire screen of text on an extremely high resolution monitor in an extremely small font (or perhaps my myopia really is this bad these days). I'm going to spin this out before I do anymore and end up with an entire book for you to read.&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-3876089835221061803?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/3876089835221061803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=3876089835221061803' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/3876089835221061803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/3876089835221061803'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2009/07/education-stab-2.html' title='Education, Stab 2'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-7816695868029184283</id><published>2009-07-23T17:23:00.004-04:00</published><updated>2009-07-23T17:41:07.945-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='economics'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>What good is specialization?</title><content type='html'>&lt;div&gt;&lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolsky&lt;/a&gt; is owner and founder of &lt;a href="http://www.fogcreek.com/"&gt;Fog Creek Software&lt;/a&gt; in New York City. I read his blog on occasion, he usually has really good insights on software company management. If you're a software developer who doesn't know Joel, then you really should get out from under your rock. You don't have to agree with him, but you do need to hear what he's saying.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.inc.com/magazine/20090701/joel-spolsky-the-day-my-industry-died.html?partner=fogcreek"&gt;His latest article&lt;/a&gt; is about comparing the current credit bubble pop to the dot-com bubble pop.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"So this was my business plan: We'd start out as a plain-vanilla Web consulting business. &lt;b&gt;We'd look for situations in which we had several clients asking for the same basic thing&lt;/b&gt;. Then, using consultants who weren't currently working on gigs, we'd build an application to suit the group's needs. Over time, this product could be licensed far and wide. Eventually, the software side of the business would eclipse the consulting side of the business. That was the theory. Sounds good, right?"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Emphasis mine. I would roughly wager that 75% of every software project is boiler-plate code and documentation that gets completely duplicated between every project. I've tried to get my employers to get on to this idea everywhere I have been. They usually laugh, "where's the money in it?" I just shake my head at the lack of foresight. That one little, simple thing -- capturing secondary outputs of primary processes -- saved that fledgling company at a time when companies literally 50 times their size were completely destroyed. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't understand why companies want to specialize so much. My coworkers and I develop libraries and controls on a regular basis that would significantly reduce the effort spent on project development for anyone willing to send us $250 for a license, and yet we just let it sit on the shelf, and force ourselves to rewrite it all for the next client because we never established the expectation that we would reuse company-owned resources to build the client's project. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Commercial software is not our core competency," the managers will argue. You want a core competency? How about making money? Does making money sound like something you'd like to do today? This is especially true for publically traded companies. Investors don't care how you make them their money, they just care &lt;i&gt;that you do it.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I reject the mantra "Jack of all trades, master of none". Too many problems today require broad knowledge in multiple fields. This isn't the easy days of the early industrial revolution when all you had to do was invent a rounder wheel and suddenly you were a genius, with the rest of us lowly peons showering you with money. Now, there are certainly some absurd mashups of concepts that are too ridiculous to even consider. The relevance of 17th century footwear to modern day yeast cultivation is pretty obviously "uhm, none". But we've ran out of easy problems. Personally, I'm not afraid to tackle the hard ones.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll leave you with one of my favorite quotes from one of my favorite authors, Robert A. Heinlein:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-7816695868029184283?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/7816695868029184283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=7816695868029184283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/7816695868029184283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/7816695868029184283'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2009/07/what-good-is-specialization.html' title='What good is specialization?'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-263163236466929770</id><published>2009-07-09T14:13:00.003-04:00</published><updated>2009-08-24T17:47:31.057-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>U2's 360 Tour</title><content type='html'>&lt;span class="Apple-style-span"   style=" border-collapse: collapse;  font-family:arial;font-size:13px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The original article is a bit tongue-in-cheek, but it makes a good point. Here is a choice quote:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;"The carbon footprint generated by U2's 44 concerts this year is equal to carbon created by the four band members traveling the 34.125 million miles from Earth to Mars in a passenger plane."&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-size:16px;"&gt;I believe that we have a God-ordered duty to be good stewards of the planet. I don't believe in being wasteful, but in a lot of ways naively jumping on the green bandwagon is wasteful. For example, buying a plugin-electric car will actually increase your energy usage, as the current models of cars coupled with the current electricity grid are not as efficient as gasoline engines. You may not be using as much gasoline, but you have also displaced your energy consumption from one area to another, which in this case is probably coal.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;With that in mind, I think that energy price is a fairly good indicator of that energy consumption balance. All told, all costs have to eventually be paid. It's just not possible to avoid, the equation has to balance. There are all kinds of resources that go into making things happen, and oil is not the only one that goes in to transportation and energy. Time is another one, and I think it's a far more important resource than any concern about running out of oil, but that's not the point of this post. If we're just talking about natural resources, I have yet to hear any talking heads mention anything about the dangerously low reserves of platinum in the world, a vital resource for dozens of different technologies inseparably &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;wbr&gt;linked to a number of the most viable alternative energy (e.g. the hydrolysis process necessary for extracting hydrogen from water for use in hydrogen fuel cells requires a relatively large amount of platinum).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The loss of non-renewable resources is just one argument for &lt;/span&gt;&lt;strike&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;finding&lt;/span&gt;&lt;/strike&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; developing alternative energy sources. The other argument is the reduction in pollution that is allegedly irreversibly damaging the planet. I do not believe that man-made carbon dioxide emissions are a significant enough proportion of the atmosphere to have a large enough impact on the climate to cause catastrophic climate change. As an analogy, spitting twice into the ocean is 100% more than spitting once, but it's not going to adversely affect anything. However, my views on the merits of the anthropogenic cause for global climate change do not matter. Sticking to the lowest cost alternatives you have available to you, you will do more towards "minimizing your carbon footprint" than buying a Toyota Prius will do (the metals and chemicals in the NiMH batteries of the Prius aren't that great for water tables, either). One tactic satisfies both view points.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;We, the people of the middle and lower classes, live in a state of price consciousness. We account for roughly 95% of the population in this country, but we do not account for 95% of the energy usage. Yet we are told by our "betters" that we need to make up the slack in the energy usage. No one on either side of the political aisle denies that such policies like Cap-and-Trade will increase energy prices significantly. Such increases mean a whole lot more to people with only 10% of their income as "disposable" versus 90%. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The upper crust of the upper class do not pay attention to the price of the things they use. They don't have to. The time spent worrying about price costs more to them than it does to waste money by not worrying about price. This article is an excellent example of how this leads to phenomenal hypocrisy. Celebrities and politicians jet around the world to give talks, run events, and play concerts to tell the rest of us how bad we are for using so much carbon.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;We could all stand to be less wasteful. One positive outcome of the current global economic depression is that it will make people more price conscious. This is necessary for the health of any society at any time, regardless of the state of the environment or the economy. Unfortunately, it may not mean much when those who are affected the most are those who have the least room for change in their habits. I'm not one for taxing certain classes of people at higher rates than others -- I believe flat taxation is essential for the concept of equal protection under the law -- but I cannot also abide the politicians and rock stars using the rest of us as their personal dumping ground.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-263163236466929770?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.yesbutnobutyes.com/archives/2009/07/u2_pollution.html' title='U2&apos;s 360 Tour'/><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/263163236466929770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=263163236466929770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/263163236466929770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/263163236466929770'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2009/07/u2s-360-tour.html' title='U2&apos;s 360 Tour'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-3976021352253776965</id><published>2009-05-18T20:36:00.005-04:00</published><updated>2009-08-24T15:33:07.465-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='intelligence'/><title type='text'>Education, Intelligence, and the Future of the Human Race, 1st stab</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;My father recently sent me a link to this article on &lt;/span&gt;&lt;a href="http://www.takimag.com/blogs/article/life_as_a_trained_monkey/"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;TakiMag.com&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;. It is pretty interesting, hitting some basic topics on competency and how it manifests in the world.It is something that I have thought about before, the fact that people tend to assume they are "average", despite how far below or above they actually are (a truly brilliant academic paper on the subject is available here: &lt;/span&gt;&lt;a href="http://www.apa.org/journals/features/psp7761121.pdf"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Unskilled and Unaware&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;). I have rarely had to interact with "below average" people. On the occasions that I have, it was nearly impossible to have any meaningful interaction whatsoever, but at least it was possible to recognize the situation for what it was and just avoid any clashes or issues before they happened. On the other hand, there are plenty of people who are technically competent and lacking any sense of self motivation. For these "merely average" people who are just phoning it in, it is an extremely frustrating experience. I am tired of struggling with these people; I am sure they are tired of trying to figure out what I am talking about.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;The article links to &lt;/span&gt;&lt;a href="http://www.takimag.com/site/article/the_bell_curve_tolls_for_thee_especially_at_school/"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;another interesting article&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;. It is quite a bit long, but it takes a rather cold, hard look at education and our assumptions about it. It basically concludes that the most important factor in a child's education is their home environment, all other factors being nearly inconsequential (including the quality of the school environment).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;One thing that I think homeschooling did for me and some of my friends was that it allowed us to select our peer group. We were not forced into the same classrooms as 50 other kids, 25 of which never planned to go to college, and 20 of the rest only going to college because it was expected of them. I worry about the one or two students on the edge between  "average" and "above average". Does that environment breed an attitude of frustration with education and therefore, by association, learning? Are we wasting too much effort on the bottom 25 that we allow that one student to fall between the cracks? I think it is a convergent issue, that we really need to worry about the one or two details on the cusps, because they will compound on each other and provide exponentially more benefit than the effort they require.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I find myself thinking about a number of loosely interrelated novels from the great sci-fi author Robert A. Heinlein. He had a couple of recurring characters who were all incredibly long-lived humans. They all traced their lineage to one man, a "genetic lottery winner" if you will, who came about through a sort of anti-eugenics program to create very long-lived people. Basically, a secret society was created called the Howard Family, which promised financial stability and security if desirable people participated in a multi-generational selective breeding campaign. Eventually, because the Howards were marginally longer lived than the average human, and marginally smarter than the average human (selection was made on intelligence as well), their advantages compounded to the point that they single-handedly drove human progress for the rest of "future history", and eventually squeezed out mundane humans. It was a really interesting concept, and provided a scope of story telling that went far beyond the "gee whiz" tech speculation typical of sci-fi in the 50's and 60's.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Yet, we are in reality doing essentially the opposite. "Smart, learned" people have children at a much later age than average, and typically have fewer children. They are also disproportionately in support of abortion rights. The consequences are obvious: the stupid people are out-breeding the smart people. Perhaps in a subsistence society, a certain minimum level of intelligence was necessary for survival, but today we have made life far too safe. We have to warn people that razor blades are sharp and coffee is hot. Why do smart people hate children so much? Why do smart people want to hurt the future of the human race?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Back to work, I guess. Maybe my smart friends and I can fashion our own rope for an escape. I hope we do not hang ourselves instead.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-3976021352253776965?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/3976021352253776965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=3976021352253776965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/3976021352253776965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/3976021352253776965'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2009/05/education-intelligence-and-future-of.html' title='Education, Intelligence, and the Future of the Human Race, 1st stab'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-6504904978178267787</id><published>2008-12-12T17:51:00.004-05:00</published><updated>2008-12-18T14:08:50.535-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Optical Illusions in Computer Graphics</title><content type='html'>I wrote this research paper in 2005 for my Bachelor's of Science in Computer Science. As far as I know, it's still the only paper on practical usage of optical illusion effects in software. If anyone knows of any other papers, let me know.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Abstract:&lt;br /&gt;In general terms, all techniques of computer graphics are fundamentally optical illusions. Optical illusions that result from errors in perception are currently unused in the field of computer graphics, remaining merely as novelties in expressionistic art and children’s books. Through the use of illusions that result in the viewer failing to properly perceive parallel lines, it is possible to convey extra information beyond the basic geometry of the scene. Specifically, we demonstrate how such illusions may be utilized to convey Z-axis information on two dimensional displays. This is compared to techniques with similar code complexity and techniques with similar information complexity. Minimum required processing power is extremely low, indicating immediate applications in hand-held and embedded devices.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.seanmcbeth.com/RnD/Optical_Illusion/Optical%20Illusions%20in%20Computer%20Graphics.pdf"&gt;Get the paper after the jump&lt;/a&gt;. Some day I will get the demo running again. Some day, I may even write a new paper that extends on this one&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-6504904978178267787?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.seanmcbeth.com/RnD/Optical_Illusion/Optical%20Illusions%20in%20Computer%20Graphics.pdf' title='Optical Illusions in Computer Graphics'/><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/6504904978178267787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=6504904978178267787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/6504904978178267787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/6504904978178267787'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2008/12/optical-illusions-in-computer-graphics.html' title='Optical Illusions in Computer Graphics'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-2234617446357200460</id><published>2008-12-10T18:43:00.010-05:00</published><updated>2010-03-29T15:25:12.674-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='economics'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>"We don't need to devalue the currency.."</title><content type='html'>In a recent conversation with some friends over &lt;a href="http://www.minyanville.com/articles/fcx-gm-X-F-spending-treasury/index/a/20288"&gt;President Elect Barack Obama's 1930's style public works proposal&lt;/a&gt;, our one particular well-meaning cohort declared that we shouldn't worry about the devaluation of currency that would result from all the money that would have to be printed in order to pay for "the biggest public-works project since the 1950s." He suggested that we could just confiscate all of the materials necessary, as they are readily available within our borders already. This man holds a Master's degree in Economics, I hold a Bachelor's in what is essentially Logic and Applied Mathematics, and our third friend is Engineering and Finance. Yes, we do this for fun.&lt;br /&gt;&lt;br /&gt;"We don't need to increase the money supply in order to get at least some of this work done, because we have the hammer, nails, and wood with nothing at all to stop us from going ahead and building the damn birdhouse," he stated. Yes, we have nothing to stop us, as I see now that we have declared that central planning and nationalized industry didn't work for the Russians and Chinese because they were big, fat, doo-doo heads. Excuse me if I use childish language; arguing against the socialist agenda first requires one to understand the immature minds that conclude on socialist policies.&lt;br /&gt;&lt;br /&gt;Part of the concept behind "of the people, by the people, for the people," is the idea that the government is not above us, but below us. The government must work as a player from within the market, not a puppeteer from without. If the government cannot obtain the materials it needs to prosecute public works projects at fair market value (and I mean the real kind, at auction like everyone else, not this hack job of sending in the Army Corps of Engineers to devalue your holdings and a Judge to claim Imminent Domain), then they don't get to have them any more than I get to take your dessert pie at a price I deem fair over your disagreement.&lt;br /&gt;&lt;br /&gt;This includes people resources as well. Say Obama goes through with his &lt;a href="http://www.americanthinker.com/2008/07/obamas_civilian_national_secur.html"&gt;compulsory Super-AmeriCorps service/Obama-Youth program&lt;/a&gt;. Conscription in a free market is exactly the same as robbing the people (and thereby the economy, the government, everyone, since we are all one and the same) of value. If you can't pay people enough to entice them into joining this "Community Organizer Corps" over taking private industry jobs, and you force them into service, then the difference in their salary is what you have robbed out of your own economy.&lt;br /&gt;&lt;br /&gt;It doesn't help if -- instead of confiscating the materials and services directly from the companies who produce and provide them -- you engage in rampaging devaluation of the currency. It's just spreading the cost of that confiscation to everyone prudent enough to save during a time of irresponsible economic behavior. Congratulations, you're encouraging people to run up even more debt than the rest of the nation is already in.&lt;br /&gt;&lt;br /&gt;This is why the Liberal Left is arrogant, because they thinks they can solve the problems caused by the government's manipulations of the economy by manipulating the economy, and because they believe they are the only ones who can do it. Time and time again, central planning has been proven to be a horrific crime against humanity. Need I remind anyone that the &lt;a href="http://en.wikipedia.org/wiki/Great_Leap_Forward"&gt;Great Leap Forward&lt;/a&gt; in China ended up starving to death more people -- 43 million -- than were killed in World War I, with one year less in which to do it, at a time when weather *favored* agriculture? Are we going to go back to dumping milk on the ground when 50% of the population of Zimbabwe -- a country once called the "Bread Basket of Africa" -- is starving because *their* Arrogant, Socialist Narcissist can't wrap his head around the fact that he is the cause, not the solution? You show me the last time a socialist correctly predicted the most efficient use of resources. And speaking of resources, aren't they a major talking point in the public debate, the "dire situation of our dwindling, non-renewable resources"?&lt;br /&gt;&lt;br /&gt;This is why all so-called Progressives are arrogant. They think that the only way to be compassionate for our fellow man is to use proactive policy to try to "help". They insist that the fiscally conservative laissez-faire policy is too cold and heartless to be good enough, even if it can be proven to be the greatest good for all. They think that the "little people" cannot help themselves, that it takes the greatness of the Socialist to save them. They do it not because they really want to help people, they do it because they want to feel GOOD about helping people, and they can't get that by taking hands off.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-2234617446357200460?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/2234617446357200460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=2234617446357200460' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/2234617446357200460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/2234617446357200460'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2008/12/we-dont-need-to-devalue-currency.html' title='&quot;We don&apos;t need to devalue the currency..&quot;'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-9204976587327579543</id><published>2008-08-18T12:24:00.010-04:00</published><updated>2010-03-29T15:17:41.127-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='warriorship'/><title type='text'>The Warrior Class</title><content type='html'>&lt;blockquote&gt;&lt;em&gt;"Pacifism is a shifty doctrine under which a man accepts the benefits of the social group without being willing to pay -- and claims a halo for his dishonesty."&lt;/em&gt; ---- Robert A. Heinlein&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I believe the warrior class is still needed in our society. Unfortunately, pacifism is the popular ideology in western society, demonizing the warriors as being no better than the hoodlums that the warrior swears to resist. The warrior is still needed to stand as an example and a protector, but it will have to come in a new form of warrior. I describe that warrior here.&lt;br /&gt;&lt;br /&gt;The warrior is primarily a scholar, one who devotes himself to a life of sacrifice, hard work, and rigorous study (both physical and academic) so that those he loves do not have to. There is a lot of fear in our current society of warriors as a class, and some of it has merit. Looking back at feudalist societies, they were dominated by the warrior politicians, who used the sword to take what they wanted instead of using diplomacy and trade. It was a function of the progression away from subsistance-based tribalism where totalitarianism was safer than democracy. As technologies improve and production surpluses arise, societies grow, decentralize, and democratize. Running parallel to this democratization, the physical prowress of the studied warrior has only increased, and yet he does not hold a position of such political power today as he once did.&lt;br /&gt;&lt;br /&gt;There are examples of non-abusive warrior classes throughout history. In particular, the Shaolin monks come to mind, an entire society of warriors. This is the sort of warrior "caste" I'm talking about. It's the resolute acceptance that one's life shall be devoted to the study of violence, and all of its implications. It is sacrifice, and that makes it an action based in love, love for those the warrior swears to protect.&lt;br /&gt;&lt;br /&gt;I believe that, all other things being equal, one studied in violence will be less likely to use violence than one who has given no thought to it. The warrior has a better understanding of the ramifications of violence, understanding it's use as a tool, and how it can be misused. The distinguishing factor between whether or not violence will be used for good or evil is Malevolence, which itself can manifest in many ways other than just violence (see so-called "office politics"). The physical act of inflicting pain and suffering of some type on others is not so difficult that a layperson could not figure it out, even if somewhat crudely. We are all physically capable of violence to some degree. And, given the "heat of the moment," we are all mentally capable of hurting someone. Where a warrior's (that is, a true warrior, distinct from just a brawler) training comes in is giving him concious knowledge of where violence is appropriate, and how to live with the consequences thereafter.&lt;br /&gt;&lt;br /&gt;I'm not talking about bringing back the Knighthood, or creating social structures around mighty rulers. I'm talking about a personal life philosophy of sacrifice, so that those they love will not have to, of conciously deciding that you will hold yourself to a seperate standard, and that you will not allow yourself to fall into the &lt;a href="http://en.wikipedia.org/wiki/Bystander_effect"&gt;bystander effect&lt;/a&gt;. When everyone else stands by and watches, damn the cannons, the warrior steps in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-9204976587327579543?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/9204976587327579543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=9204976587327579543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/9204976587327579543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/9204976587327579543'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2008/08/warrior-class.html' title='The Warrior Class'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-1831914329632501501</id><published>2008-08-18T11:32:00.003-04:00</published><updated>2008-08-20T15:19:12.974-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='entertainment'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>WALL-E</title><content type='html'>I recently saw the movie WALL-E, or "Waste Allocation Load-Lifter, Earth-class". There has been a lot said about it being an environmentalist movie, both for the green and the anti-green crowds. I have to say though, I think they are overplaying it, and missing a much more important theme.&lt;br /&gt;&lt;br /&gt;The environmentalism thing is really just a backdrop, a literary contrivance to create a conflict for the characters to grow over. The real, REAL underlying message of the story is one of liberty, individuality, of anti-nanny-statism. WALL-E is an ugly, dirty, quirky, weird robot, and it's because he is such an outsider that he saves the day.&lt;br /&gt;&lt;br /&gt;Through his pursuit of the unknown, and perhaps even forbidden (we aren't shown any other robots falling in love or having relationships), WALL-E enacts vast social change. He instigates a misfit robot rebellion. He gets people seeing each other for the first time. If anything, you could call WALL-E a virus of humanity. Everyone he touches comes alive for the first time, and starts seeing the world in a new light ("I didn't know we had a pool").&lt;br /&gt;&lt;br /&gt;Some other reviews I've read have been saying the movie is anti-progress and anti-technology. I don't think that is true at all. It's very clearly pro-technology, anti-technocracy. It's a warning to not become so complacent that we allow unfeeling computers to control our lives. Even the best computer, Auto-Pilot, gets things wrong, just because of its stubborn insistence to adhere to its directive and failing to take new factors into account. Auto-Pilot did a good job of keeping humanity safe for 700 years, enough time for Earth to heal itself, so even the subjugation of the people through domestication was necessary to a certain degree. Auto-Pilot just didn't know when to quit. Computers need the human input, the manual override.&lt;br /&gt;&lt;br /&gt;That doesn't make the movie anti-technology, though. The humans would still be under the robots' spell if it weren't for a handful of rogue robots coming to the rescue. Even after the overthrow of the technocracy, the humans are portrayed as living in harmony with the robots. People are shown doing manual labor where such a thing could ideally be deemed adventurous or edifying in some way, and where such labor is mundane or dangerous, the robots come in to play. This is the sort of "healthy" human-technology relationship for which we should strive. Certainly not letting technology take care of everything for us.&lt;br /&gt;&lt;br /&gt;I can't say the movie is without flaws. I find it hard to believe that a corporate monopoly is going to A) develop, B) take over the world, and C) destroy the world, in any time, let alone less than 100 years from now. But without any explanation for how that happened, it can hardly be considered anything more than just a plot device. We are at least told that people had to buy their tickets on the Axiom, suggesting that some people were left behind who could not afford a ticket, left to die. A rather chilling thought, and one I suspect was not considered, if only for the fact that this is "just a kids movie". Disney films aren't allowed to have more than one death (I don't know if that's true, but it sounds good). An entire civilization is a little too much of a divergence from that.&lt;br /&gt;&lt;br /&gt;It's a wonderful movie, about as good as a movie can get. Pixar really needs to start being honest that these movies are for adults.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-1831914329632501501?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/1831914329632501501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=1831914329632501501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/1831914329632501501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/1831914329632501501'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2008/08/wall-e.html' title='WALL-E'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4552178686808755827.post-721491837589773071</id><published>2008-07-01T11:07:00.010-04:00</published><updated>2008-12-18T14:08:13.841-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Test First, Ask No Questions Later</title><content type='html'>There are very few articles that cover how to do Test Driven Development well. Most articles on TDD either cover reasons for using TDD or how to wrangle one of the various xUnit testing systems. I wrote this article with the "how" in mind, rather than the "why". In reading this article, one should have already come to their own decision on "why" they are willing to investigate TDD.&lt;br /&gt;&lt;br /&gt;As one of the primary features of eXtreme Programming -- as well as many other Agile software development methodologies -- TDD can help developers create higher quality code on first iteration, as it helps developers avoid common errors of logic and design. Whether one subscribes to Agile or not, TDD is a great arrow to add to one's quiver of bug-slaying power. The tests serve as a form of documentation, making clear the proper usage of the code. A large test suite facilitates subsystem integration, as it provides immediate feedback when new changes break old code. Test results are explicit and discrete, giving a better overview of the development progress. In short, tested code is confident code. Any evangelical article on TDD will only cover these same points, with much more verbosity.&lt;br /&gt;&lt;br /&gt;I will not cover the use of a specific unit testing framework &lt;em&gt;at all.&lt;/em&gt; Strictly speaking, TDD can be performed without a unit testing framework. Also, bare-bones unit testing frameworks are fairly simple to develop. As with anything, it is more important to learn the concepts behind a technique, rather than the specifics of an implementation of a technique.&lt;br /&gt;&lt;br /&gt;So, with that in mind, here is a quick review of the TDD lifecycle and some tips on how to write tests for code that doesn't yet exist, regardless of which programming language one uses, to which design methodology one adheres, or which testing framework one utilizes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The TDD cycle:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;em&gt;Take small implementation steps&lt;/em&gt;; large changes introduce large bugs,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Design the implementation with testing in mind&lt;/em&gt;; determine what defines successful completion of the requirement and how to test for that completion,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Write one test&lt;/em&gt;; resist the urge to code in large runs,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Write enough code so that the tests compile without error&lt;/em&gt;; do not write an implementation -- just stubs,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Run test tests -- new test should fail&lt;/em&gt;; if this is a tertiary pass through the TDD cycle, the changes may cause other, previously passing tests to fail,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Write just enough code to pass all the tests&lt;/em&gt;; do not continue until all the tests pass, in this way one knows that one's changes do not break existing code,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Refactor as necessary&lt;/em&gt;; minimize duplicate code, eliminate inefficiencies,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Continue from step 2&lt;/em&gt;; consider if testing should be expanded, remember to test boundary cases of input (bad input, good input that is close to being bad, typical input, etc.),&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Return to step 1&lt;/em&gt;; continue implementing small pieces of the requirement.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;strong&gt;Tips on writing good tests:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;em&gt;How to move a mountain: blast it into pebbles&lt;/em&gt;. Small tests (as defined by the number of Assertions made by the test) have a very high “Testing Resolution”. A failed assertion immediately terminates the test, even if the test contains more assertions. Large tests with multiple assertions may hide assertion failures that occur after the first failed assertion. By splitting multi-assertion tests into single-assertion tests, all Assertions that can fail will fail, giving a higher resolution picture of the defect at hand. The test itself may be long on code to prepare for the Assertion, but it should only have one or two assertions.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Test early, test often, test everything&lt;/em&gt;. Developers may feel like TDD requires more time than coding without testing. Initially, this is true. The developer not only takes the time to write the code, they also take the time to write the tests. The total amount of time spent on the code is far less, as higher quality code requires fewer bug fixes.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;The only good GUI is a thin GUI&lt;/em&gt;. How does one programmatically duplicate user interaction with reliability, precision, accuracy, and flexibility? Design GUI’s as only being a front end to well-tested, GUI-independent logic classes. Ensure the GUI elements are receiving the expected bindings and trust that the GUI elements of the Operating System work as advertised. This also aids in code reuse.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;In with the good data, out with the bad&lt;/em&gt;. How does one programmatically ensure that a map does not render 500 feet off kilter? In general, data validation must be completed via Regression Testing (comparison to known good results) or typically “by eye”.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;This last point seems like a very large point against TDD. While it is true that there are large classes of problems to which TDD is not well suited, that does not make it a waste of time to learn TDD. There are no silver bullets in software development; software development is perhaps the single-most difficult human endeavour in history. With experience, the TDD novice will learn for which types of problems TDD works well, just as experience with Object Oriented Programming teaches when it is appropriate to utilize such features as inheritance, polymorphism, etc. TDD is one more tool to use when appropriate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4552178686808755827-721491837589773071?l=seanmcbeth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanmcbeth.blogspot.com/feeds/721491837589773071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4552178686808755827&amp;postID=721491837589773071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/721491837589773071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4552178686808755827/posts/default/721491837589773071'/><link rel='alternate' type='text/html' href='http://seanmcbeth.blogspot.com/2008/07/test-first-ask-no-questions-later.html' title='Test First, Ask No Questions Later'/><author><name>Sean T. McBeth</name><uri>http://www.blogger.com/profile/10508612278626664174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_am5gmitRMjE/SKonanfTDyI/AAAAAAAAAA0/wWTbILs2IAI/s1600-R/sean1.jpg'/></author><thr:total>0</thr:total></entry></feed>
