The Lack of Historic Knowledge Is Frustrating
blog.ipspace.net
blog.ipspace.net
Or -- to play contrarian/devil's-advocate -- perhaps you should find more ways to convey these timeless logical concepts that don't depend on ancient war-stories or shared-suffering involving "dead" technologies? I'm not saying you have to turn your baseball cap sideways and start saying "dawg", but effective communication means you need to update your metaphors and analogies at least once in a decade as your audience changes.
If the past contains useful lessons, sometimes the best thing you (i.e. direct contemporaries who were there) can do is to isolate the most important, broadly-useful parts, and cut them loose from the gnarly matrix of specifics. Then you can teach the lesson over and over in a way that doesn't depend on audiences who worked with Tech X from years Y to Z.
At any rate, the author's complaint isn't that "kids these days" haven't heard of all these acronyms, it's that they haven't learned any of the technical details behind those acronyms, and that those details are still relevant.
Finally, I have a bone to pick with the "it's the older generations' responsibility to educate the younger generation" idea that I hear so often. At the end of the day, it's everyone's own responsibility to educate themselves, and we all know there's plenty of materials available for that.
I'm on your side of the discussion overall but that's unrealistic. It took me a decade to get so much of this knowledge and wisdom out of papers on programming, OS design, networking, security, etc. I just found some more foundational work in past months that should've been in every classroom for its relevance but nobody's heard of it.
The problem is that the stuff is scattered all over the place and not in pure form at all. There's books, papers, brochures, lectures, etc. These might have good details, fluff, or a varying mixture of each. Many great works can only be found behind paywalls (IEEE, ACM). Others are on academic sites, specific blogs, or places like CiteseerX where you have to know what you're looking for ahead of time.
Our field is anything but a clean, integrated presentation of what really mattered, matters, and might matter. It's a huge, scattered mess that we expect new crowd to just automagically sort through and discover necessary stuff. Prior generations certainly have some responsibility to make that easier rather than harder. I do my part with posts here and elsewhere directing people to specific techs that solved (or nearly so) the problems they are talking about. Need a more thorough solution, though, for the various sub-fields of I.T. before I'll blame the newcomers for prior generation's mess.
I actually have an interesting perspective on this, being completely self-taught, before returning to university as an adult to get a computer science degree.
There are pros and cons to both sides of the self-taught vs. teacher-taught thing, though I'll make my bias clear up front: I spent a lot of years reading books and messing around with stuff; now, when I hear college students complain that a teacher "isn't a clear lecturer" or "didn't answer my question well," my tendency is to say "there's a book and an Internet out there, suck it up and get to studying, buddy," though I realize that attitude isn't perfect for everyone.
I get that and mostly agree with it. Exception being the people who learn best with the help of others (esp face-to-face). They don't learn the hard stuff well with text but they're valuable once they learn it. The other exception would be the topics where having a pro at hand can greatly simplify the learning process mostly due to nature of topic itself.
In most situations, you're totally right. People just aren't putting in effort. I think the stuff with lots of historical baggage of unknown usefulness seems like unjustifiable effort to many in IT. So, I don't throw them into that category if it's such a thing rather than their own skill set. Now, if they didn't know essential networking skills and griped that nobody told them, I might link to your comment followed by a back hand.
Which raises the question of what the lecturer is even standing around talking for. Isn't it just a waste of their own and everyone else's time if they aren't good at doing what they attempt to do? If someone is a good researcher and lousy in the classroom, why make them teach classes and waste everyone's time?
You are misunderstanding me if you think I suggested that old people need to educate young people. I'm suggesting that if concepts cannot be distilled from the technology and discussed on their own merit, don't bring them up because it means you don't actually understand them well enough.
This guy is mad not because people couldn't understand concepts, he is mad that they didn't get his archaic analogies. It's like a car guy calling an engineer stupid for not know what engine was in a 52 Chevy.
Also, the second sentence of your second paragraph makes no sense to me.
No, I have no respect for people that offer analogies via obtuse references and then look down on you for not getting it.
That's happened enough that I sent out a recommendation to a bunch of people in high security industry to straight up drop our terminology when addressing a wide audience, look up what they call everything we talk about, and go through a major revision process on each post to translate it to their language. Might be able to get adoption of some of the techniques that already solved so many problems but just have no awareness or willingness to understand how they're normally presented. Not sure how many are going to do that rather than say "it's not our fault they didn't Google (topic) 101 to get the basic terminology and foundations."
I feel revision and avoiding acronyms particularly will help us but transferring the wisdom will still be an uphill battle. Especially with the Silicon Valley startups...
Ideally, they'll learn it all. I've learned the world is rarely ideal. Need a practical alternative to ideal...
And this is coming from a guy whose gone to the extreme of studying everything in several sub-fields of IT: over 12,000 academic or professional papers in my archive on top of the books, etc. Skimmed most, fully read some, and re-read a tiny few (gold mine). Took a long time to get to that tiny few. No justification for that except that generation made little to no attempt to get that stuff to me in an accessible way. And now my generation is repeating the mistake for the next.
Or do you really think it's optimal that every learner have to spend 3-5 years per sub-topic digging through the whole of knowledge on it just to find the few things that might pay off?
I've saved your username and email somewhere so I can notify you when I get around to doing that. What topics are your core interests? My main focus is high security IT and software/system verification with a number on programming, hardware design/synthesis, software engineering, networking, databases, filesystems, OS's, and high-performance computing. Might send you a few samples of each in your interest to let you see the kinds of things people overlook. I should have time this week.
Thanks for the offer!
I agree with you on that. Many don't have that desirable trait. They'll miss out on greater things because of that. Another thing worth study and effort is figuring out how to teach that mindset to young engineers.
Once they have it, then they need the organized presentation of our fields that I'm arguing for. Both the will/mindset and resources for learning are necessary for best results.
We're pretty much on the same page on this whole thread, but consider the idea that perhaps the fact that it took so many years and thousands of papers wasn't because the previous generation didn't organize them well, but was simply due the the sheer volume of information. That time wasn't wasted sifting through irrelevant stuff - you're now an expert.
On the contrary, I think the writers and organizers of all that material did a great job; both of us owe nearly everything we know to them.
"took so many years and thousands of papers... due to the sheer volume of information. That time wasn't wasted sifting through irrelevant stuff - you're now an expert. On the contrary, I think the writers and organizers of all that material did a great job; both of us owe nearly everything we know to them."
I agree there's a lot of material, the learning process was worth it, and there's even more to gain. That said, the learning process taught me that a tiny, tiny fraction of those papers taught people 95+% of what they need to know for their sub-field. We need that information packaged, well-presented, and widely distributed for each sub-field. People wanting to learn more can volunteer time to do so. All I'm pushing for is that baseline packaged and ready for newcomers with few to no obstacles. Right now, it's hard enough to find that most don't. Gotta change that.
That marks the difference between being a technician and being an engineer. A technician just needs to know how to do their job, whereas an engineer needs to know why they need the technician to do their job.
That could be done way more easily in networking. Should be done if it hasn't already. If it has with key resources, they shouldn't be so obscure with people like that blogger readily linking to them as I've seen in engineering fields. Don't make people wade through endless papers and histories of bureaucracies' decision-making processes to determine one technical report's worth of important design guidelines and justifications. Give them the good stuff in a way they know it's the good stuff.
"If you want your son to throw 50 yards, well... GIVE HIM... 50... YARDS!" (Vault drink commercial)
And, heck, it can even be presented in a time-ordered fashion where they learn some of the past as they go. They might start with a certain type of medium, the protocol for it, the issues, the solutions, and key things to learn from that which might apply to other situations. Then the next and the next. All the way up to samples of cutting edge stuff* at the end to make it memorable with an awe factor and exotic, weird stuff from our history sprinkled throughout just to hold attention (but also teach).
* A book on supercomputing got me more into networking than networking itself. The ultra-low-latency, high-bandwidth, cross-bar switches blew away anything I used. Plus, they in theory let many cheap nodes become a machine with CPU's, RAM, and graphics cards of a SGI Onyx2! To do it, though, I needed to understand the effect of wires/optics, host connectors, host protocols, cross-bar designs, topologies, cache-coherence algorithms, and so on. Quite a lot but quite the motivation. Never got to Onyx2 level on a budget but lessons gave long-lasting capabilities: topology, Beowulf clustering, single system image, clustered filesystems, Active Messages, reliable UDP (eg UDT), and discovering NUMAscale's products after typing the concept (NUMA) and connector (HyperTransport) into Google. One or two badass technologies along with justifications went a long way, eh?
Example would be me studying ancient NSA computers to find one used mercury for RAM. The concept of buffer overflow became more memorable as the story brought to life the consequences they endured: mercury exploding out the computer. Crazy stuff we'll never encounter but I still remember it & it reinforced preventing overflows.
This thought process leads to unoriginal and restrictive thinking. Take the following bullet point: "Central Controller = single failure domain". When you see that he wants you to think designs with controllers are crap. However, Google's network uses a central controller to distribute policy and make QoS optimizations. If all of it's members go down (it's also a distributed system) it doesn't take down the network, you just lose some optimizations. This gets them much better utilization >90% than the run-of-the-mill BGP folded clos junk that 'experienced network engineers' churn out today.
Sorry for venting, but I see this guy's attitude very frequently in the network engineering community. "Oh, someone tried something like that once, and it didn't work, so we are going to refuse to do anything that has an overlapping concept." It's no wonder we still use command-lines and have to script SSH sessions to configure things. This industry is stagnant as hell.
Using TCL?
Friend of mine in industry referred to the conversion between IP packets and ATM packets and back as a meat grinder. As in your packets get chopped into bits sent over the wire and if you are lucky all bits make it through and you get a fully assembled packet on the other side. If not you get to retry the whole packet again. And of course you get charged for ATM packets even though you couldn't use them.
I think Cisco added an option where if you were using their equipment on both sides you could turn off the IP to ATM packet conversion. Which everyone immediately did. Sayonara ATM.
Your rant implies ATM is in one of those categories, but it's surprisingly hard to find places which actually say that instead of being all polite (or whatever concept is in play here) and pretending that it's just as mainstream as DOCSIS or Ethernet.
Maybe it's too much to ask for. Maybe there's always going to be too much bias and... I don't know... hurt feelings?... for something like that to exist. It certainly wouldn't be a nice thing to have if you were in the business of selling ATM "Solutions".
-- Bell System #5 Crossbar. The best of the electromechanical telephone switches. No Bell System #5 crossbar central office was ever out of service for more than 30 minutes for any reason other than a natural disaster or fire. That level of reliability was not maintained in the computer era. It's useful to know how that was accomplished. Briefly, there was a big, dumb switch fabric and common shared resources. Resources included markers (which set up calls), senders (which sent data to another central office to route a call), trunks (lines to other offices), originating registers (which provided dial tone and listened to dialed digits and tones), and some specialized units such as trouble recorders (which punched cards), automatic line insulation test units (which tested lines and phones remotely), traffic service position system consoles (phone operator), and card translators (a clunky device for looking up routes). All these resources were in resource pools, used in rotation with broken units skipped. If anything failed, the call was retried once using different resources. If the retry failed, the call was rejected with the fast busy tone, on the grounds that if two tries had failed, a third retry probably would not help. Everything had hardware timeouts, so if a relay stuck, after a few seconds the unit would fault, a trouble recorder would be seized, and the trouble recorder would drop a trouble card in front of a technician. Major problems set off alarm bells. The most complex units, the markers, ran in pairs, with one checking the other. Any difference generated a trouble card. In an emergency, a marker could run without its checking other half to keep calls going through.
It's worth understanding #5 Crossbar because it was a system far more reliable than its components. It scaled up to handling entire cities, could be maintained while running, and just did not have outages.
-- Western Union Plan 55-A. This automatic telegram switching system handled most telegrams in the US in the 1950s. Think Sendmail, built out of paper tape readers and punches and a telephone switch, an email server that filled a large building. The queuing theory for the ARPAnet came from Kleinrock's thesis on Plan 55-A. Only a superficial knowledge of Plan 55-A is useful today.
If 1 and 2 aren't happening, then you can't blame people for resorting to method 3. Perhaps some blame should go to teachers/curriculum, but bagging on people for what they don't know only creates frustration, not progress.
An example from the music world. I've taught the same "wisdom" about voice leading, what it is and why we like to use it, to both AP music theory students in high school as well as middle school band students learning to improvise. You can bet I change my analogies and vernacular to match their knowledge, but they've both been exposed to the concept and have some core vocabulary to research it further if they like.
So, expecting those with the wisdom to present it in an approachable and efficient-to-learn way is reasonable. Only then should we critique those that didn't make the effort to learn.
Seriously, I don't know if it's as bad in the network world, but I reckon PHP tutorials were the reason SQL injection was as prevalent as it was.
A good teacher will, if nothing else, get you over that hump and pointed in the right direction with the right instincts about who to listen to and which information is both correct and up-to-date.
They might teach you intrisnics of some outdated technology as if it was alive and give no hints on why you no longer see any of it around. Pure waste of time.
I had a course on IBM SNA like that.
This reminds me that just last month I attended a talk on hp's "the machine" where the presenter talked for about 20 minutes about all the revolutionary new ideas, before someone broke in and asked "how does this differ from an as400". After all the presentation looked like a copy paste job from the wikipedia page on as400 technology. The poor presenter didn't know, and eventually admitted he didn't even know what an as400 was. Much less than the fact that they continue to be sold. In the end someone suggested a literature search.... The presentation went downhill from there.
It reminds of me Elon Musk's memo to SpaceX: https://twitter.com/collision/status/602950284864692224
For example...
SONET/SDH and ATM WAN
ATM-to-the-desktop and ATM LANE
MPLS Traffic Engineering
BGP Brownouts
Or... I was trying to explain the principles of SAN and differences between FC and
FCoE to a networking engineer a while ago. I started with B2B credits in FC and
told him Fibre Channel uses exactly the same approach as hop-by-hop windows
we had in X.25, with the same results…
Of course, I understand that I'm not the target audience, and the author didn't decide on the names for the technologies in the first place, and maybe even that these acronyms are common knowledge for the target audience, but it sure isn't helping information sharing if every sentence requires tons of extra parsing for new acronyms.The comments section gets even worse...
None of our NOC guys know what ATDT means, even the ones that did come through
tech support. (PSTN is still more reliable than 3G for OOB, assuming you
test it often - anybody got a good automated test script?).
ATDT - priceless ;)) Thanks for bringing this up! Now that I think about that,
I started with ATDP :D... and I'm positive there's AT command set hidden
within every 3G modem (in the good old days you could use it to send SMS
messages).
ATDT is still alive!. Just setup a simple GSM/SMS based solution and used
AT commands to control GSM modem. It's really coll that this has not
changed over the years.
I remember having a little BBS in 1989 using some BBS SW called pirate or
black beard or something like that for my Novell and Token-Ring customers
to dial in and obtain the latest desktop drivers for IPX and IBM NICs etc.
I love the analogies on the older tech and SDN. Especially IntServ...
At a certain point, I'd blame technologists who enjoy feeling smart due to the barriers put up around the knowledge they've worked hard to earn, and who chastise newcomers for not doing tons of work to slog through poorly communicated concepts, instead of newcomers who would probably love to learn more and don't know where to start.We should communicate more clearly so that it's easy to share knowledge.
Yes, that's it in a nutshell. People who work in the same field/sub-field will use jargon to enhance/shorten communication. This has been the case for at least several thousand years.
If you're out to rid the world of jargon, you've got quite a battle ahead of you.
Ultimately, this is why we write textbooks, to consolidate knowledge for the next generation. It may not matter if you know a particular historical example, so long as you know the ups and downs of a given approach.
SONET/SDH - Still in use today (though not as much as in the past)
SAN - Storage area network. Basically any large enough organization is going to have one.
FC - Fibre Channel, still one of the top ways to connect SAN and other storage arrays.
FCoE - Fibre Channel over Ethernet, taking the FC protocols and moving them over copper
B2B credits - Back to Back buffer credits. Knowing this is like knowing about TCP window size adjustments or three way handshake. It's knowing about how the protocol works over the wire.
NOC - Network Operations Center, the place where the network guys keep an eye on the physical layer.
PSTN - Public switched telephone network. Think all of the hardline telephones. It's that entire network. Still in use as my grandmother can attest to.
3G - 3rd generation wireless (or at least the wireless carriers brand it that way).
OOB - Out of band. Not using the normal network of a particular system. ex: using a modem hooked up to the PSTN to dial out and send calls when a server's IP network is down. OOB communication is very common as it provides redundancy when all the "normal" stuff fails.
SMS - Short Message Service. Non-picture text messages.
GSM - Global System for Mobile Communication. One of the two leading wireless protocols/systems. ATT and T-mobile phones use GSM.
AT commands - ATtention commands. A command language for manipulating modems. Still in use in many phone radios today.
Basically every acronym listed is in existing use and generally still widely used. So there is good reason for people who work with them to know them.
And it doesn't take a network technician to know what all of these mean. I'm a lowly classic asp web developer, and everyone of these was familiar to me.
therefore no one new has a good reason to know the acronyms
These acronyms allow me to talk with the network people. In the same way them knowing what HTML, CSS, JS, PNG, JPEG, PS, etc are allows them to work with me. It's not absolutely required, but it greases the wheel.
It's not that simple anymore. Now it's frequently packetized after the last mile so PSTN is just an illusion provided as a service to your phone jack.
If we're going to do the 1980s Telco solution, isn't ISDN the service I'd get to my desktop?
That said, I really enjoyed RFC 1925: https://tools.ietf.org/html/rfc1925
It reminds me of my father who, close to retirement, had to switch companies led by a bunch of young whipper-snappers in their 40s. They had to solve certain problems that many of the older people had experienced ages ago and were really solved problems. But everyone was more interested in finding creative solutions, rather than just listen.
I hear chemists have a saying that you can save two weeks in the laboratory with an evening in the library.
Of course it's good to know these things. But there's simply going to be some things you know more about because you grew up in a different time than they did. That's not a real problem, that's just the way things are.
The hitch is that the younger programmers are chasing the approval of VCs who actively encourage them to dismiss "older people" as clueless old fusts who can't think at Web Scale.
(The VCs don't actually believe that, of course, especially as many of them are old programmers themselves. But since old programmers know how to read a term sheet and tend to demand things like sane working hours and pay/equity commensurate with their skill, it's in the VCs' interest for their portfolio companies to be cults of youth.)
One of the downsides of working in an industry for so long is that is molds the way you think about problems. Things you deem to be critical might not be anymore, etc. Things you've been burned by that you avoid like the plague might be really useful now in light of new hardware.
When experimenting and building new things, years of experience can actually be a pretty big burden that is hard to shed.
What would be the software equivalent? Insulting someone who starting developing on PHP 5 not knowing about the short_tags() global function which only existed in PHP 3? Someone proficient in Visual Basic .NET but doesn't know anything about VB 1-6? There is no reason to know how to develop in an ancient version of a language if every job you have had thus far has used exclusively modern versions.
Merely having been alive during the decade in which an obsolete technology was first introduced or was still popular means nothing. It may even have some relevance today when discussing the then-and-now similarities or differences, but frankly someone born decades after its obsolescence just will not care. There is already more knowledge than is possible to absorb about current technology. There is simply not enough time in a single lifetime to care about what came 20-40 years before. Perhaps if we ever push life expectancy to 1000 years, we'll spend the first 100 years of our lives reviewing every relevant detail of the past.
Acronym soup is such a 80s/90s thing...I for one am glad technologists finally clued up and stopped that practice for the most part.
I have a strong interest in the history of computing, but most of this sort of stuff is squirreled away in places most folks wouldn't know to look. If you want to learn history in any other field you go search for history books, but a lot of this sort of stuff isn't conveniently compiled in books. Whose fault is that?
Since it's so old, it's also pretty cheap.
Regarding B2B credits / Fibre Channel and the hop-by-hop windows in X.25, the idea is that each hop has a counter of how many packets it will send to the next hop without receiving an acknowledgement, which are "credits". Once you're out of credits, that hop stops sending traffic. X.25 was superceded/replaced by TCP/IP (which uses end-to-end acknowledgements, instead of hop-by-hop) due to increased performance. But B2B is used with Fibre Channel (storage) networks, which require lossless performance on each hop.
Regarding PAUSE frames and Ctrl-S/Ctrl-Q, the idea is that as a device's receive buffer fills up (it is receiving data faster than it can remove it from the buffer), it will hit its 'pause threshold', and it will send a PAUSE message to the sender to let it know that it can't handle any more data. This is similar to Ctrl-S/Ctrl-Q, which are XOFF/XON control commands in flow control, to stop and start traffic as you ran out of buffer space.
The TV show, "Modern Family", the daughter of the owner of a closet manufacturing company tries to show she can contribute by offering her new design ideas only to hear from her father that her designs are great cause they did the same thing decades ago.