<?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>Robert Hurst &#187; Linux</title>
	<atom:link href="http://robert.hurst-ri.us/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://robert.hurst-ri.us</link>
	<description>The life &#38; times of an information systems engineer</description>
	<lastBuildDate>Mon, 16 Jan 2012 19:34:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Intel Atom D525</title>
		<link>http://robert.hurst-ri.us/2011/12/29/intel-atom-d525/</link>
		<comments>http://robert.hurst-ri.us/2011/12/29/intel-atom-d525/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 20:04:57 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=1214</guid>
		<description><![CDATA[I purchased this boxed motherboard with processor from Newegg and it arrived yesterday for me to tinker with for the coming winter nights. I want a dedicated machine with no fan noise to make use for my retroarcade/computer/console gaming endeavors. It will motivate me to create a new emulator frontend using the latest in 3D [...]]]></description>
			<content:encoded><![CDATA[<p>I purchased this <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813121442" target="_blank">boxed motherboard with processor</a> from Newegg and it arrived yesterday for me to tinker with for the coming winter nights.  I want a dedicated machine with no fan noise to make use for my retroarcade/computer/console gaming endeavors.  It will motivate me to create a new emulator frontend using the latest in 3D / HD software features.  The small form factor allows me to lug it easily from room-to-room and place-to-place.</p>
<p>After installing Fedora 16 on it, I was a little disappointed in how its video worked with my <a href="http://robert.hurst-ri.us/2011/06/10/hp-lp2475w/" target="_blank">HP 25&#8243;</a> display.  It was kind of slow and I noticed the mouse could move off the left edge near the top.  Huh?  There is only one video output from this motherboard, but it was acting like there were dual displays.  A quick review of xrandr revealed an output <strong>LVDS1</strong> which is for a laptop panel and does not exist of course.</p>
<p>So that led me to review the i915 kernel module parameters using modinfo.  It suggested to me I could instruct the module to ignore the laptop panel display and also enforce modesetting on the VGA port only.  I attempted this by editing /etc/grub2.cfg and appending these two kernel options:</p>
<p><code>i915.modeset=-1 i915.panel_ignore_lid=-1</code></p>
<p>After a re-boot, I was instantly gratified by the super-fast boot (5-seconds for Linux and another 10-seconds for automatic login to GnomeShell to complete).  For $69, the speed and versatility of this motherboard/CPU is outstanding.  I will have to contemplate ordering more, heh.</p>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2011/12/29/intel-atom-d525/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux Hack &amp; Slash client</title>
		<link>http://robert.hurst-ri.us/2011/10/29/linux-hack-slash-client/</link>
		<comments>http://robert.hurst-ri.us/2011/10/29/linux-hack-slash-client/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 17:45:25 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Pastime]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=1173</guid>
		<description><![CDATA[In the last millennium, I developed a custom Hack &#38; Slash gaming client for Windows &#8217;98, because I wanted to embed both music and sound effects to enhance online play.  The result was a big hit among its players.  But as a Linux user, I could not get that cool feature&#8230; that is, until today. [...]]]></description>
			<content:encoded><![CDATA[<p>In the last millennium, I developed a custom <a title="Role-playing game daemon" href="http://robert.hurst-ri.us/games/rpgd" target="_blank">Hack &amp; Slash</a> gaming client for Windows &#8217;98, because I wanted to embed both music and sound effects to enhance online play.  The result was a big hit among its players.  But as a Linux user, I could not get that cool feature&#8230; that is, until today.</p>
<p>The result is this Tcl/Expect script (listed below).  First, you will need to make certain you have these dependent packages installed:</p>
<pre>yum install expect fluid-soundfont-lite-patches timidity++</pre>
<p>Next, you will need to fetch the multimedia files into your home directory:</p>
<pre>svn co https://robert.hurst-ri.us/svn/rpgd/trunk/snd Music/hack</pre>
<p>Then, setup your telnet session attributes in <strong>.telnetrc</strong> to automatically load when you connect:</p>
<pre>robert.hurst-ri.us
    mode character
    set crlf off
    unset escape</pre>
<p>And last, simply copy/paste the script below into an executable text file of your choice and run it.</p>
<pre>#!/usr/bin/expect -f

# play a MIDI file
proc midi s {
  set mid [string range $s 3 end-3]
  set bool [string range $s end-1 end-1]
  set cmd "killall playmus 2&gt; /dev/null; playmus -v 25 Music/hack/$mid.mid &amp;&gt; /dev/null &amp;"
  system $cmd
}

# play a WAVE file
proc wave s {
  set wav [string range $s 3 end-3]
  set bool [string range $s end-1 end-1]
  set cmd "play Music/hack/$wav.wav &amp;&gt; /dev/null"
  if {$bool == 0} { set cmd "$cmd &amp;" }
  system $cmd
}

# connect to the game server ...
log_user 0
spawn telnet robert.hurst-ri.us 7000
wave "...dungeon;0."

expect_background {
  -re "\033\\\[\\\{.*\\\}" { midi $expect_out(0,string); return }
  -re "\033\\\[\\\[.*\\\]" { wave $expect_out(0,string); return }
  -re "(.*)" { send_user -- $expect_out(0,string); }
}

interact</pre>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2011/10/29/linux-hack-slash-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 15</title>
		<link>http://robert.hurst-ri.us/2011/05/29/fedora-15/</link>
		<comments>http://robert.hurst-ri.us/2011/05/29/fedora-15/#comments</comments>
		<pubDate>Sun, 29 May 2011 15:31:04 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=979</guid>
		<description><![CDATA[Kudos to the Red Hat Fedora team for this new release.  A slew of new things to learn and control.  I already used its preupgrade utility to easily apply it to this KVM guest running my Internet services in web site, email, et al, with only a little bit of work associated with some service [...]]]></description>
			<content:encoded><![CDATA[<p>Kudos to the <strong>Red Hat Fedora</strong> team for this new release.  A slew of new things to learn and control.  I already used its <strong>preupgrade</strong> utility to easily apply it to this KVM guest running my Internet services in web site, email, et al, with only a little bit of work associated with some service configuration files (easily identified as *.rpmnew) that required some manual updating to work to my tastes.  I have completed a clean install over Fedora 14 on my workstation that hosts this KVM guest, and all is doing well so far as stability and performance.</p>
<p>The most obvious change, of course, is the introduction to <strong>Gnome 3.0 with Gnome-Shell</strong>.  Wow, has it come a long way in usability from my <a title="GnomeShell preview" href="http://robert.hurst-ri.us/2010/06/11/gnomeshell-preview/" target="_blank">preview</a> of it about a year ago.  After an hour of self-discovery of this shiny new user interface to the Gnome window manager, I am pleased to say I have adapted to it quite readily &#8212; and that&#8217;s a good indicator.</p>
<p>The UI is intuitive enough to me.  I like the ease of managing its favorites menu and I especially like the window management with the dynamic workspaces to the right.  I do miss some of Compiz features, such as wheel zoom and mouse selecting any area to snapshot to a graphic image, but I am confident such niceties will arrive eventually.  It is a must to install <strong>gnome-tweak-tool</strong>, simply to increase the font rendering scale and use preferred fonts &#8212; as nice as the default liberation fonts look, I have grown accustomed to my preferred combo of Arial, Lucida Console, and Trebuchet.</p>
<p><strong>Firefox 4</strong> is also a welcome change.  It starts up faster and it renders faster &#8212; I was starting to warm up to Google Chrome as a replacement, because of Firefox&#8217;s prior performance.  I had to first install an extension NoSquint that manages page zooming to leverage my high definition monitor and accommodate my aging eyes.  Next came the usual suspects from Adobe, except they now offer a 64-bit flash player, which means nspluginwrapper is no longer needed; OpenJDK and IcedTea have proven to be capable enough for my Java-enabled web needs; and mozplugger with mplayer and timidity++ (removing totem-mozplugin of course) allows HTML embedded media to play without fuss.  Finally, CUPS with system-config-printer continue to not disappoint with its auto-detection of our networked HP Color LaserJet 2605dn printer.</p>
<p>As a long-time end user of OpenOffice (I still got my boxed copy of Sun&#8217;s StarOffice), I am happy to see a parallel fork of it as <strong>Liberation Office</strong>.  Remember what happened when XFree86 messed with its licensing and became Xorg?  It is a reminder that open source projects like these in danger of getting strangled by commercial interests can quickly become a non-issue when its development community takes charge over those few that would seek to exploit the masses with their shortsightedness goals.</p>
<p>Ok, enough applications and usability talk &#8212; time to fire up MAME and other classic emulators and do some retrogaming &#8212; woot!</p>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2011/05/29/fedora-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux IPVS</title>
		<link>http://robert.hurst-ri.us/2011/04/30/linux-ipvs/</link>
		<comments>http://robert.hurst-ri.us/2011/04/30/linux-ipvs/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 20:02:56 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=962</guid>
		<description><![CDATA[There are a number of ways to implement Linux IP Virtual Server, one of which from Red Hat Enterprise Linux is to make use of their Cluster Suite packages: ipvsadm and piranha.  We are using most of piranha&#8217;s components to front-end clients into our Oracle Peoplesoft systems running on IBM BladeCenter: its service pulse for [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of ways to implement <a title="project web site" href="http://www.linuxvirtualserver.org/software/ipvs.html" target="_blank">Linux IP Virtual Server</a>, one of which from Red Hat Enterprise Linux is to make use of their Cluster Suite packages: <strong>ipvsadm</strong> and <strong>piranha</strong>.   We are using most of piranha&#8217;s components to front-end clients into our  Oracle Peoplesoft systems running on IBM BladeCenter: its service <strong>pulse</strong> for heartbeat fail-over and <strong>lvsd</strong> as the IPVS director which spawns <strong>nanny</strong> processes for service health monitoring; we ignore using piranha&#8217;s  web administration tools, as we manage most of that via text editing of  its <strong>/etc/sysconfig/ha/lvs.cf</strong> and made our own custom utility scripts to wrap the various  ipvsadm calls.</p>
<p>Peoplesoft is setup to do an IPVS <strong>direct routing</strong> method.  That is, client connections connect into the IPVS director  hosting the virtual IP address.  The packet gets redirected by IPVS to a  physical host running one of the Weblogic services.  After the client  requests are processed by Weblogic, the reply packets get sent back  directly to the client machine &#8212; without traversing back through the  IPVS layer.  This is the most lightweight of methods offered by IPVS.</p>
<p>To configure IPVS for direct routing,  all the hosts must be running  on the same VLAN.  And since IPVS in this mode does not do any network  address translation (nat), all of its virtual service port numbers must  match the real service port numbers, i.e.,  https://hrms.somedomain.com:8443 might redirect as  https://blade4.chassis2:8443.</p>
<p>It is important to setup any IPVS  timeout that works with your application needs, i.e., our Peoplesoft  portal pages have an enforced application timeout of 20-minutes, so IPVS  should not drop any idle client connections in advance of that.  Just  modify <strong>/etc/sysconfig/ipvsadm</strong> and add a line like:</p>
<pre>--set <strong>1200</strong> 0 0</pre>
<p>Start the <strong>ipvsadm</strong> service, which merely echos this file to <strong>ipvsadm -R</strong>.   You can always change this value on-the-fly, too, so no worries here.   Then configure <strong>/etc/sysconfig/ha/lvs.cf</strong> to load-balance for two web  services on different hosts:</p>
<pre>serial_no = 12
primary = 10.25.63.62
service = lvs
backup_active = 1
backup = 10.25.63.63
heartbeat = 1
heartbeat_port = 539
keepalive = 3
deadtime = 6
syncdaemon = 1
network = <strong>direct</strong>
debug_level = NONE
monitor_links = 0
virtual hrms8443 {
  active = 1
  address = 10.25.63.64 eth3:0
  vip_nmask = 255.255.255.0
  port = <strong>8443</strong>
  persistent = <strong>1200</strong>
  expect = "200 OK"
  use_regex = 0
  send_program = "/usr/local/sbin/check_hrms_ssl.sh %h 8443"
  load_monitor = none
  scheduler = <strong>wlc</strong>
  protocol = tcp
  timeout = 6
  reentry = 15
  quiesce_server = 0
  server hrwebp01 {
    address = 10.25.63.60
    active = 1
    weight = 1
  }
  server hrwebp02 {
    address = 10.25.63.61
    active = 1
    weight = 1
  }
}
</pre>
<p>Start the <strong>pulse</strong> service and dump the IPVS table:</p>
<pre>$ <strong>sudo ipvsadm -L -n</strong>
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
 -- RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.25.63.64:8443 <strong>wlc persistent 1200</strong>
 -- 10.25.63.60:8443             <strong>Route</strong>   1      0          0
 -- 10.25.63.61:8443             <strong>Route</strong>   1      0          0
</pre>
<p>The last step is to setup each of the real servers running a web  service each to process the redirected TCP packets for the virtual IP  address, i.e., 10.25.63.64.  So, modify their <strong>/etc/sysconfig/iptables</strong> and add the following ruleset:</p>
<pre><strong>*nat</strong>
: PREROUTING ACCEPT [136:11568]
: POSTROUTING ACCEPT [12:1557]
: OUTPUT ACCEPT [12:1557]
<strong>-A PREROUTING -d 10.25.63.64 -p tcp -m tcp --dport 8443 -j REDIRECT</strong>
COMMIT</pre>
<p>Startup  the <strong>iptables</strong> service to enable these rules.  Again, there is no NAT&#8217;ing  going on here, but these rules ALLOW the redirected packets from the  IPVS host to be processed on this host&#8217;s networking stack, just as if it  held the virtual IP itself.</p>
<p>For a number of years we have  enjoyed the high availability successes of IPVS handling this Peoplesoft  architecture.  Thus, we have also implemented  IPVS for our core  clinical information system running <a title="high performance object database" href="http://www.intersystems.com/cache/" target="_blank">InterSystems Caché</a>.  This implementation, however, does  not make any use of piranha and does not use the direct routing method.   The main reason why we chose not to use piranha&#8217;s pulse / lvsd services  is because there is a large mix of stateless (web) and stateful  (telnet, ssh) connections into the applications.  And while the pulse /  lvsd services could be configured to accommodate these requirements,  there are some associated complexities in its configuration, startup,  and fail-over scenarios that were undesirable to its system engineers.</p>
<p>Also, we were planning to run multiple Caché application services per  physical blade, but alas, those services listen on ALL the host&#8217;s  adapters (0.0.0.0) and cannot be configured to listen to assigned  virtual IP addresses, only port numbering.  The thought of running one  instance per <a title="kernel based virtual machine" href="http://www.linux-kvm.org/" target="_blank">KVM virtual guest</a> to circumvent the port conflict was explored, but that introduced an  unsupported RHEL 5 cluster configuration (it may be supported using RHEL  6, so that might be a future consideration) since there are integral,  shared GFS2 clustered filesystems needed for the application, too.</p>
<p>These limiting factors did not hinder us from moving forward with  IPVS.  Instead, we developed our own framework to operate this useful  load-balancer without introducing &#8220;too much&#8221; complexity.  That is, the  service configurations are maintained consistently on all physical hosts  (dev-test-production), making for simpler startup and shutdown  sequences, yet allowing for real-time dynamic changes to any environment  without contending with fixed, running daemon services.</p>
<p>The IPVS host must have NAT enabled, so enable that in <strong>/etc/sysctl.conf</strong> as:</p>
<pre># Controls IP packet forwarding
net.ipv4.ip_forward = <strong>1</strong>
</pre>
<p>The IPVS ruleset can be maintained in <strong>/etc/sysconfig/ipvsadm</strong>, although we have a cluster service (start, stop, status) script that invokes the appropriate ipvsadm commands, like thus:</p>
<pre>start)
  # if either LAN is NOT configured, do nothing but exit normally,
  # because we may be running in some monolithic mode
  if ! alive $VIP ; then
    println "$INSTANCE ($VIP) is not alive"
    exit
  fi
  if ! alive $DIP ; then
    println "$INSTANCE ($DIP) is not alive"
    exit
  fi 

  # ok, setup as an IPVS director
  echo "1" &gt; /proc/sys/net/ipv4/ip_forward
  grep -v '^#' /etc/sysconfig/ipvsadm | $ipvsadm -R
  $ipvsadm -A -t $VIP:22
  $ipvsadm -A -t $VIP:2972 -p
  $ipvsadm -A -t $VIP:9671
  ;;
stop)
  # downtime, teardown an IPVS director
  $ipvsadm -D -t $VIP:22
  $ipvsadm -D -t $VIP:2972
  $ipvsadm -D -t $VIP:9671
  ;;
status)
  # not a running IPVS director, just exit
  [ ! -f /proc/net/ip_vs ] &amp;&amp; exit
...
  ;;
</pre>
<p>The result of this IPVS host looks something like this:</p>
<pre>$ <strong>sudo ipvsadm -L -n</strong>
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
 -- RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.25.63.79:22 <strong>wlc</strong>
 -- 192.168.2.131:22             <strong>Masq </strong>   1      1          0
 -- 192.168.2.132:22             <strong>Masq </strong>   1      0          0
 -- 192.168.2.133:22             <strong>Masq </strong>   1      1          0
 -- 192.168.2.134:22             <strong>Masq </strong>   1      0          0

TCP  10.25.63.79:9671 <strong>wlc</strong>
 -- 192.168.2.131:9671           <strong>Masq </strong>   1      105        0
 -- 192.168.2.132:9671           <strong>Masq </strong>   1      103        0
 -- 192.168.2.133:9671           <strong>Masq </strong>   1      103        0
 -- 192.168.2.134:9671           <strong>Masq </strong>   1      101        0

TCP  10.25.63.79:<strong><span style="color: #0000ff;">2972</span> wlc persistent 360</strong>
 -- 192.168.2.131:<strong><span style="color: #800000;">1981</span>           Masq </strong>   1      10         0
 -- 192.168.2.132:<strong><span style="color: #800000;">1982</span>           Masq </strong>   1      9          0
 -- 192.168.2.133:<strong><span style="color: #800000;">1983</span>           Masq </strong>   1      10         0
 -- 192.168.2.134:<strong><span style="color: #800000;">1984</span>           Masq </strong>   1      0          0
</pre>
<p>Note that there are only three clustered IIS web servers connecting into the four application server pool, so each web server (and each of its threads) connected to a discrete application server; the web client paradigm typically requires client persistence enabled, so there are no concurrency issues that comes with multi-threaded requests.</p>
<p>Optionally, you will need to setup some <a title="Linux Foundation" href="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" target="_blank" class="broken_link">iproute2</a> rules on each of the application services, but only if you want the hosts running those target virtual services to be also reachable by other means, such as ssh&#8217;inf directly to the physical hostname.  Here&#8217;s how to configure that on a RHEL 5 server.  Modify <strong>/etc/iproute2/rt_tables</strong> and append:</p>
<pre>118    development
128    test
138    production</pre>
<p>&#8230; and create two new files in <strong>/etc/sysconfig/networking-scripts</strong> as <strong>rule-{adapter}</strong> and <strong>route-{adapter}</strong>, substituting {adapter} with the name of the physical network adapter, i.e., <strong>eth0</strong> or <strong>br1</strong>.  First, the rule file:</p>
<pre>from 192.168.2.111 lookup development
from 192.168.2.112 lookup development

from 192.168.2.121 lookup test
from 192.168.2.122 lookup test

from 192.168.2.131 lookup production
from 192.168.2.132 lookup production
from 192.168.2.133 lookup production
from 192.168.2.134 lookup production</pre>
<p>Then the route file:</p>
<pre>default via 192.168.2.118 table development
default via 192.168.2.128 table test
default via 192.168.2.138 table production</pre>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2011/04/30/linux-ipvs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cygwin Xterm</title>
		<link>http://robert.hurst-ri.us/2011/02/21/cygwin-xterm/</link>
		<comments>http://robert.hurst-ri.us/2011/02/21/cygwin-xterm/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 13:06:18 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=948</guid>
		<description><![CDATA[One of the best features of Cygwin is its X display server.  But the default attributes for its Xterm application leaves something to be desired for modern PCs and their HD displays.  Below is my attempt to address that grievance; here&#8217;s a copy from my home directory .Xdefaults: XTerm*background:       Light Cyan XTerm*colorBD:          DarkBlue XTerm*colorBDMode:      True [...]]]></description>
			<content:encoded><![CDATA[<p>One of the best features of <a title="project web site" href="http://www.cygwin.com" target="_blank">Cygwin</a> is its X display server.  But the default attributes for its Xterm application leaves something to be desired for modern PCs and their HD displays.  Below is my attempt to address that grievance; here&#8217;s a copy from my home directory <strong>.Xdefaults</strong>:</p>
<pre>XTerm*background:       Light Cyan
XTerm*colorBD:          DarkBlue
XTerm*colorBDMode:      True
XTerm*cursorColor:      DarkSeaGreen
XTerm*font:             -*-lucidatypewriter-medium-r-normal-*-14-140-*-*-*-*-*-*
XTerm*font:             -*-lucidatypewriter-bold-r-normal-*-14-140-*-*-*-*-*-*
XTerm*foreground:       Black
XTerm*geometry:         100x40
XTerm*rightScrollBar:   True
XTerm*saveLines:        5000
XTerm*scrollBar:        True
XTerm*scrollTtyOutput:  False
XTerm*toolBar:          True
XTerm*trueType:         True</pre>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2011/02/21/cygwin-xterm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 14 Animated GIF fix</title>
		<link>http://robert.hurst-ri.us/2010/11/30/fedora-14-animated-gif-fix/</link>
		<comments>http://robert.hurst-ri.us/2010/11/30/fedora-14-animated-gif-fix/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 01:54:10 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=921</guid>
		<description><![CDATA[Oh dear, it seems that F14&#8242;s cairo package is not properly implemented by GNOME and Firefox web browser &#8212; if your Gnome is giving you fits with its pull-down menus not entirely rendering and if animated GIFs are only showing their 1st frame and the rest transparent equating to an annoying &#8220;blink&#8221; effect, then this [...]]]></description>
			<content:encoded><![CDATA[<p>Oh dear, it seems that F14&#8242;s cairo package is not properly implemented by GNOME and Firefox web browser &#8212; if your Gnome is giving you fits with its pull-down menus not entirely rendering and if animated GIFs are only showing their 1st frame and the rest transparent equating to an annoying &#8220;blink&#8221; effect, then this fix is for you:</p>
<p>$ <strong>vi /etc/yum.repos.d/fedora-13.repo</strong></p>
<p>[fedora13]<br />
name=Fedora 13 &#8211; $basearch<br />
failovermethod=priority<br />
baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/13/Everything/$basearch/os/<br />
enabled=1<br />
metadata_expire=7d<br />
gpgcheck=1<br />
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch</p>
<p>$ <strong>yum &#8211;nogpgcheck &#8211;noplugins &#8211;disablerepo=* &#8211;enablerepo=fedora13 downgrade cairo cairomm cairo-devel cairomm-devel</strong></p>
<p>Essentially, you are going from cairo-1.10 back to cairo-1.8.  Re-start Firefox and voila, no more annoying GIF issues!</p>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2010/11/30/fedora-14-animated-gif-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NTFS drive image manipulations</title>
		<link>http://robert.hurst-ri.us/2010/11/09/ntfs-drive-image-manipulations/</link>
		<comments>http://robert.hurst-ri.us/2010/11/09/ntfs-drive-image-manipulations/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 02:06:41 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=902</guid>
		<description><![CDATA[I decided to move my KVM winxp.img file (20GB) into a larger logical volume (32GB), because then I could leverage all that LVM2 has to offer in snap, clone, and mirroring. That was a simple set of operations: # lvcreate -n lv_winxp -L 32G vg_supermicro8 # dd if=/mnt/virt/winxp.img of=/dev/vg_supermicro8/lv_winxp bs=8192 2621440+0 records in 2621440+0 records [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to move my KVM <strong>winxp.img</strong> file (20GB) into a larger logical volume (32GB), because then I could leverage all that LVM2 has to offer in snap, clone, and mirroring.  That was a simple set of operations:</p>
<p><code># <strong>lvcreate -n lv_winxp -L 32G vg_supermicro8</strong><br />
# <strong>dd if=/mnt/virt/winxp.img of=/dev/vg_supermicro8/lv_winxp bs=8192</strong><br />
2621440+0 records in<br />
2621440+0 records out<br />
21474836480 bytes (21 GB) copied, 458.669 s, 46.8 MB/s<br />
</code></p>
<p>Next, I added registered that logical volume as a block device to device-mapper:</p>
<p><code># <strong>kpartx -av /dev/vg_supermicro8/lv_winxp</strong></code></p>
<p>I saved a copy of its partition table, and made a new one from it for the new physical size:</p>
<p><code># <strong>sfdisk -d /dev/vg_supermicro8/lv_winxp &gt; winxp.save</strong><br />
# <strong>cp winxp.save winxp.new</strong><br />
# <strong>vi winxp.new</strong></code></p>
<p>I changed the old 41913522 size, divided by 63, and multiplied by that by 1.6 (32GB / 20GB), dropped the decimal,  for the new value of 67061610.</p>
<p><code># <strong>sfdisk --force /dev/vg_supermicro8/lv_winxp &lt; winxp.new</strong><br />
Warning: partition 1 does not end at a cylinder boundary<br />
Successfully wrote the new partition table<br />
Re-reading the partition table ...<br />
</code></p>
<p><code># <strong>ntfsresize /dev/mapper/vg_supermicro8-lv_winxp1</strong><br />
ntfsresize v2.0.0 (libntfs 10:0:0)<br />
Device name        : /dev/mapper/vg_supermicro8-lv_winxp1<br />
NTFS volume version: 3.1<br />
Cluster size       : 4096 bytes<br />
Current volume size: 21459722752 bytes (21460 MB)<br />
Current device size: 34335544320 bytes (34336 MB)<br />
New volume size    : 34335539712 bytes (34336 MB)<br />
Checking filesystem consistency ...<br />
100.00 percent completed<br />
Accounting clusters ...<br />
Space in use       : 18258 MB (85.1%)<br />
Collecting resizing constraints ...<br />
WARNING: Every sanity check passed and only the dangerous operations left.<br />
Make sure that important data has been backed up! Power outage or computer<br />
crash may result major data loss!<br />
Are you sure you want to proceed (y/[n])? <strong>y</strong><br />
Schedule chkdsk for NTFS consistency check at Windows boot time ...<br />
Resetting $LogFile ... (this might take a while)<br />
Updating $BadClust file ...<br />
Updating $Bitmap file ...<br />
Updating Boot record ...<br />
Syncing device ...<br />
Successfully resized NTFS on device '/dev/mapper/vg_supermicro8-lv_winxp1'.</code></p>
<p>Woot!  De-register it from device-mapper and fire up the virtual machine:</p>
<p><code># <strong>kpartx -dv /dev/vg_supermicro8/lv_winxp</strong><br />
# <strong>virsh start WinXP</strong><br />
# <strong>virt-viewer WinXP</strong></code></p>
<p>Windows XP booted into a blue screen, not death, but rather into its own NTFS filesystem consistency check.  I allowed it to check the new filesystem size and it passed just fine.  Of course, after fully starting up, Windows decided this was &#8220;new&#8221; hardware and prompted me for a gratuitous re-boot.  {SNICKER}</p>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2010/11/09/ntfs-drive-image-manipulations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 14</title>
		<link>http://robert.hurst-ri.us/2010/11/07/fedora-14/</link>
		<comments>http://robert.hurst-ri.us/2010/11/07/fedora-14/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 12:50:47 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=890</guid>
		<description><![CDATA[So far, I performed two `preupgrade` operations successfully: one on a bare-metal workstation install and the other on a KVM guest.  That said, I did not want to attempt that on my home workstation, not because of any lack of faith that it would &#8220;just work&#8221;, but I decided it was time to relinquish the [...]]]></description>
			<content:encoded><![CDATA[<p>So far, I performed two `preupgrade` operations successfully: one on a  bare-metal workstation install and the other on a KVM guest.  That  said, I did not want to attempt that on my home workstation, not because  of any lack of faith that it would &#8220;just work&#8221;, but I decided it was  time to relinquish the 400GB partition once used Ultimate Vista 64 for  better use.</p>
<p>That was a somewhat pricey decision, but I cannot see  me ever using that OS again.  I will maintain my XP desktop running  under KVM at home and on VMWare Player at work.</p>
<p>First, the standard add-on packages I find most useful after a Fedora 14 workstation install, not unlike the package set I posted earlier with <a href="http://robert.hurst-ri.us/2010/05/29/fedora-13-add-on-packages/" target="_blank">Fedora 13</a>:</p>
<p style="padding-left: 30px;"><code>yum  install alacarte alsa-plugins-pulseaudio.i686 anjuta anjuta-doc  avant-window-navigator awn-extras-applets ballbuster byacc ccache ClanLib  ClanLib-devel codeblocks codeblocks-contrib codeblocks-contrib-libs  codeblocks-libs compiz-fusion-extras-gnome compiz-fusion-gnome  compiz-manager conglomerate cups-pdf dosbox ecj eclipse-cdt  eclipse-changelog eclipse-dltk-ruby eclipse-jdt eclipse-phpeclipse  eclipse-rpmstubby eclipse-shelled eclipse-subclipse emerald  emerald-themes extremetuxracer fedora-packager  fluid-soundfont-lite-patches fusion-icon-gtk games-menus gambas2-ide gcc  gcc-c++ gconf-editor GConf2-devel ghostscript-doc glade3 glest glunarclock  gnome-applet-sshmenu gnome-doc-utils gnome-games-extra gnome-games-extra-data  gnome-hearts gnome-themes-extras gnubg gnuchess gnubversion gtkglext-devel gtkglextmm-devel </code><code>gtkmm24-devel hexedit htop intltool iptraf kernel-devel</code><code> libnet-devel</code><code> libxml2-devel livecd-tools manedit Maelstrom meld  mono-basic mono-basic-devel mono-core mono-data mono-data-sqlite  mono-debugger mono-devel monodevelop monodevelop-debugger-mdb  monodevelop-debugger-mdb-devel monodoc mono-extras mono-jscript  mono-locale-extras mono-nat mono-nat-devel mono-tools mono-winforms  mozplugger multimedia-menus ncurses-devel neverball nspluginwrapper.i686  oxygen-cursor-themes oxygen-icon-theme p7zip penguin-command perl-libwww-perl  preferences-menus pulseaudio-libs-devel </code><code>PySolFC* revisor rogue ruby ruby-devel ruby-irb  ruby-ri scorched3d SDL* security-menus sgml-tools stellarium stellarium-doc strace  subversion-gnome supertuxkart texinfo timidity++ wesnoth wine xmlcopyeditor  xmlto xscreensaver-extras-gss xscreensaver-gl-extras-gss</code></p>
<p>Then, add the <a title="YUM configuration" href="http://rpmfusion.org/Configuration" target="_blank">RPMfusion</a> repositories to yum and do:</p>
<p style="padding-left: 30px;"><code>yum install atari++ e-uae gltron gmameui lame-devel mame mame-ldplayer mame-tools mess mess-data mess-tools mplayer mplayer-gui mplayer-tools stella vice</code></p>
<p>NOTE: an excellent alternative to gmameui is <a title="SourceForge" href="http://gelide.sourceforge.net/" target="_blank">Gelide</a>, but is packaged as a source tarball to download, configure, and make install.</p>
<p>Next, add-on these <a title="Adobe YUM" href="http://get.adobe.com/flashplayer/otherversions/" target="_blank">Adobe essentials</a>:</p>
<p style="padding-left: 30px;"><code>yum install AdobeReader_enu flash-plugin</code></p>
<p>&#8230; and add <a title="JavaSE JDK" href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Sun Java support</a> for the command-line and web browser:</p>
<p style="padding-left: 30px;"><code>alternatives --install /usr/bin/java java /usr/java/latest/bin/java 20000<br />
alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 20000<br />
alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 20000<br />
alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so  libjavaplugin.so.x86_64 /usr/java/latest/jre/lib/amd64/libnpjp2.so 20000</code></p>
<p>To get optimal use out of your Firefox browser with the above add-ons (mp3, midi, wav), you still have to <strong><code>yum remove totem-mozplugin</code></strong> and <strong><code>vi /etc/mozpluggerrc</code></strong> to find the timidity entry and remove its <strong><code>-Od</code></strong> option to make it work with pulseaudio.</p>
<p>Finally, to get a rich set of fonts working for Gnome, Firefox, and OpenOffice, I like to unpack a copy of this <a title="fonts.tar.gz" href="http://robert.hurst-ri.us/files/linux/fonts.tar.gz">fonts archive</a> into my home directory folder, <strong>.fonts</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2010/11/07/fedora-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 13 running VICE and WinUAE</title>
		<link>http://robert.hurst-ri.us/2010/09/28/fedora-13-running-vice-and-winuae/</link>
		<comments>http://robert.hurst-ri.us/2010/09/28/fedora-13-running-vice-and-winuae/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 00:02:20 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=851</guid>
		<description><![CDATA[The latest release in WinUAE 2.3 pictured here running alongside the latest svn checkout in VICE 2.3.6: Nice!!]]></description>
			<content:encoded><![CDATA[<p>The latest release in WinUAE 2.3 pictured here running alongside the latest svn checkout in VICE 2.3.6:</p>
<div id="attachment_854" class="wp-caption aligncenter" style="width: 650px"><a href="http://robert.hurst-ri.us/blog/wp-content/uploads/2010/09/Fedora-vice-winuae1.png" rel="lightbox[851]"><img class="size-medium wp-image-854" title="Fedora - VICE - WinUAE" src="http://robert.hurst-ri.us/blog/wp-content/uploads/2010/09/Fedora-vice-winuae1-640x400.png" alt="" width="640" height="400" /></a><p class="wp-caption-text">My Fedora 13 desktop</p></div>
<p>Nice!!</p>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2010/09/28/fedora-13-running-vice-and-winuae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Month of Upgrades</title>
		<link>http://robert.hurst-ri.us/2010/08/29/a-month-of-upgrades/</link>
		<comments>http://robert.hurst-ri.us/2010/08/29/a-month-of-upgrades/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 14:07:35 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://robert.hurst-ri.us/?p=823</guid>
		<description><![CDATA[It has been a while since my last blog post.  I have been busily working on upgrading our IBM BladeCenters from RHEL 4 to latest update in RHEL 5, along with migrating Xen guests to KVM.  And a lot of software got enhanced along the way in Caché, clustering, GFS, Samba, etc.  And more SAN [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a while since my last blog post.  I have been busily working on upgrading our IBM BladeCenters from RHEL 4 to latest update in RHEL 5, along with migrating Xen guests to KVM.  And a lot of software got enhanced along the way in Caché, clustering, GFS, Samba, etc.  And more SAN disk was provisioned (fortunately, LUN live migration) to accommodate larger storage needs for database growth and new virtual environments.</p>
<p>Then there have been the upgrades on my personal workstation housing this web site on its own KVM virtual guest.  I opted to upgrade beyond the Fedora-supplied WordPress 2.8 to the latest 3.0.1 using WordPress automatic upgrade.  I did this mainly because I wanted to replace the software tab with <a href="downloads" target="_blank">downloads</a> instead, using a new plugin to make for a spiffier files section.</p>
<p>I do not have a SAN for LUN live migration operations, but I accomplished the same by merely appending 10gb of filespace for this KVM guest&#8217;s disk:</p>
<pre>dd if=/dev/zero of=newroot.img oflag=append bs=8192 count=1310720 conv=notrunc
kpartx -a newroot.img
fdisk /dev/loop0
vgscan
vgchange -a y vg_hurst
lvextend -L +10G /dev/vg_hurst/lv_root
resize2fs /dev/vg_hurst/lv_root
vgchange -a y vg_hurst
kpartx -d newroot.img
</pre>
<p>Speaking of opting away from a yum repository, for some fun, I upgraded to the latest <a title="Sourceforge" href="http://stella.sourceforge.net" target="_blank">Stella</a> 3.2.1 over what is available in RPMFusion, because it has a lot of new enhancements and features that make this Atari 2600 emulator priceless.  And speaking of Atari, I added another Java-based emulator in <a title="Sourceforge" href="http://jstella.sourceforge.net/" target="_blank">JStella</a> to my <a href="retrocomputing" target="_blank">retrocomputing</a> page.  Yep, it has been quite a full month of upgrades.</p>
]]></content:encoded>
			<wfw:commentRss>http://robert.hurst-ri.us/2010/08/29/a-month-of-upgrades/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

