<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Servusamanu.com &#187; Technology</title>
	<atom:link href="http://www.servusamanu.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.servusamanu.com</link>
	<description></description>
	<lastBuildDate>Tue, 27 Jul 2010 21:01:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Browser Visualization</title>
		<link>http://www.servusamanu.com/browser-visualization/</link>
		<comments>http://www.servusamanu.com/browser-visualization/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 12:00:43 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Browser Usage]]></category>
		<category><![CDATA[Opera 10]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=1005</guid>
		<description><![CDATA[Every time I go to Servusamanu to tweak something it gets logged like any other visit. Since I&#8217;m a unrepetent Opera user, my usage statistics get skewed. It turns out that most websites don&#8217;t get 80% Opera usage, which is a damn shame since it&#8217;s a great browser. What&#8217;s more interesting is the Netscape values. [...]]]></description>
			<content:encoded><![CDATA[<p>Every time I go to Servusamanu to tweak something it gets logged like any other visit.  Since I&#8217;m a unrepetent Opera user, my usage statistics get skewed. It turns out that <a href="http://www.michaelvandaniker.com/labs/browserVisualization/">most websites don&#8217;t get 80% Opera usage</a>, which is a damn shame since it&#8217;s a great browser.</p>
<p>What&#8217;s more interesting is the Netscape values.  The browser wars between Netscape and IE defined early internet age.  We&#8217;re still dealing with all the random code tweaks that got put in to one up the other browser now, and as the graph shows, Netscape hasn&#8217;t had more than 10% market share in the last decade.  Opera actually has more market share than netscape, and yet I can hardly see Opera propelling large waves of development in the big browsers.  Oh how times have changed.</p>
<p>As a web developer, browsers only make life more difficult, each requires its own special handling.  The sooner we can bump IE6 off the list, the sooner we&#8217;ll finally be able to write standards compliant code without the page becoming completely demolished.  I look forward to double checking the graph in a few years.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/browser-visualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer Engineer Barbie</title>
		<link>http://www.servusamanu.com/computer-engineer-barbie/</link>
		<comments>http://www.servusamanu.com/computer-engineer-barbie/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 12:00:17 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Computer Engineer Barbie]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=1043</guid>
		<description><![CDATA[This is a special kind of horrifying.  I can&#8217;t wait for network engineer barbie, complete with an ethernet cable necklace and blade server accessory&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://gigaom.files.wordpress.com/2010/02/barbie_computer_engineer1.jpg">This is a special kind of horrifying</a>.  I can&#8217;t wait for network engineer barbie, complete with an ethernet cable necklace and blade server accessory&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/computer-engineer-barbie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.8 Widget/Plugin Design</title>
		<link>http://www.servusamanu.com/wordpress-widgetplugin-development-in-2-8/</link>
		<comments>http://www.servusamanu.com/wordpress-widgetplugin-development-in-2-8/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 12:00:44 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[How to design a wordpress plugin]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Wordpress 2.8]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=991</guid>
		<description><![CDATA[I&#8217;ve made my first handful of widget plugins using wordpress.  The first one took me a little over an hour.  The others went by after about twenty minutes.  Once you get the hang of the first one the pattern sets in and the process gets pretty easy.  That isn&#8217;t to say that there aren&#8217;t some [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made my first handful of widget plugins using wordpress.  The first one took me a little over an hour.  The others went by after about twenty minutes.  Once you get the hang of the first one the pattern sets in and the process gets pretty easy.  That isn&#8217;t to say that there aren&#8217;t some amazingly complex plugins, but the general develop is simple enough to justify using plugins for much smaller tasks.</p>
<p>In my situation, I&#8217;m supporting thirty odd websites that all use similar layouts, but they all have a different look and feel.  The individual site owners customarily have a strong say it what goes on their site and how it is to be displayed.  Because these sites are all separate and distinct and may need to be developed independently, I&#8217;ve chosen not to unify them as pages of a larger site.  Instead, each site is a separate wordpress.  At current, each site uses the same wordpress theme (developed by me), but that may change.</p>
<p>In this situation, widgets have been invaluable.  They let the individual site owners customize their website but moving the widgets up and down or adding/removing them entirely.  While this arrangement has been amazingly beneficial a few problems have arisen with some of the standard content items between pages.  Every site, for example, has a link to a search tool that exists on a different site.  The obvious solution is to create a text widget, drop the search html code in, and call it a day.  This works&#8230;but it requires the site owners, (non-technical) to drop this code in and not drop anything else that might cause problems&#8230;that itself is a problem.</p>
<p>I knew early on that an adequate solution would be to &#8220;templatize&#8221; these common widgets.  For example, I created the search widget with the proper html already included.  I&#8217;ve dropped this template into each of the site directories and activated them, so all the directors have to do is move the widget around as necessary.  I&#8217;ve done something similar with an &#8216;hours of operation&#8217; widget, except I&#8217;ve given the owners a web form where they can input their actual hours.  The public facing formatting is taken care of by the widget itself and the theme specific stylesheets.</p>
<p>Overall, I was pleasantly surprised to find out that widget development is simple enough that using it as a solution to easy but non-trivial issues is worth the time and effort.</p>
<p>As an example, I&#8217;ll break down my hours of operation code:</p>
<pre>&lt;?php
/*
Plugin Name: Library Hours
Description: Widget with Control Panel
Author: Robert Drake
Version: 1.0
Date: 1/21/2010
Author URI: RobertDrake.net
*/</pre>
<p>This is just a stock comment block to describe the code below, but the name and description are used in wordpress&#8217; backend plugin management so make them useful.</p>
<p>class MHLS_LibraryHours_Widget extends WP_Widget {</p>
<p>By surrounding the rest of the code in this wrapped you take advantage of a whole bunch of code built into wordpress 2.8 that does a lot of the widget stuff for you.  Older guides tend to include this code and the systems are backwards compatible (but not forward, meaning my code wont work prior to 2.8).</p>
<pre>
function MHLS_LibraryHours_Widget() {
$widget_ops = array('classname' =&gt; 'widget_mhls_libraryhours', 'description' =&gt; 'Library Hours' );
$this-&gt;WP_Widget('mhls_librarywidget', 'MHLS_Library_Hours', $widget_ops);
}</pre>
<p>This block is honestly pretty confusing and as far as I can tell most of the names dont really matter all that much as long as you match the function name with the init at the end.  Otherwise you specify a few look and feel type of things in the widget control panel and setup what prefix will go with your variables.  Luckily, all that stuff is handled for you.</p>
<pre>
function widget($args, $instance) {
extract($args, EXTR_SKIP);
echo $before_widget;
$title = empty($instance['title']) ? '&amp;nbsp;' : apply_filters('widget_title', $instance['title']);
$monday = empty($instance['monday']) ? '&amp;nbsp;' : apply_filters('widget_monday', $instance['monday']);
$tuesday = empty($instance['tuesday']) ? '&amp;nbsp;' : apply_filters('widget_tuesday', $instance['tuesday']);
$wednesday = empty($instance['wednesday']) ? '&amp;nbsp;' : apply_filters('widget_wednesday', $instance['wednesday']);
$thursday = empty($instance['thursday']) ? '&amp;nbsp;' : apply_filters('widget_thursday', $instance['thursday']);
$friday = empty($instance['friday']) ? '&amp;nbsp;' : apply_filters('widget_friday', $instance['friday']);
$saturday = empty($instance['saturday']) ? '&amp;nbsp;' : apply_filters('widget_saturday', $instance['saturday']);
$sunday = empty($instance['sunday']) ? '&amp;nbsp;' : apply_filters('widget_sunday', $instance['sunday']);
echo $before_title . $title . $after_title;
echo '&lt;div id="libraryhourswidget"&gt;';
echo 'Monday: &lt;span&gt;' . $monday . '&lt;/span&gt;&lt;br&gt;';
echo 'Tuesday: &lt;span&gt;' . $tuesday . '&lt;/span&gt;&lt;br&gt;';
echo 'Wednesday: &lt;span&gt;' . $wednesday . '&lt;/span&gt;&lt;br&gt;';
echo 'Thursday: &lt;span&gt;' . $thursday . '&lt;/span&gt;&lt;br&gt;';
echo 'Friday: &lt;span&gt;' . $friday . '&lt;/span&gt;&lt;br&gt;';
echo 'Saturday: &lt;span&gt;' . $saturday . '&lt;/span&gt;&lt;br&gt;';
echo 'Sunday: &lt;span&gt;' . $sunday . '&lt;/span&gt;&lt;br&gt;';
echo '&lt;/div&gt;';
echo $after_widget;
}
</pre>
<p>This is really the meat of the plugin.  Extract takes the data (which is set elsewhere), assigns it to variables, and displays in straight html/css.  This is what will ultimately be output to the screen so whatever you want to see needs to go here.  Throughout the code you&#8217;ll notice a $instance being used frequently.  Basically, when the variable names you use aren&#8217;t the full variable name.  When I work with the variable monday, I&#8217;m actually working with the variable &#8216;widget_mhls_libraryhours 3 monday&#8217;  The first part of the name is specific to the widget name, and the second part is specific to the widget instance.  In order to have multiple copies of the same widget you need to use the instance name to separate one copy from another.</p>
<p>The rest of that function is fairly boring.  The $monday = part uses the tertiary operator in php to assign the variable to a non breaking space if there is no data in the variable.  In another plugin, I had it assign a 0 so I could test for false later and restrict my output.  Otherwise the filters are just sanitizing the user inputs for anything that looks like code.</p>
<pre>
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['monday'] = strip_tags($new_instance['monday']);
$instance['tuesday'] = strip_tags($new_instance['tuesday']);
$instance['wednesday'] = strip_tags($new_instance['wednesday']);
$instance['thursday'] = strip_tags($new_instance['thursday']);
$instance['friday'] = strip_tags($new_instance['friday']);
$instance['saturday'] = strip_tags($new_instance['saturday']);
$instance['sunday'] = strip_tags($new_instance['sunday']);
return $instance;
}
</pre>
<p>Easy function.  When the user changes the data in the form fields this function updates the variables with the new values.  That&#8217;s it.  Cake!</p>
<pre>
function form($instance) {
$instance = wp_parse_args( (array) $instance, array( 'title' =&gt; '', 'entry_title' =&gt; '', 'comments_title' =&gt; '' ) );
$title = strip_tags($instance['title']);
$monday = strip_tags($instance['monday']);
$tuesday = strip_tags($instance['tuesday']);
$wednesday = strip_tags($instance['wednesday']);
$thursday = strip_tags($instance['thursday']);
$friday = strip_tags($instance['friday']);
$saturday = strip_tags($instance['saturday']);
$sunday = strip_tags($instance['sunday']);
?&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;"&gt;Title: &lt;input id="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('title'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($title); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('monday'); ?&gt;"&gt;Monday: &lt;input id="&lt;?php echo $this-&gt;get_field_id('monday'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('monday'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($monday); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('tuesday'); ?&gt;"&gt;Tuesday: &lt;input id="&lt;?php echo $this-&gt;get_field_id('tuesday'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('tuesday'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($tuesday); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('wednesday'); ?&gt;"&gt;Wednesday: &lt;input id="&lt;?php echo $this-&gt;get_field_id('wednesday'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('wednesday'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($wednesday); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('thursday'); ?&gt;"&gt;Thursday: &lt;input id="&lt;?php echo $this-&gt;get_field_id('thursday'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('thursday'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($thursday); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('friday'); ?&gt;"&gt;Friday: &lt;input id="&lt;?php echo $this-&gt;get_field_id('friday'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('friday'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($friday); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('saturday'); ?&gt;"&gt;Saturday: &lt;input id="&lt;?php echo $this-&gt;get_field_id('saturday'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('saturday'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($saturday); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('sunday'); ?&gt;"&gt;Sunday: &lt;input id="&lt;?php echo $this-&gt;get_field_id('sunday'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('sunday'); ?&gt;" type="text" value="&lt;?php echo attribute_escape($sunday); ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;?php
}
}
</pre>
<p>This function (and I&#8217;ve included the closing bracket of the starting class) looks kind of obnoxious but its really just setting up the user form in the backend.  The top half sets the variables and the second half sets a form.  You may be wondering why there is no &lt;form&gt; in there.  WordPress actually takes care of that stuff so no worries.  It&#8217;ll drop your code into its own form and use the standard formatting of the admin panel so everything looks uniform.</p>
<pre>
add_action( 'widgets_init', create_function('', 'return register_widget("MHLS_LibraryHours_Widget");') );
</pre>
<p>This is the last line.  It&#8217;s used when activating the plugin and registers everything in the appropriate places for wordpress to work with.  Simple plugin.  Simple code.</p>
<p>That&#8217;s it.  I&#8217;m looking forward to coding up some more and more interesting plugins.  I&#8217;ve already got a few ideas in mind for things that would help me.  I&#8217;ll try to post things periodically as they become interesting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/wordpress-widgetplugin-development-in-2-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Privacy Law and Cloud Computer</title>
		<link>http://www.servusamanu.com/privacy-law-and-cloud-computer/</link>
		<comments>http://www.servusamanu.com/privacy-law-and-cloud-computer/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 12:00:14 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cloud Computering]]></category>
		<category><![CDATA[Privacy Law]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=981</guid>
		<description><![CDATA[First, an article on the Fourth Amendment. As a network administrator for a library system and a technical advisor for a cloud computer company, I have a certain vague relationship with electronic law.  More often, technical necessity and security best practices determine how things should be done, but beyond all this there are legal requirements [...]]]></description>
			<content:encoded><![CDATA[<p>First, an article on the <a href="http://news.cnet.com/8301-19413_3-10436425-240.html">Fourth Amendment</a>.</p>
<p>As a network administrator for a library system and a technical advisor for a cloud computer company, I have a certain vague relationship with electronic law.  More often, technical necessity and security best practices determine how things should be done, but beyond all this there are legal requirements that do have to be met and further legal protections that should be protected.</p>
<p>The key paragraph in that link is:</p>
<p><em>In order for enough trust to be built into the online cloud economy, however, governments should endeavor to build a legal framework that respects corporate and individual privacy, and overall data security. While national security is important, governments must be careful not to create an atmosphere in which the customers and vendors of the cloud distrust their ability to securely conduct business within the jurisdiction, either directly or indirectly. </em></p>
<p>Laws must be appraised on a few points.  Most importantly, how and why does a law infringe upon the rights of its citizens.  Do the law&#8217;s protections provide an adequate compensation for the freedoms infringed?   Finally, does the law provide a mechanism of recourse for those parties that have been affected.</p>
<p>As I see it, any law regarding cloud computing needs to make data within the cloud fundamentally private, or private by default with a handful of acceptable cases for disclosure.  First, any non-intentional, non-targeted access by network administrators need to fall under a sort of &#8216;technician&#8217;s freedom&#8217;.   If an account is having problems and a technician logs in to figure out the problem and happens to see some emails, this should not count as a privacy breach, assuming that this was a reasonable response to the problem and that reasonable precautions were taken to prevent that sort of disclosure.  As usual, any sort of warrent of subpoena should be honored, but the standards of access need to be held high otherwise the integrity of the cloud are lost.</p>
<p>The idea that data must be encrypted to be considered secure seems faulty.  Certainly data that is put up for public or open access is not &#8216;protected&#8217;.  An open facebook page has no assumption of privacy, but an uploaded google doc does and should, regardless of encryption.  Forcing encryption might be good technically (and probably is), but it does not serve any particular useful legal standard.  Rather, saying that only encrypted documents are private within the cloud, suggests that the cloud, regardless of any user access that a customer would logically or contractual expect, has no protections whatsoever.  A different analogy than the &#8216;locked briefcase&#8217; should be considered.</p>
<p>&#8216;I smelled something&#8217; type police work should not be encouraged on the internet.  Crime inevitably leaves a trial, usually a financial trail, and that&#8217;s where police work needs to start and end whether it be common fraud or the terrorism that will inevitable be used to justify some overarching data-mining operation that won&#8217;t actually help anyone.  Any terrorist dumb enough to put any easily found keywords in his online documentation probably would have gotten caught anyone, and anyone more clever than that is going to be lost within the the billions of terabytes of data online.  That&#8217;s another argument altogether, but as far as fledging cloud computer is concerned, some decent privacy laws are an absolute requirement both to reassure the customer and to bind the providers into a respect for privacy and security that, thus far, has been noticeably lax, as the frequent data breaches suggest.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/privacy-law-and-cloud-computer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Rescue CD</title>
		<link>http://www.servusamanu.com/system-rescue-cd/</link>
		<comments>http://www.servusamanu.com/system-rescue-cd/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 12:00:23 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[System Rescue CD]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=891</guid>
		<description><![CDATA[System Rescue CD Link to a program I use to recover files off of hard drives with &#8216;issues&#8217;.  The directions are sufficient for a techy and hopelessly muddled for anyone else, but I&#8217;m not sure I could do any better.  Use at your own discretion.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sysresccd.org/Main_Page">System Rescue CD</a></p>
<p><a href="http://www.sysresccd.org/Main_Page"></a>Link to a program I use to recover files off of hard drives with &#8216;issues&#8217;.  The directions are sufficient for a techy and hopelessly muddled for anyone else, but I&#8217;m not sure I could do any better.  Use at your own discretion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/system-rescue-cd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracing a Bit</title>
		<link>http://www.servusamanu.com/tracing-a-bit/</link>
		<comments>http://www.servusamanu.com/tracing-a-bit/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 12:00:18 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Internet Infrastructure]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=897</guid>
		<description><![CDATA[What is the INTERNET?  It&#8217;s not as obvious as it might seem (as former Senator Ted Steven&#8217;s attempt to describe it attests).  Flying from website to website, it&#8217;s easy to forget that there is a physical component to the Internet. Wired published this article about two months ago.  (For the record I type my articles [...]]]></description>
			<content:encoded><![CDATA[<p>What is the INTERNET?  It&#8217;s not as obvious as it might seem (as former Senator Ted Steven&#8217;s attempt to describe it attests).  Flying from website to website, it&#8217;s easy to forget that there is a physical component to the Internet.</p>
<p>W<a href="http://www.wired.com/magazine/ff_internetplaces/3/">ired published this article about two months ago</a>.  (For the record I type my articles up very much in advance and schedule them to appear.  I&#8217;m ahead of schedule, which is why my articles are always referencing old news.)  Sadly, there are only a few images, but it gives a brief cross-section of the infrastructure behind our virtual existence.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/tracing-a-bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Login Screen</title>
		<link>http://www.servusamanu.com/windows-7-login-screen/</link>
		<comments>http://www.servusamanu.com/windows-7-login-screen/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 12:00:27 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows 7 Require Username Windows 7 Username Login]]></category>
		<category><![CDATA[Windows 7 Secure Login]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=913</guid>
		<description><![CDATA[Another Windows 7 Saga, but much more trivial. The Windows 7 machines I work with are not on a domain and never will be.  Given the distinct lack of file sharing that we want to encourage, we prefer they don&#8217;t even share a workgroup. By default it appears that Windows 7 like to put up [...]]]></description>
			<content:encoded><![CDATA[<p>Another Windows 7 Saga, but much more trivial.</p>
<p>The Windows 7 machines I work with are not on a domain and never will be.  Given the distinct lack of file sharing that we want to encourage, we prefer they don&#8217;t even share a workgroup.</p>
<p>By default it appears that Windows 7 like to put up a welcome login screen with icons of each valid user account.  From a security standpoint I really don&#8217;t want all of the user accounts listed.  I really don&#8217;t want some moderately clever user logging out of their public of staff account and seeing the various administrative accounts we put on there.  They&#8217;d still have to guess the passwords, but I&#8217;d rather keep them as many steps away as possible.</p>
<p>Disabling the login icons in this Windows release was a bit harder than usual.</p>
<p>Part 1:   in the run menu type &#8216;control userpasswords2&#8242;.   Go to the advanced tab.  Set Ctrl-Alt-Dlt secure login.  This used to be enough..</p>
<p>Part 2: in the run menu type &#8216;secpol.msc&#8217; From here you need to find the interactive policies, which are located under Local Policies-&gt;Security Options.   Change the Ctrl-Alt-Dlt login policy.</p>
<p>Note: these only work on the professional or higher versions of windows 7.</p>
<p>Secondary Rant:  Why is Printers now Devices and Printers?  Who is looking for Printers under D?  How did this not come up?  What name-guru thought that was a good idea?  Also, why can&#8217;t I have a flat list of control panel items instead of the three column debauchery that it spits at me?  Why!</p>
<p>Tertiary Rant: I&#8217;ve been a Windows defender and apologist for a while and Windows 7 has a lot of things that I like, but on the small stuff&#8230;they just suck.  The loss of the &#8216;up&#8217; key from WIndows XP navigation to Vista was when I decided to start counting all of small and unnecessary nubbishness coming out of Redmond&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/windows-7-login-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Steady State: A Saga</title>
		<link>http://www.servusamanu.com/windows-7-steady-state-a-saga/</link>
		<comments>http://www.servusamanu.com/windows-7-steady-state-a-saga/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 12:00:51 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Library Kiosk]]></category>
		<category><![CDATA[Remastersys]]></category>
		<category><![CDATA[Steady State]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows 7 in Libraries]]></category>
		<category><![CDATA[Windows 7 Kiosk]]></category>
		<category><![CDATA[Windows 7 Public Machine]]></category>
		<category><![CDATA[Windows 7 Steady State]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=906</guid>
		<description><![CDATA[[Updated December 6th, 2009] I am responsible (in varying capacities) for approximately 700 or so public machines within a system of libraries.  The majority of these machines are public access consoles used primarily for web access.  Because these machines are a) used by a large number of users, b) directly overseen by non-technical staff, and [...]]]></description>
			<content:encoded><![CDATA[<p>[Updated December 6th, 2009]</p>
<p>I am responsible (in varying capacities) for approximately 700 or so public machines within a system of libraries.  The majority of these machines are public access consoles used primarily for web access.  Because these machines are a) used by a large number of users, b) directly overseen by non-technical staff, and c) updated and serviced infrequently, we rely on a variety of security measures to keep them running smoothly.  For the last few years we have used Steady State to prevent public users from making any permanent changes to the system.</p>
<p>And the Windows 7 came along.</p>
<p>In my particular setup, my organization is not responsible for purchasing machines; we only maintain them.  As such, many of the libraries have chosen to move to Windows 7 and the burden has fallen on myself and my staff to maintain them however.  Sadly, Windows Steady State does not appear to be a viable solution for Windows 7 at this time.</p>
<p>I created this post in case anyone else searches Windows 7 Steady State, Windows 7 Kiosk, or anything similar to that.  Hopefully I can save everyone some time.  Here&#8217;s what I&#8217;ve learned so far&#8230;</p>
<p>During the beta and release candidate versions of Windows 7 there was a feature called PC Safeguard.  This feature included most of the functionality that can currently be found within Windows Steady State 2.5, however it was removed in a later release.</p>
<p>The follow up functionality was named Guest Mode (not to be confused with the guest account) and it also performed roughly the same functionality as Steady State.  As you may have surmised this was also removed prior to the retail release of Windows 7.  (<a href="http://www.winsupersite.com/win7/ff_pcsafeguard.asp">Some history on Guest Mode</a>)</p>
<p>As for Steady State 2.5, it does not work with Windows 7.  Further, there seems to be some indication that Steady State will&#8212;never&#8212;with with Windows 7.  (<a href="http://social.technet.microsoft.com/Forums/en/w7itprosecurity/thread/0110d93c-eea5-4da9-9eea-d97ff88bff0e">Source</a>)</p>
<p>Alternate solutions:</p>
<p>A.  I&#8217;m personally pushing Linux.  My users need web access, office functionality, and the ability to listen to music.  Creating a base locked down kiosk version of Ubuntu should be trivial.  (Possibly using<a href="http://www.geekconnection.org/remastersys/remastersystool.html"> Remastersys</a>)</p>
<p>B. Continue to use XP machines.  Currently XP support will be discontinued <a href="http://support.microsoft.com/lifecycle/?LN=en-gb&amp;C2=1173">April, 8th, 2014</a>, which is plenty far away, but XP is almost a decade old.  Alternately, Steasy State works with Vista.  My experiences with Vista have been decent overall, but there seems to be no support within my neck of the woods for Vista usage.</p>
<p>C. <a href="http://www.faronics.com/html/deepfreeze.asp">Use Deep Freeze</a>.  This works similar to Steady State, but it costs money that simply doesn&#8217;t exist for my libraries.  It is a non-option for me, but it does support Windows 7.</p>
<p>D. Cobble together something for Windows 7.  It&#8217;s time-consuming and tedious, but I&#8217;ve been cobbling together local group policies that lock down the non-administrator accounts.</p>
<p>Item D Explored: I&#8217;ll expand this section as I learn things.</p>
<p>1#: <a href="http://www.biztechmagazine.com/article.asp?item_id=300">a great article on how to do this stuff</a>.   It&#8217;s for Vista, but it&#8217;s worked for me with Windows 7.</p>
<p>2#: It doesn&#8217;t appear there&#8217;s any local policy to create the equivalent to Disk Protection.</p>
<p>3#: I can <a href="http://www.sevenforums.com/tutorials/7493-guest-account-change-name.html">rename the Guest Account</a> and potentially use that.  Still a very lame way of doing this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/windows-7-steady-state-a-saga/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin</title>
		<link>http://www.servusamanu.com/wordpress-plugin/</link>
		<comments>http://www.servusamanu.com/wordpress-plugin/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 12:00:15 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Design]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=888</guid>
		<description><![CDATA[I started following WordPress on twitter.  They occasionally toss up some great links, mostly to recent wordcamp presentations.  Here is a video on plugin development.  It&#8221;s a great primer for how to start creating custom wordpress plugins.  To skip past the video part and get to his list of internet resources you might enjoy this [...]]]></description>
			<content:encoded><![CDATA[<p>I started following <a href="http://twitter.com/wordpress">WordPress on twitter</a>.  They occasionally toss up some great links, mostly to recent wordcamp presentations.  Here is a video on <a href="http://wordpress.tv/2009/09/20/john-hawkins-plugin-building-portland09/">plugin development</a>.  It&#8221;s a great primer for how to start creating custom wordpress plugins.  To skip past the video part and get to his list of internet resources you might enjoy <a href="http://johnhawkinsunrated.com/wordcamp-september-2009">this link</a>.</p>
<p>I am loosely planning on a Servusamanu revision sometime next year, but I don&#8217;t really see any new plugins getting made there.  I am involved in some freelance web design (one of my thousand projects) so if anything fun happens there I&#8217;ll make sure to repost it here.</p>
<p>While I&#8217;m talking about it, the Servusamanu redesign is part of a larger project to collect my various projects under a single house.  Servusamanu has remained a distinct entity throughout its existence, but I&#8217;m trying to tidy up and centralize my &#8216;web presence&#8217; for lack of a better term.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Libraries and Linux</title>
		<link>http://www.servusamanu.com/libraries-and-linux/</link>
		<comments>http://www.servusamanu.com/libraries-and-linux/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 12:00:53 +0000</pubDate>
		<dc:creator>Robert Drake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux and Libraries]]></category>
		<category><![CDATA[Linux OPAC]]></category>
		<category><![CDATA[OPAC]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">http://www.servusamanu.com/?p=821</guid>
		<description><![CDATA[I&#8217;m linking to a month old review of 9.10 from when it came out to use as a starting point.  Ubuntu has became one of a handful of key names within the Linux Community.  As a desktop Linux distribution it is in my opinion and that of many others, by far the most mature.  Fedora [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m linking to a month old <a href="http://lunduke.com/?p=815">review of 9.10</a> from when it came out to use as a starting point.  Ubuntu has became one of a handful of key names within the Linux Community.  As a desktop Linux distribution it is in my opinion and that of many others, by far the most mature.  Fedora is maybe a close second and I still rely on Centos (a variation of Red Hat Enterprise Linux) for my servers, but Ubuntu has really ran out ahead of the pack for home use.</p>
<p>Normally, this would just be my opinion on Linux, which doesn&#8217;t necessarily stand for all that much.  I&#8217;m an infrequent Linux home user, who is not at all involved in development.  I&#8217;m an amateur blogger, with a nonexistent audience and no standing track record of popularizing products of technology.  In this case, however I have a unique angle in the Linux debate.</p>
<p>Without going into too many specifics, I manage indirectly the computers within almost seventy separate libraries.  I am in a position to directly install Linux operating systems in some cases and to recommend them in many others.  I may not have any grand audience or any huge commanding sway over the populace, but I am in a position where I can familiarize the general public with Linux.</p>
<p>For years and years, the cries have been &#8216;Linux has come.  It&#8217;s ready.&#8221;  It&#8217;s never been true, not really.  Even now it&#8217;s only questionably true.  Sure, Linux can do everything Windows does and often a little bit better, but that&#8217;s not enough to upset a market and, more importantly, the status quo.  No, Linux has to be above and beyond.  It&#8217;s still not there.</p>
<p>However, speaking as a network administrator, it&#8217;s close enough.  I fully intend to begin phasing Linux machines into the library system.  We already use freebsd and ipcop firewall boxes in many cases, but I intend to put a few <a href="http://en.wikipedia.org/wiki/OPAC">OPAC</a> linux machines out there this year.  OPAC machines are barely more than dumb terminals.  They&#8217;re computers that log directly into firefox and go straight to our OPAC website.  No other functionality is necessary.  It is hardly a cutting edge use of Linux development, but it is a good first step in familiarizing the library staff and eventually the public at large.</p>
<p>It is a side note and beyond the discussion I want to have here today, but what happens once Linux wins?  Just like any improved ideology that eventually triumphs (albeit only slowly and at great cost), Linux will have to come to terms with its success.  What will that world look like?  How hard will companies and governments fight to restrict the various freedoms currently associated with the Linux community?  Once proprietary development turns towards Linux, where will that leave the market?  The pessimist in me suspects that much of the community will come to regret their own success.  There are always consequences to these sorts of things and as long as Linux is a &#8220;hobby&#8221; development is largely unmolested by the innate stupidity of the market.  Then again, maybe I&#8217;ll be surprised.</p>
<p>At the moment, it&#8217;s a non issue.  Linux is the underdog, but I&#8217;ll be doing my part.  I have a personal goal to push through 10% Linux saturation throughout the libraries within two years.  It&#8217;s an ambitious goal only in that it requires the library staff (in my experience, notoriously close-minded towards technology) to embrace it in any measure.  I&#8217;ll be discussing this further as my work comes to fruition.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.servusamanu.com/libraries-and-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
