<?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>divisionbyzero &#187; Rant</title>
	<atom:link href="http://divisionbyzero.net/blog/category/rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://divisionbyzero.net/blog</link>
	<description>question . authority</description>
	<lastBuildDate>Tue, 06 Jul 2010 16:43:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Vacation and PHP</title>
		<link>http://divisionbyzero.net/blog/2009/07/13/vacation-and-php/</link>
		<comments>http://divisionbyzero.net/blog/2009/07/13/vacation-and-php/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 02:53:40 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[perl5]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/?p=153</guid>
		<description><![CDATA[I took a much needed vacation the latter part of last week. Prior to that, I was helping a few coworkers with getting PHP Web Applications developed on Fedora Core 5 to run on CentOS 5 with upgraded PHP, Apache, and libraries. Every time I work with PHP, it gives me serious perspective as to [...]]]></description>
			<content:encoded><![CDATA[<p>I took a much needed vacation the latter part of last week.  Prior to that, I was helping a few coworkers with getting PHP Web Applications developed on Fedora Core 5 to run on CentOS 5 with upgraded PHP, Apache, and libraries.  Every time I work with PHP, it gives me serious perspective as to why the <a href="http://www.modernperlbooks.com" alt="Modern Perl">Modern Perl</a> / <a href="http://www.enlightenedperl.org">Enlightened Perl</a> / <a href="http://search.cpan.org/~mschwern/perl5i-20090424/lib/perl5i.pm">perl5i</a> Projects are incredibly important.  The Matt&#8217;s Scripts Perl era needs to die.  This stagnant snapshot has poisoned Perl&#8217;s reputation for too long.</p>
<p>The main difference between Perl and PHP, is writing maintainable, intelligent Perl is only slightly more work <em>at first</em> than writing horrible Matt&#8217;s Scripts style Perl.  With PHP, writing decent PHP is possible, but it&#8217;s incredibly difficult.  The majority of the PHP I&#8217;ve come across is code written by a web developer with no programming experience and the language design and direction accommodate that demographic.  PHP&#8217;s language design gets in the way of writing sane, maintainable code.  It&#8217;s not impossible, but you have to really, really want it.</p>
<p>When you write good Perl, the programming experience becomes easier, and more fun.</p>
<p>I&#8217;m trying to get back to my programming projects, and thus back to writing more on Perl.  For now, understand that if you think Perl and PHP are the same beast, you&#8217;re wrong.  I&#8217;ve been paid to develop both for periods of years.  Perl is much more eloquent, evolutionary, and intelligent.</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2009/07/13/vacation-and-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Domestic Security</title>
		<link>http://divisionbyzero.net/blog/2008/09/12/domestic-security/</link>
		<comments>http://divisionbyzero.net/blog/2008/09/12/domestic-security/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 19:58:08 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[security hypocrisy]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/?p=49</guid>
		<description><![CDATA[Just a little comic to remind ourselves what we&#8217;re giving away for &#8220;Security.&#8221; This is not what our founding fathers had in mind. I&#8217;m disappointed in the US Government and it&#8217;s people.]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_50" class="wp-caption alignnone" style="width: 310px"><a href="http://www.claybennett.com/pages/domestic_security.html"><img src="http://divisionbyzero.net/blog/wp-content/uploads/2008/09/security-300x212.jpg" alt="Domestic Security" title="security" width="300" height="212" class="size-medium wp-image-50" /></a><p class="wp-caption-text">Domestic Security</p></div><br />
Just a little comic to remind ourselves what we&#8217;re giving away for &#8220;Security.&#8221;  This is not what our founding fathers had in mind.  I&#8217;m disappointed in the US Government and it&#8217;s people.</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2008/09/12/domestic-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boycott the RIAA</title>
		<link>http://divisionbyzero.net/blog/2007/02/27/boycott-the-riaa/</link>
		<comments>http://divisionbyzero.net/blog/2007/02/27/boycott-the-riaa/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 22:30:09 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[riaa]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2007/02/27/boycott-the-riaa/</guid>
		<description><![CDATA[Gizmodo is stepping up to declare March, Boycott the RIAA Month. This needs to happen. Justice must be swift and unrelenting. Back when the RIAA conned Metallica to lead the charge against Napster, they killed a significant portion of the internet. I&#8217;d go as far as to blame them for being the catalyst of the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gizmodo.com/gadgets/home-entertainment/gizmodos-antiriaa-manifesto-239512.php">Gizmodo</a> is stepping up to declare March, Boycott the RIAA Month.</p>
<p>This needs to happen.  Justice must be swift and unrelenting.  Back when the <a href="http://en.wikipedia.org/wiki/Metallica#Napster_controversy">RIAA conned Metallica</a> to lead the charge against Napster, they killed a significant portion of the internet.  I&#8217;d go as far as to blame them for being the catalyst of the dotCom Bust.</p>
<p>Both the RIAA and MPAA need to shut the hell up and embrace new technologies.</p>
<p>(I promise I&#8217;ll post the Proxy Evasion Article as soon as I can get my Virtual Machine running!)</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2007/02/27/boycott-the-riaa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Math and Dividing By Zero..</title>
		<link>http://divisionbyzero.net/blog/2006/12/07/math-and-dividing-by-zero/</link>
		<comments>http://divisionbyzero.net/blog/2006/12/07/math-and-dividing-by-zero/#comments</comments>
		<pubDate>Thu, 07 Dec 2006 17:19:02 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[math]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2006/12/07/math-and-dividing-by-zero/</guid>
		<description><![CDATA[So, I&#8217;ve had this domain for 7 years now. The concept behind the name goes back even further than that. In highschool in 1997, our AP Calculus teacher made the mistake of getting backed into a corner when displaying a graph of f(x)=1/x. You see, the graph approaches positive infinity as you approach zero from [...]]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;ve had this domain for 7 years now.  The concept behind the name goes back even further than that.  In highschool in 1997, our AP Calculus teacher made the mistake of getting backed into a corner when displaying a graph of f(x)=1/x.</p>
<p><img src="http://divisionbyzero.net/blog/graph-1overX.png" alt="Graph of f(x) = 1/x;" /></p>
<p>You see, the graph approaches positive infinity as you approach zero from the left, and negative infinity as you approach zero from the right.  A group of us in the back of the classroom started playing with the justifications that division by zero was possible and yielded a result.  Our teacher made the mistake of using this graph as a foray into the <a href="http://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus">Fundamental Theorem of Calculus</a>.  If division by zero is possible, it collapses the Fundamental Theorem of Calculus.</p>
<p>Well, today a <a href="http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml">guy made a number and assigned it to be the value of dividing by zero</a>.  Hold there bud, me and four of my friends did that in AP Calculus at a private high school in Bel Air, MD in 1997.  Had our results been taken seriously, we should have been excused from our AP Calculus course.</p>
<p>I can get more into the theory, but as you can see from <a href="http://web.archive.org/web/20010225014319/divisionbyzero.net/theory.html">the Way Back Machine, we documented our theory online as early as 2001</a>.</p>
<p>This annoys me almost as much as <a href="http://en.wikipedia.org/wiki/Imaginary_numbers">Imaginary Numbers</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2006/12/07/math-and-dividing-by-zero/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>America from 30,000 feet.</title>
		<link>http://divisionbyzero.net/blog/2006/10/16/america-from-30000-feet/</link>
		<comments>http://divisionbyzero.net/blog/2006/10/16/america-from-30000-feet/#comments</comments>
		<pubDate>Mon, 16 Oct 2006 17:31:53 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2006/10/16/america-from-30000-feet/</guid>
		<description><![CDATA[Bruce Schneier has an interesting comment thread going. There&#8217;s also a new movie coming out called &#8220;Catch a Fire&#8221; that deals with what happens when you torture the wrong people. Turns out, you pissed them off and they tend to seek retribution. Hard to imagine anything could go wrong with this Administration allowed to define [...]]]></description>
			<content:encoded><![CDATA[<p>Bruce Schneier <a href="http://www.schneier.com/blog/archives/2006/10/torture_and_the.html">has an interesting comment thread going</a>.</p>
<p>There&#8217;s also a new movie coming out called &#8220;<a href="http://www.apple.com/trailers/focus_features/catchafire/">Catch a Fire</a>&#8221; that deals with what happens when you torture the wrong people.  Turns out, you pissed them off and they tend to seek retribution.</p>
<p>Hard to imagine anything could go wrong with this Administration allowed to define &#8220;curel and unusual.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2006/10/16/america-from-30000-feet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unrecognizable America</title>
		<link>http://divisionbyzero.net/blog/2006/10/05/unrecognizable-america/</link>
		<comments>http://divisionbyzero.net/blog/2006/10/05/unrecognizable-america/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 20:20:23 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2006/10/05/unrecognizable-america/</guid>
		<description><![CDATA[This article goes right for the juggular. The sad fact is, he&#8217;s not off by much. America is all but lost. I hope this pisses you off. Careful with your disgust and anger, misguided and it will seal our fate.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lwilliamlosapio.com/?page_id=42">This article</a> goes right for the juggular.  The sad fact is, he&#8217;s not off by much.</p>
<p>America is all but lost.  I hope this pisses you off.  Careful with your disgust and anger, misguided and it will seal our fate.</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2006/10/05/unrecognizable-america/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The begining of the End &#8230;</title>
		<link>http://divisionbyzero.net/blog/2006/09/29/the-begining-of-the-end/</link>
		<comments>http://divisionbyzero.net/blog/2006/09/29/the-begining-of-the-end/#comments</comments>
		<pubDate>Fri, 29 Sep 2006 15:43:13 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2006/09/29/the-begining-of-the-end/</guid>
		<description><![CDATA[If you&#8217;re an American citizen, you should hang your head low today. The US Senate has passed the torture bill. Over at Bruce Schneier&#8217;s blog, there&#8217;s some interesting discussion on the matter. Torture is wrong. Military tribunals are biased. See this entry on Emergent Chaos. We&#8217;re throwing centuries of progress for human rights, freedom, liberty, [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re an American citizen, you should hang your head low today.  <a href="http://www.mercurynews.com/mld/mercurynews/news/politics/15633794.htm">The US Senate has passed the torture bill</a>. Over at Bruce Schneier&#8217;s blog, there&#8217;s some <a href="http://www.schneier.com/blog/archives/2006/09/faulty_data_and.html">interesting discussion on the matter</a>.  Torture is wrong.  Military tribunals are biased.  See this <a href="http://www.emergentchaos.com/archives/2006/09/words_to_live_by.html">entry on Emergent Chaos</a>.  We&#8217;re throwing <strong>centuries</strong> of progress for human rights, freedom, liberty, and privacy out the window.  We&#8217;re selling ourselves to the highest bidder for what?</p>
<p><a href="http://news.yahoo.com/s/ap/20060929/ap_on_go_co/congress_eavesdropping">Also, the House of Representatives passed the warrantless wire tapping bill</a>.  Granted, this isn&#8217;t quite as wild wild west as previously pitched, but the concept is disturbing.  Besides, even if all the objectives aren&#8217;t met, we&#8217;ve significantly lowered the barrier to entry for more ridiculous legislation in the near future.  I&#8217;d be surprised if more tyrannical legislation is not imposed in the coming 2 years.</p>
<p>Both of these bills embody the forces and ideals that drove our forefathers to forcefully over throw their tyrannical rulers.  Yet, today we&#8217;re sitting by on the side lines, blogging about how this might suck.  I&#8217;m just as guilty as you are.  Consider this introspection, and try to learn something.  I know I am.</p>
<p>The Bush Administration is incredibly good at manipulating the American populace.  The fact is, collectively, we&#8217;re apathetic morons.  You think it&#8217;s a huge coincidence that gas prices started plummetting so close to Midterm Elections?  People, look at what it&#8217;s done to the approval rating of the Administration.  It&#8217;s in every newspaper and on every TV station.  They&#8217;re waiving it in your face and you&#8217;re still sitting there and saying &#8220;well, the news guy told me it was because it&#8217;s winter.&#8221;</p>
<p>What do we do about this?  This cannot stand in this country.  Aren&#8217;t we the land of the free and home of the brave?  Why don&#8217;t we pull our heads out of our asses and stand up to this dictatorship?</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2006/09/29/the-begining-of-the-end/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Full Disk Encryption</title>
		<link>http://divisionbyzero.net/blog/2006/08/21/full-disk-encryption/</link>
		<comments>http://divisionbyzero.net/blog/2006/08/21/full-disk-encryption/#comments</comments>
		<pubDate>Mon, 21 Aug 2006 18:41:44 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[dumb]]></category>
		<category><![CDATA[fde]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2006/08/21/full-disk-encryption/</guid>
		<description><![CDATA[As you may or may not know, I am gainfully employed by the Federal Government in the area of Information Security. Recently the Bush Administration responded to media hype to issue a Federal Mandate requiring all government owned laptops use encryption technologies to encrypt their data. There are two interpretations of this memo. Encrypt the [...]]]></description>
			<content:encoded><![CDATA[<p>As you may or may not know, I am gainfully employed by the Federal Government in the area of Information Security.  <a href="http://www.whitehouse.gov/omb/memoranda/fy2006/m06-16.pdf">Recently the Bush Administration</a> responded to media hype to issue a Federal Mandate requiring all government owned laptops use encryption technologies to encrypt their data.</p>
<p>There are two interpretations of this memo.</p>
<ul>
<li>Encrypt the ENTIRE disk.</li>
<li>Encrypt just the files containing the data.</li>
</ul>
<p>So, what&#8217;s a lowly security administrator to do?!  Choices are bad!  Obviously you encrypt the entire disk! Right?! no? Why not?<br />
<span id="more-16"></span><br />
Well, recently concerned has been growing in the media over &#8220;Personally Identifiable Information&#8221; being recovered from stolen laptops.  Sadly, they&#8217;ve missed the point.  You see, most of the identity theft perpitrated results from malware, with a smaller number coming from physical security breaches, involving mostly <em>server hardware</em> like backup tapes, hard drives, and entire computers.  OMB and the Presidential mandate don&#8217;t deal with any of these issues, so their mandates can be viewed as little more than knee-jerk reactions to news coverage on the stolen VA Laptop.</p>
<p>Essentially, the media is now responsible for dictating Federal IT Security Policy.  This is what happens when you have governing bodies like OMB that don&#8217;t rationally evaluate threats or understand the technical aspect of IT Security.  It takes maybe another 10 minutes of searching through the archives at <a href="http://www.emergentchaos.com">Emergent Chaos</a> to realize that most breaches are the result of software breakins.  However, that&#8217;s not gonna stop the Federal Government from shelling out millions, possibly billions, to address the threat of data being stolen from a laptop that&#8217;s shutdown.</p>
<p>I don&#8217;t know about you, but the last time my laptop was shutdown was, well.. that one time it ran out of battery and I was miles away from a power adapter.  Otherwise my PowerBook just gets folded up and goes to sleep.  Full Disk Encryption decrypts the disk at BOOT.  So, since I&#8217;ve already booted, my entire drive is already booted, I gain nothing unless the battery dies.</p>
<p>&#8220;Full Disk Encryption&#8221; is also a pretty intimidating mouthful for most computer users.  Uninitiated, and some who think they&#8217;re initiated, sporting CISSP&#8217;s, would be lulled into thinking &#8220;HEY! My WHOLE disk is encrypted!  I&#8217;m secure!!!!!!!!!&#8221;  Unfortunately, this does nothing to protect your data from the software threats that are much more common.  You see, the disk is decrypted at boot, and then any programs just use the disk without even knowing that it&#8217;s encrypted.  So all the viruses and malware you&#8217;ve accumulated surfing the net for discount shopping and myspace.com updates on IE, is able to read ALL the data on your drive.</p>
<p>You haven&#8217;t really secured things from the most common threat, however, you have added another layer of complexity to the user&#8217;s experience.</p>
<p>So what is the solution?  Well first, it&#8217;s time to start investigating new methods for virus detection.  The Big 3 Vendors (Symantec, McAfee, and Trend Micro) have miss rates of 80% <a href="http://www.schneier.com/blog/archives/2006/08/why_the_topsell.html">because Virus authors are testing their virus against them</a>.  Closing this hole in the organizational structure will eliminate 80% of the threat to Identity Theft.</p>
<p>Horrible programming practices are usually to blame for the majority of personalized attacks that have leaked information in the past.  Managers should be encouraged to hire talented programmers and work with the programmers to create an atmosphere of cooperation.  The programmers should be involved in the design process.  They should also be given the right to veto or question their managers decisions.  Source control systems should be in place and encouraged.  Peer reviews should be factored into the development process.  The more eyes on the code, the more likely something will be caught.  The organization should adapt Best Practices based on recommendations by the development team.  These best practices require the same peer review that the code base gets.</p>
<p>This sounds like a lot of work, and it is.  Additionally, it&#8217;ll only fix like 1% of the Identity Theft problems.  However, it will raise the quality of the code, thus the product.  It might initially introduce some overhead, but that overhead will pay for itself and prove more cost effective as the products developed more accurately reflect customer desires.</p>
<p>If you have people with sensitive data on laptops or other portable media, you&#8217;re gonna need to deploy some form of encrypted mechanism for storage.  Personally, the encryption schemes that come builtin to Mac OS X and Windows XP should suffice for most intents and purposes.  Even OMB could&#8217;ve saved some money by leveraging this had they paid attention to their own rules.  Apple and Microsoft are both in process for attaining the coveted FIPS-140-2 compliance that is required for productions imploring encryption of federal data.  The Apple and Microsoft solutions have no cost overhead as they&#8217;re already installed on all the Apple and Microsoft laptops in production.</p>
<p>Folders with sensitive data should be encrypted in such a manner that there&#8217;s a an inactivity timeout, and the files must be decrypted when required.  Apple&#8217;s Disk Utility allows a user to construct an encrypted disk image that can be mounted like a regular DMG.  I&#8217;ve been told that Windows XP has a similar utility.  There are also free products out there like <a href="http://www.truecrypt.org">TrueCrypt</a> that allow you to hide the encrypted image in a JPG or other benign file.  For most people, the built-in encryption tools should be sufficient.</p>
<p>Users need to be trained to use the built-in features.  That&#8217;s where the money could go.  A simple PowerPoint presentation would satisfy most users.  I&#8217;d recommend that people routinely working with sensitive data be instructed on proper ways to store that data on their local machines.  You can pretend it won&#8217;t happen by making it a violation of Policy, but policy is a horrible place to hinge your IT Security Infrastructure on.</p>
<p>Don&#8217;t be sucked into the hype.  Think about things rationally and don&#8217;t make mandates that affect all government organizations without figuring out if there&#8217;s a potential threat there.  Realize, in my organization, we have over 300 users with laptops and in two years, we&#8217;ve had 0 lost or stolen laptops.</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2006/08/21/full-disk-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Airport Security</title>
		<link>http://divisionbyzero.net/blog/2006/08/14/airport-security/</link>
		<comments>http://divisionbyzero.net/blog/2006/08/14/airport-security/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 17:13:06 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[dumb]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2006/08/14/airport-security/</guid>
		<description><![CDATA[Bruce Schneier always has spot-on posts. Here&#8217;s his editorial on last week&#8217;s terror plots. It&#8217;s really that simple. Stop being terrorized. Stop being scared to live. Stop taking life so seriously, you&#8217;re never gonna make it out alive. We don&#8217;t need billions of dollars of security screening software/hardware. Anyone with a week of spare time [...]]]></description>
			<content:encoded><![CDATA[<p>Bruce Schneier always has spot-on posts.  <a href="http://http://www.schneier.com/blog/archives/2006/08/terrorism_secur.html">Here&#8217;s</a> his editorial on last week&#8217;s terror plots.</p>
<p>It&#8217;s really that simple.  Stop being terrorized.  Stop being scared to live.  Stop taking life so seriously, you&#8217;re never gonna make it out alive.  We don&#8217;t need billions of dollars of security screening software/hardware.  Anyone with a week of spare time will be able to circumvent it anyways.  This security is just a show, and I&#8217;m not entertained in the slightest.</p>
<p>I&#8217;m not flying again until these ridiculous regulations stop.  We know we&#8217;re accepting a risk getting onto a plane.  We&#8217;re 30,000 feet in the air, and if something mechanical fails, that&#8217;s a LONG way down.  You&#8217;re accepting even more of a risk when you get in your car to go to work.  You&#8217;re a billion times more likely to die in a car accident than a terror attack.  So why aren&#8217;t we campaigning against ridiculous bullshit by insurance companies and state legislations that waste your tax dollars to make them money instead of fixing problems with automobile safety?</p>
<p>It doesn&#8217;t sell papers.</p>
<p><strong>Update:</strong> It now appears that some people with some experience in Chemistry have <a href="http://www.interesting-people.org/archives/interesting-people/200608/msg00087.html">questioned the plausability</a> of the terrorist plot.<br />
<strong>Update 2:</strong> <a href="http://www.craigmurray.co.uk/archives/2006/08/the_uk_terror_p.html">More information</a> about the acquisition of the information that led to the arrests and wide spread media terrorism.</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2006/08/14/airport-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP, Are you serious?</title>
		<link>http://divisionbyzero.net/blog/2006/07/26/php-are-you-serious/</link>
		<comments>http://divisionbyzero.net/blog/2006/07/26/php-are-you-serious/#comments</comments>
		<pubDate>Thu, 27 Jul 2006 03:55:44 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://divisionbyzero.net/blog/2006/07/26/php-are-you-serious/</guid>
		<description><![CDATA[A long time ago, in a galaxy far, far away, I programmed in PHP for a mortgage company. I ended up leaving that job for personal reasons. Apparently, 40 hours/week truly is not enough. I was a Perl programmer prior to that excursion, and I guess I never grew out of it. I always felt [...]]]></description>
			<content:encoded><![CDATA[<p>A long time ago, in a galaxy far, far away, I programmed in <a title="PHP Site" href="http://www.php.net">PHP</a> for a mortgage company.  I ended up leaving that job for personal reasons.  Apparently, 40 hours/week truly is not enough.  I was a Perl programmer prior to that excursion, and I guess I never grew out of it.  I always felt uncomfortable there.  For a while I thought it might be social, but after further reflection, it&#8217;s obvious it was actually PHP&#8217;s fault.</p>
<p>To frame this, I just got back from <a title="YAPC::NA Chicago" href="http://www.yapcchicago.org">YAPC::NA</a>.  I learned all kinds of new techniques and tricks from MJD, chromatic, brian d. foy, Randal Schwartz, Damian Conway, and countless other acquaintances.  What&#8217;s not to love about <a title="Mason Headquarters" href="http://www.masonhq.com">Mason</a>, <a title="DBIx::Class" href="http://search.cpan.org/~jrobinson/DBIx-Class-0.06003/lib/DBIx/Class.pm">DBIx::Class</a>, and the brain bending functional tricks you can learn from MJD and chromatic?  I never knew that @INC could contain a subroutine reference, did you?  I also never thought of something so clever as recursively calling an anonymous sub ref contained in a scalar by using another anonymous subroutine that dereferences that ref at runtime.</p>
<p><span id="more-13"></span> So now, after refactoring a TON of my code to <a title="PBP @ O'Reilly" href="http://www.oreilly.com/catalog/perlbp/index.html">Perl Best Practices</a>, I&#8217;m back into the land of PHP temporarily.  Our administration group at work is looking for a project tracking system.  After favorable experiences with <a title="dotProject Homepage" href="http://www.dotproject.net">dotProject</a> a year ago, I suggested that.  I hadn&#8217;t touched dotProject or PHP since dotProject&#8217;s 1.x branch.  They&#8217;re now at 2.0.4 and it seems there just might be a few more hands in the pot.  The code is not as coherent and refreshing as I remember it.</p>
<p>I&#8217;ve been spending time building a module for additional &#8220;fund&#8221; tracking.  PHP seriously gets in my way.  Granted, I have a very heavy bias against anything but Perl, but my god, there&#8217;s a reason why <a title="Google :: " href="http://www.google.com/search?q=php%20sucks">this Google Search</a> exists.  They&#8217;re not lying.  I&#8217;m dealing with PHP4, so perhaps PHP5 has gotten better, but I harbor serious doubt that even by getting &#8220;better&#8221; that PHP5 would approach anything a serious computer scientist / programmer would consider usable.</p>
<p>The language is a patchwork of functions.  There&#8217;s no real defining factor or consistency.   As a matter of fact, the only thing consistent is the fact that regardless of what library in PHP you&#8217;re using, chances are the function names and argument orders lack consistency in that module and in the whole picture.</p>
<p>Don&#8217;t get me wrong, PHP is great for web designers and novices.  There&#8217;s a very low barrier to entry.  However, we now have a landscape littered with horrible PHP applications that expose servers to vicious attacks from outsiders.  PHP is not by any means a language that should be taken seriously by any serious developer.  Please invest your time elsewhere.  I&#8217;d even recommend Python over PHP.  Ruby would be a more worthwhile excursion.</p>
<p>PHP makes simple things simple and hard and obscure.  Hard things are impossible.  The biggest hole in the language from the perspective of a Perl or Lisp programmer is the complete lack of lexical scope.  I know, inside of a function there&#8217;s a lexical scope, but it&#8217;s not really a lexical scope, it&#8217;s a hack.  You  have your choice between global scoped variables, or variables scoped inside of a function.  No other closure provides an effective measure to force destruction and garbage clean up.  More importantly, certain techniques become ridiculous without proper lexical scope.</p>
<p>Early version of PHP3, maybe even &#8220;late&#8221; versions, had no scoping even for functions.  This became a problem to anyone used to using recursion to solve recursive problems.  Recursion relies on the fact that each call to the function can resolve independantly of the rest of the call stack.  Modifying variables that are still in wait on the stack can cause some &#8220;unexpected&#8221; behavior.</p>
<p>There also seems to be a problem with ternary operators.  Unexplainably, if the false condition of a ternary construct is in itself another ternary, the false is evaluated.  In order to &#8220;nest&#8221; ternary operators, <a title="Aboslute Bullshit Nested ternary operators." href="http://us2.php.net/manual/en/language.operators.comparison.php#56572">you need to enclose each INDIVIDUAL ternary in its own set of parentheses</a>.  Find precident for that illogical BS.  Why in the hell are we evaluating the false condition if the current ternary operator has returned &#8220;true&#8221; ?</p>
<p>It&#8217;s been a painful process, but in order to program in PHP, I&#8217;ve learned that you absolutely need a function reference.  It is impossible for a human being to formulate a logical function naming convention (is it &#8220;noun then verb? verb than noun? do I separate with underscores, or just smash it together&#8221;?) let alone the argument order even inside the same &#8220;module&#8221;.  Just peruse the <a title="PHP Function Reference" href="http://us2.php.net/manual/en/funcref.php">function reference on the php.net site</a> to see what I&#8217;m talking about.  Zero consistency.  Please, pick an interface and stick with it.</p>
<p>Bottom line, PHP is a good place to start, but don&#8217;t stop there.  Pick up another language.  I recommend Perl.  I&#8217;ll even teach you.  I&#8217;m gonna be teaching at NIH in the near future and I&#8217;ll be sharing my course material here.</p>
]]></content:encoded>
			<wfw:commentRss>http://divisionbyzero.net/blog/2006/07/26/php-are-you-serious/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
