Engineering Trivia
Gary Schafer, 22 September 2010
Ever wanted to one-up an engineer? Here's your chance. Consider these two "little known facts of RF".
1) Why is it called CW? Yeah, CW stands for "continuous wave". But continuous with respect to what? Back at the beginning of the 20th century, scientists and engineers, such as the famous Marconi, transmitted wireless signals using a device called a spark gap generator. The device literally created a spark, a short, intense burst of energy. It was this spark that created the wireless signals. A Canadian, Reginald Fessenden, was convinced that a continually-generated sine wave would prove much better for long distance transmission. And he was someone who could back up his claims. On December 23rd 1900, Fessenden created the very first audio transmission. It was between two wireless devices using spark gap generators (sparking 10,000 times each second) placed 1,600 meters apart on Cobb Island, Maryland. Marconi and those around him did not agree. Besides, Marconi was in it for the money. Fessenden was actually in it to improve the art. (Sound familiar?) Fessenden was able to actually make a continually-generated sine wave in the early 1900s. On 24 December 1906, Fessenden made the very first audio broadcast from his facility in Brant Rock, Massachussetts. The transmission, continuous waves (CW) using his new heterodyning technique, reached out to many ships at sea, including all the way to the West Indies. In short order, his new method became the accepted method for creating transmissions. AM stations began being set up all over the country. The rest is history.
2) System thermal noise is calculated using the equation Noise Power = kTB. But where did kTB come from? It's a straightforward (perhaps even simple) calculation. Boltzmann's constant (k) times the noise temperature of the system (T) times the bandwidth (B) of the system. But these three letters were derived from two, separate sources. In 1927, JB Johnson, a Swedish-born American engineer, conducted experiments using several high-quality vacuum tubes. The vacuum tube was just starting to mature and designers were finding that, no matter how well they made their tubes, they still produced a noticeable hiss even when nothing was connected to them. But why? Johnson was able to figure out that what mattered was the temperature that the tube was at. The higher the temperature, the more noise came out. He then determined that the mean-square voltage coming out of the tube was based on several factors, including k, T, B, R (the resistance of the circuit), and frequency. Based on his calculations, he realized that the frequency factor was essentially one through all frequencies of interest. (As a matter of fact, the frequency factor is 1 until you hit 100 GHz or so.) When you calculate the actual power, which is voltage-squared over R, the R part cancels and you're left with... kTB. Another engineer, one Harold Nyquist (Yes, that Nyquist.) proved mathematically in 1928 the exact, same thing. Nyquist made use of quantum physics and the work of a patent-clerk-turned-physicist named Albert Einstein. Einstein had published a small, obscure article (hope you caught my sarcasm there) in 1905 called "The Theory of Relativity", which Nyquist used to provide several of the key arguments for his proof. It was at that time that, with both empirical and mathematical proof, kTB was accepted as a basic limit for any and all receivers.
Finishing Up Looking at our Hardware in Linux
Gary Schafer, 19 September 2010
In my last article on looking at Linux hardware, I looked at the lshw (or list hardware) command. I also noted that there were certain pieces of information that it would not provide. Specifically, it did not provide:
- the number of cores on the motherboard
- the maximum memory capacity of the motherboard
- the speed of the PCI slots on the motherboard
We'll look at using the dmidecode to glean this information from our system. First, we'll look at finding the number of cores on your motherboard. For this, we'll use the command sudo dmidecode -t processor. This is shown below.
gary@brain:~$ sudo dmidecode -t processor
# dmidecode 2.9
SMBIOS 2.6 present.
Handle 0x0004, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU 1
Type: Central Processor
Family: Other
Manufacturer: Intel
ID: E5 06 01 00 FF FB EB BF
Version: Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz
Voltage: Unknown
External Clock: 133 MHz
Max Speed: 2800 MHz
Current Speed: 2800 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0005
L2 Cache Handle: 0x0006
L3 Cache Handle: 0x0007
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 4
Core Enabled: 4
Thread Count: 8
Characteristics:
64-bit capable
Look at the line labelled core count: 4. This tells me that I have a system with 4 cores, or a quad core machine. Next, we'll answer the question of "What is the maximum memory capacity of the system?" For that, we'll use the command sudo dmidecode -t memory.
gary@brain:~$ sudo dmidecode -t memory
# dmidecode 2.9
SMBIOS 2.6 present.
Handle 0x0024, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0026, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0024
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: Not Specified
Type: Other
Type Detail: Synchronous
Speed: 1066 MHz (0.9 ns)
Manufacturer: Samsung
Serial Number: 40CA9F87
Asset Tag: 000209
Part Number: M378B5673EH1-CF8
Handle 0x0028, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0024
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: Not Specified
Type: Other
Type Detail: Synchronous
Speed: 1066 MHz (0.9 ns)
Manufacturer: Samsung
Serial Number: F6C89F87
Asset Tag: 000209
Part Number: M378B5673EH1-CF8
Handle 0x002A, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0024
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: Not Specified
Type: Other
Type Detail: Synchronous
Speed: 1066 MHz (0.9 ns)
Manufacturer: Samsung
Serial Number: 38C99F87
Asset Tag: 000209
Part Number: M378B5673EH1-CF8
Handle 0x002C, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0024
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM4
Bank Locator: Not Specified
Type: Other
Type Detail: Synchronous
Speed: 1066 MHz (0.9 ns)
Manufacturer: Samsung
Serial Number: 35C99F87
Asset Tag: 000209
Part Number: M378B5673EH1-CF8
Look in the section at the very top of the read-out. This is the section entitled, Physical Memory Array. If we look in that section, we see a line that reads Maximum Capacity: 16 GB. This tells me that my system can handle a maximum of 16 GB of RAM. Finally, we'll look at the speed of the PCI slots on the motherboard. For this, we use the command sudo dmidecode -t slot.
gary@brain:~$ sudo dmidecode -t slot
# dmidecode 2.9
SMBIOS 2.6 present.
Handle 0x001E, DMI type 9, 17 bytes
System Slot Information
Designation: PCI1
Type: 32-bit PCI
Current Usage: Available
Length: Short
ID: 1
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Handle 0x001F, DMI type 9, 17 bytes
System Slot Information
Designation: PCIE1
Type: x1 PCI Express
Current Usage: Available
Length: Short
ID: 2
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Handle 0x0020, DMI type 9, 17 bytes
System Slot Information
Designation: PCIE2
Type: x1 PCI Express
Current Usage: Available
Length: Short
ID: 3
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Handle 0x0021, DMI type 9, 17 bytes
System Slot Information
Designation: PCIE3
Type: x16 PCI Express
Current Usage: In Use
Length: Long
ID: 4
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
This tells me that I have four PCI slots. The first (PCI1) is a standard, 32-bit PCI slot. The next two (PCIE1 and PCIE2) are PCI Express x1 slots. The last one (PCIE3) is a PCI Express x16 slot. This is the slot that is used for the nVidia video card (which dmidecode will not show). Note that these also show whether they are in use (Current Usage: In Use) or available (Current Usage: Available). These come in handy if you want to add another device, but you can't remember what is already installed and finding out by visually looking would be difficult. For example, my desktop is sitting in a slot next to my desk. Looking in the back is a pain. Hence, this command will come in handy if I decide to add a PCI card of some kind.
So, there you are. I hope you've found this useful!
Calculating the Surface Temperature of the Sun... Without Leaving the (Orbit of) Earth
Gary Schafer, 19 September 2010
This post will be about how I overachieve. It occurred after I finished my homework for one of my masters classes. In this case, the class is 525.440 (Satellite Communications) at Johns Hopkins. One of the problems was this:
Above the earth's atmosphere, the average power density from the sun is 1.39 kW/m2. What is the total amount of power being radiated from the sun?
Now, for you non-technical types out there, don't freak. I'll walk you through the answer. To start, we have a power density (1.39 kW/m2) and we have a distance (between the earth and sun, which is ~93 million miles). Being the geek that I am, I looked up on the NASA site the mean distance between the earth and sun, which was listed as 149.6 million kilometers, or 149.6 billion meters. Power density from a transmitter is Pdensity = Pradiated / (4 π R2). Rearranging this equation so that we're solving for Pradiated, we get Pradiated = Pdensity(4 π R2). Plugging in our numbers, this gives us Pradiated = (1390 W)(4 π 149.6E92) = 3.909 x 1026 watts. That's the number 3.9 followed by 25 zeros. Yes, that's a fair amount of power.
That solved my homework problem. But, in my desire to overachieve, I began to wonder about thermography and whether this would provide a hint as to the surface temperature of the sun. Anyway, if we know how much power a surface is radiating and we know the surface area, we can calculate the effective temperature of that surface. That's based on the Stefan-Boltzmann equation of M = σ T4. M is equal to the power density radiating from a surface, σ is the Stefan-Boltzmann constant (5.67 x 10-8 W/m2K4) and T is the absolute temperature in Kelvin. For our problem, we know that the Sun is radiating a total of 3.9 x 1026 watts. And looking back at the NASA site, the mean radius of the sun is 696,000 km, or 696,000,000 meters. The total surface area of a sphere is 4 π R2 = 4 π (6.96 x 108) = 6.087 x 1018 m2. This gives us a value for M = (3.9 x 1026)/(6.087 x 1018) = 6.422 x 107 W/m2. Looking back at the original Stefan-Boltzmann equation and solving for T = (M / σ)1/4 = ((6.422 x 107) / (5.67 x 10-8)1/4 = 5801 K. According to the NASA Sun Fact Sheet, the effective surface temperature of the sun is 5778 K. Not too shabby. Kinda cool, too.
At least, that's how I see it.
Looking At Your Hardware in Linux
Gary Schafer, 12 September 2010
I've stated it before. One of the things I love about Linux is the ability to look at your hardware. Even better, it's using tools that are a basic part of any Linux package. I'm going to offer an overview of different ways to look at your hardware.
These are all command-line commands, so open a terminal (in Ubuntu, this would be Applications -> Accessories -> Terminal). There are two commands that I'll look at. These are sudo lshw and sudo dmidecode. We'll start with the first one. Note that I'm going to snip out a lot of the returned information because it would just cause you to have to scroll forever. I'll also add in some commentary along the way.
gary@brain:~$ sudo lshw
[sudo] password for gary:
brain
description: Desktop Computer
product: Studio XPS 8100
vendor: Dell Inc.
serial: (removed)
width: 64 bits
This tells me that I have a Dell computer (big surprise! Not.) It's printed right on the front of the computer, but its nice to have some corroborating information.
{snip}
*-core
description: Motherboard
product: 0T568R
vendor: Dell Inc.
Once again, this tells me I have a Dell computer, but it also tells me that the motherboard is Dell, also. That's interesting. I thought Dell only put the pieces together. Didn't know they actually made the piece parts.
{snip}
*-cpu
description: CPU
product: Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz
vendor: Intel Corp.
physical id: 4
bus info: cpu@0
version: Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz
serial: To Be Filled By O.E.M.
slot: CPU 1
size: 1200MHz
capacity: 1200MHz
width: 64 bits
clock: 133MHz
This tells me that I'm running an Intel i7 CPU running at 2.8 GHz. What it doesn't tell me is how many cores I have running. When I bought the computer, one of the selling points was that it was a quad (4) core machine. However, we'll see that we can get this information from the other command (sudo dmidecode).
{snip}
*-cache:0
description: L1 cache
physical id: 5
slot: L1-Cache
size: 256KiB
capacity: 256KiB
capabilities: internal write-through instruction
*-cache:1
description: L2 cache
physical id: 6
slot: L2-Cache
size: 1MiB
capacity: 1MiB
capabilities: internal write-through unified
*-cache:2
description: L3 cache
physical id: 7
slot: L3-Cache
size: 8MiB
capacity: 8MiB
capabilities: internal write-back unified
This tells me that I have three levels of cache memory (L1, L2 & L3). It also tells me that these levels are 256 kB, 1 MB, and 8 MB, respectively
*-memory
description: System Memory
physical id: 24
slot: System board or motherboard
size: 8GiB
*-bank:0
description: DIMM Synchronous 1066 MHz (0.9 ns)
product: M378B5673EH1-CF8
vendor: Samsung
physical id: 0
serial: 40CA9F87
slot: DIMM1
size: 2GiB
clock: 1066MHz (0.9ns)
*-bank:1
description: DIMM Synchronous 1066 MHz (0.9 ns)
product: M378B5673EH1-CF8
vendor: Samsung
physical id: 1
serial: F6C89F87
slot: DIMM2
size: 2GiB
clock: 1066MHz (0.9ns)
*-bank:2
description: DIMM Synchronous 1066 MHz (0.9 ns)
product: M378B5673EH1-CF8
vendor: Samsung
physical id: 2
serial: 38C99F87
slot: DIMM3
size: 2GiB
clock: 1066MHz (0.9ns)
*-bank:3
description: DIMM Synchronous 1066 MHz (0.9 ns)
product: M378B5673EH1-CF8
vendor: Samsung
physical id: 3
serial: 35C99F87
slot: DIMM4
size: 2GiB
clock: 1066MHz (0.9ns)
This tells me that I have four memory slots on the main board, and that each slot has a 2 GB memory card. It also tells me that the clock speed is 1066 MHz. The inverse of 1066 MHz is 1/1066e6 = 0.9 nsec. It also tells me that the memory cards are made by Samsung. One thing that this doesn't tell me is how much memory I can have if I wanted to increase it. We'll see how to get that information from the dmidecode command.
*-pci
description: Host bridge
product: Core Processor DMI
vendor: Intel Corporation
physical id: 100
bus info: pci@0000:00:00.0
version: 11
width: 32 bits
clock: 33MHz
*-pci:0
description: PCI bridge
product: Core Processor PCI Express Root Port 1
vendor: Intel Corporation
physical id: 3
bus info: pci@0000:00:03.0
version: 11
width: 32 bits
clock: 33MHz
{snip}
*-display
description: VGA compatible controller
product: GT200 [GeForce GT 220]
vendor: nVidia Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a2
width: 64 bits
clock: 33MHz
{snip}
In reverse order, this tells me that I have an nVidia GEForce GT 220 video card, and that the card is using a PCI Express slot. One bit of information that it doesn't tell me is the type of PCI Express slot it is. Again, we'll cull that bit of information from the dmidecode command.
Okay, we're going to skip a lot of information on the various PCI, ISA, and USB connections and go directly to the *-storage section. This will tell us about the hard drives on the system.
{snip}
*-storage
description: RAID bus controller
product: 82801 SATA RAID Controller
vendor: Intel Corporation
physical id: 1f.2
bus info: pci@0000:00:1f.2
logical name: scsi0
logical name: scsi1
logical name: scsi2
logical name: scsi3
version: 06
width: 32 bits
clock: 66MHz
{snip}
*-disk:0
description: ATA Disk
product: WDC WD1001FALS-0
vendor: Western Digital
physical id: 0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: 05.0
serial: WD-WMATV4757094
size: 931GiB (1TB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=4c90d62d
*-volume:0
description: Windows FAT volume
vendor: Dell 8.0
physical id: 1
bus info: scsi@0:0.0.0,1
logical name: /dev/sda1
version: FAT16
serial: 3030-3030
size: 39MiB
capacity: 39MiB
capabilities: primary fat initialized
configuration: FATs=2 filesystem=fat label=DellUtility
*-volume:1
description: Windows NTFS volume
physical id: 2
bus info: scsi@0:0.0.0,2
logical name: /dev/sda2
version: 3.1
serial: 7add-9164
size: 14GiB
capacity: 14GiB
{snip}
*-volume:2
description: Windows NTFS volume
physical id: 3
bus info: scsi@0:0.0.0,3
logical name: /dev/sda3
logical name: /media/win7
version: 3.1
serial: 3ae7ba2a-9dae-b24f-9543-2990160c5398
size: 102GiB
capacity: 102GiB
{snip}
*-volume:3
description: Extended partition
physical id: 4
bus info: scsi@0:0.0.0,4
logical name: /dev/sda4
size: 814GiB
capacity: 814GiB
capabilities: primary extended partitioned partitioned:extended
*-logicalvolume:0
description: Linux filesystem partition
physical id: 5
logical name: /dev/sda5
logical name: /
capacity: 791GiB
{snip}
*-logicalvolume:1
description: Linux swap / Solaris partition
physical id: 6
logical name: /dev/sda6
capacity: 22GiB
capabilities: nofs
*-cdrom
description: DVD-RAM writer
product: DVD+-RW GH50N
vendor: HL-DT-ST
physical id: 1
bus info: scsi@1:0.0.0
logical name: /dev/cdrom
logical name: /dev/cdrw
logical name: /dev/dvd
logical name: /dev/dvdrw
logical name: /dev/scd0
logical name: /dev/sr0
version: B103
capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
configuration: ansiversion=5 status=nodisc
*-disk:1
description: ATA Disk
product: SAMSUNG HD103SJ
physical id: 2
bus info: scsi@2:0.0.0
logical name: /dev/sdb
version: 1AJ1
serial: S246JDWZ407260
size: 931GiB (1TB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=0000da3e
*-volume
description: Extended partition
physical id: 1
bus info: scsi@2:0.0.0,1
logical name: /dev/sdb1
size: 931GiB
capacity: 931GiB
capabilities: primary extended partitioned partitioned:extended
*-logicalvolume
description: HPFS/NTFS partition
physical id: 5
logical name: /dev/sdb5
logical name: /media/BackupSDB1
capacity: 931GiB
{snip}
*-disk:2
description: ATA Disk
product: ST3750640AS
vendor: Seagate
physical id: 3
bus info: scsi@3:0.0.0
logical name: /dev/sdc
version: 3.AA
serial: 5QD2W6TB
size: 698GiB (750GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=f2239b7e
*-volume
description: Extended partition
physical id: 1
bus info: scsi@3:0.0.0,1
logical name: /dev/sdc1
size: 698GiB
capacity: 698GiB
capabilities: primary extended partitioned partitioned:extended
*-logicalvolume
description: HPFS/NTFS partition
physical id: 5
logical name: /dev/sdc5
logical name: /media/F_drive
capacity: 698GiB
{snip}
This tells me that I have three hard drives (disk 0, disk 1 , disk 2). Further, if you look under the sections marked *-disk:, you'll see the total size of each drive. Disk 0 is listed as a 1 TB drive, disk 1 is listed as a 1 TB drive, and the third disk is listed as a 750 GB drive. It also lists the manufacturer of each disk, which is Western Digital, Samsung and Seagate, respectively. Further, it lists the partitions for each drive, some handy information if you need to repartition your drives at any time.
*-scsi
physical id: 1
bus info: usb@2:1.2
logical name: scsi6
capabilities: emulated scsi-host
configuration: driver=usb-storage
*-disk:0
description: SCSI Disk
physical id: 0.0.0
bus info: scsi@6:0.0.0
logical name: /dev/sdd
*-disk:1
description: SCSI Disk
physical id: 0.0.1
bus info: scsi@6:0.0.1
logical name: /dev/sde
*-disk:2
description: SCSI Disk
physical id: 0.0.2
bus info: scsi@6:0.0.2
logical name: /dev/sdf
*-disk:3
description: SCSI Disk
physical id: 0.0.3
bus info: scsi@6:0.0.3
logical name: /dev/sdg
This last part tells me that I have a card reader. As a matter of fact, this system came with a 12-in-1 card reader built in.
Why, yes, that is a lot of information. But handy if you are working on an unknown system. I used this and the dmidecode command when I was asked to work on a computer for the wife. She didn't know what all was installed in her system. By booting the system from an Ubuntu CD, I was able to run the two commands and learn everything I needed to know.
That's enough for now. I'll cover the dmidecode command in a later post..
Where is the Site Now?
Gary Schafer, 11 September 2010
I had it in my head that making my own web server, then getting it up and running, then loading all of these web pages, then making it accessible to the interwebz, well, would have taken a long time. I was giving myself a week to finish the task.
I had no idea that it would only take an evening.
The short answer to the question posed by the title of this article is this, "It's sitting in my office." The web site is now being served from an old computer I had sitting in my office. Here's the short list of the steps I took to get here:
- I used a circa 2003, Pentium 4 computer running with 2 GB of RAM and a 250 GB hard drive. I loaded Ubuntu's 32-bit server operating system onto it, then followed these instructions to get it set up properly (Major h/t to Alex Villmann for making the setup just... too... easy!). This included setting up the Apache server, MySQL database, and the PHP processing software.
- I created an account at dyndns.com. After that, I made my own URL, which is http://site2241.dyndns-home.com.
- Finally, I set my router, which is a Linksys BEFSX41 router, to automatically log in periodically to dyndns.com and give it my current, outside IP address. I don't know if all routers have that capability. If not, then I'd need to either set up some other way to do the updating (if needed) or I would need to check it manually every so often.
What that means is this. Whenever you enter the URL (uniform resource locator, otherwise known as a "web address") for this site in your browser, the first thing that happens is that your browser sends out a message to a DNS, or domain name system, server asking for the IP (internet protocol) address that is tied to that URL. That's because, while you think in terms of names, all of the computers on the Internet think in terms of numbers. So, when you type http://site2241.dyndns-home.com into the address bar of your browser then hit Enter, your computer takes that name, sends it to a DNS server and says, "What's the IP address for this web address?" The DNS server looks it up, and passes back the actual IP address associated with that web address. Now that your browser knows the IP address, it sends a message to that IP address saying, "Hello! I'd like to open a connection to your IP address using port 80." Port 80 is a standard port connection that essentially tells the web server that you want a web page.
Which brings us to the point of this story. The web address http://site2241.dyndns-home.com now points to my home IP address. When an outside request for a connection comes in, it hits my router. The router has now been set up to forward any requests for port 80 (the standard port for a web page request) to my (old but new) web server. My web server then responds to the request just like any other web server would.
So, we have either Verizon and its whopping 10 MB of online space OR my own web server and hundreds of gigabytes. The choice, my friends, is easy.
Where's This Site Going?
Gary Schafer, 8 September 2010
I've had enough. Over the past 5 weeks, the wife and I have had as many outages of our Internet. Our (current, and soon-to-be former) ISP, Comcast, only extended apologies. Considering that only 1 of those 5 could be blamed on weather, that's a bit weak. Further, for what we're paying them for both Internet and TV (we get our phone through Verizon), the overall payments were a bit much. Starting next week, that will change. Tentatively, on 15 September, we'll be switching to FiOS and Verizon. Now, those friends I've talked to who have Verizon love it. However, I've already noticed one drawback. That's online storage. Right now, Comcast offers multiple GB of online storage, standard. Verizon? How about a whopping 10 MB!
What?!?! Are ya kiddin?!?! 10 megabytes?!?! As in, "Here's enough space to store, maybe, two hi-resolution pictures?!?!
Well, yes, that's what we're doing. I've looked at various alternatives for maintaining this web page's presence on the Internet. And I really didn't like any of them. So, here's what's going to happen. I'm setting up my own web server. Will it work? No idea. But it will be an Ubuntu server running 10.04, with a LAMP (Linux / Apache / MySQL / PHP) backbone. Considering that the hard drive is a standard, built-for-the-home hard drive, we'll see if it can handle the load. Especially if I advertise. Right now, I only maintain this page so that I can get occasional practice with HTML and CSS. Really hadn't planned on much more than that. But, since I started, might as well go the next step.
I'm going to use this page as a step-by-step of how I did it. Thus far, I've only downloaded the Ubuntu server ISO image and burned it to a CD. Next, I'll need to load it to a computer. I have a couple, old desktops sitting around gathering dust. I'm going to use one of those.
Stay tuned.
Here's a Random Fact...
The 9/11 Count: