<?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>DotBlag.Com &#187; .Hardware</title>
	<atom:link href="http://www.dotblag.com/category/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotblag.com</link>
	<description>Technical Trials And Errors</description>
	<lastBuildDate>Sun, 25 Jul 2010 18:40:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Linux (UNIX in general) TTY/console demystified</title>
		<link>http://www.dotblag.com/2010/07/25/linux-unix-in-general-ttyconsole-demystified/</link>
		<comments>http://www.dotblag.com/2010/07/25/linux-unix-in-general-ttyconsole-demystified/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 18:40:35 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Soft.ware]]></category>
		<category><![CDATA[dev.urandom]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[tty]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=202</guid>
		<description><![CDATA[I don&#8217;t quite know how I know but I know very well how the Linux TTY/Console driver stack works&#8230; Probably through so many years of slogging through code, and through tearing apart the Linux TTY drivers and line discipline stacks a few times for special projects and definitely with some help of the LDD3 (a [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t quite know how I know but I know very well how the <a href="http://lwn.net/images/pdf/LDD3/ch18.pdf">Linux TTY/Console driver stack</a> works&#8230; Probably through so many years of slogging through code, and through tearing apart the Linux TTY drivers and line discipline stacks a few times for special projects and definitely with some help of the <a href="http://lwn.net/Kernel/LDD3/">LDD3</a> (a MUST read for anyone trying to go spelunking for the first time in the Linux Kernel Land &#8211; no, I don&#8217;t know if/when an update will be made but 99% of whats there is still up to date).  They&#8217;re a deeply complicated group with many layers.  And today I ran into a <a href="http://www.linusakesson.net">site</a> (which I was browsing because of this <a href="https://games.slashdot.org/story/10/07/24/1417243/The-Chipophone-mdash-an-8-Bit-Chiptune-Or">Slashdot article</a> on <a href="http://www.linusakesson.net/chipophone/making.php">building the Chipophone</a>) which <a href="http://www.linusakesson.net/programming/tty/index.php">documents and explains the most of Linux TTY system</a>, including job control, very well.  It even explains how your ^Z signals vi to stop and return control to the shell, what the shell does to regain control, etc.  All sorts of good stuff.  Anyone writing terminal mode, or headless, code for Linux or Unix-like environments should read this article.  It explains pipes too, and how sessions and jobs relate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/07/25/linux-unix-in-general-ttyconsole-demystified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pretty Correct Colors!</title>
		<link>http://www.dotblag.com/2010/03/25/pretty-correct-colors/</link>
		<comments>http://www.dotblag.com/2010/03/25/pretty-correct-colors/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 20:21:04 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Soft.ware]]></category>
		<category><![CDATA[Web.Guru]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[crt]]></category>
		<category><![CDATA[datacolor]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=180</guid>
		<description><![CDATA[First off lets go back about a week in time&#8230; I am NOT a GUI guy, photo guy, etc.  I traditionally have been a systems administrator, lately I&#8217;ve gone more whole hog into web application development.  But I still don&#8217;t do UI.  So color has never really felt that important to me.  I know my [...]]]></description>
			<content:encoded><![CDATA[<p>First off lets go back about a week in time&#8230;</p>
<p>I am NOT a GUI guy, photo guy, etc.  I traditionally have been a systems administrator, lately I&#8217;ve gone more whole hog into web application development.  But I still don&#8217;t do UI.  So color has never really felt that important to me.  I know my display isn&#8217;t right, and it bothers me a bit but it doesn&#8217;t cripple me.  Sometimes the grays wash out, they turn blue, colors just aren&#8217;t quite right.</p>
<p>My editor displays little gray pips for spaces, they show up well on my 21&#8243; (Sun GDM-5010PT) Sony Trinitron monitor w/ built in color correction/calibrations.  On my (cheap) <a href="http://asus.com">ASUS</a> <a href="http://usa.asus.com/product.aspx?P_ID=fdhHRbJtRlOCqy5C">G50vt laptop</a> (the same one that the integrated keyboard has a horribly broken debounce to the point it misses keystrokes and words constantly), they&#8217;re almost invisible.  The color rendition is quite frankly, just plain bad.  I figure there&#8217;s nothing that can fix it.  But being an adventurous soul, I decide to plop down about $230 on a color calibration dongle and software.  If nothing else the Trinitron will probably look better, and I can quantify how bad the laptop is&#8230;Figuring worst case I&#8217;m out $230 and then won&#8217;t be tempted again.  But I&#8217;m still definitely as skeptic.</p>
<p>Flash forward a week&#8230;.</p>
<p>Device arrives, I hook it up, download software from the manufacturers web site and install it.  The device came with a CD but as we all know, they&#8217;re always out of date, this one was from ~2007, there is rather quite a bit more up to date software available on the website from the manufacturer.</p>
<p>The software asks a few basic questions about the display, and it&#8217;s adjustment capabilities.  Advising on how they should be set, presumably to achieve correct calibration.</p>
<p>After answering the software&#8217;s questions which are basic, despite reviews to the contrary.  I hang the dongle over my laptops display as directed and tell it to go to work.  It displays black/white/red/green/blue and samples many levels of each.  After it&#8217;s done it applies the profile to the OS&#8217;s color calibration system (Windows 7 Ultimate x64 in this case).</p>
<p>Immediately I notice the display color is, overall, a bit warmer, that&#8217;s expected, since this display was always on the cool/cold side anyway.  I finish out the utility, and fire up my editor.</p>
<p>I can see the little gray pips that indicate spaces now&#8230;the gray title bars show up much more clearly now&#8230;</p>
<p>I fire up my web browser and go to <a href="http://newegg.com/">newegg.com</a>, which has this light manila background that never really showed up before.  It pops, just like it&#8217;s supposed to.  I go hit <a href="http://php.net/">php.net</a>, which I know has quite a lot of fairly subtle greys, blues, and purples.  Amazing, they all show up now. I spend a few minutes visiting some web sites, and am amazed at the details that now appear, and were so washed out before.  Even my <a href="http://wordpress.org/">WordPress</a> admin area on this blog looks better, easier to read, as it was intended!</p>
<p>Now, like I said, not a GUI/graphics guy, but I know how to adjust my contrast, brightness, and backlight settings to correct black or white aliasing, simple issues.  But that&#8217;s nowhere near enough to fix an overall color rendering or temperature problem.  I can fiddle in the <a href="http://nvidia.com/">nVidia</a> (or <a href="http://ati.com/">ATI</a>) control panel applets and get it better, but never have I gotten it good, much less great, especially on this particular laptop display.</p>
<p>At this point I have to say wow.  My laptop display looks better than my 21&#8243; Trinitron tube&#8230;.I can&#8217;t wait to try it on that!  I&#8217;m definitely *sold*.</p>
<p>The specific device I grabbed was a <a href="http://datacolor.com/">Datacolor</a> <a href="http://spyder.datacolor.com/product-mc-s3elite.php">Spyder 3 w/ the Elite</a> software because I figured if I like it or use it at all I&#8217;ll need multiple monitors, and multiple machines.</p>
<p>I&#8217;ve always said that if you&#8217;re doing any sort of graphics development,  you need color calibration.  I now would go so far as to say if you&#8217;ve ever been irritated by your laptop, or other display, you need color calibration.  If you&#8217;re doing ANY sort of UI work, at all, you need color calibration.  It is WELL worth it.</p>
<p>I wish I could show the difference, unfortunately I can&#8217;t, but it really is night and day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/03/25/pretty-correct-colors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pogoplug[ged]</title>
		<link>http://www.dotblag.com/2010/02/15/pogoplugged/</link>
		<comments>http://www.dotblag.com/2010/02/15/pogoplugged/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 21:45:24 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Net.working]]></category>
		<category><![CDATA[Speed.Demon]]></category>
		<category><![CDATA[ARM9]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[feroceon]]></category>
		<category><![CDATA[hfs+]]></category>
		<category><![CDATA[JTAG]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[marvell]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[orion]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[pogoplug]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[smb]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=169</guid>
		<description><![CDATA[So I recently bought a Pogoplug device, sort of on a whim.  I needed a NAS device, and the fact that the Pogoplug had HFS+ (OS/X filesystem) support made it a clear winner for me.  I&#8217;ve been living with mine for about a week now, mostly with single 320GB HFS+ formatted drive.  The $130 device [...]]]></description>
			<content:encoded><![CDATA[<p>So I recently bought a <a href="http://pogoplug.com">Pogoplug</a> device, sort of on a whim.  I needed a <a href="http://en.wikipedia.org/wiki/Network-attached_storage">NAS</a> device, and the fact that the Pogoplug had HFS+ (OS/X filesystem) support made it a clear winner for me.  I&#8217;ve been living with mine for about a week now, mostly with single 320GB HFS+ formatted drive.  The $130 device runs <a href="http://kernel.org">Linux</a>, is supported as open (they give you the default root login and password on their site) and sports 256MB of RAM, 32MB of flash for the OS/on-board software, and what I&#8217;m pretty sure is a 1.2Ghz variant of the <a href="http://www.arm.com/products/processors/classic/arm9/arm926.php">ARM926EJ-S</a> in the form of a <a href="http://www.marvell.com/products/processors/embedded/kirkwood/HW_88F6281_OpenSource.pdf">Marvell Orion/Feroceon 88F6281 SoC</a>.  You have 4x USB2.0 ports hanging off of the Marvell Orion <a href="http://en.wikipedia.org/wiki/EHCI">EHCI</a> controller giving you four directly connected ports, you can also connect USB2.0 hubs for more.  Ethernet connectivity is provided by the Orion SoC&#8217;s integrated Gig-E.  All of this hardware puts it in the same category as many more expensive devices, without any mind burning annoying-as-all-heck blue LEDs either.</p>
<p><a href="http://cloudengines.com">CloudEngines</a> saw fit to include relatively robust filesystem support sporting <a href="http://en.wikipedia.org/wiki/HFS_Plus">HFS+</a>, <a href="http://en.wikipedia.org/wiki/NTFS">NTFS</a> as well as the usual <a href="http://en.wikipedia.org/wiki/Ext3">ext2/3</a>, <a href="http://en.wikipedia.org/wiki/File_Allocation_Table">FAT/FAT32/VFAT</a>.  HFS+ is provided by custom kernel modules, that work better than their cousins integrated into the Linux kernel (I&#8217;ve had some experience with them).  I haven&#8217;t yet tested the NTFS support.</p>
<p>The really unique thing about the Pogoplug is that it is completely integrated with the Internet.  <a href="http://pogoplug.com/dev/web.html">The API</a> system allows you to write your own scripts, or use others.  You can even cross-compile and run binaries on the Pogoplug itself.  Setup was easier than anything I&#8217;ve ever used of this nature. I plugged my device in, and went to the Pogoplug site.  I created a login, it quickly identified my Pogoplug device (I assume the Pogoplug called home and it saw us both coming from the same IP) and I was able to immediately use the WebUI to upload and download files.  They don&#8217;t support <a href="http://en.wikipedia.org/wiki/CIFS">SMB/CIFS</a>, but they have OS level drivers for Windows, OS/X, and Linux readily available.  I&#8217;ve only tried the OS/X and Win64 (Windows 7) drivers and they work very well.  Honestly since they seem to be fully supporting multiple OSes, and SMB/CIFS is so complicated and slow I don&#8217;t feel like this is much of a minus.  It does limit native support to &#8220;Supported&#8221; OSes for now unless the WebUI/API access fits for you.  I don&#8217;t know what their product roadmap is but I did find a (broken) symlink/mention of Samba within the device itself, and for those users that are on other OSes and *really* want CIFS they can cross-compile and install/run their own <a href="http://samba.org/">Samba</a> binaries.</p>
<p>The native clients I&#8217;ve tested under Windows 7 and OS/X 10.6 (<a href="http://apple.com/snowleopard">Snow Leopard</a>) seem to perform well and bug free.  I&#8217;ll be pushing them a bit harder in the coming days to see what happens.  So far though I&#8217;ve had no issues.  The Native clients can be set to multiple drive or single drive mode.  The Windows client defaults to single drive mode with all of your connected drives showing up as P:\&lt;Device Name&gt;.  The OS/X (and I assume Linux clients) default to multiple drive mode with all of your connected drives showing up as separately mounted volumes.</p>
<p>You also can not initialize (format) a drive from the Pogoplug.  So you have to format your removable devices with a PC/Mac first.  This rather minor since if you have this device, then you have a machine, and the drives are removable by nature.</p>
<p>Performance is also very good, thanks in no small part to the speedy embedded Orion SoC, the Ethernet controller also has <a href="http://en.wikipedia.org/wiki/TCP_segmentation_offloading">TSO</a>, Receive and Transmit Checksum Offloading (part of <a href="http://en.wikipedia.org/wiki/TCP_Offload_Engine">TOE</a>) which helps keep the CPU free from a lot of overhead.  These offload features are common in higher end servers and many &#8216;gaming&#8217; Ethernet adapters.  Having a 1.2GHz CPU and these helpful hardware offload engines means that the CPU doesn&#8217;t work too hard and the performance will generally be limited by the RAM speeds.  To get the full LAN performance you do need to install the native clients.  The unit may be a little slow when you first start it as it indexes your files for searching and generates thumbnails and video previews.  This latter bit enables one of the more interesting features, search.</p>
<p>You can search all of your Pogoplug drives relatively easily from the WebUI, I haven&#8217;t toyed with this much yet but on the drive after you mount it the Pogoplug software creates a .ceid file that includes the name of the device and the version of the metadata, and a .cedata directory holding an <a href="http://www.sqlite.org/">SQLite 3</a> database file for indexed information and directories for the generated thumbnails and video previews.</p>
<p>The Pogoplug also &#8216;integrates&#8217; with <a href="http://facebook.com">Facebook</a>, <a href="http://myspace.com">MySpace </a>and <a href="http://twitter.com">Twitter</a>.  The Twitter support is definitely buggy, I was able to authenticate to it for one drive but not for another, and after signing out I have been unable to authenticate again.  Once setup you can &#8216;share&#8217; a folder to these services and the unit will post updates whenever the folders are changed.  The update includes a (public) link to the folder&#8217;s contents.  Users can then download the data.  However the data is pushed directly from your Pogoplug so you must be connected via broadband.</p>
<p>On the hardware side inside the case there&#8217;s <a href="http://www.pogoplugged.com/forum/thread/12366/Pins-for-the-two-connectors-on-the-v2-Pink-board">documented JTAG and Serial Port</a>.  What does this mean?  Well if you&#8217;re asking then it won&#8217;t matter to you.  <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Basically it means that with a <a href="http://en.wikipedia.org/wiki/JTAG">JTAG</a> dongle and a 3.3v FTDI to USB serial adapter you have a $130 ARM9 dev kit, not bad at all.</p>
<p>I haven&#8217;t (yet) opened mine&#8230;I may yet buy another to do just that.  The Orion/Feroceon has a <a href="http://en.wikipedia.org/wiki/SATA">SATA</a> controller that&#8217;s turned off (and quite possibly not even pinned out) on this board.  It also has a second Gig-E MAC thats likewise not available.  The CloudEngines/Pogoplug Engineers do read their forums, and seem to be (refreshingly!) helpful to those people who ask specific questions about the hardware and essentially how to use it as a dev platform, de-<a href="http://en.wikipedia.org/wiki/Brick_%28electronics%29">brick</a> it, etc.  Being so helpful as to even link to DigiKey Parts for the mating connectors to the JTAG/Serial ports.</p>
<p>There are some chinks.  It has a NEON PINK &#8220;foot&#8221;.  The device has no &#8216;shutdown&#8217; command (either via WebUI or SSH, or anything) so you can&#8217;t cleanly shut down the unit, you have to manually eject via the WebUI.  Unplugging the device, at least with HFS+, can cause the filesystem to come up ReadOnly with no way to fix it from the Pogoplug short of ejecting the device and manually running the included chkhfs utility.  Even that may not work since the utility is based off hfsprogs, which aren&#8217;t very good.  It will claim errors, not tell you what they are, and refuse to fix them.  Morale, either eject before you unplug the Pogoplug, or use other, better supported, filesystems.  I also have no clue what happens to the device when it loses Internet connectivity.  It may turn into a pretty pink and white brick, I don&#8217;t know, that&#8217;s one of the only things that actually worry me so far. I&#8217;ll be toying with that in coming days and make an updated post time permitting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/02/15/pogoplugged/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An attempt to explain IPv6 and IP Routing to the layperson</title>
		<link>http://www.dotblag.com/2010/01/05/an-attempt-to-explain-ipv6-to-the-layperson/</link>
		<comments>http://www.dotblag.com/2010/01/05/an-attempt-to-explain-ipv6-to-the-layperson/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 22:35:53 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[Net.working]]></category>
		<category><![CDATA[Soft.ware]]></category>
		<category><![CDATA[IPv4]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[routing]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=161</guid>
		<description><![CDATA[Me again, yup.  Been a while eh?  Well, I&#8217;ve been busy.  Rebuilding a pretty big site essentially from scratch.  Trust me, I have plenty of things to rant about!  This post though I hope to be another informative, less ranting, post about IPv6. I keep seeing a LOT of well meaning but mis-informed or mis-understood [...]]]></description>
			<content:encoded><![CDATA[<p>Me again, yup.  Been a while eh?  Well, I&#8217;ve been busy.  Rebuilding a pretty big site essentially from scratch.  Trust me, I have plenty of things to rant about!  This post though I hope to be another informative, less ranting, post about IPv6.</p>
<p>I keep seeing a LOT of well meaning but mis-informed or mis-understood claims about IPv6, even in technical circles.  What I am going to try to address here though is from the every persons point of view.  What it is, why we need it, what it fixes, why it&#8217;s hard to deploy/make available, what it (may) mean for an individual user.</p>
<p>The article here was sparked by <a href="http://io9.com/5440087/will-the-internet-run-out-of-space-in-the-next-4-years">IO9&#8242;s Article</a>.</p>
<h1>What Is IPv6?</h1>
<p>Well simply put it is Internet 2.0 or Web 2.0, despite what you may have heard from the media.  IPv6 is short for Internet Protocol Version 6.  We currently use IPv4. IPv6 has a truely massive number of addresses (really, it doesn&#8217;t relate in simple terms).  IPv4 has around 4 Billion addresses, of which about 3 Billion are useable.  IPv6 though is big enough to give every person on the earth, every device, every item, it&#8217;s own group of say a million addresses, and still have many trillions left over.</p>
<h1>Why is IPv6 the Real Web 2.0?</h1>
<p>AKA Why is it so had to get IPv6 out there?</p>
<p>Because it requires touching and replacing or modifying every router, every piece of software, every device, in order to support it.  Your web browser, your operating system (Windows, Linux, OS/X), your Internet router/gateway (which a LOT of people confuse between ethernet switches and these things), your wireless access points, your ISPs equipment, your TiVo, your smart phone, everything.  This is also why it&#8217;s so very hard to get out there.</p>
<p>Now the tech heads and geniuses out there responsible for this have developed a number of ways to assist this migration to IPv6.  To allow IPv4 and IPv6 to sort of talk to each other.  They can easily exist together, but talking to each other is another matter entirely.  These methods are not perfect, they suck actually.  From the IPv4 side, it&#8217;s like sending a letter addressed to a city rather than a person.  For IPv6 it&#8217;s easier, in fact, there&#8217;s a block of IPv6 addresses (these blocks of addresses are called a prefix, like an area code, so I&#8217;ll use the term prefix from here on out) that are set aside to map directly to the old IPv4 addresses.  That&#8217;s how big the address space in IPv6 is!  Whats the number?  OK you REALLY sure you want to know?  Fine.  2<sup>128</sup> &#8212; Two to the power of 128.  That&#8217;s in scientific notation 3.4*10<sup>38</sup> or a 34 followed by 38 zeroes (rounded).  How big is that? Every single dollar bill of the American national debt could be individually numbered.  And we&#8217;d still have a LOT of space left over.  Heck we could give out a Trillion addresses to every person, device, or object on the planet, and still be likely to have leftovers.  <a href="http://www.tcpipguide.com/">The TCP/IP Guide</a> has <a href="http://www.tcpipguide.com/free/t_IPv6AddressSizeandAddressSpace-2.htm">a Section On IPv6 Address Space Size</a></p>
<p>IPv4 addresses are everywhere.  Dotted quad&#8217;s we call them.  4.2.2.1 &#8212; 127.0.0.1 &#8230; etc.  Largely people are ignorant of them, and they damn well should be.  Numbers are for computers.  Humans name things, computers number them, and computers are REALLY good at translating and mapping between the two.  DNS is the protocol that does this.  And in that it&#8217;s been so successful that the vast majority of Internet users have no clue whatsoever that IP addresses (v4 or v6 or otherwise) even exist!  DNS itself needs to be revamped as a protocol in order to support IPv6 (and it largely has been) &#8212; and then redeployed too, globally.  This is taking place bit by bit.</p>
<p>E-Mail.  Every mail server has an IP address (or more than one in many cases).  It receives connections on that address from other mail servers and mail clients asking them to receive mail for, or send mail to, a given email address (user at domain).  Spam filtering software.  Anti-Virus software.</p>
<p>All of this stuff is on the list of things that need to be modified, or replaced for IPv6 support. The list is huge.</p>
<h1>Why Do We Need IPv6?</h1>
<p>We&#8217;re running out of IPv4 addresses.  No one in the beginning could possibly imagine that there would be such a huge number of devices connected to the Internet.  Now almost every phone, game console, and electronic device has some form of Internet connectivity.  That doesn&#8217;t necessarily mean each of these devices needs a globally unique address, but it makes things easier, faster, more reliable, and cheaper if each device does.  The reason is that if you use NAT (many many homes do this) your private address has to be mapped to a public one at some point.  This device has to keep track of each and every connection from each and every device that it&#8217;s performing this mapping for.  Worse some protocols put IP addresses inside of their data, and so the NAT has to know about these protocols, identify them, and modify the information inside the packets for these protocols!  (FTP is one such protocol, HTTP is not).</p>
<h1>Well why not reuse all those &#8220;Web 1.0&#8243; addresses?</h1>
<p>IPv4 is &#8220;Web 1.0.&#8221;  The media gave us all that term, and most people have no idea what it means.  <a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a> (Go ahead and look, we&#8217;ll wait here) really only describes a bunch of web browser, JavaScript,  and HTML technologies and says nothing about the actual core guts of the internet <a href="http://en.wikipedia.org/wiki/Internet_Protocol">IP</a>, <a href="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</a>, <a href="http://en.wikipedia.org/wiki/BGP">BGP</a> (this is the ISP to ISP route sharing protocol &#8212; every ISP &#8220;core&#8221; router HAS to speak this to other ISPs), <a href="http://en.wikipedia.org/wiki/Open_Shortest_Path_First">OSPF</a> (this is one of a number of ISP internal route sharing protocols, <a href="http://en.wikipedia.org/wiki/MPLS">MPLS</a>.  Nor anything about a lot of other core internet protocols like <a href="http://en.wikipedia.org/wiki/HTTP">HTTP</a>, <a href="http://en.wikipedia.org/wiki/SMTP">SMTP</a>, <a href="http://en.wikipedia.org/wiki/IMAP">IMAP</a>, etc.</p>
<h1>So wow I will get my own unique addresses?!</h1>
<p>No, not likely.  This is because of the way that &#8220;core routers&#8221; (there&#8217;s no such thing by the way, which I will try to address in a moment) have to keep track of each unique destination.  Right now, and for the foreseeable future with both IPv6 and IPv4 the ay this works is that a ISP get a BIG block of addresses (BIG being relative in the terms of IPv4 or IPv6 &#8212; with IPv6 they get a LOT more space&#8230;enough in fact to have an IPv6 address within their own network for each IPv4 address and still have a billion left)&#8230; So they tell the other ISPs they&#8217;re connected to about that one big block, not about individual customers or devices.  They say to their neighbor &#8220;I can deliver packets to addresses beginning with 127.0, pass it along.&#8221;   Another ISP might have 127.1 another might have 127.2.0-15, etc.  IPv6 does the same thing.  IPv6 addresses are just so much longer I&#8217;m not using them in this example.  The neighbors only know about and remember the big block of addresses, not the individual addresses or smaller blocks given to individual customers.</p>
<p>Now within an ISP they keep track of many more much smaller blocks of addresses, maybe even down to individual addresses.  Inside an ISP similar trading of information on what addresses are served by which of their routers happens (no this does NOT happen with the average end user!).  The difference here is that since they&#8217;re all internal addresses, and a router notices when two or more addresses or blocks occur contiguously, they are often aggregated into a single larger block.  Think of it like this.  Router A is connected to B C D and E, E is connected to F and G.  F has 1 2 and G has 3 4.  E knows this, instead of telling A about 1 2 3 4 (and A further telling B C and D about 1 2 3 4) it just tells A 1-4.  Imagine this for a few hundred, and you can see the savings.  Instead of passing along each individual number it just tells it a range of numbers.  There are restrictions on how these ranges are made up (for the geeks out there it has to be on a bit boundary), but that&#8217;s the basic idea.</p>
<p>Wait what&#8217;s so different about inside an ISP versus outside?!  &#8212; simple, inside the ISP they know the adjacent addresses STAY adjacent and are inside the same entity, themselves.  Out in the bigger internet you can&#8217;t do that.  You might own 1 and 2, but someone else is 3 and 4.  And you don&#8217;t want packets for 3 and 4 arriving at your doorstep, now do ya?  Well that&#8217;s what would happen if the big ISPs aggregated routes together like that, because once a route is aggregated it loses it&#8217;s own unique identity.</p>
<p>Whats so wrong with having lots of routes then?  Two things, memory and speed.  Memory is finite.  And the memory used in big &#8220;core routers&#8221; is far more expensive (and far faster too) than your desktop or laptop memory.  Speed is the other reason.  Big routers have less than a microsecond to decide where a packet is supposed to be going, and do something about it. They make a huge number of these decisions in parallel too, and each of these decisions have to reference some part of the database of what-goes-where that the router has built up for itself based on who it&#8217;s connected to, and what they say they are connected to.</p>
<h1>Earlier you said there&#8217;s no such thing as a &#8220;core router&#8221;?</h1>
<p>Indeed I did.  For this discussion, you don&#8217;t have a router.  Indeed we at ISPs call what you have CPE, Cutomer Premise Equipment, or an End User Gateway Device.  They&#8217;re meant to connect one machine, or a very small number of machines (4-5 at most typically) to the ISPs router and from there the internet at large.</p>
<p>The internet is a bit more like a web.  A cobweb.  Lots of different parts connected in lots of different ways.  You as a end user are only connected at one point, to your ISP via your cable modem, DSL line, satellite, smart phone, or, old fashioned dial up modem.  Your ISP, if it&#8217;s a small local ISP will be connected to 2 or more (usualy atleast 3 or 4) larger ISPs, and possibly some other small local ISPs or local business customers that have their own routers.  Each of these routers tell each other who they&#8217;re connected to.  As connections between ISPs are made, and broken, this changes.  Each of these changes ripples through the internet, so when an ISP in say Missoula, MT disconnects from another ISP here in Montana that has been telling everyone it&#8217;s connected to that it is connected to that ISP, every big ISP knows in seconds, and every small ISP in some seconds after that.  So what just happened in Missoula, MT is known in Beijing, China in very short order.</p>
<p>This is also another reason why individuals can&#8217;t have unique addresses that move between ISPs  You may not move from one ISPs territory to another very often, but there are billions of people out there.  Imagine now that those updates too have to be propagated and stored.  Starting to see the problem?</p>
<p>Larger businesses with dozens or hundreds or workstations, or on site servers, or other specil high reliability requirements connect to ISPs in much the same way as ISPs connect to each other, they just don&#8217;t say to ISP B &#8220;hey I am connected to ISP A so you can reach ISP  A through me&#8221; but they do tell both A and B that they have the addresses 6 7 and 8 say.  This is called <a href="http://www.tcpipguide.com/free/t_NumberofIPAddressesandMultihoming.htm">multihoming</a>.  Why?  Well think of an ISP as a &#8220;home&#8221; for an address.  Your address exists at multiple &#8220;homes&#8221; when you connect with multiple ISPs and advertise to each of them your block of addresses.  There&#8217;s an intentional barrier to entry here because ISPs do not want, and cannot support, an unlimited number of these connections, because each of these connections requires the Internet as a whole to see and remember the unique block of addresses assigned to that business.  And whenever that business disconnects (say they&#8217;re upgrading their network or have a long lasting power outage) from one ISP or the other, the whole Internet hears about it, each router tells all it&#8217;s neighbors about that change in connectivity.</p>
<p>There&#8217;s a LOT of research going on into better ways of dealing with the global routing table (that&#8217;s what it&#8217;s called&#8230;but there really isn&#8217;t one table, it&#8217;s more like each router has it&#8217;s own idea or ideas at what the routing table looks like right *now* and if you wait even half a second, it&#8217;s going to change, probably several times) but no one has found a silver bullet yet.  And even if/when they do, there&#8217;s still the same problem we have with IPv6, all the ISPs have to adopt and deploy it, everywhere.</p>
<p>If there&#8217;s interest I&#8217;ll go into TCP/IP, UDP/IP, DNS, and BGP/OSPF/Routing in a separate article (or articles).  How a connection is established, what NAT is, what a Firewall is/does and why NAT and firewalling are different, and why routing is different than those two.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2010/01/05/an-attempt-to-explain-ipv6-to-the-layperson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When +12VDC&#8230;.Isn&#8217;t or Why to avoid cheap wall warts</title>
		<link>http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/</link>
		<comments>http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 18:37:26 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Fail]]></category>
		<category><![CDATA[.Hardware]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=138</guid>
		<description><![CDATA[First excuse the err&#8230;crude &#8220;Screen Shots&#8221; &#8211; I don&#8217;t have my &#8216;scope setup yet for proper screen captures so I just took pictures. For a while now I&#8217;ve had a +12VDC wall wart that I use occasionally.  It always caused weird heating though in regulators.  I was never sure why, the multi-meter read it as [...]]]></description>
			<content:encoded><![CDATA[<p>First excuse the err&#8230;crude &#8220;Screen Shots&#8221; &#8211; I don&#8217;t have my &#8216;scope setup yet for proper screen captures so I just took pictures.</p>
<p>For a while now I&#8217;ve had a +12VDC wall wart that I use occasionally.  It always caused weird heating though in regulators.  I was never sure why, the multi-meter read it as having a fairly stable +12VDC.  I finally hooked it up to an oscilloscope today&#8230;well now atleast  I know why&#8230;</p>
<p>It&#8217;s supposed to be producing +12VDC, center positive.  What you&#8217;re looking at is the center pin (tip) on the yellow (CH1) channel, and the ring  (or barrel) on CH2.  The trigger is on CH1 @ the rising edge of the wave at 20V.  As you can see it&#8217;s getting voltages as high as +65V and as low as -110V.  It follows the AC line perfectly, the cycle time measured by the scope almost exactly matches that of the AC line.  In fact if I trigger on the AC line (this scope can trigger from it&#8217;s AC line input) the waveform stays completely steady.
<a href='http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/hpim0773/' title='HPIM0773'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/09/HPIM0773-150x150.jpg" class="attachment-thumbnail" alt="HPIM0773" title="HPIM0773" /></a>
<a href='http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/hpim0775/' title='HPIM0775'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/09/HPIM0775-150x150.jpg" class="attachment-thumbnail" alt="HPIM0775" title="HPIM0775" /></a>
</p>
<p>The second picture shows in red what a multi-meter reads.  Which the scope reproduces by differencing CH1-CH2.  The ripple is a bit better when it has a load but it&#8217;s still producing these ridiculously high voltages.</p>
<p>So, it&#8217;s producing +12V&#8230;sorta.  Only as a function of the difference between it&#8217;s own +/- reference.  Even a good multimeter can be fooled by a bad signal.  Normally you&#8217;d probably never even notice this because you&#8217;d hook your multimeter up to your projects GND which is usually the &#8211; on the power supply.  If you&#8217;d tied this wall warts &#8211; to GND, you&#8217;d either cook it, or hit it&#8217;s current limiter, or both.  This little sucker is probably going to be dismantled and tossed.</p>
<p>BEWARE CHEAP WALL-WARTS!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/09/18/when-12vdc-isnt-or-why-to-avoid-cheap-wall-warts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What would you make?</title>
		<link>http://www.dotblag.com/2009/08/25/what-would-you-make/</link>
		<comments>http://www.dotblag.com/2009/08/25/what-would-you-make/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 07:07:17 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[molex]]></category>
		<category><![CDATA[reflow]]></category>
		<category><![CDATA[smd]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=128</guid>
		<description><![CDATA[For the few people who actually read this you may or may not know I&#8217;m an amateur/hobbyist electronics nerd.  I&#8217;ve recently gotten back into building custom circuits.  I&#8217;ve got a couple prototypes on the way and am in a sort of holding pattern until they arrive.  One of which I realized I fudged up, but [...]]]></description>
			<content:encoded><![CDATA[<p>For the few people who actually read this you may or may not know I&#8217;m an amateur/hobbyist electronics nerd.  I&#8217;ve recently gotten back into building custom circuits.  I&#8217;ve got a couple prototypes on the way and am in a sort of holding pattern until they arrive.  One of which I realized I fudged up, but I think I can fix it with some judicious application of green wire.</p>
<p>SO! While I&#8217;m waiting for those, I was wondering, by comments, if you could make something what would you make?  You never know, I might just throw it together.</p>
<p>Oh and for those wondering what I fudged (and realized that it was fudged like really, just hours after sending it to the PCB house and past the point of no return) it&#8217;s a ZIF socket fixture for my STK500 (well or any AVR 10 Pin Programmer) for 28PIN ATMEGA168 compatible DIP parts The next rev will be much better.  I forgot to put space for an external oscillator which I use in most of my circuits&#8230;the cost of the oscillator and caps is negligible but gives you a much more stable, and if you want faster, clock. Without that you can&#8217;t actually program the microcontroller once it&#8217;s set to use an external clock.</p>
<p>The other board is going to undergo some serious changes too, but in it&#8217;s basic form will probably be used atleast initially as the basis for my own toaster reflow oven for soldering surface mount components (like <a href="http://en.wikipedia.org/wiki/QFN">QFN/MLF</a> bastards with blind thermal pads).  It also makes it WAY easier to do SMD&#8217;s because you basically put some solder paste on the board, place the parts, then bake them.  You just basically touch the solder melting (flow) point for ~45 seconds or so, then let the parts cool.</p>
<p>I do have some ideas, but the ones I&#8217;ve got pending will depend on if the oven project is successful or not <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   It should be, but the one I&#8217;m thinking of will really need surface mount components.  So will an improved rev of the controller board for the oven itself, which is actually for a completely different project! <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   That&#8217;s the beauty of software.</p>
<p>I&#8217;ve finally found a relatively cheap place to have boards fabbed up, it just takes ~3 weeks turn-around.  But I can have single boards done for around $15 S&amp;H + a cost for their size.</p>

<a href='http://www.dotblag.com/2009/08/25/what-would-you-make/glofly-mainbrd-v12/' title='glofly-mainbrd-v12'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/08/glofly-mainbrd-v12-150x150.png" class="attachment-thumbnail" alt="glofly-mainbrd-v12" title="glofly-mainbrd-v12" /></a>
<a href='http://www.dotblag.com/2009/08/25/what-would-you-make/glofly-mainbrd-v13/' title='glofly-mainbrd-v13'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/08/glofly-mainbrd-v13-150x150.png" class="attachment-thumbnail" alt="glofly-mainbrd-v13" title="glofly-mainbrd-v13" /></a>

<p>versions 1.2 (sent out for actual prototype) and version 1.3 (in progress) &#8212; depending on how well things work out with converting the 1.2 board to a toaster reflow oven&#8230;or if i can work out an alternate hot plate system v1.3 will quite probably switch to using SMD&#8217;s for the ATMega, the MAX232, most or all of the resistors and capacitors, and probably even the LEDs.</p>
<p>Why is SMD so much better?  Well first the parts are smaller, second, if you take a look at those pictures you see that the pins themselves on DIPs are *HUGE* compared to the traces.  And each pin/pad punches a hole through your board reducing the space you have to run signals.  v1.3 there as you see it took quite a bit of massaging to get everything.  v1.2 has a DB-9 (serial) port pictured, v1.3 right now has a <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=WM4730-ND">Molex part</a> that&#8217;s very similar to a PC to motherboard power connector.  I&#8217;m still debating on exactly what to deploy with that one.  Ultimately I want a weather tight connector.  The ones I&#8217;m looking at now actually mount with a pig tail, but they&#8217;re spendy, though they&#8217;re fully sealed.  Really it probably doesn&#8217;t matter as the parts are all pretty hard to kill.  The Molex connector causes the problem that I have a hard time getting the bigger traces to it for the relays, so the NO/NC/Center traces for the relays I was manually routing for a bit there&#8230;and may end up doing that in the final product too.  v1.3 also has three <a href="http://en.wikipedia.org/wiki/Resettable_fuse">PTC self resetting fuses</a> to protect the board that I omitted in v1.2.  I don&#8217;t ever plan on letting anyone else get ahold of v1.2, it is 100% prototype, v1.3 though I want to be the first real board.  I also set things up so you could make the board (well should be able to) somewhat Arduino compatible, but the oscillator I use is a lot faster than the <a href="http://arduino.cc">Arduino</a> sheet&#8217;s I&#8217;ve seen.  I have NO experience with them, but it was a simple hack to put the jumpers in so I could play with it.</p>
<p>For BOTH boards what you&#8217;re NOT seeing is the ground plane and +5v plane &#8220;fill&#8221; polygons of copper.  Thats part of what took a lot of tweaking in v1.3 &#8212; in v1.2 I didn&#8217;t look much at it.</p>
<p>Why?  Well&#8230;why not?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/08/25/what-would-you-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So who has egg now?</title>
		<link>http://www.dotblag.com/2009/07/26/so-who-has-egg-now/</link>
		<comments>http://www.dotblag.com/2009/07/26/so-who-has-egg-now/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 20:39:37 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Fail]]></category>
		<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[dev.urandom]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=115</guid>
		<description><![CDATA[I originally wrote this back in about August, and WordPress apparently lost it during an upgrade or something.  Most likely the fault of a beta version of  WordPress. I have a bit of egg on my face.  I trusted the LSI people a bit too much.  There was a critical race problem in their driver [...]]]></description>
			<content:encoded><![CDATA[<p>I originally wrote this back in about August, and WordPress apparently lost it during an upgrade or something.  Most likely the fault of a beta version of  WordPress.</p>
<p>I have a bit of egg on my face.  I trusted the LSI people a bit too much.  There was a critical race problem in their driver for the 84016E &#8230;  to their credit they fixed it in June.  I found a workaround before we figured that bit out, thank god Solaris&#8217; fault management systems, psradm to the rescue, since it was a race problem with unaligned mutexes, using that and offlining all the other CPUs solved it a treat. To LSI&#8217;s discredit they updated some pages but not others.  I installed 1.17 driver version, current was 1.23.  If you looked at the 84016E page the day I downloaded it was 1.17.  Sun pointed out 1.23 was available on the 8888ELP page.  I downloaded and installed that, very happy from then on out.  To LSI&#8217;s credit there was a human answering the phone immediately, late Sunday, who could get someone working on the problem right away.  I&#8217;d already worked around the issue so was ok to let it sit till first thing Monday AM.  Even Sunday, immediately got a person who was willing and able to start a case, get it in front of their actual-people-who-do-the-development.</p>
<p>Despite the page update issues, and crash, LSI wins for having support (and english to boot) and being ready and willing to at least try to solve the problem.  If it were an emergency still they were willing to (for a *reasonable* hourly fee mind you) get someone working on it right away that Sunday even.  I call this a Good Thing.  So, despite the VERY rough start LSI still wins me over in the end because of customer support.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/07/26/so-who-has-egg-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It want&#8217;s my monies! But not all of them&#8230;</title>
		<link>http://www.dotblag.com/2009/07/26/it-wants-my-monies-but-not-all-of-them/</link>
		<comments>http://www.dotblag.com/2009/07/26/it-wants-my-monies-but-not-all-of-them/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 20:32:05 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[dev.urandom]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=111</guid>
		<description><![CDATA[American Science &#38; Surplus is a great little place a friend of mine just introduced me to.  It is what it says, like Army/Navy Surplus, but for geeks!  They have some interesting stuff, but beware, it IS SURPLUS!  Good stuff nonetheless]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sciplus.com">American Science &amp; Surplus</a> is a great little place a friend of mine just introduced me to.  It is what it says, like Army/Navy Surplus, but for geeks!  They have some interesting stuff, but beware, it IS SURPLUS!  Good stuff nonetheless</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/07/26/it-wants-my-monies-but-not-all-of-them/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Old School</title>
		<link>http://www.dotblag.com/2009/07/22/old-school/</link>
		<comments>http://www.dotblag.com/2009/07/22/old-school/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 03:17:53 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[dev.urandom]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=108</guid>
		<description><![CDATA[So being the type of &#8220;computer history&#8221; nerd I am I got one of my odd and unusual itches. This time I wanted to poke around with MVS (and it&#8217;s correspondng JCL) and TSO.  TSO is Time Sharing Option&#8230;A multi-user environment, something we tend to take completely for granted.  I did this with the help [...]]]></description>
			<content:encoded><![CDATA[<p>So being the type of &#8220;computer history&#8221; nerd I am I got one of my odd and unusual itches. This time I wanted to poke around with <a href="http://en.wikipedia.org/wiki/MVS">MVS</a> (and it&#8217;s correspondng <a href="http://en.wikipedia.org/wiki/Job_Control_Language">JCL</a>) and <a href="http://en.wikipedia.org/wiki/Time_Sharing_Option">TSO</a>.  TSO is Time Sharing Option&#8230;A multi-user environment, something we tend to take completely for granted.  I did this with the help of <a href="http://www.hercules-390.org/">Hercules</a> which is a <a href="http://en.wikipedia.org/wiki/System/370">System/370</a>, <a href="http://en.wikipedia.org/wiki/System/390">System/390</a>, and <a href="http://en.wikipedia.org/wiki/Z/Architecture">z/Architecture</a> emulator for Linux, Windows, and OS/X.</p>
<p>It&#8217;s odd working on something that is so completely opaque as compared to modern systems.  There are a number of assumptions that are rather quite opposite of modern systems.  For starters it uses the <a href="http://en.wikipedia.org/wiki/3270">3270 terminal</a> system which functions more like form based web pages than more modern <a href="http://en.wikipedia.org/wiki/VT100">VT100 </a>and <a href="http://en.wikipedia.org/wiki/ANSI_escape_code">ANSI</a> systems.  Why?  Because the 3270 does NOT operate character-at-a-time but instead operates in a form fill/field fill type of mode, much like a web page.  VT100 and ANSI both operate character-at-a-time, interrupting the host CPU for each character sent.  The 3270 system writes out a block of data, then interrupts the CPU to begin processing.  This means that old 370 and 390 based systems supported hundreds or thousands of terminals with just 32MB or 64MB of main memory!  Amazing!</p>
<p>So there is no way for vi to work for example, since vi requires character-at-a-time capabilities, thats not to say one couldn&#8217;t mock up VT100 or ANSI into the system, it&#8217;s just very much not built for it.</p>
<p>Then we have the different way in which it deals with what we today call a <a href="http://en.wikipedia.org/wiki/File_System">file system</a>.  There isn&#8217;t any sort of directory structure, just a hierarchy convention of separating elements with &#8220;.&#8221; (dot/period).  Thus you end up with files named things like SYS2.CONTROL.</p>
<p>It&#8217;s more complicated than that, but you should all be thankful that we have modern file systems and terminal systems.  Doing simple things like getting a directory listing is an &#8216;odd&#8217; thing in MVS/TSO. <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/07/22/old-school/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serverpr0n</title>
		<link>http://www.dotblag.com/2009/02/04/serverpr0n/</link>
		<comments>http://www.dotblag.com/2009/02/04/serverpr0n/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 01:16:47 +0000</pubDate>
		<dc:creator>SysOp</dc:creator>
				<category><![CDATA[.Hardware]]></category>
		<category><![CDATA[.WTFMate?]]></category>
		<category><![CDATA[dev.urandom]]></category>

		<guid isPermaLink="false">http://www.dotblag.com/?p=76</guid>
		<description><![CDATA[    My server&#8217;s bigger than youuuurs&#8230;. !]]></description>
			<content:encoded><![CDATA[<p> </p>

<a href='http://www.dotblag.com/2009/02/04/serverpr0n/picture-101/' title='RAM'><img width="150" height="111" src="http://www.dotblag.com/wp-content/uploads/2009/02/picture-101-150x111.png" class="attachment-thumbnail" alt="64GB RAM" title="RAM" /></a>
<a href='http://www.dotblag.com/2009/02/04/serverpr0n/picture-111/' title='DISK'><img width="150" height="150" src="http://www.dotblag.com/wp-content/uploads/2009/02/picture-111-150x150.png" class="attachment-thumbnail" alt="2TB DISK" title="DISK" /></a>

<p> </p>
<p>My server&#8217;s bigger than youuuurs&#8230;. <img src='http://www.dotblag.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotblag.com/2009/02/04/serverpr0n/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.789 seconds -->
