2002, May 15th
Take a class on networking at any major university or take any networking equipment vendor’s network training and they will trot out the Open Systems Interconnect (OSI) model of a network. This is a lame model. Real networking doesn’t even remotely resemble this model. However, despite the overall uselessness of the OSI model, some people have gone to the unreasonable extreme of redefining TCP/IP in terms of that model. This is even more ridiculous
TCP/IP was not designed; It has evolved as our understanding of computer communications has evolved.
The OSI model was developed by a seven committee working group of the ISO. (Don’t worry. There won’t be a quiz on this material.) The seven committees provides one possible reason that the OSI model has seven layers.
The seven layers of the OSI model are:
- Data Link
The theory of operation with each of these layers is that, as an application, you need only understand the Application layer in order to use the network. When designing the Session layer, you need not be bothered with implementation details of the Network, Data Link and Physical layers. Each layer hides the implementation details of the layers above and below. In the real world, for reasons I wish I could adequately explain, this is a very slow network.
My inadequate explanation is: speed and accuracy are the most important parts of a network. You will likely write a program that does a networking task once for millions of actual uses of that program. In order for the 7 layer model to work, each layer must hide implementation details of all layers below and all layers above. This means that you cannot depend on a particular behavior in the Physical layer at the Session layer. So, suppose that your Session layer could be simplified for the case of a reliable network. You cannot take advantage of that and skip all the intervening layers to just deliver the data. Your data must slog its way through four more layers to get to the consumer and then four layers there to get back to another Session layer. This takes time. More importantly, it represents “latency” which is sometimes hard to overcome.
Another example: Let’s suppose that you have an application that, for locally connected systems uses a broadcast behavior but for distant systems uses a monocast behavior. This allows the local systems to each receive the data using minimal bandwidth and the remote systems to receive the data in a more reliable stream. If the implementation below the Presentation layer is hidden from you, you cannot see which systems are local and which are not. So, you cannot write that application
The problem is that an application that doesn’t understand how networks work is poorly written.
An aside: There are a few lines of code that appear almost identical in almost every TCP/IP client program and another few that appear in almost every server program. These lines were published in some textbook or some journal and now everyone uses them. They are almost used as incantations, without any understanding of what they do on the part of the programmer. They are popular because, for 90% of networking, this is all you need to make the connection from client to server. Unfortunately, in many cases of the other 10%, these code fragments are misapplied or are simply inappropriate resulting in bad operation or performance or unusual behavior.
With the academic success of the OSI model, the TCP/IP networking community redefined their model of a network in terms of the OSI model. This model has the following five layers:
- Data Link
It is important at this point to discuss why you make a model of a system. In architecture (buildings) you build a model to show the customer what the finished job will look like. In software systems, a model is more like the architect’s blueprints. It allows a single team to coordinate the behavior of a great deal of code that they may never see. So, why design a model for an existing system? Simple, it becomes a teaching and behavior predicting tool. A good example of this is “The Ideal Gas Model” of physics. It is a pretty good predictor of the behavior of gases. It is wrong at the extremes of temperature and pressure, but it provides a teaching tool and a set of equations that are “close enough” for everyday use. It is obvious that we didn’t come up with the Ideal Gas Model and then design the behavior of gases around it. It just happens to “fit” the behavior pretty well. There are many examples of this sort of model in physics.
So, the next question becomes: Is the 5 Layer TCP/IP model a “good” model of TCP/IP networks.
Duhhh, No. It is not.
TCP/IP is really a 2 layer system. The TCP/IP part of the system is one layer and the Physical/Data Link is the other. While you can certainly design a thing to replace the TCP part of TCP/IP, it would no longer be TCP/IP then, wouldn’t it? Likewise, TCP was actually designed before IP. IP was designed to solve the problem of multipley interconnected networks. Before IP was designed, however, there wasn’t something else performing its functions at a software layer in TCP/IP because there was no such thing as IP. Get it?
The reason that there are only two layers is simple. You cannot write a program and interact with only the TCP layer because you have to use code that finds out the IP address of the system you wish to contact. This means that the TCP layer does not hide diddly-squat from you. Those magical lines of code mentioned in the aside above interact at every layer except the bottom two. These two layers are typically some form of Ethernet, at the host level, which defines them both and hides neither.
TCP/IP, while it is not “layered” is “encapsulated.” It works like this. Your application creates a hunk o’ data, HOD (which may be a single byte, or octet) and says to the network library, “Send this stuff.” If you are using TCP/IP, this HOD is wrapped up in a thing called a TCP packet and passed to the IP part of the library. There, the new packet has an IP header attached to the fron and the whole schmear gets handed over to the network card driver. That driver interacts with the network card itself to load the packet of data into a transmitter circuit in the appropriate format for transmission. So your data is encapsulated by a TCP packet. That is encapsulated by an IP packet and THAT is delivered by some means determined by you network hardware to an appropriate reciever (which may be the end host or a router.)
The key to all of this is that, while it looks like TCP sits on top of IP and IP sits on top of the network card driver and the network card driver sits on top of the network card and the network card sits on top of the interconnection, nobody designs things this way. Even if they did, you couldn’t use TCP without knowing that IP (or something like IP) was under it. The software interface is just not designed as layers.
Some of you may be wondering why I wrote all this. The truth is, I have to take a test in a few days and for that test I have to know the OSI and TCP/IP network “models.” Learning academic overkill crap just to get a little symbol on my business cards (which I don’t have) irked me a bit.
Thus endeth the diatribe.
2002, March 22nd
This tirade is partially in response to this article and others like it. I hesitated to give this idiot the link, but some of my more vitriolic statements make more sense after you have read his comments.
Much to-do has been made in high-end audio magazines about the effectiveness of various tweaks that the audiophile can perform. The theories behind these tweaks and their originations are more often than not lost in the mists of time. Some probably originated with the vinyl record. Some may have been April fools jokes that turned ugly. In any case, I am writing this in the hope that somehow, somewhere one person will read it and get over themselves enough to think about what possible effect these tweaks might have and stop trying to perpetuate myths.
First I will address some real live honest-to-gods tweaks that may have some effect. These all have to do with vinyl records. Records work because the wave form of the sound to be reproduced is carved into a little groove. As the record spins, this groove causes a tiny crystal to expand and contract. This causes a high-voltage (but very low current) signal on a pair of wires. This wave form should have a shape that is similar (hopefully very close to identical) to the original sound recorded.
Stereo records add the second channel by carving each side of the groove at right angles to one another. This allows each side of the groove to carry one channel. The crystal then has two independent signals across each of two pairs of faces. OK, this was oversimplified, but there is important information in there.
Records suffer from many problems that can cause the signal on the crystal to differ from the signal that was recorded. Scratches in the surface of the record and foreign materials in the groove can cause pops or clicks in the sound. Static on the vinyl can cause crackles as it discharges through the needle. The friction between the needle and the vinyl adds hiss and channel cross-talk. Vibrations caused by the spinning of the platter add a variety of distortions and extra sounds. Variations in the force of the needle on the vinyl can cause distortions and volume changes. Even the lateral force of the needle as it moves from the outer edge to the inner edge of the record can make a huge difference in the sound of a track.
Over the years, audiophiles have developed various techniques to combat these effects. Pads added to the platter reduce mechanical hum. Changes to and adjustments on the tone arm (the swinging part that holds the cartridge that holds the needle) improve channel bias and sound changes caused by location. Solvents and brushes were developed to clean inside the groove. Anti-static guns help to reduce the crackles caused by excessive electron build-up. Some have even added oils and other liquids to the surface of the record to reduce friction.
Some of these changes are “approved” by the recording industry. Others are discouraged as they can damage the record itself. Since vinyl records are all but dead, I won’t go into specifics. Check with your industry rep before trying any of the above or be prepared to buy a new copy of your record or even a new turn-table.
CDs, in contrast to vinyl albums, suffer from none of the problems above. CDs are a digital medium. What this implies is that the signal coming off of the CD is a wave that represents a series of numbers. These numbers represent the wave forms of the left and right channels of sound. These numbers include, in addition to sound information, error correction information (also numbers) that allow the player to detect when a read error occurs and how to handle that error based on severity. In some cases, an error in the read is corrected. In others it is not correctable and the CD player will compensate. The price of the player will (to a certain degree) determine how it compensates.
The important thing to note is that the waveform coming off of the CD does not represent the sound that will be reproduced. Subtle changes in the amplitude or characteristics of this wave will have no effect on the sound that comes out of your speakers. These changes might reduce (or increase!) the number of errors that the player must handle, but it cannot sound richer, have better spatial separation or improve the sound response in bass, mid-range or treble. As Chief Engineer Scott would say, “You canna change the laws of physics.”
So, stop sanding the edges of your CDs. Stop painting their edges or their inner surfaces. Stop glueing dampening mats to them. Stop drawing on the upper, or lower surface. Stop degaussing and anti-staticing them. These changes (tweaks) will have no effect. Don’t believe me? Set up a double-blind sound test and really test your assertion that these things will have an effect.
Still don’t believe me? Then let me suggest that for the ultimate listening experience, if you are tweaking the sound producer, you must admit that the listener can be tweaked as well. Let me suggest the following:
- Paint the inner surface of your ears with a green marker to produce a more evenly colored sound. (Reduces pink noise.)
- Wrap yourself in foam rubber so that you are acoustically neutral.
- Stand on a multi-layer pad of particle board and acoustic tile (at least 5 layers of each) to get acoustic separation from the floor.
- Remove the wax and hair from inside your ears with a 20% solution of acetic acid to reduce sound constriction and reflections.
- Break-in your ears each day by banging two pot lids together 20 times immediately next to each ear.
- Soak yourself in mineral oil to reduce crackling.
- Carefully drill 5 equally spaced holes with a 1/8″ bit just through your skull on your forehead to improve spatial perception.
- Finally, your body produces many sounds (heartbeats, bowel sounds, etc.) which your brain must filter out. These can diminish the listening experience. It would be best if you could stop these sounds entirely or acoustically separate your head from them. Consume a large quantity of arsenic or decapitate yourself just before listening to any of your CDs for the ultimate in sound reproduction.
Thank you for your attention.
2002, March 15th
Whatever you do, don’t survey your people! They have been doing this the Wrong Way™ now ever since your organization began. What do they know about systems management? Ignore them. Just pass the edict from on high that they must “get with the program” if they want to see the project succeed. They won’t, so this is a good foundation on which to build your project.
The best way to begin the project (for ultimate failure potential) is with consultants. Bring in a lot of them. Do not announce their true purpose. Let your employees believe that they are here to help. Hold meetings with them where you plan the roll-out, but do not invite your own employees. These people could not possibly provide any meaningful input to such a sweeping change in your organization’s infrastructure. If you have one available, be sure to hold the meetings in some sort of aquarium meeting room that has blinds. Close the blinds only after your employees have begun to walk by to read the white board notes.
Consultants and your employees should be housed in different areas and if at all possible should have different work schedules. If your employees are metaphorically, or even actually, “punching a clock” from 9:00 to 5:00, consultants should work from home or have flex-time schedules. It goes without saying that consultants should not report through the same management structure as your employees. They should report to their team lead who reports to you directly. This builds maximum resentment in your organization. This resentment keeps you in control.
Once your people have begun to ask why you have all of these consultants who don’t seem to be “adding value,” it is time to move on to Part II. Do not move forward until your employees begin to ask. This is extremely important as the consultants may be able to repair the relationship you have worked so hard to undermine if you move forward too soon.
Oh, and for anyone thinking of installing a solar heating system, please call me so that I can practice my maniacal laugh. To put it bluntly, they suck. They all suck.
You are much better off paying for a good gas furnace and gas water heater than trying to “save the environment” with a solar heating system. According to the contractors we have replacing most of ours right now, the whole system probably cost around $40,000 to install in the early ’70s and has probably saved close to $3,000 on gas bills up to the point when it died dramatically necessitating an almost complete replacement. This is NOT a cost saving measure.
To help to understand this, let me try to explain the total “cost” of a solar system. First off, it is made from metals and glass. These things do not simply grow into the shape of a solar system and get picked by farmers; it takes energy to dig them up, refine them, shape them, assemble them, transport them and install them. If all of that energy had been spent heating your home, the heat would probably outlast the solar system. But that is not all.
Solar systems also require energy to run. What, you think the heat magically gets from the roof to a tank in the basement? NO. Something must be pumped up to collect the heat and then moved through some sort of storage facility to hold it for when it will be needed. All of the systems must be monitored to determine when it is appropriate to try to collect heat, which takes energy. And to top it all off, a solar system works best in the summer when you don’t need as much heat as you do cold, which you cannot get from a solar heater.
Solar heating, not just a bad idea, a stupid one.
2001, December 12th
OK, it scared the holy b’jeezus out of me.
More importantly, due to a late start and head winds on the way back from Nebraska, I didn’t get home until about an hour and a half from when I was supposed to. So, my wife, who worries, grounded me. Who knows, I may be able to pick it up again after she calms down.
2001, September 27th
Today I get to fly at night. That may be fun.
Then again, it may scare the holy b’jeezus out of me.
2001, September 16th
So, like most Americans, I’ve spent the last few days coming to understand too much about terrorism. The standard questions keep running through my head. “Why did these people do this?” “How do you find 14+ suicide bombers?” “How could those 14 or more suicide bombers spend enough time in America to learn to fly and yet hold on to enough hate to go through with it?” “How did they come to hate America so much in the first place?”
Also, like many Americans I have been thinking about how to respond or react to such people. Others of America have responded with blind rage. I could not join them, yet I felt rage. So I had to find out where that rage came from and why it had no direction or outlet.
Why I don’t hate these misguided men is complex. The answer did not come to me easily but it did come. When I learned of their actions, my first thought was, “We have the tools and the technology to simply turn their homeland into radioactive glass. That sounds like a good plan.”
Then I started to consider the millions of people that would die who do not share anything with the terrorists. These men were not arabs just like every other arab. These men were not muslims just like every other muslim. These men were extremists, just like every other extremist.
And that is what caused my rage. I had become one of them, even if for a few minutes, I understood how they could hate so completely because I did as well. So now my questions are not “How do we strike back so that this never happens again?” but “What did they believe about us that allowed them to do what they did?”
To be certain, I feel we should hunt down and punish any allies they left behind. However, we must temper our zeal as we hunt. We have to keep our minds not on revenge against all muslims or all arabs or all middle-easterners but against the terrorists and those who support them.
While we do the ugly job of retribution, we must also do what we do when we are not so engaged. We must find out how they have come to hate America and Americans so much that they willing and individually give their lives to hurt us. We must reach out to those who do not understand us and explain who we are.
America is the richest country this world has ever seen. We are also the most generous.
One does not have to look long into our past to see that generosity. America operates many international aid efforts. Look just outside the borders of Rwanda today and you will see hundreds of thousands of refugees. You will not see them living off of the land. They have tents, blankets, clothes and food. These did not come from their own governments who would rather wipe them out but from America.
As americans, we enjoy the benefits of a free society and it hurts us to know that not everyone in the world does. We see war torn countries like Bosnia and we send in troops, not to kill but to promote peace, to see that a local government will not oppress its minorities. And when those minorities get the upper hand, we do our best to prevent them from blindly seeking revenge.
So too, must our revenge not be blind. It must be directed, focused and above all accurate. As americans, we must be, not better than the terrorist, but more particular. We should expect more of ourselves. It bothers me to hear of americans who have recently commited hate crimes against the arab or muslim communities. These men must be stopped. If necessary, by force or incarceration, but hopefully by showing them that they, as americans, have a duty to expect more from themselves than did the terrorists.
I didn’t really know I had this much to say. Maybe its is all just unrealistic rambling. But maybe we can actually get it right this time. Maybe we can wake up to the pain in the world and help those less fortunate without building resentment that can fester into hate.
And then again, maybe not.
2001, June 19th
Level 3 laid off 25% of its workforce today, including me.
2001, June 15th
I discovered part of a tooth rolling around in my mouth during lunch yesterday. I don’t know if it was fortunate or not, but it was mine. So, I visited Mr. Dentist today. Oops, I mean Dr. Dentist.
My mouth is quite numb right now whithch ethplains whah I am sthlurring my sthpeach. I get to go back in a few weeks to have a permanent crown installed. yipee.
2001, June 10th
We went to the Colorado Renaissance Festival this weekend. Mead was drunk and so were we! We saw the Ded Bob Shotm, Puke and Snot and the Endangered Cat show.
We recommend all of the above.
Attendees included Brian and Janice St. Denis in attire from the Mrs. St. Denis label. They looked good. Pamela and myself. I was decked out in a tunic that I produced myself and very non-period sun-glasses. It was bright outside. Cynthia and Dave and Terry the tall one. Pictures may make it to this website soon. I have to scan them first.
« Previous Page — « Previous entries « Previous Page · Next Page » Next entries » — Next Page »