<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Gyrate Dot Org</title>
	<link>http://www.gyrate.org</link>
	<description>Where high-tech meets low-life</description>
	<pubDate>Wed, 09 Apr 2008 14:32:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Set Passwords as Non-Expiring on the Windows Command Line</title>
		<link>http://www.gyrate.org/2008/04/01/set-passwords-as-non-expiring-on-the-windows-command-line/</link>
		<comments>http://www.gyrate.org/2008/04/01/set-passwords-as-non-expiring-on-the-windows-command-line/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:21:43 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Geek Stuff]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/04/01/set-passwords-as-non-expiring-on-the-windows-command-line/</guid>
		<description><![CDATA[With the net user command, it&#8217;s possible to modify active directory user accounts on the command line.

net user myuser mypassword

Similarly, it&#8217;s possible to modify group membership with the net group command.  

net group mygroup myuser /add

This is all well and good, but Microsoft in all its infinite stupidity did not include a way to [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a href="http://support.microsoft.com/kb/251394">net user</a> command, it&#8217;s possible to modify active directory user accounts on the command line.</p>
<div class="code">
<pre>net user myuser mypassword</pre>
</div>
<p>Similarly, it&#8217;s possible to modify group membership with the <a href="http://support.microsoft.com/kb/150295">net group</a> command.  </p>
<div class="code">
<pre>net group mygroup myuser /add</pre>
</div>
<p>This is all well and good, but Microsoft in all its infinite stupidity did not include a way to set account passwords as non-expiring (and you might want to do this when creating active directory accounts with a script).  That&#8217;s where the <a href="http://technet2.microsoft.com/windowsserver2008/en/library/d9ded34b-7ed0-4280-b524-a55c9c6c7b691033.mspx">dsquery</a> and <a href="http://technet2.microsoft.com/windowsserver2008/en/library/c25f43ea-d9d4-47fa-b7a9-70ea76b34cb11033.mspx">dsmod</a> commands come in.  The following code will use dsquery to locate all the users with names like &#8220;myuser&#8221; and use dsmod to set the passwords as non-expiring.</p>
<div class="code">
<pre>
for /f "delims=" %D in ('dsquery user -name myuser*') do dsmod user %D -pwdneverexpires yes
</pre>
</div>
<p>Ignore the part of Microsoft&#8217;s documentation that says the ds* commands ship in Windows 2008 Server.  They also ship in Windows 2003 Server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/04/01/set-passwords-as-non-expiring-on-the-windows-command-line/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to Tune Your MySQL Server (The Easy Way)</title>
		<link>http://www.gyrate.org/2008/03/26/how-to-tune-your-mysql-server-the-easy-way/</link>
		<comments>http://www.gyrate.org/2008/03/26/how-to-tune-your-mysql-server-the-easy-way/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 23:20:44 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Geek Stuff]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/03/26/tune-your-mysql-server-the-easy-way/</guid>
		<description><![CDATA[My previous experience with tuning MySQL servers was that you should start with the example my.conf that most closely matches your hardware and then Google around for the little tweaks that others have reportedly had good luck with.  Definitive step-by-step guides on exactly what settings to change and why have historically been a little [...]]]></description>
			<content:encoded><![CDATA[<p>My previous experience with tuning MySQL servers was that you should start with the example my.conf that most closely matches your hardware and then Google around for the little tweaks that others have reportedly had good luck with.  Definitive step-by-step guides on exactly what settings to change and why have historically been a little bit hard to come by.  I guess thats what the MySQL DBAs get paid for, huh?  </p>
<p>Well now there are a couple of scripts out there that will examine your server&#8217;s runtime statistics and provide you with advice on what to change (kind of like what <a href="http://www.bastille-linux.org/">Bastille</a> does for Linux).</p>
<ul>
<li><a href="http://forge.mysql.com/projects/project.php?id=44">Tuning Primer</a> by Matthew Montgomery</li>
<li><a href="http://rackerhacker.com/mysqltuner/">MySQL Tuner</a> by Major Hayden</li>
</ul>
<p>Either one of this scripts will likely save you hours of Googling/experimenting.  Both do essentially the same thing, but it never hurts to have a 2nd opinion.  And if you&#8217;re still not sure about something, a trip to <a href="http://www.mysqlperformanceblog.com/">MySQL Performance Blog</a> should fix you right up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/03/26/how-to-tune-your-mysql-server-the-easy-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Kaseya Monitoring Sucks</title>
		<link>http://www.gyrate.org/2008/03/26/kaseya-monitoring-sucks/</link>
		<comments>http://www.gyrate.org/2008/03/26/kaseya-monitoring-sucks/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 14:18:51 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Geek Stuff]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/03/26/kaseya-monitoring-sucks/</guid>
		<description><![CDATA[I have been using Kaseya for over six months now, and even after the recent update to version 5.0, the network monitoring functionality remains pretty much a joke.  I don&#8217;t understand how this app became so popular in the MSP world.  Here&#8217;s a list of reasons why:

No concept of &#8220;state&#8221; for services - [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using <a href="http://kaseya.com/">Kaseya</a> for over six months now, and even after the recent update to version 5.0, the network monitoring functionality remains pretty much a joke.  I don&#8217;t understand how this app became so popular in the MSP world.  Here&#8217;s a list of reasons why:</p>
<ul>
<li><strong>No concept of &#8220;state&#8221; for services</strong> - Kaseya keeps track of host state (ie: online/offline) with a nice little icon, but it does not do anything similar for services.  Therefore, there is no way to get a complete picture of a network&#8217;s current state &#8220;at a glance.&#8221;  Services should not be treated like 2nd class citizens this way, because plenty of services are just as critical as (if not more than) the actual hosts they are running on.</li>
<li><strong>No alerts when a service returns to an &#8220;OK&#8221; state</strong> - It&#8217;s not enough to receive an alert just when a host/service check fails.  You need a corresponding alert when it starts succeeding again too, and here&#8217;s why: False alarms are pretty much a fact of life with all monitoring applications.  There are lots of reasons why a check might fail every now and then (network congestion, etc.).  Therefore, I don&#8217;t want to have to scramble every time I see an alert just to find out that the service is already back up again.  I want the monitoring application to tell me when it&#8217;s back up.  This is especially important when I don&#8217;t have immediate access to a computer (e.g. if I&#8217;m on the road and I have alerts going to my phone).</li>
<li><strong>Graphs are limited to ~2000 data points</strong> - This is the problem with storing raw performance data in a SQL database (I admit that I am simply assuming that&#8217;s what they have done here).  More data makes a slower database, so it makes sense that they would hard-code a limit on the amount of data that can be stored.  But how in the hell do they expect their customers to do trend analysis with only ~2000 data points?  Assuming a service check every 10 minutes: 60 minutes * 24 hours / 10 = 144 data points per day.  ~2000 data points total / 144 per day = <strong>a history of ~14 days</strong>.  Compare this to something like <a href="http://www.cacti.net/">Cacti</a> which can easily handle <strong>years</strong> worth of performance data using <a href="http://oss.oetiker.ch/rrdtool/">RRDtool</a>.</li>
<li><strong>SNMP monitoring will bring your network to its knees</strong> - Amazingly, there is no way to modify the polling interval for SNMP queries.  It appears that the Kaseya agent will simply execute snmpget in rapid succession until you notice that your server&#8217;s CPU is pinned to 100% and you are forced to disable SNMP monitoring altogether.  Even if they increased the hard-coded polling interval, you still have no control over the size of your graphs due to the data point limit listed above (in my experience, you might get 1-2 days if you&#8217;re lucky).  What baffles me the most is that you can set the polling interval for WMI monitoring.  So why would they not implement this for SNMP too?  I don&#8217;t get it.</li>
</ul>
<p>To be fair, Kaseya seems to be paying a lot of attention the user complaints on their forums lately, and they&#8217;ve already started to address some of these problems.  Hopefully I&#8217;ll have less to complain about in the coming weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/03/26/kaseya-monitoring-sucks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows 2008 Telnet (not SSH) Server</title>
		<link>http://www.gyrate.org/2008/03/17/windows-2008-telnet-not-ssh-server/</link>
		<comments>http://www.gyrate.org/2008/03/17/windows-2008-telnet-not-ssh-server/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 02:35:20 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Geek Stuff]]></category>

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

		<guid isPermaLink="false">http://www.gyrate.org/2008/03/17/windows-2008-telnet-not-ssh-server/</guid>
		<description><![CDATA[Have you heard that Windows 2008 will be able to run in a command-line only mode, but will continue to ship with a telnet server instead of SSH?  This is awesome, seeing as how telnet is an insecure, antiquated method of remote access that should not be used by anyone under any circumstances.  [...]]]></description>
			<content:encoded><![CDATA[<p>Have you heard that <a href="http://technet2.microsoft.com/windowsserver2008/en/library/18dd1257-2cd1-48f0-91f1-3012cf0fcc831033.mspx?mfr=true">Windows 2008 will be able to run in a command-line only mode, but will continue to ship with a telnet server instead of SSH</a>?  This is awesome, seeing as how <strong>telnet is an insecure, antiquated method of remote access that should not be used by anyone under any circumstances</strong>.  Congratulations Microsoft!  Welcome to the 1970&#8217;s!  Should we expect the SSH server in Windows Server 2033?</p>
<p>Seriously, what the fuck are those people doing over there?</p>
<p><strong>Update</strong>  According to Microsoft, there will be &#8220;a technology like this included in Windows Server 2008 called WinRS; or Windows Remote Shell. This command line tool allows administrators to remotely execute most cmd.exe commands using the WS_Management protocol.&#8221;  Too bad <a href="http://blog.netnerds.net/2008/01/winrs-microsofts-disappointing-answer-to-ssh-for-remote-administration/">it sucks</a>!</p>
<p>See Also: &#8220;<a href="http://en.wikipedia.org/wiki/Not_Invented_Here">Not Invented Here Syndrome</a>&#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/03/17/windows-2008-telnet-not-ssh-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thoughts on GUI Automation</title>
		<link>http://www.gyrate.org/2008/03/17/thoughts-on-gui-automation/</link>
		<comments>http://www.gyrate.org/2008/03/17/thoughts-on-gui-automation/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 02:24:18 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Geek Stuff]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/03/17/thoughts-on-gui-automation/</guid>
		<description><![CDATA[Until today, I never thought much about writing scripts that rely on a GUI.  I knew there were tools out there to do it, but I never looked into it, because it always seemed kind of tasteless to me; like something a VB programmer would do out of ignorance.  And then when I [...]]]></description>
			<content:encoded><![CDATA[<p>Until today, I never thought much about writing scripts that rely on a GUI.  I knew there were tools out there to do it, but I never looked into it, because it always seemed kind of tasteless to me; like something a VB programmer would do out of ignorance.  And then when I did some research for a project I was working on today, I found confirmation of that in some hilarious quotes about one particular GUI scripting language being &#8220;the nicest procedural programming language I&#8217;ve [sic] ever worked with.&#8221;  Obviously these people spend too much time dragging around windows and clicking on buttons to know what the hell they&#8217;re talking about, so before I go any further with this post, I&#8217;m going to give you a list of reasons why it&#8217;s generally not a good idea to write a script for a GUI:</p>
<ul>
<li>It <strong>requires</strong> a GUI.  That&#8217;s a lot of overhead for a script.  So you either leave your computer logged in with some predetermined user account, or you somehow script the logon and logoff part too.  Both methods are insecure and a waste of system resources.</li>
<li>It&#8217;s basically reverse &#8220;screen scraping,&#8221; and the same caveats apply.  Your script is relying on display elements that are more or less <strong>guaranteed</strong> to change in the future (upgrades, etc.).  That means your script will most likely have a very short lifespan, lots of updates, or both.</li>
<li>It&#8217;s an inefficient method of programming.  A GUI is designed for interaction between a human and a computer; <strong>not</strong> between a computer and itself.  All those mouse clicks are translated into machine instructions anyway, so if I already know the machine instructions I want to execute, why would I want to waste time telling the computer where to type text and click the mouse?  A GUI script is working with an unnecessary layer of abstraction, which is only useful when building Rube Goldberg machines, and Rube Goldberg machines have no place in <strong>any</strong> IT department.</li>
</ul>
<p>There are a few situations, however, where automating a GUI is a very good idea.  The most obvious use for GUI automation is in unit testing and software quality control.  Obviously, good unit tests are a lot cheaper and less error-prone than QA people, and from what I can tell, software developers are the target audience for most commercial GUI scripting tools.</p>
<p>Another good use for GUI automation (as I discovered today) is when working with shitty old software with proprietary databases of which there is no hope of accessing with Python.  In my case, I had to come up with a way to pull a report out of the biometric security system for one of our datacenters and email it to someone on a weekly basis.  My first thought was to connect directly to the database using the Python DBI and do the query myself, but gave up on that idea when I discovered that not only was everything written in German (the filenames, the documentation, everything), but the actual &#8220;database&#8221; was just a bunch of crusty old binary files.</p>
<p>The ultimate solution was a free scripting language called <a href="http://autoitscript.com">AutoIT</a>.  It isn&#8217;t exactly pretty, but it works.  And seeing as how the GUI for our security system looks like something out of Windows 95, I figure I probably won&#8217;t have to worry about it changing my script any time soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/03/17/thoughts-on-gui-automation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>More Hardware Upgrades</title>
		<link>http://www.gyrate.org/2008/03/15/more-hardware-upgrades/</link>
		<comments>http://www.gyrate.org/2008/03/15/more-hardware-upgrades/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 17:26:27 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[/etc]]></category>

		<category><![CDATA[Geek Stuff]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/03/15/more-hardware-upgrades/</guid>
		<description><![CDATA[Hopefully you&#8217;ve noticed some drastic improvements in load times, as I&#8217;ve moved Gyrate Dot Org to new hardware.  My old &#8220;server&#8221; was a little Mini-ITX box with a 1Ghz VIA Nehemiah CPU, 256MB of memory, and a laptop hard drive.  It certainly was quiet and power efficient, but it was frustratingly slow sometimes. [...]]]></description>
			<content:encoded><![CDATA[<p>Hopefully you&#8217;ve noticed some drastic improvements in load times, as I&#8217;ve moved Gyrate Dot Org to new hardware.  My old &#8220;server&#8221; was a little Mini-ITX box with a 1Ghz VIA Nehemiah CPU, 256MB of memory, and a laptop hard drive.  It certainly was quiet and power efficient, but it was frustratingly slow sometimes.  The new server is actually my old desktop with an AMD Athlon XP 2500+ CPU, 512MB of memory, and two brand new <a href="http://www.wdc.com/en/products/products.asp?driveid=336&#038;language=en">750GB WD Caviar</a>s running in a RAID 1 array (yes, these drives are dead silent like the reviews say).  I decided to go with Linux software raid after reading some interesting opinions on <a href="http://jeremy.zawodny.com/blog/archives/008696.html">Linux Software RAID vs Hardware RAID</a>.  I also found some surprising benchmarks showing that Linux software RAID is actually faster than a lot of consumer-level SATA RAID cards.</p>
<p>Compared to the old hardware&#8230;</p>
<div class="code">
<pre>
root@old-server:~# hdparm -Tt /dev/hda

/dev/hda:
 Timing cached reads:   278 MB in  2.01 seconds = 138.26 MB/sec
 Timing buffered disk reads:   88 MB in  3.00 seconds =  29.32 MB/sec
</pre>
</div>
<p>the new hardware shows huge improvements in disk transfer rates, pretty much in line with what I expected.</p>
<div class="code">
<pre>
root@new-server:~# hdparm -tT /dev/md0

/dev/md0:
 Timing cached reads:   950 MB in  2.00 seconds = 474.49 MB/sec
 Timing buffered disk reads:  222 MB in  3.01 seconds =  73.81 MB/sec
</pre>
</div>
<p>With twice as much memory as before, I&#8217;m also not swapping nearly as much (or really at all for that matter).  But what I didn&#8217;t expect was for Linux software RAID and LVM2 to have such a big impact on my load average.  It actually seems to be around 10-20% higher on average, even with a much faster CPU.  Interesting&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/03/15/more-hardware-upgrades/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to PROPERLY Choose your Internal DNS Domain</title>
		<link>http://www.gyrate.org/2008/03/12/how-to-properly-choose-your-internal-dns-domain/</link>
		<comments>http://www.gyrate.org/2008/03/12/how-to-properly-choose-your-internal-dns-domain/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 15:46:59 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Geek Stuff]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/03/12/how-to-properly-choose-your-internal-dns-domain/</guid>
		<description><![CDATA[One of my biggest IT-related pet peeves is a broken DNS infrastructure.  Since nobody seems to know how to implement this properly, I have decided to write a little howto to help put an end to the insanity.

Don&#8217;t just use whatever the hell domain name you want and justify it by saying &#8220;we&#8217;ll only [...]]]></description>
			<content:encoded><![CDATA[<p>One of my biggest IT-related pet peeves is a broken DNS infrastructure.  Since nobody seems to know how to implement this properly, I have decided to write a little howto to help put an end to the insanity.</p>
<ul>
<li><strong>Don&#8217;t</strong> just use whatever the hell domain name you want and justify it by saying &#8220;we&#8217;ll only be using this domain internally, so it doesn&#8217;t matter if we actually own it or not.&#8221;  That&#8217;s just as dumb as using someone else&#8217;s public IP addresses on your LAN, and if you don&#8217;t understand what&#8217;s wrong with that, you&#8217;re fired.  Make sure the domain you want to use is unique on the internet, and register it.</li>
<li><strong>Do</strong> use a standard TLD; not that .local bullshit.  Using a non-standard TLD like .local is a great way of showing the world that your IT staff doesn&#8217;t know what the hell they&#8217;re doing.</li>
<li><strong>Do</strong> use different internal and external namespaces.  If your external namespace is example.com, don&#8217;t use example.com for your internal (i.e. Active Directory) namespace too.  Otherwise, you&#8217;ll run into problems when your internal users can&#8217;t resolve external resources (like your website which may be hosted off-site).  If you were stupid enough to make this mistake, one solution is to mirror all your external resource records on your internal DNS servers, but then you&#8217;ll have to make every change in two places (your punishment for being an idiot).</li>
<li><strong>Don&#8217;t</strong> go out and register two entirely different domains (e.g. example.com and example.net) for your internal and external namespaces.  This is unnecessary, will confuse your users, and will tell the world that you don&#8217;t understand how DNS works.  Just use sub-domains (e.g. hq.example.com, office.example.com, etc.) for your internal networks, and reserve the root domain (i.e. example.com) for your external resources.</li>
<li><strong>Do</strong> run your internal and external namespaces on separate servers.  It&#8217;s not a good idea to make your internal resource records available to the whole world in the first place, but if you&#8217;re using proper private IP addresses on your LAN, this won&#8217;t help anyone access your servers over the internet anyway.</li>
</ul>
<p>Before you ask, if you think you have a good reason not to follow any of the above rules, you are wrong.  Don&#8217;t do it.  I&#8217;m begging you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/03/12/how-to-properly-choose-your-internal-dns-domain/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gyrate Archive</title>
		<link>http://www.gyrate.org/2008/02/27/gyrate-archive/</link>
		<comments>http://www.gyrate.org/2008/02/27/gyrate-archive/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 17:16:25 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[/etc]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/02/27/gyrate-archive/</guid>
		<description><![CDATA[I still have backups of every database containing every post and comment from every version of my site going back almost 10 years.  I was looking through them last night with the intention of possibly importing them into WordPress, but man, most of them are pretty embarrassing!  I sure spent a lot of [...]]]></description>
			<content:encoded><![CDATA[<p>I still have backups of every database containing every post and comment from every version of my site going back almost 10 years.  I was looking through them last night with the intention of possibly importing them into WordPress, but man, most of them are pretty embarrassing!  I sure spent a lot of time being a jerk and bashing people back then.  Oh well, I guess I&#8217;ll chalk it up to teenage (and early-twenties) angst.  I still haven&#8217;t decided if I should do the import though.  If not, maybe I&#8217;ll do a weekly thing where I repost some of the good ones.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/02/27/gyrate-archive/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reh Dogg</title>
		<link>http://www.gyrate.org/2008/02/26/reh-dogg/</link>
		<comments>http://www.gyrate.org/2008/02/26/reh-dogg/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 04:34:32 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Humor]]></category>

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

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

		<guid isPermaLink="false">http://www.gyrate.org/2008/02/26/reh-dogg/</guid>
		<description><![CDATA[Reh Dogg has some really groundbreaking visuals in his music videos, such as washing dishes, taking showers, and whatever you call that thing he does at 3:07 in this video.



]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/user/rehdogg">Reh Dogg</a> has some really groundbreaking visuals in his music videos, such as washing dishes, taking showers, and whatever you call that thing he does at 3:07 in this video.</p>
<p><object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/DMdXuqCM15E&#038;rel=1"></param>
<param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/DMdXuqCM15E&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/02/26/reh-dogg/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I Hate Web Design</title>
		<link>http://www.gyrate.org/2008/02/23/new-old-school-gyrate/</link>
		<comments>http://www.gyrate.org/2008/02/23/new-old-school-gyrate/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 06:05:32 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[/etc]]></category>

		<category><![CDATA[Geek Stuff]]></category>

		<guid isPermaLink="false">http://www.gyrate.org/2008/02/23/new-old-school-gyrate/</guid>
		<description><![CDATA[I decided to modernize the old Gyrate theme a little in order to remind myself of why I hate web design.  Okay, so maybe that wasn&#8217;t the original intent, but it was the result.  I know this is taboo, and I&#8217;m well aware of all the arguments against them, but I miss &#8220;layout [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to modernize the old Gyrate theme a little in order to remind myself of why I hate web design.  Okay, so maybe that wasn&#8217;t the original intent, but it was the result.  I know this is taboo, and I&#8217;m well aware of all the arguments against them, but I miss &#8220;layout tables.&#8221;  I&#8217;m sorry, but CSS positioning is overly complicated bullshit.  And why is there still no simple way to do rounded corners?  I can&#8217;t believe people are still using the same stupid hacks (e.g. transparent .gifs) I used back in 1997.  That&#8217;s it, rounded corners are hereby banned from Gyrate.org until the major browsers start implementing that part of the CSS3 spec.  I would ban CSS positioning too, but I already figured out a nice ugly hack to solve the problem I was having.  That doesn&#8217;t mean its off the hook though.  CSS positioning, you are on probation until further notice!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrate.org/2008/02/23/new-old-school-gyrate/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
