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

<channel>
	<title>Jesse Caulfield</title>
	<link>http://netthink.com</link>
	<description>NetThink: Networking, Converged Media, Java, Linux</description>
	<pubDate>Sun, 17 Aug 2008 17:49:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>Linux - How to copy a CD/DVD</title>
		<link>http://netthink.com/archives/254</link>
		<comments>http://netthink.com/archives/254#comments</comments>
		<pubDate>Sun, 17 Aug 2008 17:49:07 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Linux Misc]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/254</guid>
		<description><![CDATA[Use the following commands to create an ISO image from any CD or DVD.
Step 1: Determine the device of your CD/DVD player.
In Nautilus, right click on the disk and select &#8220;Unmount&#8221;.
Assuming the DVD player is /dev/dvd, use the following command to create an ISO image.
% dd if=/dev/dvd of=myFile.iso bs=1024
When done, you&#8217;ll have a new file [...]]]></description>
			<content:encoded><![CDATA[<p>Use the following commands to create an ISO image from any CD or DVD.</p>
<p><strong>Step 1: Determine the device of your CD/DVD player.</strong></p>
<p>In Nautilus, right click on the disk and select &#8220;Unmount&#8221;.</p>
<p>Assuming the DVD player is /dev/dvd, use the following command to create an ISO image.</p>
<blockquote><p><code>% dd if=/dev/dvd of=myFile.iso bs=1024</code></p></blockquote>
<p>When done, you&#8217;ll have a new file called &#8220;myFile.iso&#8221; which is a mirror copy of the CD/DVD media.</p>
<p><strong>Step 2: Burn the ISO image to a CD or DVD </strong></p>
<p>In Nautilus, right click on the new Image (ISO) file and select &#8220;Write to Disc&#8230;&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/254/feed</wfw:commentRss>
		</item>
		<item>
		<title>Fixing Ubuntu Start Up Errors</title>
		<link>http://netthink.com/archives/253</link>
		<comments>http://netthink.com/archives/253#comments</comments>
		<pubDate>Fri, 20 Jun 2008 02:59:49 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Linux Misc]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/253</guid>
		<description><![CDATA[I recently replaced the hard drive in my Compaq Presario V2000 laptop with a drive having an existing Ubuntu 8.10 installation on it.

The system booted fine but I received this error:

Starting up &#8230;
Loading, please wait&#8230;
usplash: Setting mode 1024&#215;768
kinit: name_to_dev_t(/dev/disk/by-uuid/3b111956-61a9-4bfe-9bd4-055580b7b89f) = sda5(8,5)
kinit: trying to resume from /dev/disk/by-uuid/3b111956-61a9-4bfe-9bd4-055580b7b89f
kinit: No resume image, doing normal boot&#8230;
Ubuntu 804 udell tty1
udell [...]]]></description>
			<content:encoded><![CDATA[<p>I recently replaced the hard drive in my Compaq Presario V2000 laptop with a drive having an existing Ubuntu 8.10 installation on it.</p>
<p align="center"><img height="302" alt="Compaq Presario v2000" src="http://netthink.com/wp-content/uploads/2008/06/compaqpresariov2000.jpg" width="450" /></p>
<p>The system booted fine but I received this error:</p>
<blockquote>
<p>Starting up &#8230;<br />
Loading, please wait&#8230;<br />
usplash: Setting mode 1024&#215;768<br />
kinit: name_to_dev_t(/dev/disk/by-uuid/3b111956-61a9-4bfe-9bd4-055580b7b89f) = sda5(8,5)<br />
kinit: trying to resume from /dev/disk/by-uuid/3b111956-61a9-4bfe-9bd4-055580b7b89f<br />
kinit: No resume image, doing normal boot&#8230;</p>
<p>Ubuntu 804 udell tty1</p>
<p>udell login:</p>
</blockquote>
<p><strong>The Problem:<br /></strong>The primary disk UUID was OK, but the swap disk had an incorrect UUID and was not recognized.</p>
<p><strong>The Solution:<br /></strong>Reformat the SWAP partition and update the initial ram disk with the proper UUID information.</p>
<blockquote>
<p><em>For more information about the initial ram disk, see my earlier posting about</em> <a href="http://netthink.com/documents/unwrapping-the-ubuntu-live-cd"><em>unwrapping the Ubuntu live cd</em></a> <em>and</em> <a href="http://netthink.com/documents/how-a-computer-boots"><em>how a computer boots</em></a><em>.</em></p>
</blockquote>
<p><strong>Step by step instructions:</strong></p>
<ol>
<li>Determine your SWAP disk partition location (e.g. something like /dev/sda5)<br />
<em>% sudo fdisk -l |grep swap<br /></em></li>
<li>Unmount the partition<br />
<em>% sudo swapoff<br /></em></li>
<li>Reformat this partition (using my example /dev/sda5 from above)<br />
<em>% sudo mkswap /dev/sda5</em><br />
Note: Record the UUID that this command returns.</li>
<li>If you forget to, or lose it, no problem. Get the partition&#8217;s UUID with the vol_id command as follows:<br />
<em>% sudo vol_id -u /dev/sda5<br /></em></li>
<li>Update the RAM file system config file with the correct UUID by editing the following file: /etc/initramfs-tools/conf.d/resume<br />
<em>% sudo vi /etc/initramfs-tools/conf.d/resume<br /></em></li>
<li>Update the initial ram disk<br />
<em>% sudo update-initramfs -u<br /></em></li>
<li>Reboot. Problem should be solved.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/253/feed</wfw:commentRss>
		</item>
		<item>
		<title>Windows Vista - 3 Gripes and Improving SLOW User Interface Response</title>
		<link>http://netthink.com/archives/251</link>
		<comments>http://netthink.com/archives/251#comments</comments>
		<pubDate>Fri, 20 Jun 2008 02:12:17 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Nonsense]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/251</guid>
		<description><![CDATA[I just purchased an HP TX2000 laptop. It&#8217;s a little heavy but is a truly wonderful piece of hardware. Buy one now at HP.com. Highly recommended.
Unfortunately, it&#8217;s sold as a Windows Vista exclusive platform. Windows XP can be loaded but the drivers are not supported or publicly available. I called HP support, who after a [...]]]></description>
			<content:encoded><![CDATA[<p><img height="167" alt="hp tx2000" src="http://netthink.com/wp-content/uploads/2008/06/hp-tx2000.jpg" width="225" align="right" />I just purchased an HP TX2000 laptop. It&#8217;s a little heavy but is a truly wonderful piece of hardware. Buy one now at <a href="http://HP.com" target="_blank">HP.com</a>. Highly recommended.</p>
<p>Unfortunately, it&#8217;s sold as a Windows Vista exclusive platform. Windows XP can be loaded but the drivers are not supported or publicly available. I called HP support, who after a long conversation did give me the drivers, but I was not able to get XP working properly (no audio, no video drivers, touch screen, etc.) in a reasonable amount of time so gave up and am stuck with Vista.</p>
<p>Operating systems are like tool boxes in that they don&#8217;t actually do anything, they just give you access to your tools so you can get work done.</p>
<p>For me, Windows XP could be called the analog of a carpenter&#8217;s leather tool belt - very functional and evolved into its current efficient state based on the feedback and requirements of many professional carpenters. All-in-all a very solid tool belt that lets one focus immediately on work.</p>
<p>Vista, on the other hand, is like the same carpenter&#8217;s tool belt, made from the finest suede, and decorated with rhinestones, ribbons and tie-dye frill. It&#8217;s like a tool belt designed for teenagers, which, mind you, sometimes need to actually be productive, but recalling my own teenage days are more often distracted by shiney things.</p>
<p><strong>My three biggest gripes with Vista are:</strong></p>
<p><strong>Visio Symbol Indexing:</strong><br />
Somehow Vista&#8217;s security model breaks Vista 2003&#8217;s symbol indexing system, so Visio cannot search for symbols. This is a major, major problem for active Visio users like me.</p>
<p>No solution known.</p>
<p><strong>File Explorer:<br /></strong> Vista file explorer is much less functional than their near perfect XP File Explorer and one step closer to the Gnu Nautilus Explorer. My principal complaint is that the Vista security model somehow refuses to store network drive passwords. One must re-enter your username and password to view the directory listing, then re-enter username and password to open the first file. Frustratingly, the checkbox to &#8220;Remember my password&#8221; does not.</p>
<p>No solution known.</p>
<p>The irony here is that Gnu Nautilus is now more functional, predictable and usable that Vista File Explorer.</p>
<p><strong>User Interface:<br /></strong>Lastly, the Vista theme is cute but adds no value and is VERY slow. Sadly, the only alternate theme is a Windows 95 clone, so your options are to completely forgo the composite Aero theme for a retro look (which is screaming fast) or suffer with the pretty but agonizingly slow Aero.</p>
<p>I did find a partial solution: turn off most Aero features but keep the desktop composition enables. Here&#8217;s how I did it.</p>
<ol>
<li>
<div>Open Control Panel &gt; Performance Information and Tools</div>
</li>
<li>
<div>On the left hand side click &#8220;Adjust visual effects&#8221;</div>
</li>
<li>
<div>In the pop-up windows click the &#8220;Adjust for best performance&#8221; radio button, then click the &#8220;Custom:&#8221; radio button.</div>
</li>
<li>
<div>Click OK and wait for the user interface to reset.</div>
</li>
</ol>
<p><em>(A screenshot of my selections are noted below.)</em></p>
<p>For me, this modification made the Vista user interface dramatically more responsive. My perception is that it&#8217;s now as fast as XP, but still with rhinestones and ribbons.</p>
<p><img height="364" alt="peformance options 1" src="http://netthink.com/wp-content/uploads/2008/06/peformanceoptions1-1.png" width="375" /><img height="333" alt="peformance options 2" src="http://netthink.com/wp-content/uploads/2008/06/peformanceoptions2.png" width="376" /></p>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/251/feed</wfw:commentRss>
		</item>
		<item>
		<title>Fixing Winamp on Vista</title>
		<link>http://netthink.com/archives/247</link>
		<comments>http://netthink.com/archives/247#comments</comments>
		<pubDate>Mon, 09 Jun 2008 20:40:16 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Nonsense]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/247</guid>
		<description><![CDATA[Out of the box, Vista doesn&#8217;t like Winamp, or Winamp doesn&#8217;t like Vista.
Here&#8217;s how to fix it:

In Windows Explorer, navigate to your Winamp directory
(default is C:\Program Files\Winamp).
Right-click winamp.exe, and choose Properties.
Click the Compatibility tab.
Turn on &#8220;Run this program as an administrator&#8221;, and click OK.

REPEAT for winampa.exe (the winamp agent), if you use it.
Theoretically, this works [...]]]></description>
			<content:encoded><![CDATA[<p><img height="157" alt="winamp" src="http://netthink.com/wp-content/uploads/2008/06/winamp.jpg" width="225" align="right" />Out of the box, Vista doesn&#8217;t like Winamp, or Winamp doesn&#8217;t like Vista.</p>
<p>Here&#8217;s how to fix it:</p>
<ol>
<li>In Windows Explorer, navigate to your Winamp directory<br />
(default is C:\Program Files\Winamp).</li>
<li>Right-click winamp.exe, and choose Properties.</li>
<li>Click the Compatibility tab.</li>
<li>Turn on &#8220;Run this program as an administrator&#8221;, and click OK.</li>
</ol>
<p>REPEAT for winampa.exe (the winamp agent), if you use it.</p>
<p>Theoretically, this works for every program that works fine in XP and poorly in Vista. To know more about compatibility issues, search for &#8220;program compatibility&#8221; in the &#8220;Help and Support&#8221; of Windows Vista.</p>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/247/feed</wfw:commentRss>
		</item>
		<item>
		<title>How to Install JPCap on Linux</title>
		<link>http://netthink.com/archives/240</link>
		<comments>http://netthink.com/archives/240#comments</comments>
		<pubDate>Sat, 29 Mar 2008 14:56:43 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Java Development]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/240</guid>
		<description><![CDATA[
In this tutorial I will describe how to install JPCap from source code on Linux (Ubunty 7.10 or Debian 4.0).
JPCap is an open-source Java library released under the GNU LGPL and designed to enable the capturing and sending network packets in Java. JPCap is developed by Keita Fujii and the University of California and Irvine.
The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://netthink.com/wp-content/uploads/2008/03/how-to-install-jpcap-on-linux.pdf" title="PDF Version of this Article"><img src="http://netthink.com/wp-content/uploads/2008/03/gnome-pdf.png" title="gnome-pdf.png" alt="gnome-pdf.png" align="right" hspace="5" vspace="5" /></a></p>
<p>In this tutorial I will describe how to install JPCap from source code on Linux (Ubunty 7.10 or Debian 4.0).</p>
<p><a href="http://netthink.com/wp-content/uploads/2008/03/how-to-install-jpcap-on-linux.pdf" title="how-to-install-jpcap-on-linux.pdf"></a>JPCap is an open-source Java library released under the GNU LGPL and designed to enable the capturing and sending network packets in Java. JPCap is developed by Keita Fujii and the University of California and Irvine.</p>
<p>The JPCap home page is  http://netresearch.ics.uci.edu/kfujii/jpcap/doc/</p>
<p>JPCap is a Java Native Library Implementation (JNI) of the popular libpcap library and should therefor work on any OS which supports libpcap. libpcap is a user-level packet capture library that provides a common, system-independent API for low-level network monitoring. libpcap is also open-source software developed and maintained by TCPDump.org.</p>
<p>We will use JPCap and libpcap on the Linux operating system but the both libraries work on Microsoft Windows (WinPcap), Linux, FreeBSD, and Mac OS X.</p>
<p>JPCap supports the following types of network data:<br />
Layer 2:    Ethernet Datagrams<br />
Layer 3:    IPv4 &amp; Ipv6     ARP/RARP<br />
TCP, UDP and ICMPv4.</p>
<p>JPCap recognizes the packet types enumerated above but can capture any type of network traffic as a raw packet (i.e., as an instance of the Packet class) which contains the Packet&#8217;s whole data. This feature allows Java applications to analyze any packet type.</p>
<p><strong>Step 1:    Preparing the System</strong></p>
<p>Following are instructions to install JPCap on a fresh installation of Ubuntu 7.10 of Debian 4.0.</p>
<p>Install the necessary development software packages to create a usable development environment:</p>
<p>Install the GNU compiler and basic libraries<br />
% sudo apt-get install build-essential</p>
<p>Install the linux pcap library<br />
% sudo apt-get install libpcap0.8</p>
<p>Install the Java SDK from Sun<br />
% sudo apt-get install sun-java6-sdk</p>
<p>Download the latest JPCap source and extract it into your working directory<br />
http://netresearch.ics.uci.edu/kfujii/jpcap/</p>
<p>You can also find version 0.7 here: <a href="http://netthink.com/wp-content/uploads/2008/03/jpcap-07tar.gz" title="JPCap 0.7">JPCap 0.7</a></p>
<p><strong>Step 2:    Building &amp; Installing the JPCap JNI library </strong></p>
<p>In a terminal window, navigate to the [jpcap]/src/c directory. For example:<br />
~/jpcap-0.7/src/c</p>
<p>[IMPORTANT] Edit the JAVA_DIR Makefile entry to point to your version of jni.h<br />
You can find it quickly with the following command:<br />
$ find /usr -name jni.h<br />
/usr/lib/jvm/java-6-sun-1.6.0.03/include/jni.h</p>
<p>The Makefile should then read<br />
JAVA_DIR = /usr/lib/jvm/java-6-sun-1.6.0.03</p>
<p>In the terminal window under the [jpcap]/src/c directory type make to create the shared library<br />
$ make<br />
This will create the file &#8216;libjpcap.so&#8217;.</p>
<p>Copy &#8216;libjpcap.so&#8217; your system&#8217;s Java JNI library directory<br />
&#8216;[Java-dir]/jre/lib/&lt;arch&gt;&#8217; where &lt;arch&gt; is either &#8216;i386&#8242; or &#8217;sparc&#8217;.<br />
For my installation, this was /usr/lib/jvm/java-6-sun/jre/lib/i386<br />
Another option is to copy the library to the directory where your application is located.</p>
<p><strong>Step 3:    Building and Installing the JPCap JAR file</strong></p>
<p>In a terminal window, nagivate to the [jpcap]/src/java directory. For example:<br />
~/jpcap-0.7/src/java<br />
There should be one subdirectory named &#8216;jpcap&#8217;</p>
<p>Compile all of the .java files in the &#8216;jpcap&#8217; and &#8216;jpcap/packet&#8217; directories.<br />
$ find . -name &#8220;*.java&#8221; -exec javac {} \;</p>
<p>You may see the following error for IPPacket.java - ignore it.<br />
&#8220;Note: ./jpcap/packet/IPPacket.java uses unchecked or unsafe operations.&#8221;</p>
<p>Create the JAR file<br />
jar -cf jpcap.jar jpcap</p>
<p>Confirm the contents of your JAR file with the following command:<br />
jar -tvf jpcap.jar</p>
<p>Copy the new jpcap.jar file to your Java extentions directory<br />
$ cp jpcap.jar &#8216;[Java-dir]/jre/lib/ext/<br />
For my installation, this was /usr/lib/jvm/java-6-sun/jre/lib/ext<br />
Another option is to copy the JAR file to your application&#8217;s directory and add it to your CLASSPATH.</p>
<p>You are now ready to begin using the JPCAP Java Native Interface Library.</p>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/240/feed</wfw:commentRss>
		</item>
		<item>
		<title>Java Notes about Classloader Errors</title>
		<link>http://netthink.com/archives/239</link>
		<comments>http://netthink.com/archives/239#comments</comments>
		<pubDate>Sat, 22 Mar 2008 19:20:28 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Java Development]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/239</guid>
		<description><![CDATA[Having Problems with the Java ClassLoader?
When you wrap your code into a package you must run the program  differently from the command line. Specifically, you must always tell Java where to find the main method. When you use a package, main is wrapped inside. e.g.
package foo;
public class helloworld { ...
public static void main ....
For [...]]]></description>
			<content:encoded><![CDATA[<p>Having Problems with the Java ClassLoader?</p>
<p>When you wrap your code into a <strong>package</strong> you must run the program  differently from the command line. Specifically, you must always tell Java where to find the <em>main</em> method. When you use a package, <em>main</em> is wrapped inside. e.g.</p>
<p><code>package foo;<br />
public class helloworld { ...<br />
public static void main ....</code></p>
<p>For example, the exact same <code>helloworld.java</code> code, without a package is run as follows:</p>
<p><code>% java helloworld</code></p>
<p>With a package you must type:</p>
<p><code>% java foo.helloworld</code></p>
<p>If you typed <code>java helloworld</code> when using a package in your code you&#8217;ll see the following type of error</p>
<p><code>Exception in thread "main" java.lang.NoClassDefFoundError: helloworld (wrong name: foo/helloworld)<br />
at java.lang.ClassLoader.defineClass1(Native Method)<br />
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)<br />
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)<br />
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)<br />
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)<br />
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)<br />
at java.security.AccessController.doPrivileged(Native Method)<br />
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)<br />
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)<br />
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)<br />
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)<br />
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/239/feed</wfw:commentRss>
		</item>
		<item>
		<title>Report: Satellite Market Growing but US Role Shrinking</title>
		<link>http://netthink.com/archives/227</link>
		<comments>http://netthink.com/archives/227#comments</comments>
		<pubDate>Sat, 01 Mar 2008 21:06:36 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Satellite Business]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/227</guid>
		<description><![CDATA[Forecast International recently released their Space Systems Forecast - Satellites &#38; Spacecraft report.

Summary:

The communications satellite sector is doing well around the world.
Manufacturing and services may migrate from US dominated to overseas.
The global communications satellite market is expected to generate deliveries of nearly 300 satellites during the next 10 years.
While demand for satellite services is growing, [...]]]></description>
			<content:encoded><![CDATA[<p>Forecast International recently released their <em>Space Systems Forecast - Satellites &amp; Spacecraft</em> report.</p>
<p align="center"><img src="http://netthink.com/wp-content/uploads/2008/03/forecast-intl-1.png" alt="forecast-intl" height="41" hspace="5" vspace="5" width="450" /></p>
<p><strong>Summary:</strong></p>
<ul>
<li>The communications satellite sector is doing well around the world.</li>
<li>Manufacturing and services may migrate from US dominated to overseas.</li>
<li>The global communications satellite market is expected to generate deliveries of nearly 300 satellites during the next 10 years.</li>
<li>While demand for satellite services is growing, increasing satellite size, power and service life has decreased new spacecraft orders and demand.</li>
<li>Roughly 218 geostationary and medium-Earth orbit satellites will be delivered during the next 10 years and valued at nearly $26 billion.</li>
<li>The low-Earth orbiting market should see about 70 new satellites orders worth about $927 million, mostly fleet replacement within  and Orbcomm.</li>
<li>The U.S. share of the satellite manufacturing market has declined by almost 30 percent over the past three years (2004-2007).</li>
<li>In 2004, 75 percent of commercial communications satellite orders went to three U.S. companies, while only three went to non-U.S. builders. That number dropped to 63 percent in 2005 and 40 percent last year.</li>
</ul>
<p><strong>My Comments:</strong></p>
<p>The industry&#8217;s historical average is about 35 commercial launches per year.</p>
<p>The raw numbers from this report are less impressive but essentially mean that EADS and Alcatel are becoming more competitive and winning orders from non-US satellite operators (primarily national operators like Turksat, Arabsat, etc.).</p>
<p>This development is a result of earlier operator consolidation in the US (Intelsat + PanAmSat, SES + New Skies) and should continue to propagate consolidation through the US delivery chain.</p>
<p>I expect to see interesting spacecraft and launch tie-ups coming from Lockheed, Loral, Orbital, Boeing and Sea Launch in the near future.</p>
<p><strong>References:</strong></p>
<ul>
<li><a href="https://www.forecastinternational.com/fistore/prod.cfm?ProductID=16457" target="_blank">Forecast International</a></li>
</ul>
<blockquote><p><em>Space is not only the “Final Frontier,” but also a vitally important aerospace and defense asset. Prices in the commercial satellite industry are poised to rebound, keeping competition fierce and returning many firms to profitability.</em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/227/feed</wfw:commentRss>
		</item>
		<item>
		<title>Removing .DS_Store on Network Share Drives</title>
		<link>http://netthink.com/archives/225</link>
		<comments>http://netthink.com/archives/225#comments</comments>
		<pubDate>Sat, 01 Mar 2008 20:35:45 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/225</guid>
		<description><![CDATA[One annoyance about OSX is that is leaves behind a .DS_Store file on network share drives (Samba, etc.) This file contains folder-specific display preferences for the way those files and folders should be viewed.
How to get rid of them?
Apple has as article How to prevent .DS_Store file creation over network connections on exactly how to [...]]]></description>
			<content:encoded><![CDATA[<p><img height="89" alt="Mac OS X" hspace="5" src="http://netthink.com/wp-content/uploads/2008/03/mac-os-x.png" width="90" align="left" vspace="5" />One annoyance about OSX is that is leaves behind a .DS_Store file on network share drives (Samba, etc.) This file contains folder-specific display preferences for the way those files and folders should be viewed.</p>
<p>How to get rid of them?</p>
<p>Apple has as article How to prevent .DS_Store file creation over network connections on exactly how to do this but to summarize, from a terminal, type the following:</p>
<p><em>% defaults write com.apple.desktopservices DSDontWriteNetworkStores true</em></p>
<p>Press return and reboot your mac.</p>
<p>Since this command turns off this behavior on a per user basis, it has to be repeated for every account on the computer that access a remote file share.</p>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/225/feed</wfw:commentRss>
		</item>
		<item>
		<title>Host Identification by Packet Inspection</title>
		<link>http://netthink.com/archives/205</link>
		<comments>http://netthink.com/archives/205#comments</comments>
		<pubDate>Fri, 22 Feb 2008 19:41:59 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/205</guid>
		<description><![CDATA[To determine an endpoint’s operating system one must first understand how to measure differences in a network protocol stack. Start by studying the TCP state machine, understanding how TCP connections are made, where implementations may vary, and creating a series of tests to expose those variances.
To initiate and manage TCP connections endpoints (hosts) exchange packets [...]]]></description>
			<content:encoded><![CDATA[<p>To determine an endpoint’s operating system one must first understand how to measure differences in a network protocol stack. Start by studying the TCP state machine, understanding how TCP connections are made, where implementations may vary, and creating a series of tests to expose those variances.</p>
<p>To initiate and manage TCP connections endpoints (hosts) exchange packets with certain flags, or control bits, set. There are eight flags available; to identify a host operating system we are interested with the following three:</p>
<ol>
<li>ACK - Indicates that the acknowledgment field is significant</li>
<li>RST - Resets the connection</li>
<li>SYN - Synchronizes sequence numbers</li>
</ol>
<p>Transmission Control Protocol is defined in RFC 793 and uses a 3-way handshake protocol to initialize new connections between hosts.</p>
<p align="center"><img height="242" alt="tcp-open" hspace="5" src="http://netthink.com/wp-content/uploads/2008/02/tcp-open.jpg" width="450" vspace="5" /></p>
<p>The packet sequence is:</p>
<ol>
<li>Caller sends SYN</li>
<li>Recipient responds with SYN, ACK</li>
<li>Caller sends ACK</li>
</ol>
<p>If the connection cannot be made the recipient will typically respond with a RST packet to abort the connection instead of the SYN + ACK to establish it. A successful 3-way handshake is illustrated in the host packet exchange shown below. The process of establishing a connection can be traced on the TCP state diagram below right as (CLOSED) &gt; (SYN_SENT) &gt; (ESTABLISHED) while a failed connection would be (CLOSED &gt; (SYN_SENT) &gt; (CLOSED).</p>
<p align="center"><img height="412" alt="tcp-state-diagram" hspace="5" src="http://netthink.com/wp-content/uploads/2008/02/tcp-state-diagram.gif" width="440" vspace="5" /></p>
<p>To detect a TCP connection and determine between caller and recipient one must capture only two packets with the SYN (Step 1) and SYN+ACK (Step 2) or RST bits set. To do this note the structure of a TCP packet header and build a packet filter expression.</p>
<p align="center"><img height="297" alt="tcpHeader1" hspace="5" src="http://netthink.com/wp-content/uploads/2008/02/tcpheader1.jpg" width="450" vspace="5" /></p>
<p>A TCP header typically holds 20 octets of data. The first line of the packet header contains 32 bits or 4 octets numbered 0 - 3, the second line octets 4 - 7, etc. The TCP control bits are contained in octet 13. In a TCP datagram with the SYN bit set octet 13 resembles the TCP Flags detail illustrated above. By filtering on TCP flags one may capture all packets necessary to profile a host operating system.</p>
<p><strong>References</strong></p>
<ul>
<li><a href="http://tools.ietf.org/html/rfc793" target="_blank">RFC 793 - Transmission Control Protocol</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/205/feed</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu VNC Key Mapping Errors</title>
		<link>http://netthink.com/archives/195</link>
		<comments>http://netthink.com/archives/195#comments</comments>
		<pubDate>Mon, 11 Feb 2008 15:11:54 +0000</pubDate>
		<dc:creator>jesse</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://netthink.com/archives/195</guid>
		<description><![CDATA[Gnome-Session in Ubuntu 7.10 has a very frustrating default configuration which breaks VNCServer by defaulting to an incorrect keyboard map. (i.e. scrambling what you type.)
Here is how to fix it:
In a working terminal (probably not via the scrambled vnc connection) open gconf-editor as your user (not as root) then navigate to:
 desktop &#62; gnome &#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Gnome-Session in Ubuntu 7.10 has a very frustrating default configuration which breaks VNCServer by defaulting to an incorrect keyboard map. (i.e. scrambling what you type.)</p>
<p>Here is how to fix it:</p>
<p>In a working terminal (probably not via the scrambled vnc connection) open <tt>gconf-editor</tt> as your user (not as root) then navigate to:</p>
<blockquote><p> <code>desktop &gt; gnome &gt; peripherals &gt; keyboard &gt; kbd</code></p></blockquote>
<p>Replace the empty (or incorrect) layout value of <tt>[]</tt> or <tt>[us]</tt> with any other two letters. I used &#8220;aa&#8221;.</p>
<p>Close gconf-editor and restart your vncserver. The problem should now be fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://netthink.com/archives/195/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
