<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Technological Musings</title>
    <link>http://blog.godshell.com/blog/</link>
    <description>Musings, ramblings, rants ...</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.6.2 - http://www.s9y.org/</generator>
    <pubDate>Wed, 16 May 2012 03:01:54 GMT</pubDate>

    <image>
        <url>http://blog.godshell.com/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Technological Musings - Musings, ramblings, rants ...</title>
        <link>http://blog.godshell.com/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Towards Building More Secure Networks</title>
    <link>http://blog.godshell.com/blog/archives/309-Towards-Building-More-Secure-Networks.html</link>
            <category>Networking</category>
            <category>Security</category>
    
    <comments>http://blog.godshell.com/blog/archives/309-Towards-Building-More-Secure-Networks.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=309</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=309</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;It is no surprise that security is at the forefront of everyone&#039;s minds these days.  With high profile breaches, to script kiddies wreaking havoc across the Internet, it is obvious that there are some weaknesses that need to be addressed.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;In most cases, complete network redesigns are out of the question.  This can be extremely invasive and costly.  However, it may be possible to augment the existing network in such a manner as to add additional layers of security.  It&#039;s also possible that this may lead to the possibility of being able to make even more changes down the road.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;So what do I mean by this?  Allow me to explain...&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Many networks are fairly simple with only a few subnets, typically a user and a server subnet.  Sometimes there&#039;s a bit of complexity on the user side, creating subnets per department, or subnets per building.  Often this has more to do with manageability of users rather than security.  Regardless, it&#039;s a good practice that can be used to make a network more secure in the long run.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;What is often neglected is the server side of things.  Typically, there are one, maybe two subnets.  Outside users are granted access to the standard web ports.  Sometimes more ports such as ssh and ftp are opened for a variety of reasons.  What administrators don&#039;t realize, or don&#039;t intend is that they&#039;re allowing outsiders direct access to their core servers, without any sort of security in front of it.  Sure, sure, there might be a firewall, but a firewall is there to ensure you only come in on the proper ports, right?  If your traffic is destined for port 80, it doesn&#039;t matter if it&#039;s malicious or not, the firewall lets it through anyway.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;But what&#039;s the alternative?  What can be done instead?  Well, what about sending outside traffic to a separate network where the systems being accessed are less critical, and designed to verify traffic before passing it on to your core servers?  What I&#039;m talking about is creating a DMZ network and forcing all users through a proxy.  Even a simple proxy can help to prevent many attacks by merely dropping illegal traffic and not letting it through to the core server.  Proxies can also be heavily fortified with HIDS and other security software designed to look for suspicious traffic and block it.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;By adding in this DMZ layer, you&#039;ve put a barrier between your server core and the outside world.  This is known as layered defense.  You can add additional layers as time and resources allow.  For instance, I recommend segmenting away database servers as well as identity management servers.  Adding this additional segmentation can be done over time as new servers come online and old servers are retired.  The end goal is to add this additional security without disrupting the network as a whole.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;If you have the luxury of building a new network from the ground up, however, make sure you build this in from the start.  There is, of course, a breaking point.  It makes sense to create networks to segregate servers by security level, but it doesn&#039;t make sense to segregate purely to segregate.  For instance, you may segregate database and identity management servers away from the rest of the servers, but segregating Oracle servers away from MySQL servers may not add much additional security.  There are exceptions, but I suggest you think long and hard before you make such an exception.  Are you sure that the additional management overhead is worth the security?  There&#039;s always a cost/benefit analysis to perform.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Segregating networks is just the beginning.  The purpose here is to enhance security.  By segregating networks, you can significantly reduce the number of clients that need to access a particular server.  The whole world may need to access your proxy servers, but only your proxy servers need to access the actual web application servers.  Likewise, only your web application servers need access to your database servers.  Using this information, you can tighten down your firewall.  But remember, a firewall is just a wall with holes in it.  The purpose is to deflect random attacks, but it does little to nothing to prevent attacks on ports you&#039;ve opened.  For that, there are other tools.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;At the very edge, simplistic fire walling and generally loose HIDS can be used to deflect most attacks.  As you move further within the network, additional security can be used.  For instance, deploying an IPS at the very edge of the network can result in the IPS being quickly overwhelmed.  Of course, you can buy a bigger, better IPS, but to what end?  Instead, you can move the IPS further into the network, placing it where it be more effective.  If you place it between the proxy and the web server, you&#039;ve already ensured that the only traffic hitting the IPS is loosely validated HTTP traffic.  With this knowledge, you can reduce the number of signatures the IPS needs to have, concentrating on high quality HTTP signatures.  Likewise, an IPS between the web servers and database servers can be configured with high quality database signatures.  You can, in general, direct the IPS to block any and all traffic that falls outside of those parameters.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;As the adage goes, there is no silver bullet for security.  Instead, you need to use every weapon in your arsenal and put together a solid defense.  By combining all of these techniques together, you can defend against many attacks.  But remember, there&#039;s always a way in.  You will not be able to stop the most determined attacker, you can only hope to slow him down enough to limit his access.  And remember, securing your network is only one aspect of security.  Don&#039;t forget about the other low hanging fruit such as SQL injection, cross site scripting, and other common application holes.  You may have the most secure network in existence, but a simple SQL injection attack can result in a massive data breach.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 14 May 2012 20:30:02 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/309-guid.html</guid>
    <category>design</category>
<category>networking</category>
<category>security</category>

</item>
<item>
    <title>Monitoring as a Lifestyle</title>
    <link>http://blog.godshell.com/blog/archives/308-Monitoring-as-a-Lifestyle.html</link>
            <category>Technology</category>
    
    <comments>http://blog.godshell.com/blog/archives/308-Monitoring-as-a-Lifestyle.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=308</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=308</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;A few years ago, I wrote a &lt;a href=&quot;http://blog.godshell.com/blog/archives/161-Play-with-your-Wii-and-get-Fit!.html&quot;&gt;blog entry&lt;/a&gt; about losing weight using the Wii Fit.  This worked really well for me and I was quite happy with the weight I lost.  But I found, over time, that I put at least some of the weight back on.  Most of this, I believe, was due to not having a full understanding of how much I was eating.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;I&#039;ve since switched from using the Wii Fit to using the XBox Kinect for fitness.  I also go to fitness classes outside of home, but that&#039;s a more recent change.  But this blog entry isn&#039;t really about fitness alone.  It&#039;s about monitoring your lifestyle, keeping track of the data you generate on a daily basis.  Right now, I track a lot of personal data about my weight, what I eat, how often I work out, how I sleep, etc.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Allow me to lay out some of the tools I use on a daily basis.  First off, my phone.  I happen to be an iPhone user at the moment, though any modern smartphone has somewhat similar capabilities.  Using my phone, I can view and edit my data whenever I need to, wherever I am.  There are literally thousands of applications that can be used to track data about yourself.  I&#039;m hoping to be able to aggregate all or most of this data in a single location at some point, but for now, it&#039;s spread across a few different services.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;I&#039;m typically fairly private about my data and I tend to avoid most cloud services.  However, I have found that it&#039;s virtually impossible to do the type of tracking I want without having to building every single tool myself.  So, instead, I use a few online services and provide them with virtually no personal information about myself beyond what is required to make the service work.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;So what am I using, anyway?  Let&#039;s start with how I track my diet.  I&#039;m using a service called &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.myfitnesspal.com/&#039;]);&quot;  href=&quot;http://www.myfitnesspal.com/&quot;&gt;My Fitness Pal&lt;/a&gt; to track what my daily caloric intake is.  This has significantly helped me redefine my dietary habits and helped me to realize how much I should be eating.  Previously, I would try to reduce my intake by spreading out meals over the course of the day.  While this is a great habit, in the end I believe I was eating more than I should have been, despite my intent.  Using the MyFitnessPal application, I get a clear view of where I stand at any point during the day.  I&#039;ve been able to significantly reduce my intake without having to shun the foods I love.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;On the fitness side of things, I work out every morning before work using &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.xbox.com/en-US/kinect&#039;]);&quot;  href=&quot;http://www.xbox.com/en-US/kinect&quot;&gt;XBox Kinect&lt;/a&gt; and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/yourshapegame.ubi.com/fitness-evolved-2012/en-US/&#039;]);&quot;  href=&quot;http://yourshapegame.ubi.com/fitness-evolved-2012/en-US/&quot;&gt;Your Shape Fitness&lt;/a&gt;.  I switched over to this when the original Your Shape game came out and I&#039;ve been quite happy.  The Wii Fit is a great tool to start with, and it has the benefit of checking your weight every time you play, something I do miss with Your Shape, but the exercises became far too easy to complete.  Your Shape pushes a bit harder, bringing a higher level of exercise to my daily routine.  And now with the new version, they&#039;ve raised the bar a bit, allowing me to push even harder.  There are a few areas I&#039;d like to see improvements in, but overall, I don&#039;t have many complaints.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Using the Your Shape app on my phone, I get a readout of my exercise for the day, as well as an estimate of the calories I burned.  I take this information and enter it into the My Fitness Pal application.  Doing this allows me to increase my allotment of calories for the day based on how active I have been.  In a way, I guess it works like a reward system, granting me the ability to enjoy a little more each day I spend time to work out.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;I also wear a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/jawbone.com/up&#039;]);&quot;  href=&quot;http://jawbone.com/up&quot;&gt;Jawbone Up&lt;/a&gt;.  The Up is a pretty cool little device that tracks your movement during the day and your sleep patterns at night.  It can also be used to track your food, though the interface for this is a bit lacking, which is why I use MyFitnessPal.  The Up gives me a great view of how active I am during the day, as well as a view of how well I&#039;m sleeping at night.  Jawbone has had a bit of a hard time with this particular product, but my personal experience has been pretty positive thus far.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;I have a few applications on my phone for tracking runs, though I use them for walking instead.. I&#039;m not much of a runner.  These applications are a dime a dozen, and I don&#039;t really have a preference at this point.  As long as the application has feedback on distance and route, it&#039;s typically good enough.  The application for the Up has this capability as well, though I haven&#039;t had a chance to try it out yet.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;And finally, I use an application to track my weight on a daily basis.  One of the first things I do in the morning is weigh myself.  I&#039;m currently using an application called &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.tactiosoft.com/en/products/targetweight&#039;]);&quot;  href=&quot;http://www.tactiosoft.com/en/products/targetweight&quot;&gt;TargetWeight&lt;/a&gt; by Tactio.  Basically, this application tracks your weight over time, offering up a few features to help along the way.  If you enter a target weight, the application will show you the weight left to lose as part of the icon on your phone.  Additionally, it will attempt to predict when you&#039;ll hit your target rate based on the historical date it has collected.  There&#039;s a nice graphical view of your weight over time as well.  Entering your weight is a quick process each morning and is one of the biggest motivators for me.  There&#039;s also an option to use a WiFi enabled &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/shop.withings.com/en_us/products/the-connected-bodyscale-withings-1.html&#039;]);&quot;  href=&quot;http://shop.withings.com/en_us/products/the-connected-bodyscale-withings-1.html&quot;&gt;Withings scale&lt;/a&gt; to wirelessly enter your data.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;All together, these various applications and tools allow me to gain better insight into my daily health.  This is obviously not for everyone, but for myself it has worked wonders.  I&#039;ve lost about 30 pounds or so in the past 2 months, and I&#039;m getting quite close to my current target weight.  To each his own, but this is working wonders for me.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 06 Apr 2012 15:04:16 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/308-guid.html</guid>
    <category>fitness</category>
<category>games</category>
<category>technology</category>

</item>
<item>
    <title>MAKE : Mass Monitor Rebuild</title>
    <link>http://blog.godshell.com/blog/archives/307-MAKE-Mass-Monitor-Rebuild.html</link>
            <category>Technology</category>
    
    <comments>http://blog.godshell.com/blog/archives/307-MAKE-Mass-Monitor-Rebuild.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=307</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=307</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    &lt;p class=&quot;whiteline&quot;&gt;A few years ago, I came across a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.massedi.com/products/c19/c4q19.htm&#039;]);&quot;  href=&quot;http://www.massedi.com/products/c19/c4q19.htm&quot;&gt;Mass EDI 4-monitor display&lt;/a&gt;.  The computer system I had just happened to have two dual-display video cards, so it was a perfect match.  Last year, one of the displays burned out and had to be replaced.  Unfortunately, Mass wanted upwards of $500 for a new display.  I did have a number of Dell displays available, though, and decided to look into adding one of those to the mix.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/Mass Array.jpg&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/Mass Array.jpg&quot; alt=&quot;Mass Array&quot; title=&quot;Mass Array.jpg&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;My initial attempt at adding a Dell to the mix was fairly crude, but it worked.  I decided to rebuild the entire array this past week and remove the remaining three Mass monitors.  There were two main reasons for this.  First, the crude setup I had with the first Dell monitor wasn&#039;t an ideal situation.  The way the new monitor was mounted, it pressed up against the others and was difficult to adjust.  The second reason was that I have a new video card, a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.newegg.com/Product/Product.aspx?Item=N82E16814162083&#039;]);&quot;  href=&quot;http://www.newegg.com/Product/Product.aspx?Item=N82E16814162083&quot;&gt;Galaxy nVidia GeForce 210&lt;/a&gt;, that requires DVI and not VGA.  The version of the Mass display I had didn&#039;t support DVI.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/Galaxy 210.jpg&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/Galaxy 210.jpg&quot; alt=&quot;Galaxy 210&quot; title=&quot;Galaxy 210.jpg&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/Dell 1907FP.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/Dell 1907FP.JPG&quot; alt=&quot;Dell 1907FP&quot; title=&quot;Dell 1907FP.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;322&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;And so I started to look at how to better mount a Dell display on a Mass multi-monitor array.  The Dell monitor I used initially was a 1907FP.  The general size was about right, it just needed to be lifted up away from the lower monitor a bit.  The main problem I had with the current mount was that in order to couple the Mass mounting bracket to the Dell mounting bracket, there was really only one location that it could be placed without adding additional hardware.  The Dell monitor has a small button on the back to remove it from its mounting, and the Mass has a lever of sorts that does the same.  The coupling had to take both of these removal mechanisms into consideration.  I spoke with a colleague about the problem and we came up with a small coupling plate that would raise the dell monitor up, keep both removal mechanisms clear, and allow for much better adjustment of the resulting monitor array.&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/coupling plate.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/coupling plate.JPG&quot; alt=&quot;Coupling plate&quot; title=&quot;coupling plate.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;167&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Assembly was pretty straightforward.  In order to attach the coupling plate to the Dell monitor, the Dell mount had to be removed from the original stand, lined up with the coupling plate, and holes were drilled to match.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/dell original mount.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/dell original mount.JPG&quot; alt=&quot;Dell original mount&quot; title=&quot;dell original mount.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;433&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/coupling plate on dell monitor.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/coupling plate on dell monitor.JPG&quot; alt=&quot;Coupling plate on dell monitor&quot; title=&quot;coupling plate on dell monitor.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;224&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;Once the Dell side was finished, the Mass mount was removed from the original monitor and paired up with the augmented Dell mount.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/mass mounting plate.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/mass mounting plate.JPG&quot; alt=&quot;Mass mounting plate&quot; title=&quot;mass mounting plate.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;224&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/finished mount 1.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/finished mount 1.JPG&quot; alt=&quot;Finished mount 1&quot; title=&quot;finished mount 1.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;188&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;And finally, the new augmented mounting brackets are attached to both the Dell monitor and the Mass monitor array.  The dangling VGA cable was for testing prior to the installation of the new video card.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/finished display rear.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/finished display rear.JPG&quot; alt=&quot;Finished display rear&quot; title=&quot;finished display rear.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;224&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/finished display.JPG&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/mass_monitor/finished display.JPG&quot; alt=&quot;Finished display&quot; title=&quot;finished display.JPG&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;224&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;whiteline&quot;&gt;All that remains now is general adjustment of the new monitors.  There&#039;s a single Hex screw on the Mass array behind each monitor that can be used to adjust the monitors up and down, as well as some angled movement.  Thi should allow me to adjust the display to exactly what I need.  And it now works with the new video card, which was a breeze to install and get running in Fedora.&lt;/p&gt;&lt;p class=&quot;break&quot;&gt;I love it when a plan comes together.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 20 Feb 2012 11:14:42 -0500</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/307-guid.html</guid>
    <category>dell</category>
<category>make</category>
<category>mass</category>
<category>monitor array</category>
<category>technology</category>

</item>
<item>
    <title>Contemplating the Future</title>
    <link>http://blog.godshell.com/blog/archives/306-Contemplating-the-Future.html</link>
    
    <comments>http://blog.godshell.com/blog/archives/306-Contemplating-the-Future.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=306</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=306</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    In 2005 I obtained a job at a regional &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/en.wikipedia.org/wiki/ILEC&#039;]);&quot;  href=&quot;https://en.wikipedia.org/wiki/ILEC&quot;&gt;ILEC&lt;/a&gt; as a Data Operations Technician.  As part of this job, I took over development of one of the tools we used to diagnose customer DSL connections.  Problem was, this tool was written in PHP, a programming language I was, as yet, unfamiliar with.&lt;br /&gt;
&lt;br /&gt;
At the same time, I was also looking for a web-based tool I could use to keep track of various tasks.  While there were a few open-source tools I could use, none had the features I was looking for.  So I decided to write one myself, and to write it in PHP so I could learn the language better.  In the end, I&#039;m glad I did as PHP has become indispensable for writing web-based tools.&lt;br /&gt;
&lt;br /&gt;
The tool I wrote was a web-based todo manager called &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/phptodo.godshell.com/&#039;]);&quot;  href=&quot;http://phptodo.godshell.com/&quot;&gt;phpTodo&lt;/a&gt;.  Since the alpha release in 2005, I have released 7 more versions.  Work on phpTodo has ebbed and lowed with time, often interrupted by work and life in general.  In fact, the last formal release was made almost 5 years ago, bringing the current version up to 0.8.1.  In 2009, I &lt;a href=&quot;http://blog.godshell.com/blog/archives/199-phpTodo-...-In-Fedora!!.html&quot;&gt;found out&lt;/a&gt; that phpTodo was being packaged and released with Fedora as well.&lt;br /&gt;
&lt;br /&gt;
After releasing 0.8.1, I decided to switch from using categories to using tags, similar to how the blogging system I use, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/s9y.org/&#039;]);&quot;  href=&quot;http://s9y.org/&quot;&gt;Serendipity&lt;/a&gt;, uses them.  This required rewriting a good deal of the back end of the system, as well as making extensive changes to the front end.  I also started using the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.prototypejs.org/&#039;]);&quot;  href=&quot;http://www.prototypejs.org/&quot;&gt;Prototype&lt;/a&gt; and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/script.aculo.us/&#039;]);&quot;  href=&quot;http://script.aculo.us/&quot;&gt;Scriptaculous&lt;/a&gt; Javascript frameworks, and then later switched to &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/jquery.com/&#039;]);&quot;  href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt;.  In all, a great deal of code has been rewritten.&lt;br /&gt;
&lt;br /&gt;
I&#039;m quite happy with the general feel of the new version I&#039;ve been working on.  While there is a good deal more code to be written, I&#039;m confident there will be a code release soon enough.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve been thinking a lot about the future of phpTodo and where I want to take it.  When I originally started, I wrote the system such that I could see my todo list items via an RSS feed.  At the time, I had a Blackberry phone and this worked brilliantly.  Of course, this was purely a one-way feed with no way to update any todo items on the go.  Since that time, I started working on a mobile view for the system, but stopped quickly after I realized how horrible working with &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/en.wikipedia.org/wiki/Wireless_Application_Protocol&#039;]);&quot;  href=&quot;https://en.wikipedia.org/wiki/Wireless_Application_Protocol&quot;&gt;WAP&lt;/a&gt; was.  Fortunately, technology has progressed quickly since that time and WAP is no longer necessary.  So, I&#039;m considering working on a mobile version again.&lt;br /&gt;
&lt;br /&gt;
A mobile version brings new challenges, however.  It should be trivial to develop a mobile view that can be used while online, but my hope was to have an offline version as well that can be synchronized with the online version.  One possibility is to develop an app that can be loaded onto a phone.  That, of course, severely limits the platforms it can be run on.  Another possibility is an HTML5 version, though that brings challenges of its own.&lt;br /&gt;
&lt;br /&gt;
Another thought was to build a web service into phpTodo.  The basic premise is an XML generator that, given a set of parameters, can supply an XML feed for external systems to use as input.  And an XML parser that can receive data from external systems in order to update phpTodo data.  I believe this can be used as the interface for the mobile view.&lt;br /&gt;
&lt;br /&gt;
A web service can also be used to power another idea I had.  I stumbled across the website of &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/brettterpstra.com&#039;]);&quot;  href=&quot;http://brettterpstra.com&quot;&gt;Brett Terpstra&lt;/a&gt; a while back and found a treasure trove of interesting ideas and useful code snippets.  Among these is an obsession for recording notes to keep track of projects, interesting ideas, and helpful code snippets.  Brett uses a number of custom scripts and software packages, most of which are exclusive to his platform of choice, OS X.  To be honest, I find this incredibly intriguing, and potentially useful.  So, I&#039;ve been thinking about developing a command-line tool I can use to interact with phpTodo.  A web service could make this a great deal easier.&lt;br /&gt;
&lt;br /&gt;
I have no plans to stop working on the project, and, in fact, I&#039;m eager to keep moving forward.  As I continue to rely on phpTodo itself for my daily work, I rely on improvements I can make to the system.  So overall, the future of phpTodo is bright. 
    </content:encoded>

    <pubDate>Wed, 25 Jan 2012 23:01:53 -0500</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/306-guid.html</guid>
    <category>phptodo</category>
<category>programming</category>

</item>
<item>
    <title>Mega Fail</title>
    <link>http://blog.godshell.com/blog/archives/305-Mega-Fail.html</link>
    
    <comments>http://blog.godshell.com/blog/archives/305-Mega-Fail.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=305</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=305</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    So… this happened :&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.usatoday.com/tech/news/story/2012-01-19/megaupload-feds-shutdown/52678528/1&#039;]);&quot;  href=&quot;http://www.usatoday.com/tech/news/story/2012-01-19/megaupload-feds-shutdown/52678528/1&quot;&gt;Popular file-sharing website Megaupload shut down&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/arstechnica.com/tech-policy/news/2012/01/megaupload-shut-down-by-feds-seven-charged-four-arrested.ars&#039;]);&quot;  href=&quot;http://arstechnica.com/tech-policy/news/2012/01/megaupload-shut-down-by-feds-seven-charged-four-arrested.ars&quot;&gt;Megaupload shut down by feds, seven charged, four arrested&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/news.cnet.com/8301-31001_3-57362609-261/megaupload-assembles-worldwide-criminal-defense/&#039;]);&quot;  href=&quot;http://news.cnet.com/8301-31001_3-57362609-261/megaupload-assembles-worldwide-criminal-defense/&quot;&gt;Megaupload assembles worldwide criminal defense&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/venturebeat.com/2012/01/20/department-of-justice-doj-dept-of-justice-megaupload-piracy-sopa-pipa/&#039;]);&quot;  href=&quot;http://venturebeat.com/2012/01/20/department-of-justice-doj-dept-of-justice-megaupload-piracy-sopa-pipa/&quot;&gt;Department of Justice shutdown of rogue site MegaUpload shows SOPA is unnecessary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
And then..  This happened :&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.cbsnews.com/8301-501465_162-57362764-501465/megaupload-anonymous-hacker-retaliation-nobody-wins/&#039;]);&quot;  href=&quot;http://www.cbsnews.com/8301-501465_162-57362764-501465/megaupload-anonymous-hacker-retaliation-nobody-wins/&quot;&gt;Megaupload Anonymous hacker retaliation, nobody wins&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
And, of course, the day before all of this happened was the &lt;a href=&quot;http://blog.godshell.com/blog/archives/304-Who-turned-the-lights-out.html&quot;&gt;SOPA/PIPA protest&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Wow..  The government, right?  SOPA/PIPA isn&#039;t even on the books, people are up in arms over it, and then they go and seize one of the largest file sharing websites on the planet!  We should all band together and immediately protest this illegal seizure!&lt;br /&gt;
&lt;br /&gt;
But wait..  hang on..  Since when does jumping to conclusions help?  Let&#039;s take a look and see what exactly is going on here..  According to the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.justice.gov/opa/pr/2012/January/12-crm-074.html&#039;]);&quot;  href=&quot;http://www.justice.gov/opa/pr/2012/January/12-crm-074.html&quot;&gt;indictment&lt;/a&gt;, this case went before a grand jury before any takedown was performed.  Additionally, this wasn&#039;t an all-of-a-sudden thing.  Megaupload had been contacted in the past about copyright violations and failed to deal with them as per established law.&lt;br /&gt;
&lt;br /&gt;
There are a lot of people who are against this action.  In fact, the hacktivist group, Anonymous, decided to display their dictate by performing DDoS attacks against high profile sites such as the US DoJ, MPAA, and RIAA.  This doesn&#039;t help things and may actually hurt the SOPA/PIPA protest in the long run.&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m not going to say that the takedown was right and just, there&#039;s just not enough information as of yet, and it may turn out that the government was dead wrong with this action.  But at the moment, I have to disagree with those that point at this as an example of an illegal takedown.  As a friend of mine put it, if the corner market is selling illegal bootleg videos, when they finally get raided, the store gets closed.  Yes, there were legal uses of the services on the site, but the corner store sold milk too.&lt;br /&gt;
&lt;br /&gt;
There are still many, many copyright and piracy issues to deal with.  And it&#039;s going to take a long time to deal with them.  We need to be vigilant, and protesting when necessary does work.  But jumping to conclusions like this, and then attacking sites such as the DoJ are not going to help the cause.  There&#039;s a time and a place for that, and I don&#039;t believe we&#039;re there yet. 
    </content:encoded>

    <pubDate>Fri, 20 Jan 2012 13:46:50 -0500</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/305-guid.html</guid>
    <category>law</category>
<category>politics</category>
<category>security</category>
<category>technology</category>

</item>
<item>
    <title>Who turned the lights out?</title>
    <link>http://blog.godshell.com/blog/archives/304-Who-turned-the-lights-out.html</link>
    
    <comments>http://blog.godshell.com/blog/archives/304-Who-turned-the-lights-out.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=304</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=304</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    You may have noticed that a number of websites across the Internet today have modified their look a bit.  In many cases, the normal content of that site is unreachable.  Why would they do such a thing, you may ask?  Well, there are two proposed laws, SOPA and PIPA, that threaten what we, today, enjoy as the Internet.  The short version of these laws is that, basically, if you&#039;re found to have any material on your website that infringes copyright, you face having your website shut down, without due process, all of your advertising pulled, being stricken from search engines, and possible jail time.  Pretty draconian.  There are a number of places that can explain, in more detail, what the full text of the legislation says.  If you&#039;re interested, check out &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/americancensorship.org/&#039;]);&quot;  href=&quot;http://americancensorship.org/&quot;&gt;americancensorship.org&lt;/a&gt; or &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blacklist.eff.org/&#039;]);&quot;  href=&quot;https://blacklist.eff.org/&quot;&gt;eff.org&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Or, you can check out this video, from &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.ted.com/&#039;]);&quot;  href=&quot;http://www.ted.com/&quot;&gt;ted.com&lt;/a&gt;, that explains the legislation and why it&#039;s so bad.&lt;br /&gt;
&lt;br /&gt;
&lt;object width=&quot;400&quot; height=&quot;284&quot;&gt;&lt;br /&gt;
&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;/param&gt;&lt;br /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;br /&gt;
&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;br /&gt;
&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;br /&gt;
&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt;&lt;/param&gt;&lt;br /&gt;
&lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talk/stream/2012S/Blank/ClayShirky_2012S-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ClayShirky_2012S-embed.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1329&amp;lang=en&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=defend_our_freedom_to_share_or_why_sopa_is_a_bad_idea;year=2012;theme=master_storytellers;theme=media_that_matters;event=TEDSalon+NY2012;tag=Business;tag=Technology;tag=creativity;tag=media;tag=politics;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot; /&gt;&lt;br /&gt;
&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgColor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;284&quot; allowFullScreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; flashvars=&quot;vu=http://video.ted.com/talk/stream/2012S/Blank/ClayShirky_2012S-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ClayShirky_2012S-embed.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1329&amp;lang=en&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=defend_our_freedom_to_share_or_why_sopa_is_a_bad_idea;year=2012;theme=master_storytellers;theme=media_that_matters;event=TEDSalon+NY2012;tag=Business;tag=Technology;tag=creativity;tag=media;tag=politics;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot;&gt;&lt;/embed&gt;&lt;br /&gt;
&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
If you&#039;re coming here after the 18th of January, here are some images of the protesting.&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.google.com&#039;]);&quot;  href=&quot;http://www.google.com&quot;&gt;Google&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/google-sopa.png&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/google-sopa.png&quot; alt=&quot;Google&quot; title=&quot;google-sopa.png&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.wikipedia.org&#039;]);&quot;  href=&quot;http://www.wikipedia.org&quot;&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/wikipedia-sopa.png&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/wikipedia-sopa.png&quot; alt=&quot;Wikipedia&quot; title=&quot;wikipedia-sopa.png&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;219&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.wired.com&#039;]);&quot;  href=&quot;http://www.wired.com&quot;&gt;Wired.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/wired-sopa.png&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/wired-sopa.png&quot; alt=&quot;Wired Magazine&quot; title=&quot;wired-sopa.png&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;897&quot; /&gt;&lt;/a&gt; 
    </content:encoded>

    <pubDate>Wed, 18 Jan 2012 15:19:35 -0500</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/304-guid.html</guid>
    <category>politics</category>
<category>SOPA</category>
<category>technology</category>

</item>
<item>
    <title>Blacklisted!</title>
    <link>http://blog.godshell.com/blog/archives/303-Blacklisted!.html</link>
    
    <comments>http://blog.godshell.com/blog/archives/303-Blacklisted!.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=303</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=303</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    Back in October of 2011, a bill was introduced in the House of Representatives called &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/thomas.loc.gov/cgi-bin/query/z?c112:H.R.3261:&#039;]);&quot;  href=&quot;http://thomas.loc.gov/cgi-bin/query/z?c112:H.R.3261:&quot;&gt;HR.3261&lt;/a&gt;, or the &quot;Stop Online Privacy Act (SOPA).&quot;  Go take a look, I&#039;ll wait.  It&#039;s a relatively straightforward bill, especially compared to others I&#039;ve looked at.  Hell, it&#039;s only 15 pages long!  And it&#039;s going to kill the Internet.&lt;br /&gt;
&lt;br /&gt;
Ok,ok.. It won&#039;t *KILL* the Internet, but it has the potential to ruin what we consider to be the Internet.  Personally, I believe that if this passes, it has the potential to turn the Internet into nothing more than a collection of business websites, at least in the US.&lt;br /&gt;
&lt;br /&gt;
So how does this thing work?  Well, it&#039;s actually pretty straightforward.  If your website is suspected of infringing on copyrighted material, your website is taken down, any advertising you have on your site is cut, and you are removed from search engines.  But so what, you deserve it!  You were breaking copyright law!&lt;br /&gt;
&lt;br /&gt;
Not so fast.  This applies to *any* content on your website.  So if someone comments on a blog entry, or you innocently link to a website that infringes copyright, or other situations out of your control, you&#039;re responsible.  Basically, you have to police every single comment, link, etc. that appears on your website.&lt;br /&gt;
&lt;br /&gt;
It&#039;s even worse for service providers since they have to do the blocking.  Every infringing site is blocked via DNS.  And since the US doesn&#039;t have control of all of DNS, and some infringing sites are not located in the US, this means we move into the realm of having DNS blacklist files.  The ISP becomes the responsible party if they fail to block these sites, which in turn means more overhead for the ISP.  Think you pay a lot for Internet access now?&lt;br /&gt;
&lt;br /&gt;
So what can you do?  Well, for one, you can &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.eff.org/deeplinks/2012/01/stop-blacklist-legislation-guide-person-meetings&#039;]);&quot;  href=&quot;https://www.eff.org/deeplinks/2012/01/stop-blacklist-legislation-guide-person-meetings&quot;&gt;contact your representative&lt;/a&gt; and tell them how insane this whole idea is.  And you can protest SOPA itself by putting up a protest overlay on your site.  There&#039;s a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/github.com/lpar/KillSOPA&#039;]);&quot;  href=&quot;https://github.com/lpar/KillSOPA&quot;&gt;github project&lt;/a&gt; with all of the source code you need to add an overlay to your website.  Or, if you have a Serendipity web blog, you can download the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.godshell.com/software&#039;]);&quot;  href=&quot;http://www.godshell.com/software&quot;&gt;Stop SOPA plugin&lt;/a&gt; I&#039;ve written.&lt;br /&gt;
&lt;br /&gt;
Get out there and protest! 
    </content:encoded>

    <pubDate>Thu, 12 Jan 2012 16:28:22 -0500</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/303-guid.html</guid>
    <category>Politics</category>
<category>Programming</category>
<category>SOPA</category>
<category>Technology</category>

</item>
<item>
    <title>Bringing Social To The Kernel</title>
    <link>http://blog.godshell.com/blog/archives/302-Bringing-Social-To-The-Kernel.html</link>
            <category>Security</category>
    
    <comments>http://blog.godshell.com/blog/archives/302-Bringing-Social-To-The-Kernel.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=302</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=302</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    Imagine a world where you can login to your computer once and have full access to all of the functionality in your computer, plus seamless access to all of the web sites you visit on a daily basis.  No more logging into each site individually, your computer&#039;s operating system takes care of that for you.&lt;br /&gt;
&lt;br /&gt;
That world may be coming quicker than you realize.  I was listening to a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/pauldotcom.com/2012/01/pauldotcom-security-weekly-epi-232.html&#039;]);&quot;  href=&quot;http://pauldotcom.com/2012/01/pauldotcom-security-weekly-epi-232.html&quot;&gt;recent episode&lt;/a&gt; of the PaulDotCom security podcast today.  In this episode, they interviewed &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.sans.org/windows-security/author/jfossen&#039;]);&quot;  href=&quot;http://www.sans.org/windows-security/author/jfossen&quot;&gt;Jason Fossen&lt;/a&gt;, a SANS Security Faculty Fellow and instructor for SEC 505: Securing Windows.  During the conversation, Jason mentioned some of the changes coming to the next version of Microsoft&#039;s flagship operating system, Windows 8.  What he described was, in a word, horrifying…&lt;br /&gt;
&lt;br /&gt;
Not much information is out there about these changes yet, but it&#039;s possible to piece together some of it.  Jason mentioned that Windows 8 will have a broker system for passwords.  Basically, Windows will store all of the passwords necessary to access all of the various services you interact with.  Think something along the lines of &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/agilebits.com/onepassword&#039;]);&quot;  href=&quot;https://agilebits.com/onepassword&quot;&gt;1Password&lt;/a&gt; or &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/lastpass.com/&#039;]);&quot;  href=&quot;https://lastpass.com/&quot;&gt;LastPass&lt;/a&gt;.  The main difference being, this happens in the background with minimal interaction with the user.  In other words, you never have to explicitly login to anything beyond your local Windows workstation.&lt;br /&gt;
&lt;br /&gt;
Initially, Microsoft won&#039;t have support for all of the various login systems out there.  They seem to be focusing on their own service, Windows Live, and possibly Facebook.  But the API is open, allowing third-parties to provide the necessary hooks to their own systems.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve spent some time searching for more information and what I&#039;m finding seems to indicate that what Jason was talking about is, in fact, the plan moving forward.  TechRadar has a story about the Windows 8 &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.techradar.com/news/software/operating-systems/how-windows-8-helps-remember-passwords-1051876&#039;]);&quot;  href=&quot;http://www.techradar.com/news/software/operating-systems/how-windows-8-helps-remember-passwords-1051876&quot;&gt;Credential Vault&lt;/a&gt;, where website passwords are stored.  The credential vault appears to be a direct competitor to 1Password and LastPass.  As with other technologies that Microsoft has integrated in the past, this may be the death knell for password managers.&lt;br /&gt;
&lt;br /&gt;
ReadWriteWeb has a story about the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.readwriteweb.com/cloud/2011/09/build-2011-windows-azure-tackl.php&#039;]);&quot;  href=&quot;https://www.readwriteweb.com/cloud/2011/09/build-2011-windows-azure-tackl.php&quot;&gt;Windows Azure Access Control Service&lt;/a&gt; that is being used for Windows 8.  Interestingly, this article seems to indicate that passwords won&#039;t be stored on the Windows 8 system itself, but in a centralized &quot;cloud&quot; system.  A system called the Access Control Service, or ACS, will store all of the actual login information, and the Windows 8 Password Broker will obtain tokens that are used for logins.  This allows users to access their data from different systems, including tablets and phones, and retain full access to all of their login information.&lt;br /&gt;
&lt;br /&gt;
Microsoft is &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/msdn.microsoft.com/en-us/magazine/gg490345.aspx&#039;]);&quot;  href=&quot;http://msdn.microsoft.com/en-us/magazine/gg490345.aspx&quot;&gt;positioning&lt;/a&gt; Azure ACS as a complete &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/en.wikipedia.org/wiki/Claims-based_identity&#039;]);&quot;  href=&quot;https://en.wikipedia.org/wiki/Claims-based_identity&quot;&gt;claims-based identity system&lt;/a&gt;.  In short, this allows ACS to become a one-stop shop for single sign-on.  I log into Windows and immediately have access to all of my accounts across the Internet.&lt;br /&gt;
&lt;br /&gt;
Sounds great, right?  In one respect, it is.  But if you think about it, you&#039;re making things REALLY easy for attackers.  Now they can, with a single login and password, access every system you have access to.  It doesn&#039;t matter that you&#039;ve used different usernames and passwords for your bank accounts.  It doesn&#039;t matter that you&#039;ve used longer, more secure passwords for those sensitive sites.  Once an attacker gains a foothold on your machine, it&#039;s game over.&lt;br /&gt;
&lt;br /&gt;
Jason also mentioned another chilling detail.  You&#039;ll be able to login to your local system using your Windows Live ID.  So, apparently, if you forget your password for your local user, just login with your Windows Live ID.  It&#039;s all tied together.  According to the TechRadar story, &quot;&lt;em&gt;if you forget your Windows password you can reset it from another PC using your Windows Live ID, so you don&#039;t need to make a password restore USB stick any more&lt;/em&gt;.&quot;  They go on to say the following :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;You&#039;ll also have to prove your identity before you can &#039;trust&#039; the PC you sync them to, by giving Windows Live a second email address or a mobile number it can text a security code to, so anyone who gets your Live ID password doesn&#039;t get all your other passwords too – Windows 8 will make you set that up the first time you use your Live ID on a PC.&lt;br /&gt;
&lt;br /&gt;
You can always sign in to your Windows account, even if you can&#039;t get online – or if there&#039;s a problem with your Live ID – because Windows 8 remembers the last password you signed in with successfully (again, that&#039;s encrypted in the Password Vault).&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
With this additional tidbit of information, it would appear that an especially crafty attacker could even go as far as compromising your entire system, without actually touching your local machine.  It may not be easy, but it looks like it&#039;ll be significantly easier than it was before.&lt;br /&gt;
&lt;br /&gt;
Federated identity is an interesting concept.  And it definitely has its place.  But, I don&#039;t think tying everything together in this manner is a good move for security.  Sure, you can use your Facebook ID (or Twitter, Google, OpenID, etc) already as a single login for many disparate sites.  In fact, these companies are betting on you to do so.  This ties all of your activity back to one central place where the data can be mined for useful and lucrative bits.  And perhaps in the realm of a social network, that&#039;s what you want.  But I think there&#039;s a limit to how wide a net you want to cast.  But if what Jason says is true, Microsoft may be building the equivalent of the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/en.wikipedia.org/wiki/One_ring&#039;]);&quot;  href=&quot;https://en.wikipedia.org/wiki/One_ring&quot;&gt;One Ring&lt;/a&gt;.  ACS will store them all, ACS will verify them, ACS will authenticate them all, and to the ether supply them. 
    </content:encoded>

    <pubDate>Sat, 07 Jan 2012 00:04:45 -0500</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/302-guid.html</guid>
    <category>Microsoft</category>
<category>security</category>
<category>technology</category>
<category>Windows</category>

</item>
<item>
    <title>The Zero-Day Conundrum</title>
    <link>http://blog.godshell.com/blog/archives/301-The-Zero-Day-Conundrum.html</link>
            <category>Security</category>
    
    <comments>http://blog.godshell.com/blog/archives/301-The-Zero-Day-Conundrum.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=301</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=301</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    Last week, another &quot;zero-day&quot; vulnerability was reported, this time in Adobe&#039;s Acrobat PDF reader.  Anti-virus company, Symantec, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.eweek.com/c/a/Security/Adobe-ZeroDay-Exploit-Targeted-Defense-Contractors-383203/&#039;]);&quot;  href=&quot;http://www.eweek.com/c/a/Security/Adobe-ZeroDay-Exploit-Targeted-Defense-Contractors-383203/&quot;&gt;reports&lt;/a&gt; that this vulnerability is being used as an attack vector against defense contractors, chemical companies, and others.  Obviously, this is a big deal for all those being targeted, but is it really something you need to worry about?  Are &quot;zero-days&quot; really something worth defending against?&lt;br /&gt;
&lt;br /&gt;
What is a zero-day anyway?  Wikipedia has this to say:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;A zero-day (or zero-hour or day zero) attack or threat is a computer threat that tries to exploit computer application vulnerabilities that are unknown to others or the software developer. Zero-day exploits (actual software that uses a security hole to carry out an attack) are used or shared by attackers before the developer of the target software knows about the vulnerability.&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
So, in short, a zero-day is an unknown vulnerability in a piece of software.  Now, how do we defend against this?  We have all sorts of tools on our side, surely there&#039;s one that will catch these before they become a problem, right?  IDS/IPS systems have heuristic filters for detecting anomalous activity.  Of course, you wouldn&#039;t want your IPS blocking arbitrary traffic, so that might not be a good idea.  Anti-virus software also has heuristic filters, so that should help, right?  Well…  When&#039;s the last time your heuristic filter caught something that wasn&#039;t a false positive?  So yeah, that&#039;s probably not going to work either.  So what&#039;s a security engineer to do?&lt;br /&gt;
&lt;br /&gt;
My advice?  Don&#039;t sweat it.  Don&#039;t get me wrong, zero-days are dangerous and can cause all sorts of problems, but unless you have an unlimited budget with an unlimited amount of time, trying to defend against an unknown attack is a pointless exercise in futility.  But don&#039;t despair, there is hope.&lt;br /&gt;
&lt;br /&gt;
Turns out, if you spend your time securing your network properly, you&#039;ll defend against most attacks out there.  Let&#039;s look at this latest attack, for instance.  Let&#039;s assume you&#039;ve spent millions and have the latest and greatest hardware with all the cutting edge signatures and software.  Someone sends the CEO&#039;s secretary an innocuous PDF, which she promptly opens, and all that hard work goes out the window.&lt;br /&gt;
&lt;br /&gt;
On the other hand, let&#039;s assume you spent the small budget you have defending the critical data you store and spend the time you&#039;ve saved not decoding those advanced heuristics manuals on training the staff.  This time the CEO&#039;s secretary looks twice, realizes this is an unsolicited email, and doesn&#039;t open the PDF.  No breach, the world is saved.&lt;br /&gt;
&lt;br /&gt;
Seriously, though, spending your time and effort safe-guarding your data and training your staff will get you much further than worrying about every zero-day that comes along.  Of course, you should be watching for these sorts of reports.  In this case, for instance, you can alert your staff that there&#039;s a critical flaw in this particular software and that they need to be extra careful.  Or, if the flaw is in a web application, you can add the necessary signatures to look for it.  But in the end, it&#039;s very difficult, if not impossible, to defend against something you&#039;re not aware of.  Network and system security is complex and difficult enough without having to worry about the unknown. 
    </content:encoded>

    <pubDate>Mon, 12 Dec 2011 19:43:09 -0500</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/301-guid.html</guid>
    <category>security</category>
<category>technology</category>
<category>zero-day</category>

</item>
<item>
    <title>Reflections on DerbyCon</title>
    <link>http://blog.godshell.com/blog/archives/300-Reflections-on-DerbyCon.html</link>
            <category>Security</category>
    
    <comments>http://blog.godshell.com/blog/archives/300-Reflections-on-DerbyCon.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=300</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=300</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    On September 30th, 2011, over 1000 people from a variety of backgrounds descended on Louisville, Kentucky to attend the first &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.derbycon.com&#039;]);&quot;  href=&quot;http://www.derbycon.com&quot;&gt;DerbyCon&lt;/a&gt;.  DerbyCon is a security conference put together by three security professionals, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.secmaniac.com/&#039;]);&quot;  href=&quot;http://www.secmaniac.com/&quot;&gt;Dave Kennedy&lt;/a&gt;, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/twitter.com/#!/purehate_&#039;]);&quot;  href=&quot;https://twitter.com/#!/purehate_&quot;&gt;Martin Bos&lt;/a&gt;, and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.irongeek.com/&#039;]);&quot;  href=&quot;http://www.irongeek.com/&quot;&gt;Adrian Crenshaw&lt;/a&gt;.  Along with a sizable crew of security and administrative staff, they hosted an absolutely amazing conference.&lt;br /&gt;
&lt;br /&gt;
During the three day conference, DerbyCon sported amazing speakers such as &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/secure.wikimedia.org/wikipedia/en/wiki/Mitnick&#039;]);&quot;  href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Mitnick&quot;&gt;Kevin Mitnick&lt;/a&gt;, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/secure.wikimedia.org/wikipedia/en/wiki/HD_Moore&#039;]);&quot;  href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/HD_Moore&quot;&gt;HD Moore&lt;/a&gt;, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.linkedin.com/in/nickersonlares&#039;]);&quot;  href=&quot;http://www.linkedin.com/in/nickersonlares&quot;&gt;Chris Nickerson&lt;/a&gt;, and others.  Talks covered topics such as physical penetration testing, lock picking, and network defense techniques.  There were training sessions covering Physical Penetration, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/metasploit.com/&#039;]);&quot;  href=&quot;http://metasploit.com/&quot;&gt;Metasploit&lt;/a&gt;, Social Engineering, and more.  A lock pick village was available to both learn and show off your skills, as well as a hardware village where you could learn how to solder among other things.  And, of course, there were late-night parties.&lt;br /&gt;
&lt;br /&gt;
For me, this was my first official security conference.  By all accounts, I couldn&#039;t have chosen a better conference.  All around me I heard unanimous praise for the conference, how it was planned, and how it was run.  There were a few snafus here and there, but really nothing worth griping about.&lt;br /&gt;
&lt;br /&gt;
The presentations I was able to attend were incredible and I came home with a ton of knowledge and new ideas.  During the closing of the conference, Dave mentioned some ideas for next years conference such as a newbie track.  This has inspired me to think about possibly presenting at next years conference.  I have an idea already, something I&#039;ve started working on.  If all goes well, I&#039;ll have something to present.&lt;br /&gt;
&lt;br /&gt;
DerbyCon was definitely one of the highlights of my year.  I&#039;m already eager to return next year. 
    </content:encoded>

    <pubDate>Mon, 10 Oct 2011 22:11:20 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/300-guid.html</guid>
    <category>conference</category>
<category>education</category>
<category>security</category>

</item>
<item>
    <title>In Memorium - Steve Jobs - 1955-2011</title>
    <link>http://blog.godshell.com/blog/archives/299-In-Memorium-Steve-Jobs-1955-2011.html</link>
    
    <comments>http://blog.godshell.com/blog/archives/299-In-Memorium-Steve-Jobs-1955-2011.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=299</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=299</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    Somewhere in the early 1980&#039;s, my father took me to a bookstore in Manhattan.  I don&#039;t remember why, exactly, we were there, but it was a defining moment in my life.  On display was a new wonder, a Macintosh computer.&lt;br /&gt;&lt;br /&gt;Being young, I wasn&#039;t aware of social protocol.  I was supposed to be awed by this machine, afraid to touch it.  Instead, as my father says, I pushed my way over, grabbed the mouse, and went to town.  While all of the adults around me looked on in horror, I quickly figured out the interface and was able to make the machine do what I wanted.&lt;br /&gt;&lt;br /&gt;It would be over 20 years before I really became a Mac user, but that first experience helped define my love of computers and technology.&lt;br /&gt;&lt;br /&gt;Thank you, Steve.&lt;br /&gt; 
    </content:encoded>

    <pubDate>Thu, 06 Oct 2011 07:37:36 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/299-guid.html</guid>
    <category>apple</category>
<category>personal computers</category>
<category>Technology</category>

</item>
<item>
    <title>Audit Insanity</title>
    <link>http://blog.godshell.com/blog/archives/298-Audit-Insanity.html</link>
            <category>Security</category>
    
    <comments>http://blog.godshell.com/blog/archives/298-Audit-Insanity.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=298</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=298</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    &lt;strong&gt;&amp;lt;RANT&amp;gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s amazing, but the deeper I dive into security, the more garbage security theater I uncover.  Sure, there&#039;s insanity everywhere, but I didn&#039;t expect to come across some of this craziness…&lt;br /&gt;
&lt;br /&gt;
One of the most recent activities I&#039;ve been party to has been the response to an independent audit.  When I inquired as to the reasoning behind the audit, the answer I&#039;ve received has been that this is a recommended yearly activity.  It&#039;s possible that this information is incorrect, but I suspect that it&#039;s truer than I&#039;d like to believe.&lt;br /&gt;
&lt;br /&gt;
Security audits like this are standard practice all over the US and possibly the world.  Businesses are led to believe that getting audited is a good thing and that they should be repeated often.  My main gripe here is that while audits can be good, they need to be done for the right reasons, not just because someone tells you they&#039;re needed.  Or, even better, the audits that are forced on a company by their insurance company, or their payment processor.  These sorts of audits are there to pass the blame if something bad happens.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s look a little deeper.  The audit I participated in was a typical security audit.  An auditor contacts you with a spreadsheet full of questions for you to answer.  You will, of course, answer them truthfully.  Questions included inquiries about the password policy, how security policies are distributed, and how logins are handled.  They delve into areas such as logging, application timeouts, IDS/IPS use, and more.  It&#039;s fairly in-depth, but ultimately just a checklist.  The auditor goes through their list, interpreting your answers, and applying checkmarks where appropriate.  The auditor then generates a list of items you &quot;failed&quot; to comply with and you have a chance to respond.  This is all incorporated into a final report which is presented to whoever requested the audit.&lt;br /&gt;
&lt;br /&gt;
Some audits will include a scanning piece as well.  The one I&#039;m most familiar with in this aspect is the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.securitymetrics.com/&#039;]);&quot;  href=&quot;https://www.securitymetrics.com/&quot;&gt;SecurityMetrics&lt;/a&gt; PCI scan.  Basically, you fill out a simplified yes/no questionnaire about your security and then they run a &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.tenable.com/products/nessus&#039;]);&quot;  href=&quot;http://www.tenable.com/products/nessus&quot;&gt;Nessus&lt;/a&gt; scan against whatever IP(s) you provide to them.  It&#039;s a completely brain-dead scan, too.  Here&#039;s a perfect example.  I worked for a company who processed credit cards.  The system they used to do this was on a private network using outbound NAT.  There were both IDS and firewall systems in place.  For the size of the business and the frequency of credit card transactions, this was considerable security.  But, because there was a payment card processor in the mix, they were required to perform a quarterly PCI scan.  The vendor of choice, SecurityMetrics.&lt;br /&gt;
&lt;br /&gt;
So, the security vendor went through their checklist and requested the IP of the server.  I explained that it was behind a one-way NAT and inaccessible from the outside world.  They wanted the IP of the machine, which I provided to them.  10.10.10.1.  Did I mention that the host in question was behind a NAT?  These &quot;security professionals&quot; then loaded that IP into their automated scanning system.  And it failed to contact the host.  Go figure.  Again, we went around and around until they finally said that they needed the IP of the device doing the NAT.  I explained that this was a router and wouldn&#039;t provide them with any relevant information.  The answer?  We don&#039;t care, we just need something to scan.  So, they scanned a router.  For years.  Hell, they could still be doing it for all I know.  Like I said, brain dead security.&lt;br /&gt;
&lt;br /&gt;
What&#039;s wrong with a checklist, though?  The problem is, it&#039;s a list of &quot;common&quot; security practices not tailored to any specific company.  So, for instance, the audit may require that a company uses hardware-based authentication devices in addition to standard passwords.  The problem here is that this doesn&#039;t account for non-hardware solutions.  The premise here is that &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/secure.wikimedia.org/wikipedia/en/wiki/Two-factor_authentication&#039;]);&quot;  href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Two-factor_authentication&quot;&gt;two-factor authentication&lt;/a&gt; is more secure than just a username and password.  Sure, I whole-heartedly agree.  But, I would argue that &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/secure.wikimedia.org/wikipedia/en/wiki/Public-key_cryptography&#039;]);&quot;  href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Public-key_cryptography&quot;&gt;public key authentication&lt;/a&gt; provides similar security.  It satisfies the &quot;What You Have&quot; and &quot;What You Know&quot; portions of two-factor authentication.  But it&#039;s not hardware!  Fine, put your key on a USB stick.  (No, really, don&#039;t.  That&#039;s not very secure.)&lt;br /&gt;
&lt;br /&gt;
Other examples include the standard &quot;Password Policy&quot; crap that I&#039;ve been hearing for years.  Basically, you should expire passwords every 90 days or so, passwords should be &quot;strong&quot;, and you should prevent password reuse by remembering a history of passwords.  So let&#039;s look at this a bit.  Forcing password changes every 90 days results in bad password habits.  The reasoning is quite simple, and there have been studies that show this.  This &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.cs.unc.edu/~yinqian/papers/PasswordExpire.pdf&#039;]);&quot;  href=&quot;http://www.cs.unc.edu/~yinqian/papers/PasswordExpire.pdf&quot;&gt;paper&lt;/a&gt; (pdf) from the University of North Carolina is a good example.  Another decent write up is &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.cryptosmith.com/node/218&#039;]);&quot;  href=&quot;http://www.cryptosmith.com/node/218&quot;&gt;this article&lt;/a&gt; from Cryptosmith.  Allow me to summarize.  Forcing password expiration results in people making simpler passwords, writing passwords down, or using simplistic algorithms to generate &quot;complex&quot; passwords.  In short, cracking these &quot;fresh&quot; passwords is often easier than well thought out ones.&lt;br /&gt;
&lt;br /&gt;
The so-called &quot;strong&quot; password problem can be summarized by a rather &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.xkcd.com/936/&#039;]);&quot;  href=&quot;https://www.xkcd.com/936/&quot;&gt;clever XKCD comic&lt;/a&gt;.  The long and short here is that truly complex passwords that cannot be easily cracked are either horribly complex mishmashes of numbers, letters, and symbols, or they&#039;re long strings of generic words.  Seriously, &quot;correct horse battery staple&quot; is significantly stronger than using a completely random 11 digit string.&lt;br /&gt;
&lt;br /&gt;
&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/password_strength.png&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/password_strength.png&quot; alt=&quot;Password strength&quot; title=&quot;Password strength&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;243&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
And, of course, password history.  This sort of goes hand-in-hand with password expiration, but not always.  If it&#039;s used in conjunction with password expiration, then it generally results in single character variation in passwords.  Your super-secure &quot;complex&quot; password of &quot;Password1&quot; (seriously, it meets the criteria..  Uppercase, lowercase, number) becomes a series of passwords where the 1 is changed to a 2, then 3, then 4, etc. until the history is exceeded and the user can return to 1 again.  It&#039;s easier to remember that way and the user doesn&#039;t have to do much extra work.&lt;br /&gt;
&lt;br /&gt;
So even the standard security practices on the checklist can be questioned.  The real answer here is to tweak each audit to the needs of the requestor of the audit, and to properly evaluate the responses based on the security posture of the responder.  There do need to be baselines, but they should be sane baselines.  If you don&#039;t get all of the checkmarks on an audit, it may not mean you&#039;re not secure, it may just mean you&#039;re securing your network in a way the auditor didn&#039;t think of.  There&#039;s more to security than fancy passwords and firewalls.  A lot more.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&amp;lt;/RANT&amp;gt;&lt;/strong&gt; 
    </content:encoded>

    <pubDate>Mon, 15 Aug 2011 23:31:06 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/298-guid.html</guid>
    <category>insanity</category>
<category>rant</category>
<category>security</category>
<category>technology</category>

</item>
<item>
    <title>Much Ado About Lion</title>
    <link>http://blog.godshell.com/blog/archives/296-Much-Ado-About-Lion.html</link>
            <category>Technology</category>
    
    <comments>http://blog.godshell.com/blog/archives/296-Much-Ado-About-Lion.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=296</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=296</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.apple.com&#039;]);&quot;  href=&quot;https://www.apple.com&quot;&gt;Apple&lt;/a&gt; released the latest version of it&#039;s OS X operating system, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.apple.com/macosx/&#039;]);&quot;  href=&quot;https://www.apple.com/macosx/&quot;&gt;Lion&lt;/a&gt;, on July 20th.  With this release came a myriad of changes in both the UI and back-end systems.  Many of these features are denounced by critics as Apple slowly killing off OS X in favor of iOS.  After spending some time with Lion, I have to disagree.&lt;br /&gt;
&lt;br /&gt;
Many of the new UI features are very iOS-like, but I&#039;m convinced that this is not a move to dumb down OS X.  I believe this is a move by Apple to make the OS work better with the hardware it sells.  Hear me out before you declare me a fanboy and move on.&lt;br /&gt;
&lt;br /&gt;
Since the advent of the unibody Macbook, Apple has been shipping buttonless input devices.  The Macbook itself has a large touchpad, sans button.  Later, they released the magic mouse, sort of a transition device between mice and trackpads. I&#039;m not a fan of that particular device.  And finally, they&#039;re shipping the trackpad today.  No buttons, lots of room for gestures.  Just check out the copy direct from their &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.apple.com/macosx/whats-new/gestures.html&#039;]);&quot;  href=&quot;https://www.apple.com/macosx/whats-new/gestures.html&quot;&gt;website&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/Multitouch - Apple Website.jpg&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/Multitouch - Apple Website.jpg&quot; alt=&quot;Multitouch Disclaimer&quot; title=&quot;Multitouch - Apple Website.jpg&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;107&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you look at a lot of the changes made in Lion, they go hand-in-hand with new gestures.  Natural scrolling allows you to move the screen in the same direction your fingers are moving.  Swipe three fingers to the left and right, the desktop you&#039;re on moves along with it.  Explode your fingers outwards and Launchpad appears, a quick, simple way to access your applications folder.  Similar gestures are available for the Magic Mouse as well.&lt;br /&gt;
&lt;br /&gt;
&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/whatsnew_launchpad_screen.jpg&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/whatsnew_launchpad_screen.jpg&quot; alt=&quot;Launchpad&quot; title=&quot;whatsnew_launchpad_screen.jpg&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;187&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
These gestures allow for quick and simple access to many of the more advanced features of Lion.  Sure, iOS had some of these features first, but just because they&#039;ve moved to another platform doesn&#039;t mean that the platforms are merging.&lt;br /&gt;
&lt;br /&gt;
Another really interesting feature in Lion is one that has been around for a while in iOS.  When Apple first designed iOS, they likely realized that standard scrollbars chew up a significant amount of screen real estate.  Sure, on a regular computer it may be a relatively small percentage, but on a small screen like a phone, it&#039;s significant.  So, they designed a thinner scrollbar, minus the arrows normally seen at the top and bottom, and made it auto-hide when the screen isn&#039;t being scrolled.  This saved a lot of room on the screen.&lt;br /&gt;
&lt;br /&gt;
&lt;a  class=&quot;image-link&quot;  rel=&quot;lightbox&quot; href=&quot;http://blog.godshell.com/blog/uploads/OSX-Lion-Scrollbar.png&quot;&gt;&lt;img style=&quot;display:block; margin-left:auto; margin-right:auto;&quot; src=&quot;http://blog.godshell.com/blog/uploads/OSX-Lion-Scrollbar.png&quot; alt=&quot;OSX Lion Scrollbar&quot; title=&quot;OSX-Lion-Scrollbar.png&quot; border=&quot;0&quot; width=&quot;300&quot; height=&quot;227&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Apple has taken the scrollbar feature and integrated it into the desktop OS.  And the effect is pretty significant.  The amount of room saved on-screen is quite noticeable.  I have seen a few complaints about this new feature, however, mostly complaining that it&#039;s difficult to grab the scrollbar with the mouse pointer, or that the arrow buttons are gone.  I think the former is just a general &quot;they changed something&quot; complaint while the latter is truly legitimate.  There have been a few situations where I&#039;ve looked for the arrow buttons and their absence was noticeable.,  I wonder, however, whether this is a function of habit, or if their use is truly necessary.  I&#039;ve been able to work around this pretty easily on my Macbook, but after I install Lion on my Mac Pro, I expect that I&#039;ll have a slightly harder time.  Unless, that is, I buy a trackpad.  As I said, I believe Apple has built this new OS with their newer input devices in mind.&lt;br /&gt;
&lt;br /&gt;
On the back end, Lion is, from what I can tell, completely 64-bit.  They have removed Java and Flash, and, interestingly, banned both from their online App Store.  No apps that require Java or Flash can be sold there.  Interesting move.  Additionally, Rosetta, the emulation software that allows older PowerPC software to run, has been removed as well.&lt;br /&gt;
&lt;br /&gt;
Overall, I&#039;m enjoying my Lion experience.  I still have the power of a unix-based system with the simplicity of a well thought out GUI interface.  I can still do all of the programming I&#039;m used to as well as watch videos, listen to music, and play games.  I think I&#039;ll still keep a traditional multi-button mouse around for gaming, though. 
    </content:encoded>

    <pubDate>Sun, 07 Aug 2011 13:16:05 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/296-guid.html</guid>
    <category>apple</category>
<category>lion</category>
<category>os x</category>
<category>technology</category>

</item>
<item>
    <title>Fixing the Serendipity XMLRPC plugin</title>
    <link>http://blog.godshell.com/blog/archives/295-Fixing-the-Serendipity-XMLRPC-plugin.html</link>
            <category>Programming</category>
    
    <comments>http://blog.godshell.com/blog/archives/295-Fixing-the-Serendipity-XMLRPC-plugin.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=295</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=295</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    A while ago I purchased a copy of &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blogpressapp.com/&#039;]);&quot;  href=&quot;http://blogpressapp.com/&quot;&gt;BlogPress&lt;/a&gt; for my iDevices..  It&#039;s pretty full-featured, and seems to work pretty well.  Problem was, I couldn&#039;t get it to work with my &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.s9y.org&#039;]);&quot;  href=&quot;http://www.s9y.org&quot;&gt;Serendipity&lt;/a&gt;-based blog.  Oh well, a wasted purchase.&lt;br /&gt;
&lt;br /&gt;
But not so fast!  Every once in a while I go back and search for a possible solution.  This past week I finally hit paydirt.  I came across &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/board.s9y.org/viewtopic.php?f=4&amp;amp;amp;t=17387&#039;]);&quot;  href=&#039;http://board.s9y.org/viewtopic.php?f=4&amp;amp;t=17387&#039;&gt;this&lt;/a&gt; post on the s9y forums.&lt;br /&gt;
&lt;br /&gt;
This explained why BlogPress was crashing when I used it.  In short, it was expecting to see a categoryName tag in the resulting XML from the Serendipity XMLRPC plugin.  Serendipity, however, used description instead, likely because Serendipity has better support for the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.xmlrpc.com/metaWeblogApi&#039;]);&quot;  href=&quot;http://www.xmlrpc.com/metaWeblogApi&quot;&gt;MetaWeblog API&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Fortunately, fixing this problem is very straightforward.  All you really need to do is implement both APIs and return all of the necessary data for both APIs at the same time.  To fix this particular problem, it&#039;s a single line addition to the &lt;strong&gt;serendipity_xmlrpc.inc.php&lt;/strong&gt; file located in &lt;strong&gt;$S9YHOME/plugins/serendipity_event_xmlrpc&lt;/strong&gt;.  That addition is as follows :&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;
if ($cat[&#039;categoryid&#039;]) $xml_entries_vals[] = new XML_RPC_Value(
    array(
      &#039;description&#039;   =&gt; new XML_RPC_Value($cat[&#039;category_name&#039;], &#039;string&#039;),
      // XenoPhage: Add &#039;categoryName&#039; to support mobile publishing (Thanks PigsLipstick)
      &#039;categoryName&#039;  =&gt; new XML_RPC_Value($cat[&#039;category_name&#039;], &#039;string&#039;),
      &#039;htmlUrl&#039;       =&gt; new XML_RPC_Value(serendipity_categoryURL($cat, &#039;serendipityHTTPPath&#039;), &#039;string&#039;),
      &#039;rssUrl&#039;        =&gt; new XML_RPC_Value(serendipity_feedCategoryURL($cat, &#039;serendipityHTTPPath&#039;), &#039;string&#039;)
    ),
    &#039;struct&#039;
);
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
And poof, you now have the proper category support for &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/developer.typepad.com/&#039;]);&quot;  href=&quot;http://developer.typepad.com/&quot;&gt;Movable Type&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Sun, 26 Jun 2011 12:19:01 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/295-guid.html</guid>
    <category>blogging</category>
<category>programming</category>
<category>serendipity</category>
<category>technology</category>

</item>
<item>
    <title>Evaluating a Blogging Platform</title>
    <link>http://blog.godshell.com/blog/archives/294-Evaluating-a-Blogging-Platform.html</link>
            <category>Technology</category>
    
    <comments>http://blog.godshell.com/blog/archives/294-Evaluating-a-Blogging-Platform.html#comments</comments>
    <wfw:comment>http://blog.godshell.com/blog/wfwcomment.php?cid=294</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.godshell.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=294</wfw:commentRss>
    

    <author>nospam@example.com (Jason Frisvold)</author>
    <content:encoded>
    I&#039;ve been pondering my choices lately, determining if I should stay with my current blogging platform or move to another one.  There&#039;s nothing immediate forcing me to change, nor is there anything overly compelling to the platform I&#039;m currently using.  This is an exercise I seem to go through from time to time.  It&#039;s probably for the better as it keeps me abreast of what else is out there and allows me to re-evaluate choices I&#039;ve made in the past.&lt;br /&gt;&lt;br /&gt;So, what is out there?  Well, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.s9y.com&#039;]);&quot;  href=&quot;http://www.s9y.com&quot;&gt;Serendipity&lt;/a&gt; has grown quite a bit as a blogging platform and is quite well supported.  That, in its own right, makes it a worthy choice.  The plugin support is quite vast and the API is simple enough that creating new plugins when the need arises is a quick task.&lt;br /&gt;&lt;br /&gt;There are some drawbacks, however.  Since it&#039;s not quite as popular as some other platforms, interoperability with some things is difficult.  For instance, the offline blogging tool I&#039;m using right now, BlogPress, doesn&#039;t work quite right with Serendipity.  I believe this might be due to missing features and/or bugs in the Serendipity XMLRPC interface.  Fortunately, someone in the community had already debugged the problem and provided a fix.&lt;br /&gt;&lt;br /&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.wordpress.com&#039;]);&quot;  href=&quot;http://www.wordpress.com&quot;&gt;Wordpress&lt;/a&gt; is probably one of the more popular platforms right now.  Starting a Wordpress blog can be as simple as creating a new account at &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.wordpress.com&#039;]);&quot;  target=&quot;_blank&quot; href=&quot;http://www.wordpress.com&quot;&gt;wordpress.com&lt;/a&gt;.  There&#039;s also the option of downloading the Wordpress distribution and hosting it on your own.  As with Serendipity, Wordpress also has a vibrant community and a significant plugin collection.  From what I understand, Wordpress also has the ability to be used as a static website, though that&#039;s less of an interest for me.  Wordpress has wide support in a number of offline blogging tools, including custom applications for iPad and iPhone devices.&lt;br /&gt;&lt;br /&gt;There are a number of &amp;quot;cloud&amp;quot; platforms as well.  Examples include &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.tumblr.com&#039;]);&quot;  href=&quot;http://www.tumblr.com&quot;&gt;Tumblr&lt;/a&gt;, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.livejournal.com&#039;]);&quot;  href=&quot;http://www.livejournal.com&quot;&gt;Live Journal&lt;/a&gt;, and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.blogger.com&#039;]);&quot;  href=&quot;http://www.blogger.com&quot;&gt;Blogger&lt;/a&gt;.  These platforms have a wide variety of interoperability with services such as &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.twitter.com&#039;]);&quot;  href=&quot;http://www.twitter.com&quot;&gt;Twitter&lt;/a&gt; and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.flickr.com&#039;]);&quot;  href=&quot;http://www.flickr.com&quot;&gt;Flickr&lt;/a&gt;, but you sacrifice control.  You are at the complete mercy of the platform provider with very little alternative.  For instance, if a provider disagrees with you, they can easily block or delete your content.  Or, the provider can go out of business, leaving you without access to your blog at all.  These, in my book, are significant drawbacks.&lt;br /&gt;&lt;br /&gt;Another possible choice is &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.drupal.org&#039;]);&quot;  href=&quot;http://www.drupal.org&quot;&gt;Drupal&lt;/a&gt;.  I&#039;ve been playing around with Drupal quite a bit, especially since it&#039;s the platform of choice for a lot of projects I&#039;ve been involved with lately.  It seems to fit the bill pretty well and is incredibly extensible.  In fact, it&#039;s probably the closest I&#039;ve come to actually making a switch up to this point.  The one major hurdle I have at the moment is lack of API support for blogging tools.  Yes, I&#039;m aware of the BlogAPI module, but according to the project page for it, it&#039;s incomplete, unsupported, and the author isn&#039;t working on it anymore.  While I was able to install it and initially connect to the Drupal site, it doesn&#039;t seem that any of the posting functionality works at this time.  Drupal remains the strongest competitor at this point and has a real chance of becoming my new platform of choice.&lt;br /&gt;&lt;br /&gt;For the time being, however, I&#039;m content with Serendipity.  The community remains strong, there&#039;s a new release on the horizon, and, most important, it just works.&lt;br /&gt;&lt;br /&gt; 
    </content:encoded>

    <pubDate>Thu, 23 Jun 2011 12:00:00 -0400</pubDate>
    <guid isPermaLink="false">http://blog.godshell.com/blog/archives/294-guid.html</guid>
    <category>blogging</category>
<category>serendipity</category>
<category>technology</category>

</item>

</channel>
</rss>
