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

<channel>
	<title>Logan Buesching &#187; Opinion</title>
	<atom:link href="http://agoln.net/archives/category/opinion/feed" rel="self" type="application/rss+xml" />
	<link>http://agoln.net</link>
	<description>Development and personal site</description>
	<lastBuildDate>Sun, 03 Jan 2010 23:05:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Me: 90, Logan Buesching: 0</title>
		<link>http://agoln.net/archives/164</link>
		<comments>http://agoln.net/archives/164#comments</comments>
		<pubDate>Tue, 04 Nov 2008 09:30:46 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/164</guid>
		<description><![CDATA[When looking on Facebook the other day, I noticed something peculiar.
 

That is NOT me.&#160; Seriously, how many Logan Buesching’s are there on the internet?&#160; Windows Live tells only knows about one.
I just hope that some day he never becomes famous.
]]></description>
			<content:encoded><![CDATA[<p>When looking on Facebook the other day, I noticed something peculiar.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/11/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Some Poser" border="0" alt="Some Poser" src="http://agoln.net/wp-content/uploads/2008/11/image-thumb.png" width="423" height="205" /></a> </p>
</p>
<p>That is NOT me.&#160; Seriously, how many Logan Buesching’s are there on the internet?&#160; <a title="Search for &quot;Logan Buesching&quot;" href="http://search.live.com/results.aspx?q=%22Logan+Buesching%22&amp;FORM=ADDLVD&amp;src=">Windows Live</a> tells only knows about <a title="There can only be ONE" href="http://agoln.net">one</a>.</p>
<p>I just hope that some day he never becomes famous.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/164/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bad UI Designs</title>
		<link>http://agoln.net/archives/158</link>
		<comments>http://agoln.net/archives/158#comments</comments>
		<pubDate>Wed, 10 Sep 2008 09:20:27 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/158</guid>
		<description><![CDATA[I am usually a fan of open source software, but the latest two that I have downloaded are sore on my eyes and a real pain to use!&#160; The first is Media Coder, while the second is JJ MP3 Renamer.&#160; It has been my findings that open source software in general is much more difficult [...]]]></description>
			<content:encoded><![CDATA[<p>I am usually a fan of open source software, but the latest two that I have downloaded are sore on my eyes and a real pain to use!&#160; The first is <a href="http://mediacoder.sourceforge.net/">Media Coder</a>, while the second is <a href="http://software.jensjj.dk/uk/welcome.html">JJ MP3 Renamer</a>.&#160; It has been my findings that open source software in general is much more difficult to use than their commercial counterparts.&#160; Maybe someday I will do a comparison of open source to commercial software and the usability between them.</p>
<h2></h2>
<h2>Background</h2>
<p>I recently purchased a 120gb Zune player when I used to have an Apple IPod.&#160; I want to transfer all of my IPod stuff over to my Zune player.&#160; I was able to get songs I ripped from CD to work properly, but songs I purchased on ITunes don’t work.&#160; I am currently working on stripping the DRM from those purchased songs to add to my Zune.&#160; I realize this is illegal, but hey, I legally paid for these in the first place, so I don’t feel bad about doing it.</p>
<h2>Media Coder</h2>
<p>Lets start with the program (that I hope?) can convert the DRM laden files to non-DRM formats.&#160; I haven’t quite used the program yet, but on the first look I immediately said WTF.&#160; This is UI hell.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/09/badui1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="BadUI-1" border="0" alt="BadUI-1" src="http://agoln.net/wp-content/uploads/2008/09/badui1-thumb.png" width="443" height="413" /></a></p>
<p>1.) I’m given a transcode option in the menu bar.&#160; I could pretend like I’m not an idiot, and say that my grandma won’t know what “transcode” means, but in reality I don’t know what it means. I will assume that “Convert” would have been a better choice. (Hell, even Windows Live Writer doesn’t have transcode in its dictionary!)</p>
<p>2.) They have some weird icons to show, one of which being the “Skip” icon which looks like someone is getting ready to soccer kick something.&#160; This reminded me of wanting to physically kick the software, which is what you see my little stick figure doing!</p>
<p>3.) Why is there a “…” and an “Open” button next to the folder? This is confusing.</p>
<p>4.) Why the hell are there so many tabs?</p>
<p>5.) <strong>WHY THE HELL ARE THERE SO MANY TABS!!???</strong></p>
<p>6.) Why would I want to refresh rss? Do you really think I keep this application open for long enough for you to post something new? And even if I did, do you think I would want to refresh the rss feed to find out new information?</p>
<p>7.) <strong><em><u>WHY THE HELL ARE THERE SO MANY TABS?!?!?!</u></em></strong></p>
<h2>JJ MP3 Renamer</h2>
<p>As if the first UI design wasn’t bad enough, here is another gem.&#160; This was used to rename and move around files from my IPod’s crazy directory layout into a more human readable format.&#160; Overall this wasn’t as bad as the last one, but it did take me about 5 minutes to actually figure it out.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/09/badui2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="BadUI-2" border="0" alt="BadUI-2" src="http://agoln.net/wp-content/uploads/2008/09/badui2-thumb.png" width="444" height="290" /></a></p>
<p>1.) The item that has “click” next to it is actually clickable! Wow, who would know that?&#160; There is absolutely no indication that it can be clicked.&#160; In fact, there are no visual indications that anything on the screen can be clicked.</p>
<p>2.) Why do I have to be shown the difference between idv2 and idv3? Is there really any reason why I would still want idv2?</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/158/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Impressions With IE8 Beta 2</title>
		<link>http://agoln.net/archives/145</link>
		<comments>http://agoln.net/archives/145#comments</comments>
		<pubDate>Thu, 28 Aug 2008 18:29:14 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/145</guid>
		<description><![CDATA[I have been an avid fan of Mozilla Firefox for a long time, but since I got a new job, I have been trying to exclusively use Microsoft products (at least at work).&#160; One of the things that I have been able to try out is Internet Explorer 8, Beta 2.&#160; From a first impression, [...]]]></description>
			<content:encoded><![CDATA[<p>I have been an avid fan of Mozilla Firefox for a long time, but since <a href="http://agoln.net/archives/111">I got a new job</a>, I have been trying to exclusively use Microsoft products (at least at work).&#160; One of the things that I have been able to try out is <a href="http://www.microsoft.com/windows/internet-explorer/beta/">Internet Explorer 8, Beta 2</a>.&#160; From a first impression, I have really enjoyed it.</p>
<h2></h2>
<h2></h2>
<h2>Faster Tabs</h2>
<p>If you’ve ever heard me gripe about IE, it’s that it has slow tabs.&#160; When I open up a new tab in Firefox, it’s blazing fast and I’m already typing in the address bar before I know it.&#160; For IE 7, it had such a slow implementation for its tabs.&#160; It would literally take 2 full seconds from when I create a new tab to when I could use it.&#160; With IE 8, tabs open much more quickly.&#160; Although the tabs aren’t as fast as Firefox, it’s not going to be my huge gripe.</p>
<h2></h2>
<h2>Privacy and Safety Feature</h2>
<p>A new feature called InPrivate browsing allows me to browse the web without worrying about tracker cookies or saving my history.&#160; I’m not exactly sure what all this entails, but it <a href="http://yro.slashdot.org/article.pl?sid=08/08/26/0046203&amp;from=rss">seems to have gotten media attention</a>.</p>
<p>Another helpful feature is that in the address bar, they have made the domain name stick out more to help avoid phishing attacks.<a href="http://agoln.net/wp-content/uploads/2008/08/phishing.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="phishing" border="0" alt="phishing" src="http://agoln.net/wp-content/uploads/2008/08/phishing-thumb.jpg" width="473" height="37" /></a></p>
<h2>Add-On’s Welcome</h2>
<p>Microsoft <a href="http://ieaddons.com/en/">has a new site dedicated to providing Add On’s</a>.&#160; With all older generations of IE, nobody really cared about having plug in’s for the web browsers.&#160; When Firefox came along, the whole game changed.&#160; Firefox gave developers a lot of flexibility for extending the browsers functionality.&#160; IE has finally caught wind of this and I am excited to see some of the additional add on’s that are going to come out.</p>
<h2></h2>
<h2></h2>
<h2>Accelerators</h2>
<p>When I first saw this feature, I wasn’t very excited at all.&#160; I thought it was going to become another toolbar helper that just gets in my way.&#160; After using it for a little while, I have stopped noticing when the little icon pops up.&#160; It is very non-invasive and there when I need it.&#160; I think the best thing about the accelerator is that it doesn’t take me to a new page to find a map or define a term, it’s all right there in the same page.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/08/accelerator.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Accelerator" border="0" alt="Accelerator" src="http://agoln.net/wp-content/uploads/2008/08/accelerator-thumb.jpg" width="480" height="254" /></a> </p>
<p>&#160;</p>
<h2>Web Slices</h2>
<p>This feature is seems like it could be really cool, but still needs polishing up for the final release of IE8.&#160; I started out getting the <a href="http://ieaddons.com/en/details/other/Digg_Web_Slice/">Digg</a> and <a href="http://ieaddons.com/en/details/other/Facebook_Status_Updates/">Facebook</a> web slice.&#160; Neither one of these slices worked as expected.&#160; The Digg slice didn’t quite show the full news when I clicked it.</p>
<p>&#160;<a href="http://agoln.net/wp-content/uploads/2008/08/diggslice.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="DiggSlice" border="0" alt="DiggSlice" src="http://agoln.net/wp-content/uploads/2008/08/diggslice-thumb.jpg" width="238" height="244" /></a> </p>
<p>And the facebook slice <strong>BROKE FACEBOOK!</strong><a href="http://agoln.net/wp-content/uploads/2008/08/facebookslice.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="FacebookSlice" border="0" alt="FacebookSlice" src="http://agoln.net/wp-content/uploads/2008/08/facebookslice-thumb.jpg" width="483" height="303" /></a>&#160; </p>
<p>Not exactly sure how that managed, but after deleting the slice I was able to get Facebook to work again.</p>
<h2>Smiles Sprinkled All Over The Browser</h2>
<p>In my opinion, those are the most major new features that are in IE8, but there are a few last items that I though deserved attention.</p>
<p>In IE7, searching was horrific.&#160; I hated the popup dialog that always showed up, but now in IE8, it has become a lot more like Firefox in that the search is integrated into the window.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/08/search.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Search" border="0" alt="Search" src="http://agoln.net/wp-content/uploads/2008/08/search-thumb.jpg" width="488" height="87" /></a> </p>
<p>Firefox 3.0 introduced a new type of address bar that searches as you type, and IE8 also introduced this.&#160; I have to say that IE8’s implementation is a little bit better because not only does it show me my web history, it also shows my feeds that I have saved, and also suggestions based on my web browsing history!&#160; +1 for IE!</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/08/addressbar.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="AddressBar" border="0" alt="AddressBar" src="http://agoln.net/wp-content/uploads/2008/08/addressbar-thumb.jpg" width="662" height="336" /></a> </p>
<p>Even the search bar got it’s own suggestions and history that can be shown!</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/08/search1.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Search" border="0" alt="Search" src="http://agoln.net/wp-content/uploads/2008/08/search-thumb1.jpg" width="364" height="390" /></a> </p>
</p>
<h2>Final Thoughts</h2>
<p>I believe that IE 7 showed the world that Microsoft is giving IE the attention that it deserves.&#160; With IE 8, I believe that they have finally caught up with Firefox in terms of baseline browser ability.&#160; I still have to give the edge to Firefox for now as the better browser because of it’s extensions, but if Microsoft can make as dramatic of push from IE 7 to IE 8 when it goes from IE 8 to IE 9, wow, look out!&#160; I am excited to see the future of browsing the web!</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/145/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alice Does, or It Does?</title>
		<link>http://agoln.net/archives/129</link>
		<comments>http://agoln.net/archives/129#comments</comments>
		<pubDate>Mon, 25 Aug 2008 20:41:19 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/129</guid>
		<description><![CDATA[Over the past few weeks while developing the next version of the Windows Live Installer, I have had discussions with other developers over different parts of the system.&#160; Each and every time we have some part of the software to discuss, I am always torn on how to describe what the software does.&#160; Should I [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few weeks while developing the next version of the Windows Live Installer, I have had discussions with other developers over different parts of the system.&#160; Each and every time we have some part of the software to discuss, I am always torn on how to describe what the software does.&#160; Should I say something like “<strong>The engine</strong> does X, Y, then Z” or should it be “<strong>Alice’s code</strong> does X, Y, then Z”.&#160; </p>
<p>I’m pretty sure that I have settled on “The Engine” instead of saying the developer who wrote the code. What does everyone out there think?</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/129/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Fashion Police Have Arrived</title>
		<link>http://agoln.net/archives/119</link>
		<comments>http://agoln.net/archives/119#comments</comments>
		<pubDate>Wed, 23 Jul 2008 05:13:36 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/119</guid>
		<description><![CDATA[In an off the wall post for my blog &#8211; it appears that a small suburb of Chicago has banned baggy pants.&#160; In short, you cannot show more than 3” of underwear otherwise you get a $25 ticket.
I personally don’t wear my pants that baggy, but it does raise quite a few questions.&#160; What is [...]]]></description>
			<content:encoded><![CDATA[<p>In an off the wall post for my blog &#8211; it appears that a small suburb of Chicago has <a title="http://www.norwichbulletin.com/bizarre/x469164437/It-s-the-law-No-sagging-pants-in-Chicago-suburb" href="http://www.norwichbulletin.com/bizarre/x469164437/It-s-the-law-No-sagging-pants-in-Chicago-suburb">banned baggy pants</a>.&#160; In short, you cannot show more than 3” of underwear otherwise you get a $25 ticket.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/07/scary.jpg"><img title="Needs a ticket" style="border-right: 0px; border-top: 0px; margin: 0px 0px 0px 35px; border-left: 0px; border-bottom: 0px" height="240" alt="Needs a ticket" src="http://agoln.net/wp-content/uploads/2008/07/scary-thumb.jpg" width="192" align="right" border="0" /></a>I personally don’t wear my pants that baggy, but it does raise quite a few questions.&#160; What is considered underwear?&#160; Some people may wear gym shorts instead of underwear – are they allowed to show 3” of gym shorts?&#160; What about those that choose to go commando – can they show 3” of crack?</p>
<p> What about other fashions that “keep major retailers and economic development away”?&#160; I for sure wouldn’t want to open a business if people dressed like <a href="http://en.wikipedia.org/wiki/Furry_fandom">furries</a>… or even Paris Hilton.</p>
<p>What about times of the year where it may even be encouraged to wear baggy pants, such as <a href="http://www.purdueexponent.org/2000/04/28/">breakfast club</a> or Halloween?</p>
<p>I think they have gone down a slippery slope which may get them into hot water.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/119/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working at Microsoft</title>
		<link>http://agoln.net/archives/111</link>
		<comments>http://agoln.net/archives/111#comments</comments>
		<pubDate>Wed, 16 Jul 2008 15:19:27 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/111</guid>
		<description><![CDATA[It is currently a little over a month into my full time employment at Microsoft, and I am extremely pleased with everything that I am working on.&#160; For those that don’t know yet, I work on the installer for the Windows Live team.

Fringe Benefits
I am going to go out on a limb and say that [...]]]></description>
			<content:encoded><![CDATA[<p>It is currently a little over a month into my full time employment at Microsoft, and I am extremely pleased with everything that I am working on.&#160; For those that don’t know yet, I work on the installer for the <a href="http://get.live.com/">Windows Live</a> team.</p>
<h2></h2>
<h2>Fringe Benefits</h2>
<p>I am going to go out on a limb and say that what I enjoy the most at Microsoft are the fringe benefits.&#160; This includes things such as a laid back atmosphere (I wear a t-shirt and jeans every day), free soft drinks (Coke AND Pepsi products, though I usually drink milk or juice), <a href="http://agoln.net/archives/114">riding the connector</a>, awesome club membership, and people who are much, much brighter than I am.</p>
<p>Another “benefit” is that I now get to be on the “inside” of everything that’s going on at Microsoft.&#160; I have already been given a demo of Windows 7 (<strong>WAY</strong> more than <a href="http://arstechnica.com/news.ars/post/20080528-windows-7-demo-all-multitouch-and-no-meat.html">just a new touch screen</a>) and I have daily builds of every Windows Live application available (Live Writer is sweet).</p>
<h2>The Work</h2>
<p>Although I can’t discuss details of everything that I work on, I can say that I learn so many new things every day.&#160; My first day at work, my mentor and boss gave me a set of books to get me familiar with what types of things I will work on.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/07/img023.jpg"><img title="Books given on first day" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="229" alt="Books given on first day" src="http://agoln.net/wp-content/uploads/2008/07/img023-thumb.jpg" width="304" border="0" /></a> </p>
<p>Those are just the books that I got on my first day – more have arrived and more are on order.&#160; Needless to say, I probably don’t have an excuse for not being busy <img src='http://agoln.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .</p>
<p>My day-to-day work consists of Win32 (obviously)/C++/COM work, which before I started I had no experience.&#160; After digging my heels in for a month and wondering around a forest of code, I have made some clearings and know a few different pieces of a lot of code.</p>
<p>One aspect of working at Microsoft that I have enjoyed so far is that I have gotten to be in control of what I am doing, and people trust me to complete my assignments.&#160; This is obviously a scary feeling when I dig into a bug, or adding new functionality in an area of code I haven’t even looked at, but up to this point I have managed to not hose the build system too terribly.</p>
<p>About the only thing I am not enjoying are some of the tools we have to use.&#160; I have always been a <a title="Subversion Best Practices" href="http://agoln.net/archives/27">Subversion</a> or Mercurial guy, and the version control we use just doesn’t cut it.&#160; From looking at the commands, there are sometimes three commands that do the same thing, just slightly differently.&#160; Why create a whole new command when a flag would do?&#160; I am already thinking about making <a title="Using Mercurial To Manage Subversion" href="http://agoln.net/archives/95">Mercurial manage Source Depot</a>.</p>
<h2>The Future</h2>
<p>Each team around here is scrambling to finish the current milestone (most teams it’s this week with others next week), which has given me an opportunity to see a coding milestone from start to finish.&#160; The race has been interesting and has kept me on my toes.&#160; I look forward to my continuing adventures at Microsoft.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/111/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Section 230c For Developers</title>
		<link>http://agoln.net/archives/103</link>
		<comments>http://agoln.net/archives/103#comments</comments>
		<pubDate>Fri, 04 Apr 2008 09:31:58 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Eleguin]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/?p=103</guid>
		<description><![CDATA[Preface
I am not a lawyer.  Do not take this as legal advice.
It was brought to my attention that Roommates.com was sued for violating the Fair Housing Act (FHA).  This was of extreme interest to me because of my similar roommate finder application, and how it may effect the future of it.  The [...]]]></description>
			<content:encoded><![CDATA[<h2>Preface</h2>
<p><strong>I am not a lawyer.  Do not take this as legal advice.</strong></p>
<p>It was brought to my attention that <a href="" title="Roommates.com Not Immune From Discrimination Lawsuit, Appeals Court Rules">Roommates.com was sued for violating the Fair Housing Act (FHA)</a>.  This was of extreme interest to me because of my <a href="http://eleguin.com/roommate.html" title="Roommate Finder">similar roommate finder application</a>, and how it may effect the future of it.  <a href="http://www.ca9.uscourts.gov/ca9/newopinions.nsf/870C17829A420BDA882572DC0051EC26/$file/0456916.pdf?openelement">The ruling</a> concluded that Roommates.com was <strong>not</strong> immune by <a href="http://en.wikipedia.org/wiki/Section_230_of_the_Communications_Decency_Act">section 230 of the Communications Decency Act</a>.  Although a ruling of weather or not they are guilty of violating the FHA <em>has not</em> been decided, it <em>has</em> been decided that they are not immune.</p>
<h2>Section 230 of the Communications Decency Act</h2>
<p>Section 230 is what allows a website operator to not be held liable for content that they did not make.  Without such a law, the Web 2.0 revolution would not exist.  Imagine Reddit.com being sued for a comment someone makes, or Flickr being sued for a picture someone didn&#8217;t like.</p>
<h3>How It All Began</h3>
<p>Before there was section 230, there existed this marvelous new thing called &#8220;The Internet&#8221;.  In order to access this mysterious place, most people had to use a dial up account through a provider.  One of those providers happened to be called <a href="http://en.wikipedia.org/wiki/Prodigy_%28online_service%29">Prodigy</a>.  Prodigy had a message board for various purposes, and from time to time, a moderator would remove offensive posts.  Because they were actively monitoring their service, they were put in the same territory as a newspaper publisher and thus legally responsible for all the content that they did not delete.  Another provider, <a href="http://en.wikipedia.org/wiki/Compuserve">CompuServe</a>, did not delete <em>any</em> information, and therefore was not liable for the postings of its users.</p>
<p>After reviewing this case, Congress sought to allow computer services the ability to edit user-generated content without becoming liable for all the content.</p>
<h3>Service Providers vs Content Providers</h3>
<p>A service provider can be thought of as any interactive site that allows 3rd party user generated content, while a content provider is the actual person/company that generates the content.  </p>
<p>Under 230c, a service provider is immune from content generated by a 3rd party provided that</p>
<ol>
<li>The 3rd party content was not created by the service provider itself</li>
<li>It is not responsible in whole or in part as to what content is shown</li>
<li>Maybe other things&#8230; (<acronym title="I am not a lawyer">IANAL</acronym>)</li>
</ol>
<p>So Roommates.com can be liable for the content of fake accounts that they create or a drop down menu, but not freely generated responses such as in someone&#8217;s description.</p>
<p>The entire reasoning behind section 230 is such that a service provider is immune from <em>removal</em> of user generated content, but not immune from the <em>creation</em> of content.</p>
<h2>Why Roommates.com Got The Short Stick</h2>
<p>Roommates.com drew the short stick basically because it required users to disclose sensitive information to register and that there was no ability to hide the information. The Fair Housing Council claimed that, <cite>&#8220;[Roommates.com] created the questions and choice of answers, and designed its website registration process around them. Therefore, Roommate is undoubtedly the  &#8216;information content provider&#8217; for posting them on its website, or for forcing subscribers to answer them as a condition of using its services. as to the questions and can claim no immunity [under section 230].&#8221;</cite></p>
<h2>What About The Future?</h2>
<p>Seeing headlines like this can make a web developer extremely uneasy, especially for someone who is unfamiliar with the law, or who cannot afford a lawyer.  Thankfully, in the ruling, they make it pretty clear as to how to be sure that you will be granted immunity under section 230c: <cite>&#8220;We got it right in Carafano, that &#8216;[u]nder § 230(c) . . . so long as a third party willingly provides the essential published content, the interactive service provider receives full immunity regardless of the specific editing or selection process.&#8217;&#8221;</cite></p>
<p>So what I&#8217;m going to do in the future is make sure that a user must specifically allow the viewing of such information, or provide a &#8220;not specified&#8221; option.</p>
<p>* <acronym title="I am not a lawyer">IANAL</acronym>, get a lawyers opinion as this is not legal advice! *</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/103/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hackers</title>
		<link>http://agoln.net/archives/100</link>
		<comments>http://agoln.net/archives/100#comments</comments>
		<pubDate>Fri, 21 Mar 2008 05:22:57 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/100</guid>
		<description><![CDATA[Public methods should be deceptively named to foil would-be hackers.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://thedailywtf.com/Articles/Making-a-Difference.aspx" title="The Daily WTF article">Public methods should be deceptively named to foil would-be hackers.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/100/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing An Active Record Class</title>
		<link>http://agoln.net/archives/98</link>
		<comments>http://agoln.net/archives/98#comments</comments>
		<pubDate>Wed, 19 Mar 2008 14:45:27 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[EPICS]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/98</guid>
		<description><![CDATA[As the Active Record class has become increasingly popular due to it&#8217;s wild success in Ruby on Rails, it seems as though every framework has an implementation of it.  It is no surprise that inside the covers of the MyEPICS framework lives an active record class that I had created.  This class has [...]]]></description>
			<content:encoded><![CDATA[<p>As the <a href="http://en.wikipedia.org/wiki/Active_record_pattern" title="Wikipedia Active Record Article">Active Record</a> class has become increasingly popular due to it&#8217;s wild success in Ruby on Rails, it seems as though every framework has an implementation of it.  It is no surprise that inside the covers of the <a href="http://ims.ecn.purdue.edu/">MyEPICS framework</a> lives an active record class that I had created.  This class has evolved and changed over time, which I am going to share my experiences writing it.  It is far from finished, but it has been quite a great learning experience along the way.</p>
<h2>2.0 Implementation</h2>
<p>The MyEPICS 2.0 implementation contained one master database class (<acronym title="MyEPICS Database">ME_DB</acronym>) which contained generic <acronym title="Create Read Update Delete">CRUD</acronym> functions, and each table contained its own class which would implement the specific <acronym title="Create Read Update Delete">CRUD</acronym> functions for each table (<acronym title="MyEPICS Database Object">ME_DBO</acronym>).  A sample way to read users with the name &#8216;bob&#8217; would be the following:<br />
<code><br />
$user=new ME_DBO_User();<br />
$user->read(array('name'=>'bob'));<br />
</code><br />
And to update a person&#8217;s last name to &#8220;foobar&#8221;, you would do the following:<br />
<code><br />
$user->lastname="foobar";<br />
$user->update();<br />
</code><br />
About 90% of each of the ME_DBO classes were the same code, and there was even a script to create a DBO class given a SQL create statement.  A major problem with this approach is that for every new table created, you needed to make sure you created a new ME_DBO file, and that the file really only contained such things as which columns were in the table and their default values.  We would have about 2k lines of code between 30 files, of which only about 50 lines were different&#8230; YUCK!  Over Christmas break, I decided that this was a major, major issue that needed to be worked out before MyEPICS 2.1.</p>
<h2>MyEPICS 2.1 Implementation</h2>
<p>With the 2.1 implementation, I took a step back and attempted to create two classes which would fix the pitfalls of the 2.0 implementation.  What I ended up doing was using <a href="http://pear.php.net/package/MDB2/docs/latest/MDB2/MDB2_Driver_Reverse_Common.html">MBD2&#8217;s reverse engineering module</a> in order to find out which fields were available and what their default values were.  This reduced the need for a separate file for each table and removed about 1500 lines of code from the Active Record implementation.  Now, instead of<br />
<code><br />
$user=new ME_DBO_User();<br />
</code><br />
You would do this instead<br />
<code><br />
$user=ME_Db::factory('User');<br />
</code><br />
This has the main database create a Dbo object with just the right properties that you need.</p>
<p>The only major gripe I have with the current implementation is that I don&#8217;t implement anything for relationships.  If you need information from a relationship, then you have three options.</p>
<ol>
<li>Cry</li>
<li>Write Manual SQL</li>
<li>Write many lines of code which does a lot of extra sql queries and is inefficient and crappy</li>
</ol>
<p>I mainly want to create something so that the relationship table is transparent.  A lot of the time, your relationship table doesn&#8217;t have anything of value in it, and it only exists for a many to many relationship.</p>
<h2>SQL Command Functions</h2>
<h3>About</h3>
<p>One such feature that I see in a lot of Active Record implementations is the ability to use functions named after SQL commands, such as:<br />
<code><br />
$db=new Some_Active_Record_Class();<br />
$db->select('firstname')->from('User')->where('id=5');<br />
</code><br />
Mostly, I had disregarded this need in my Active Record implementation because it seemed like it was a lot of work for very little gain.  Why would you need to allow such functionality when creating a simple sql statement would do?</p>
<p>Well, I think I had just stumbled upon the reason for its need.</p>
<h3>The Problem</h3>
<p>I have a class for a user and contains information pertaining to the user such as first name, last name, e-mail address etc&#8230; It has some very useful functions such as getUserWithRole($role) and getPriviliges($user).  What I need to be able to do, is extend this information through one of the MyEPICS modules.  Such an example is in my Roommate Finder application, which extends the user to give them traits.  The user module does not know about the Roommate Finder application, nor should it have to.  Now, here&#8217;s the problem.  What I need to be able to do, is return a result set of all the users&#8217; traits, where the user has a certain role.  I already have the code to return all users with a certain role in the Users module, now I just need to attach the trait information to the output of it.</p>
<p>I have come up with a few different solutions that would plug this hole, but not fix the problem, with most of them being some variation of typing up a single sql statement to get me the information.  What I don&#8217;t want to do, is getUsersWithRole(), then iterate through all of theses picking out the traits for each individual user.  This would result in at least one sql statement per user, which is <strong>highly</strong> innefficient.  </p>
<p>I want to be able to execute this functionality in one sql query, without having to tightly couple the User module with the Roommate Finder module, and without duplicating functionality already existing in the User module.</p>
<h3>A Solution?</h3>
<p>What I have been thinking about that would solve this problem would end up having me creating something like the database command functions.  Then, what the getUserWithRoel() function would do, is instead of returning the results, it would return a Dbo object with the sql already added.  So that if getUsersWithRole() would normally result in some query like &#8220;select role from roles where role=?&#8221;, then it would now return an object that represents this statement.  What this would allow me to do is chain these functions together, then only execute the query at the end.  For example:<br />
<code><br />
//fetch results in an array<br />
$dbo=$userModule->withRole('Tenant')->join('Traits')->fetchArray();<br />
</code><br />
This has several features which I haven&#8217;t implemented.  Easy relationships, chaining of functions, and the sql commands.</p>
<p>Is it bad that I am never satisfied with what I already have, and always want to refactor to make it better?</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/98/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TODO: Become an Insomniac</title>
		<link>http://agoln.net/archives/97</link>
		<comments>http://agoln.net/archives/97#comments</comments>
		<pubDate>Wed, 19 Mar 2008 08:53:38 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/97</guid>
		<description><![CDATA[Just now, I was about to download OpenOffice.org on my home computer to help with a bug report I made, and realized that I downloaded a 120MB file in about 70 seconds.  Yes, I downloaded this puppy at nearly 2 megabytes per second!! Damn my connection is fast when my neighborhood is asleep! 
Not [...]]]></description>
			<content:encoded><![CDATA[<p>Just now, I was about to download OpenOffice.org on my home computer to help with <a href="http://framework.zend.com/issues/browse/ZF-2603" title="Zend_Pdf issues with OO.o documents">a bug report I made</a>, and realized that I downloaded a 120MB file in about 70 seconds.  Yes, I downloaded this puppy at nearly 2 megabytes per second!! Damn my connection is fast when my neighborhood is asleep! </p>
<p>Not only did I get a lot of work done tonight on my <a href="http://eleguin.com/roommate.html">Roommate Finder</a> application, but I also have managed to do a lot more in the past four hours.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/97/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 2.491 seconds -->
