<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:podcast="https://podcastindex.org/namespace/1.0"
xmlns:rawvoice="https://blubrry.com/developer/rawvoice-rss/"
>

<channel>
	<title>SKILLS &#8211; rule 11 reader</title>
	<atom:link href="https://rule11.tech/category/skills/feed/" rel="self" type="application/rss+xml" />
	<link>https://rule11.tech</link>
	<description>culture eats technology for breakfast</description>
	<lastBuildDate>Tue, 07 May 2024 12:38:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://i0.wp.com/rule11.tech/wp-content/uploads/cropped-rule11-logo-square.png?fit=32%2C32&#038;ssl=1</url>
	<title>SKILLS &#8211; rule 11 reader</title>
	<link>https://rule11.tech</link>
	<width>32</width>
	<height>32</height>
</image> 
	<atom:link rel="hub" href="https://pubsubhubbub.appspot.com/" />
	<podcast:locked owner="russ@riw.us">yes</podcast:locked>
	<itunes:author>Russ White</itunes:author>
	<itunes:explicit>false</itunes:explicit>
	<itunes:image href="https://rule11.tech/wp-content/plugins/powerpress/itunes_default.jpg" />
	<itunes:type>episodic</itunes:type>
	<copyright>Russ White</copyright>
	<podcast:license>Russ White</podcast:license>
	<podcast:medium>podcast</podcast:medium>
	<image>
		<title>SKILLS &#8211; rule 11 reader</title>
		<url>https://rule11.tech/wp-content/plugins/powerpress/rss_default.jpg</url>
		<link>https://rule11.tech/hedge</link>
	</image>
	<itunes:category text="Technology" />
	<rawvoice:rating>TV-G</rawvoice:rating>
	<podcast:person role="Host" href="https://linkedin.com/in/riw777">Russ White</podcast:person>
	<podcast:podping usesPodping="true" />
<site xmlns="com-wordpress:feed-additions:1">73371701</site>	<item>
		<title>AI Assistants</title>
		<link>https://rule11.tech/ai-assistants/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 18 Mar 2024 14:13:04 +0000</pubDate>
				<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=17901</guid>

					<description><![CDATA[<img class="alignnone" src="https://rule11.tech/wp-content/uploads/ai-assistants.png" alt="" width="400" height="160" />

<a href="https://mindmatters.ai/2023/08/meet-mediocrates-when-ai-does-all-the-heavy-mental-lifting/">I have written elsewhere about the danger of AI assistants leading to mediocrity.</a> Humans tend to rely on authority figures rather strongly (see <em>Obedience to Authority</em> by Stanley Milgram as one example), and we often treat “the computer” as an authority figure.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" fetchpriority="high" decoding="async" class="alignnone" src="https://i0.wp.com/rule11.tech/wp-content/uploads/ai-assistants.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" /></p>
<p><a href="https://mindmatters.ai/2023/08/meet-mediocrates-when-ai-does-all-the-heavy-mental-lifting/">I have written elsewhere about the danger of AI assistants leading to mediocrity.</a> Humans tend to rely on authority figures rather strongly (see <em>Obedience to Authority</em> by Stanley Milgram as one example), and we often treat “the computer” as an authority figure.</p>
<p>The problem is, of course, Large Language Models—and AI of all kinds—are mostly pattern-matching machines or <em>Chinese Rooms.</em> A pattern-matching machine can be pretty effective at many interesting things, but it will always be, in essence, a summary of “what a lot of people think.” If you choose the right people to summarize, you might get close to the truth. Finding the right people to summarize, however, is beyond the powers of a pattern-matching machine.</p>
<p>Just because many “experts” say the same thing does not mean the thing is true, valid, or useful.</p>
<p>AI assistants can make people more productive, at least in terms of sheer output. Someone using an AI assistant will write more words per minute than someone who is not. Someone using an AI assistant will write more code daily than someone who is not.</p>
<p>But is it just more, or is it better?</p>
<p>Measuring the mediocratic effect of using AI systems, even as an assistant, is difficult. We have the example of drivers using a GPS, never really learning how to get anyplace (and probably losing all larger sense of geography), but these things are hard to measure.</p>
<p><a href="https://dl.acm.org/doi/10.1145/3576915.3623157">However, a recent research paper on programming and security has shown at least one place where this effect can be measured.</a> Noting that most kinds of social research are problematic (they are hard to replicate, it’s hard to infer valid results accurately, etc.), this one seems well set up and executed, so I’m inclined to put at least some trust in the results.</p>
<p>The researchers asked programmers worldwide to write software to perform six different tasks. They constructed a control group that did not use AI assistants and a test group that did.</p>
<p>The result? In almost every case, participants using the AI assistant wrote much less secure code, including mistakes in building encryption functions, creating a sandbox, allowing SQL injection attacks, local pointers, and integer overflows. Participants made about the same number of mistakes in randomness—a problem not many programmers have taken the time to study—and fewer mistakes in buffer overflows.</p>
<p>It is possible, of course, for companies to create programming-specific AI assistants that might resolve these problems. Domain-specific AI assistants will always be more accurate and useful than general-purpose assistants.</p>
<p>Relying on AI assistants improves productivity but also seems to create mediocre results. In many cases, mediocre results will be “good enough.”</p>
<p>But what about when “good enough” isn’t … good enough?</p>
<p>Humans are creatures of habit. We do what we practice. If you want to become a better coder, you need to practice coding—and remember that practice does <em>not</em> make perfect. <em>Perfect practice makes perfect.</em></p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">17901</post-id>	</item>
		<item>
		<title>On Writing Complexity</title>
		<link>https://rule11.tech/on-writing-complexity/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 05 Feb 2024 22:57:06 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16967</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/writing-complexity.png" alt="" width="400" height="160" class="alignnone" />

I've been on a bit of a writer's break after finishing the CCST book, but it's time to rekindle my "thousand words a day" habit. As always, one part of this is thinking about how I write—is there anything I need to change? Tools, perhaps, or style?
]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/writing-complexity.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>I&#8217;ve been on a bit of a writer&#8217;s break after finishing the CCST book, but it&#8217;s time to rekindle my &#8220;thousand words a day&#8221; habit. As always, one part of this is thinking about how I write—is there anything I need to change? Tools, perhaps, or style?</p>
<p>What about the grade level complexity of my writing? I&#8217;ve never really paid attention to this, but I&#8217;m working on contributing to a site regularly that does. So maybe I should.</p>
<p>I tend to write to the tenth or eleventh-grade level, even when writing &#8220;popular material,&#8221; like blog posts. The recommended level is around the eighth-grade level. Is this something I need to change?</p>
<p>It seems the average person considers anything above the eighth-grade reading level &#8220;too hard&#8221; to read, so they give up. Every reading level calculation I&#8217;ve looked at essentially uses word and sentence length as proxies for complexity. Long words and sentences intimidate people.</p>
<p>On the other hand, measuring the reading grade level can seem futile. There are plenty of complex concepts described by one- and two-syllable words. Short sentences can still have lots of meaning.</p>
<p>Further, the reading grade level does not tell you if the sentence makes sense. A famous politician recently said, &#8220;… it’s time for us to do what we have been doing, and that time is every day.&#8221; The reading grade level of this sentence is in the sixth grade—but saying nothing is still saying nothing, even if you say it at a sixth-grade level.</p>
<p>While reading level complexity might be important, it is more important to <em>say something.</em></p>
<p>Sometimes, using long words and sentences stops people from paying attention to your words. However, replacing long words and sentences with shorter ones sometimes removes your words&#8217; real meaning (or at least flavor). I am not, at this point, certain how to balance these. I suspect I will have to consider the tradeoff in every situation.</p>
<p>When you write—and if you are doing your job as a network engineer well, you do write—you might want to consider the complexity of your writing. I will use the grade level as &#8220;another tool&#8221; in my set, which means I&#8217;ll be thinking about writing complexity more—but I&#8217;m not going to allow it to drive my writing style. If I can reduce the complexity of my writing without losing meaning, I may &#8230; sometimes &#8230; or I might not. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60a.png" alt="😊" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Looking at the other side of the coin—what about reading grade level from a <em>reader&#8217;s</em> point of view? Should we only read easy-to-read things? The answer should be obvious: <em>no.</em></p>
<p>There is a bit of a feeling that text above a certain reading level is &#8220;sheer nonsense.&#8221; Again, though, the grade level has nothing to do with the value of the content. Sometimes, saying complex things just requires complex text. Readers (all of us) need to learn to read complex text.</p>
<p>Reading grade level is a good tool in many situations—but it is one tool among many.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16967</post-id>	</item>
		<item>
		<title>Hedge 211: Learning About Learning</title>
		<link>https://rule11.tech/hedge-211/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 01 Feb 2024 21:50:55 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16946</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-211.png" alt="" width="400" height="160" class="alignnone" />

How much have you thought about the way you learn--or how to effectively teach beginners? There is a surprising amount of research into how humans learn, and how best to create material to teach them. In this roundtable episode, Tom, Eyvonne, and Russ discuss a recent paper from the Communications of the ACM, <a href="https://dl.acm.org/doi/10.1145/3584859">10 Things Software Developers Should Learn about Learning.</a>]]></description>
										<content:encoded><![CDATA[<p>How much have you thought about the way you learn&#8211;or how to effectively teach beginners? There is a surprising amount of research into how humans learn, and how best to create material to teach them. In this roundtable episode, Tom, Eyvonne, and Russ discuss a recent paper from the Communications of the ACM, <a href="https://dl.acm.org/doi/10.1145/3584859">10 Things Software Developers Should Learn about Learning.</a></p>
<p>&nbsp;</p>
<p><audio class="wp-audio-shortcode" id="audio-16946-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-211.mp3?_=1" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-211.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-211.mp3</a></audio><br />
&nbsp;</p>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-211.mp3"><em>download</em></a><br />
&nbsp;</p>
<p><a href="https://rule11.tech/wp-content/uploads/hedge-211.txt"><em>transcript (machine generated)</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-211.mp3" length="34159924" type="audio/mpeg" />

				<itunes:episode>211</itunes:episode>
		<podcast:episode>211</podcast:episode>
		<itunes:title>Learning About Learning</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>43:38</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/130688507-18977.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">16946</post-id>	</item>
		<item>
		<title>Modern Network Troubleshooting</title>
		<link>https://rule11.tech/modern-network-troubleshooting/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 02 Jan 2024 12:54:08 +0000</pubDate>
				<category><![CDATA[SCHEDULE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16847</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/modern-network-troubleshooting.png" alt="" width="400" height="240" class="alignnone size-full wp-image-16741" />

I've reformatted and rebuilt my network troubleshooting live training for 2023, and am teaching it on the 26th of January (in three weeks). <a href="https://learning.oreilly.com/live-events/modern-network-troubleshooting/0790145043580/">You can register at Safari Books Online.</a> From the site:

<blockquote>The first way to troubleshoot faster is to not troubleshoot at all, or to build resilient networks. The first section of this class considers the nature of resilience, and how design tradeoffs result in different levels of resilience. The class then moves into a theoretical understanding of failures, how network resilience is measured, and how the Mean Time to Repair (MTTR) relates to human and machine-driven factors. One of these factors is the unintended consequences arising from abstractions, covered in the next section of the class.

The class then moves into troubleshooting proper, examining the half-split formal troubleshooting method and how it can be combined with more intuitive methods. This section also examines how network models can be used to guide the troubleshooting process. The class then covers two examples of troubleshooting reachability problems in a small network, and considers using ChaptGPT and other LLMs in the troubleshooting process. A third, more complex example is then covered in a data center fabric.

A short section on proving causation is included, and then a final example of troubleshooting problems in Internet-level systems.</blockquote>]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve reformatted and rebuilt my network troubleshooting live training for 2023, and am teaching it on the 26th of January (in three weeks). <a href="https://learning.oreilly.com/live-events/modern-network-troubleshooting/0790145043580/">You can register at Safari Books Online.</a> From the site:</p>
<blockquote><p>The first way to troubleshoot faster is to not troubleshoot at all, or to build resilient networks. The first section of this class considers the nature of resilience, and how design tradeoffs result in different levels of resilience. The class then moves into a theoretical understanding of failures, how network resilience is measured, and how the Mean Time to Repair (MTTR) relates to human and machine-driven factors. One of these factors is the unintended consequences arising from abstractions, covered in the next section of the class.</p>
<p>The class then moves into troubleshooting proper, examining the half-split formal troubleshooting method and how it can be combined with more intuitive methods. This section also examines how network models can be used to guide the troubleshooting process. The class then covers two examples of troubleshooting reachability problems in a small network, and considers using ChaptGPT and other LLMs in the troubleshooting process. A third, more complex example is then covered in a data center fabric.</p>
<p>A short section on proving causation is included, and then a final example of troubleshooting problems in Internet-level systems.</p></blockquote>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16847</post-id>	</item>
		<item>
		<title>Upcoming Pearson Class: Modern Network Troubleshooting</title>
		<link>https://rule11.tech/upcoming-pearson-class-modern-network-troubleshooting/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 04 Dec 2023 13:57:29 +0000</pubDate>
				<category><![CDATA[SCHEDULE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16742</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/modern-network-troubleshooting.png" alt="" width="400" height="240" class="alignnone" />

On the 26th of January, I'll be teaching a webinar over at Safari Books Online (subscription service) called <em>Modern Network Troubleshooting.</em> From the blurb:

<blockquote>The first section of this class considers the nature of resilience, and how design tradeoffs result in different levels of resilience. The class then moves into a theoretical understanding of failures, how network resilience is measured, and how the Mean Time to Repair (MTTR) relates to human and machine-driven factors. One of these factors is the unintended consequences arising from abstractions, covered in the next section of the class.
The class then moves into troubleshooting proper, examining the half-split formal troubleshooting method and how it can be combined with more intuitive methods. This section also examines how network models can be used to guide the troubleshooting process. The class then covers two examples of troubleshooting reachability problems in a small network, and considers using ChaptGPT and other LLMs in the troubleshooting process. A third, more complex example is then covered in a data center fabric.</blockquote>

<a href="https://learning.oreilly.com/live-events/modern-network-troubleshooting/0790145043580/">Register here.</a>
]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/modern-network-troubleshooting.png?resize=400%2C240&#038;ssl=1" alt="" width="400" height="240" class="alignnone" /></p>
<p>On the 26th of January, I&#8217;ll be teaching a webinar over at Safari Books Online (subscription service) called <em>Modern Network Troubleshooting.</em> From the blurb:</p>
<blockquote><p>The first section of this class considers the nature of resilience, and how design tradeoffs result in different levels of resilience. The class then moves into a theoretical understanding of failures, how network resilience is measured, and how the Mean Time to Repair (MTTR) relates to human and machine-driven factors. One of these factors is the unintended consequences arising from abstractions, covered in the next section of the class.<br />
The class then moves into troubleshooting proper, examining the half-split formal troubleshooting method and how it can be combined with more intuitive methods. This section also examines how network models can be used to guide the troubleshooting process. The class then covers two examples of troubleshooting reachability problems in a small network, and considers using ChaptGPT and other LLMs in the troubleshooting process. A third, more complex example is then covered in a data center fabric.</p></blockquote>
<p><a href="https://learning.oreilly.com/live-events/modern-network-troubleshooting/0790145043580/">Register here.</a></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16742</post-id>	</item>
		<item>
		<title>Hedge 203: Terry Slattery on Network Automation</title>
		<link>https://rule11.tech/hedge-203/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 16 Nov 2023 22:33:14 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16687</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-203.png" alt="" width="400" height="160" class="alignnone" />

Terry Slattery joins Tom and Russ to continue the conversation on network automation&#8212;and why networks are not as automated as they should be. This is part one of a two-part series; the second part will be published in two weeks as Hedge episode 204.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-203.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Terry Slattery joins Tom and Russ to continue the conversation on network automation&#8212;and why networks are not as automated as they should be. This is part one of a two-part series; the second part will be published in two weeks as Hedge episode 204.</p>
<audio class="wp-audio-shortcode" id="audio-16687-2" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-203.mp3?_=2" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-203.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-203.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-203.mp3"><em>download</em></a><br />
<a href="https://rule11.tech/wp-content/uploads/hedge-203.txt"><em>transcript</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-203.mp3" length="48811349" type="audio/mpeg" />

				<itunes:episode>203</itunes:episode>
		<podcast:episode>203</podcast:episode>
		<itunes:title>Network Automation with Terry Slattery</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>33:53</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/122426973-14073.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">16687</post-id>	</item>
		<item>
		<title>Hedge 180: Network Operations Survey with Josh S</title>
		<link>https://rule11.tech/hedge-180/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 25 May 2023 16:24:36 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16139</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-180.png" alt="" width="400" height="160" class="alignnone" />

What has been happening in the world of network automation&#8212;and more to the point, what is coming in the future? Josh Stephens from Backbox joins Tom Ammon, Eyvonne Sharp, and Russ White to discuss the current and future network operations and automation landscape. ]]></description>
										<content:encoded><![CDATA[<p>What has been happening in the world of network automation&#8212;and more to the point, what is coming in the future? Josh Stephens from Backbox joins Tom Ammon, Eyvonne Sharp, and Russ White to discuss the current and future network operations and automation landscape. </p>
<p><a href="https://backbox.com/resources/2023-network-operations-and-network-security-survey-whats-ahead-for-automation/">You can read Backbox&#8217;s report on network automation here.</a></p>
<audio class="wp-audio-shortcode" id="audio-16139-3" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-180.mp3?_=3" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-180.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-180.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-180.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-180.mp3" length="62692776" type="audio/mpeg" />

				<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>43:32</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">16139</post-id>	</item>
		<item>
		<title>Hedge 175: Mike B on Personal Superpowers</title>
		<link>https://rule11.tech/hedge-175/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 20 Apr 2023 19:24:56 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16028</guid>

					<description><![CDATA[<img class="alignnone" src="https://rule11.tech/wp-content/uploads/hedge-175.png" alt="" width="400" height="160" />

When the economy starts contracting, career advisors start talking about the importance of "soft skills." What are "soft skills," exactly—and why are they "soft?" Mike Bushong joins Tom Amman and Russ White to talk about why these skills are important, why they are not "soft," and how we should talk about people skills instead. They are <em>superpowers,"</em> and there isn't anything "soft" about them.]]></description>
										<content:encoded><![CDATA[<p>When the economy starts contracting, career advisors start talking about the importance of &#8220;soft skills.&#8221; What are &#8220;soft skills,&#8221; exactly—and why are they &#8220;soft?&#8221; Mike Bushong joins Tom Amman and Russ White to talk about why these skills are important, why they are not &#8220;soft,&#8221; and how we should talk about people skills instead. They are <em>superpowers,&#8221;</em> and there isn&#8217;t anything &#8220;soft&#8221; about them.</p>
<audio class="wp-audio-shortcode" id="audio-16028-4" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-175.mp3?_=4" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-175.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-175.mp3</a></audio>
<p>&nbsp;<br />
<a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-175.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-175.mp3" length="70589140" type="audio/mpeg" />

				<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>49:01</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">16028</post-id>	</item>
		<item>
		<title>Hedge 174: Javier Antich and Cloud AI</title>
		<link>https://rule11.tech/hedge-174/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Fri, 14 Apr 2023 12:28:08 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16006</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-174.png" alt="" width="400" height="160" class="alignnone />

ChatGPT has broken through the hype barrier and brought AI hype to the larger world. But what does AI mean to network engineers? We've talked about AI driven network management for years, and commercial products abound, but what does it really mean to move from the automation driven configuration to AI driven decision-making? Javier Antich joins Tom Ammon and Russ White for this episode of the Hedge to talk about cloud AI for network engineers.
]]></description>
										<content:encoded><![CDATA[<p>ChatGPT has broken through the hype barrier and brought AI hype to the larger world. But what does AI mean to network engineers? We&#8217;ve talked about AI driven network management for years, and commercial products abound, but what does it really mean to move from the automation driven configuration to AI driven decision-making? Javier Antich joins Tom Ammon and Russ White for this episode of the Hedge to talk about cloud AI for network engineers.</p>
<audio class="wp-audio-shortcode" id="audio-16006-5" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-174.mp3?_=5" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-174.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-174.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-174.mp3"><em>download</em</a></p>
<p><a href="https://www.amazon.es/dp/B0BT6YFHGL?ref_=cm_sw_r_cp_ud_dp_QTX6869CY9JK1981KG57">You can learn more about cloud AI in Javier&#8217;s new book.</a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-174.mp3" length="58188080" type="audio/mpeg" />

				<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>40:25</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">16006</post-id>	</item>
		<item>
		<title>Mean Time to Innocence is not Enough</title>
		<link>https://rule11.tech/mean-time-to-innocence-is-not-enough/</link>
					<comments>https://rule11.tech/mean-time-to-innocence-is-not-enough/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 14 Nov 2022 16:20:50 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=15595</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/mtti-is-not-enough.png" alt="" width="400" height="160" class="alignnone" />

A long time ago, I supported a wind speed detection system consisting of an impeller, a small electric generator, a 12 gauge cable running a few miles, and a voltmeter. The entire thing was calibrated through a resistive bridge--attach an electric motor to the generator, run it at a series of fixed speed, and adjust the resistive bridge until the voltmeter, marked in knots of wind speed, read correctly.

The primary problem in this system was the several miles of 12 gauge cable. It was often damaged, requiring us to dig the cable up (shovel ready jobs!), strip the cable back, splice the correct pairs together, seal it all in a plastic container filled with goo, and bury it all again. There was one instance, however, when we could not get the wind speed system adjusted correctly, no matter how we tried to tune the resistive bridge. We pulled things apart and determined there must be a problem in one of the (many) splices in the several miles of cable.
]]></description>
										<content:encoded><![CDATA[<p>A long time ago, I supported a wind speed detection system consisting of an impeller, a small electric generator, a 12 gauge cable running a few miles, and a voltmeter. The entire thing was calibrated through a resistive bridge&#8211;attach an electric motor to the generator, run it at a series of fixed speed, and adjust the resistive bridge until the voltmeter, marked in knots of wind speed, read correctly.</p>
<p>The primary problem in this system was the several miles of 12 gauge cable. It was often damaged, requiring us to dig the cable up (shovel ready jobs!), strip the cable back, splice the correct pairs together, seal it all in a plastic container filled with goo, and bury it all again. There was one instance, however, when we could not get the wind speed system adjusted correctly, no matter how we tried to tune the resistive bridge. We pulled things apart and determined there must be a problem in one of the (many) splices in the several miles of cable.</p>
<p>At first, we ran a Time Domain Reflectometer (TDR) across the cable to see if we could find the problem. The TDR turned up a couple of hot spots, so we dug those points up &#8230; and found there were no splices there. Hmmm &#8230; So we called in a specialized cable team. They ran the same TDR tests, dug up the same places, and then did some further testing and found &#8230; the cable was innocent.</p>
<p>This set up an argument, running all the way to the base commander level, between our team and the cable team. Who&#8217;s fault was this mess? Our inability to measure the wind speed at one end of the runway was impacting flight operations, so this had to be fixed. But rather than fixing the problem, we were spending our time arguing about who&#8217;s fault the problem was, and who should fix it.</p>
<p><a href="https://scholarlypublishingcollective.org/psup/information-policy/article/doi/10.5325/jinfopoli.10.2020.0001/314454/Policy-Challenges-in-Mapping-Internet-Interdomain">When I read this line in a recent CAIDA research paper&#8211;</a></p>
<p>&#8220;Measurement is political, and often adversarial.&#8221;</p>
<p>It rang very true. In Internet terms, speed, congestion, and even usage are often political and adversarial. Just like the wind speed system, two teams were measuring the same thing to prove the problem wasn&#8217;t their&#8217;s&#8211;rather than to figure out what the problem is and how to fix it.</p>
<p>In other words, our goal is too often Mean Time to Innocence (MTTI), rather than Mean Time to Repair (MTTR). </p>
<p>MTTI is not enough. We need to work with our application counterparts to find and fix problems, rather than against them. Measurement should not be adversarial, it should be cooperative. </p>
<p>We need to learn to fix the problem, not the blame. </p>
<p>This is a cultural issue, but it also impacts the way we do telemetry. For instance, in the case of the wind speed indicator, the problem was ultimately a connection that &#8220;worked,&#8221; but with high capacive reactance such that some kinds of signals were attenuated while others were not. None of us were testing the cable using the right kind of signal, so we all just sat around arguing about who&#8217;s problem it was rather than solving the problem.</p>
<p>When a user brings a problem to you, resist the urge to go prove yourself&#8211;or your system&#8211;innocent. Even if your system isn&#8217;t the problem, your system can provide information that can help solve the problem. Treat problems as opportunities to help rather than as opportunies to swish your superhero cape and prove your expertise.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/mean-time-to-innocence-is-not-enough/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15595</post-id>	</item>
		<item>
		<title>Learning to Ride</title>
		<link>https://rule11.tech/learning-to-ride/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 01 Aug 2022 17:00:06 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=15256</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/learn-to-ride.png" alt="" width="400" height="160" class="alignnone" />

Have you ever taught a kid to ride a bike? Kids always begin the process by shifting their focus from the handlebars to the pedals, trying to feel out how to keep the right amount of pressure on each pedal, control the handlebars, and keep moving … so they can stay balanced. During this initial learning phase, the kid will keep their eyes down, looking at the pedals, the handlebars, and . . . the ground.

After some time of riding, though, managing the pedals and handlebars are embedded in “muscle memory,” allowing them to get their head up and focus on where they’re going rather than on the mechanical process of riding. After a lot of experience, bike riders can start doing wheelies, or jumps, or off-road riding that goes far beyond basic balance.
Network engineer—any kind of engineering, really—is the same way.]]></description>
										<content:encoded><![CDATA[<p>Have you ever taught a kid to ride a bike? Kids always begin the process by shifting their focus from the handlebars to the pedals, trying to feel out how to keep the right amount of pressure on each pedal, control the handlebars, and keep moving … so they can stay balanced. During this initial learning phase, the kid will keep their eyes down, looking at the pedals, the handlebars, and . . . the ground.</p>
<p>After some time of riding, though, managing the pedals and handlebars are embedded in “muscle memory,” allowing them to get their head up and focus on where they’re going rather than on the mechanical process of riding. After a lot of experience, bike riders can start doing wheelies, or jumps, or off-road riding that goes far beyond basic balance.<br />
Network engineer—any kind of engineering, really—is the same way.</p>
<p>At first, you need to focus on what you are doing. How is this configured? What specific output am I looking for in this show command? What field do I need to use in this data structure to automate that? Where do I look to find out about these fields, defects, etc.?</p>
<p>The problem is—it is easy to get stuck at this level, focusing on configurations, automation, and the “what” of things. </p>
<p>You’re not going to be able to get your head up and think about the longer term—the trail ahead, the end-point you’re trying to reach—until you commit these things to muscle memory.<br />
The point, with technology, is learning to stop focusing on the pedals, the handlebars, and the ground, and start focusing on the goal—whether its nailing this jump or conquering this trail or making it there.</p>
<p>Transitioning is often hard, of course, but its just like riding a bike. You won’t make the transition until you trust your muscle memory a bit at a time. </p>
<p>Learning the theory of how and why things work the way they are is a key point in this transition. Configuration is just the intersection of “how this works” with “what am I trying to do…” If you know how (and why) protocols work, and you know what you’re trying to do, configuration and automation will become a matter of asking the right questions.</p>
<p>Learn the theory, and riding the bike will become second nature—rather than something you must focus on constantly. </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15256</post-id>	</item>
		<item>
		<title>Privacy for Providers</title>
		<link>https://rule11.tech/privacy-for-providers/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 11 Jul 2022 17:00:38 +0000</pubDate>
				<category><![CDATA[ON THE NET]]></category>
		<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[VIDEO]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=15181</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/privacy-for-providers.png" alt="" width="400" height="160" class="alignnone" />

While this talk is titled <em>privacy for providers,</em> it really applies to just about every network operator. This is meant to open a conversation on the topic, rather than providing definitive answers. I start by looking at some of the kinds of information network operators work with, and whether this information can or should be considered "private." In the second part of the talk, I work through some of the various ways network operators might want to consider when handling private information.
]]></description>
										<content:encoded><![CDATA[<p>While this talk is titled <em>privacy for providers,</em> it really applies to just about every network operator. This is meant to open a conversation on the topic, rather than providing definitive answers. I start by looking at some of the kinds of information network operators work with, and whether this information can or should be considered &#8220;private.&#8221; In the second part of the talk, I work through some of the various ways network operators might want to consider when handling private information.</p>
<p><iframe loading="lazy" class="youtube-player" width="640" height="360" src="https://www.youtube.com/embed/4yL6_tKfIfk?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15181</post-id>	</item>
		<item>
		<title>Hedge 128: Network Engineering at College</title>
		<link>https://rule11.tech/hedge-128-network-engineering-at-college/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 05 May 2022 18:04:07 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14896</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-128.png" alt="" width="400" height="160" class="alignnone" />

Have you ever thought about getting a college degree in computer networking? What are the tradeoffs between this and getting a certification? What is the state of network engineering at colleges&#8212;what do current students in network engineering programs think about their programs, and what they wish was there that isn't? Rick Graziani joins Tom Ammon and Russ White in a broad ranging discussion on network engineering and college. Rick teaches network engineering full time in the Valley.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-128.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Have you ever thought about getting a college degree in computer networking? What are the tradeoffs between this and getting a certification? What is the state of network engineering at colleges&#8212;what do current students in network engineering programs think about their programs, and what they wish was there that isn&#8217;t? Rick Graziani joins Tom Ammon and Russ White in a broad ranging discussion on network engineering and college. Rick teaches network engineering full time in the Valley.</p>
<audio class="wp-audio-shortcode" id="audio-14896-6" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-128.mp3?_=6" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-128.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-128.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-128.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-128.mp3" length="49968404" type="audio/mpeg" />

				<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>52:03</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">14896</post-id>	</item>
		<item>
		<title>Keith&#8217;s Law (1)</title>
		<link>https://rule11.tech/keiths-law-1/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 28 Sep 2021 18:23:04 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14201</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/keith-pt1.png" alt="" width="400" height="160" class="alignnone" />

I sometimes reference Keith’s Law in my teaching, but I don’t think I’ve ever explained it. Keith’s Law runs something like this:

<blockquote>Any large external step in a system’s capability is the result of many incremental changes within the system.</blockquote>]]></description>
										<content:encoded><![CDATA[<p>I sometimes reference Keith’s Law in my teaching, but I don’t think I’ve ever explained it. Keith’s Law runs something like this:</p>
<blockquote><p>Any large external step in a system’s capability is the result of many incremental changes within the system.</p></blockquote>
<p>The reason incremental changes within a system appear as a single large step to outside observers is the smaller changes are normally hidden by abstraction. This is, in fact, the purpose of abstraction—to hide small changes inside a system from external view. Keith’s law is closely related to Clarke’s third law that “Any sufficiently advanced technology is indistinguishable from magic.” What looks like magic from the outside is really just a bunch of smaller things—each easier to understand on its own—combined into one single “thing” through abstraction.<br />
If you’ve read this far, you’re probably thinking—what does this have to do with network engineering?<br />
Well, several things, really.</p>
<p>First—the network is just an abstraction that moves packets to its users. Moving packets seems so … simple … to network users. You put data in here, and data comes out over there. All the little stuff that goes into making a network work are lost in the abstraction of the virtual connection between two hosts.</p>
<p>If you want users to understand why building a network is hard, you’re going to have to work hard at it. And you’re not likely to succeed—it’s often better just to live with the reality that users aren’t going to understand. Of course, this isn’t necessarily a bad thing, at least until it’s time to buy hardware and software to make all this magic work.</p>
<p>Second—no-one outside the network is ever going to understand the refactoring, simplification, and new features you’re trying to build into the network on their own. Users will only understand these things when they are related to some bigger picture, something they can see beyond the abstraction the network presents.</p>
<p>If you’re going to justify doing new things, you need to do so in terms of “larger things,” things that can be seen from outside the abstraction.</p>
<p>Third—no-one is going to pat you on the back for all the little things that need to be done to deploy a new major service. From the outside, that new service, or new cost savings, or whatever—it’s all just indistinguishable from magic.</p>
<p>Keith’s law is both good and bad. But it also means you need to learn how to frame your work in a way that users, who don’t have access to the inner workings of the network, can understand why you’re doing what you’re doing.</p>
<p>Turning this around, this also means you shouldn’t accept the “magic” of vendor products. That brilliant new capability your vendor is showing you is really made up of a lot of smaller components. The abstraction is just that—an abstraction. If you really want to understand the positive and negative consequences of deploying something new, you need to look beyond the abstraction.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14201</post-id>	</item>
		<item>
		<title>Hedge 101: In Situ OAM</title>
		<link>https://rule11.tech/hedge-101-in-situ-oam/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 22 Sep 2021 17:00:49 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14182</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-101.png" alt="" width="400" height="160" class="alignnone" />

Understanding the flow of a packet is difficult in modern networks, particularly data center fabrics with their wide fanout and high ECMP counts. At the same time, solving this problem is becoming increasingly important as quality of experience becomes the dominant measure of the network. A number of vendor-specific solutions are being developed to solve this problem. In this episode of the Hedge, Frank Brockners and Shwetha Bhandari join Alvaro Retana and Russ White to discuss the in-situ OAM work currently in progress in the IPPM Wg of the IETF.]]></description>
										<content:encoded><![CDATA[<p>Understanding the flow of a packet is difficult in modern networks, particularly data center fabrics with their wide fanout and high ECMP counts. At the same time, solving this problem is becoming increasingly important as quality of experience becomes the dominant measure of the network. A number of vendor-specific solutions are being developed to solve this problem. In this episode of the Hedge, Frank Brockners and Shwetha Bhandari join Alvaro Retana and Russ White to discuss <a href="https://datatracker.ietf.org/doc/draft-ietf-ippm-ioam-data/">the in-situ OAM work currently in progress in the IPPM WG of the IETF.</a></p>
<audio class="wp-audio-shortcode" id="audio-14182-7" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-101.mp3?_=7" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-101.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-101.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-101.mp3"></em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-101.mp3" length="58889200" type="audio/mpeg" />

				<itunes:episode>101</itunes:episode>
		<podcast:episode>101</podcast:episode>
		<itunes:title>In-Situ OAM</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>40:54</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">14182</post-id>	</item>
		<item>
		<title>Leveraging Similarities</title>
		<link>https://rule11.tech/leveraging-similarities/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 26 Jul 2021 17:00:50 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13959</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/leveraging-similarities.png" alt="" width="400" height="160" class="alignnone" />

We tend to think every technology and every product is roughly unique&#8212;so we tend to stay up late at night looking at packet captures and learning how to configure each product individually, and chasing new ones as if they are the brightest new idea (or, in marketing terms, the best thing since sliced bread). Reality check: <em>they aren't.</em> This applies across life, of course, but especially to technology.]]></description>
										<content:encoded><![CDATA[<p>We tend to think every technology and every product is roughly unique&#8212;so we tend to stay up late at night looking at packet captures and learning how to configure each product individually, and chasing new ones as if they are the brightest new idea (or, in marketing terms, the best thing since sliced bread). Reality check: <em>they aren&#8217;t.</em> This applies across life, of course, but especially to technology. From a recent article&#8212;</p>
<blockquote><p><a href="https://opensource.com/article/21/4/compare-programming-languages">Whenever I start learning a new programming language, I focus on defining variables, writing a statement, and evaluating expressions. Once I have a general understanding of those concepts, I can usually figure out the rest on my own. Most programming languages have some similarities, so once you know one programming language, learning the next one is a matter of figuring out the unique details and recognizing the differences.</a></p></blockquote>
<p>RFC1925 rule 11 states&#8212;</p>
<blockquote><p><a href="https://datatracker.ietf.org/doc/html/rfc1925">Every old idea will be proposed again with a different name and a different presentation, regardless of whether it works.</a></p></blockquote>
<p>Rule 11 isn&#8217;t just a funny saying&#8212;rule 11 is your friend. If want to learn new things quickly, learn rule 11 first. A basic understanding of the theory of networking will carry across all products, all marketing campaigns, and all protocols.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13959</post-id>	</item>
		<item>
		<title>Hedge 90: Andrew Wertkin and a Naïve Reliance on Automation</title>
		<link>https://rule11.tech/hedge-90-andrew-wertkin-and-a-naive-reliance-on-automation/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 07 Jul 2021 20:16:00 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13885</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-90.png" alt="" width="400" height="160" class="alignnone" />

Automation is surely one of the best things to come to the networking world&#8212;the ability to consistently apply a set of changes across a wide array of network devices has speed at which network engineers can respond to customer requests, increased the security of the network, and reduced the number of hours required to build and maintain large-scale systems. There are downsides to automation, as well&#8212;particularly when operators begin to rely on automation to solve problems that really should be solved someplace else. 

In this episode of the Hedge, Andrew Wertkin from Bluecat Networks joins Tom Ammon and Russ White to discuss the naïve reliance on automation.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-90.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Automation is surely one of the best things to come to the networking world&#8212;the ability to consistently apply a set of changes across a wide array of network devices has speed at which network engineers can respond to customer requests, increased the security of the network, and reduced the number of hours required to build and maintain large-scale systems. There are downsides to automation, as well&#8212;particularly when operators begin to rely on automation to solve problems that really should be solved someplace else. </p>
<p>In this episode of the Hedge, Andrew Wertkin from Bluecat Networks joins Tom Ammon and Russ White to discuss the naïve reliance on automation.</p>
<audio class="wp-audio-shortcode" id="audio-13885-8" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-090.mp3?_=8" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-090.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-090.mp3</a></audio>
<p><a href=" https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-090.mp3"><em>download</em</a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-090.mp3" length="54339432" type="audio/mpeg" />

				<itunes:episode>90</itunes:episode>
		<podcast:episode>90</podcast:episode>
		<itunes:title>Andrew Wertkin and a Naïve Reliance on Automation</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>37:44</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13885</post-id>	</item>
		<item>
		<title>The Hedge 85: Terry Slattery and the ROI of Automation</title>
		<link>https://rule11.tech/the-hedge-85-terry-slattery-and-the-roi-of-automation/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 26 May 2021 17:37:57 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13751</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-085.png" alt="" width="400" height="160" class="alignnone" />

It's easy to assume automation can solve anything and that it's cheap to deploy&#8212;that there are a lot of upsides to automation, and no downsides. In this episode of the Hedge, Terry Slattery joins Tom Ammon and Russ White to discuss something we don't often talk about, the Return on Investment (ROI) of automation. ]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s easy to assume automation can solve anything and that it&#8217;s cheap to deploy&#8212;that there are a lot of upsides to automation, and no downsides. In this episode of the Hedge, Terry Slattery joins Tom Ammon and Russ White to discuss something we don&#8217;t often talk about, the Return on Investment (ROI) of automation. </p>
<audio class="wp-audio-shortcode" id="audio-13751-9" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-085.mp3?_=9" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-085.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-085.mp3</a></audio>
<hr />
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-085.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-085.mp3" length="47018988" type="audio/mpeg" />

				<itunes:episode>85</itunes:episode>
		<podcast:episode>85</podcast:episode>
		<itunes:title>The ROI of Automation with Terry Slattery</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>32:39</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13751</post-id>	</item>
		<item>
		<title>Is it really the best just because its the most common?</title>
		<link>https://rule11.tech/is-it-really-the-best-just-because-its-the-most-common/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 24 May 2021 17:00:38 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13743</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/best-common-practices.png" alt="" width="400" height="160" class="alignnone" />

I cannot count the number of times I’ve heard someone ask these two questions—
<ul>
 	<li>What are other people doing?</li>
 	<li>What is the best common practice?</li>
</ul>
While these questions have always bothered me, I could never really put my finger on <em>why.</em> I ran across a journal article recently that helped me understand a bit better. The root of the problem is this—what does <em>best</em> <em>common</em> mean, and how can following the <em>best common </em>produce a set of actions you can be confident will solve <em>your</em> problem?]]></description>
										<content:encoded><![CDATA[<p>I cannot count the number of times I’ve heard someone ask these two questions—</p>
<ul>
<li>What are other people doing?</li>
<li>What is the best common practice?</li>
</ul>
<p>While these questions have always bothered me, I could never really put my finger on <em>why.</em> I ran across a journal article recently that helped me understand a bit better. The root of the problem is this—what does <em>best</em> <em>common</em> mean, and how can following the <em>best common </em>produce a set of actions you can be confident will solve <em>your</em> problem?</p>
<p>Bellman and Oorschot say <em>best common practice</em> can mean <em>this is widely implemented. </em>The thinking seems to run something like this: <em>the crowd’s collective wisdom will probably be better than my thinking… more sets of eyes will make for wiser or better decisions.</em> Anyone who has studied the madness of crowds will immediately recognize the folly of this kind of state. Just because a lot of people agree it’s a good idea to jump off a cliff does not mean it is, in fact, a good idea to jump off a cliff.</p>
<p>Perhaps it means something closer to <em>this is no worse than our competitors.</em> If that’s the meaning, though, it’s a pretty cynical result. It’s saying, “I don’t mind condemning myself to mediocrity so long as I see everyone else doing the same thing.” It doesn’t sound like much of a way to grow a business.</p>
<p>The authors do provide their definition—</p>
<blockquote><p><a href="https://arxiv.org/pdf/2004.12179.pdf">For a given desired outcome, a “best practice” is a means intended to achieve that outcome, and that is considered to be at least as “good” as the best of other broadly considered means to achieve that same outcome.</a></p></blockquote>
<p>The thinking seems to run something like this—<em>it’s likely that everyone else has tried many different ways of doing this; that they have all settled on doing this, this way, means all those other methods are probably not as good as this one for some reason.</em></p>
<p>Does this work? There’s no way to tell without further investigation. How many of the other folks doing “this” spent serious time trying alternatives, and how many just decided the cheapest way was the best no matter how poor the result might be? In fact, how can we know what the results of doing things “this way” have in all those other networks? Where would we find this kind of information?</p>
<p>&nbsp;</p>
<p>In the end, I can’t ever make much sense out of the question, “what is everyone else doing?” Discovering what everyone else is doing might help me eliminate possibilities (that didn’t work for them, so I certainly don’t want to try it), or it might help me understand the positive and negative attributes of a given solution. Still, I don’t understand why “common” should infer “best.”</p>
<p>The best solution for this situation is simply going to be the best solution. Feel free to draw on many sources, but don’t let other people determine what you should be doing.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13743</post-id>	</item>
		<item>
		<title>The Hedge 79: Brooks Westbrook and the Data Driven Lens</title>
		<link>https://rule11.tech/the-hedge-79-brooks-westbrook-and-the-data-driven-lens/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 15 Apr 2021 17:00:37 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13577</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-079.png" alt="" width="400" height="160" class="alignnone" />

Many networks are designed and operationally drive by the configuration and management of features supporting applications and use cases. For network engineering to catch up to the rest of the operational world, it needs to move rapidly towards data driven management based on a solid understanding of the underlying protocols and systems. Brooks Westbrook joins Tom Amman and Russ White to discuss the data driven lens in this episode of the Hedge.]]></description>
										<content:encoded><![CDATA[<p>Many networks are designed and operationally drive by the configuration and management of features supporting applications and use cases. For network engineering to catch up to the rest of the operational world, it needs to move rapidly towards data driven management based on a solid understanding of the underlying protocols and systems. Brooks Westbrook joins Tom Amman and Russ White to discuss the data driven lens in this episode of the Hedge.</p>
<audio class="wp-audio-shortcode" id="audio-13577-10" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-079.mp3?_=10" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-079.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-079.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-079.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-079.mp3" length="51177506" type="audio/mpeg" />

				<itunes:episode>79</itunes:episode>
		<podcast:episode>79</podcast:episode>
		<itunes:title>Brooks Westbrook and the Data Driven Lens</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>35:32</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13577</post-id>	</item>
		<item>
		<title>The Hedge 78: Mike Bushong and Radical Candor</title>
		<link>https://rule11.tech/the-hedge-78-mike-bushong-and-radical-candor/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 07 Apr 2021 17:20:09 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13548</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-078.png" alt="" width="400" height="160" class="alignnone" />

Communication is one of those soft skills so often cited as a key to success&#8212;but what does effective communication entail? Mike Bushong joins Eyvonne Sharp and Russ White on the Hedge to discuss radical candor, and the importance of giving and taking honest feedback to relationships and business.
]]></description>
										<content:encoded><![CDATA[<p>Communication is one of those soft skills so often cited as a key to success&#8212;but what does effective communication entail? Mike Bushong joins Eyvonne Sharp and Russ White on the Hedge to discuss radical candor, and the importance of giving and taking honest feedback to relationships and business.</p>
<audio class="wp-audio-shortcode" id="audio-13548-11" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-078.mp3?_=11" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-078.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-078.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-078.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-078.mp3" length="50428460" type="audio/mpeg" />

				<itunes:episode>77</itunes:episode>
		<podcast:episode>77</podcast:episode>
		<itunes:title>Mike Bushong and Radical Candor</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>42:01</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13548</post-id>	</item>
		<item>
		<title>Time and Mind Savers: RSS Feeds</title>
		<link>https://rule11.tech/time-and-mind-savers-rss-feeds/</link>
					<comments>https://rule11.tech/time-and-mind-savers-rss-feeds/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 05 Apr 2021 17:00:04 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13521</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/rss-feeds.png" alt="" width="400" height="160" class="alignnone" />

I began writing this post just to remind readers this blog does have a number of RSS feeds&#8212;but then I thought ... well, I probably need to explain why that piece of information is important.

The amount of writing, video, and audio being thrown at the average person today is astounding&#8212;so much so that, according to a lot of research, most people in the digital world have resorted to relying on social media as their primary source of news. Why do most people get their news from social media? I'm pretty convinced this is largely a matter of "it saves time." The resulting feed might not be "perfect," but it's "close enough," and no-one wants to spend time seeking out a wide variety of news sources so they will be better informed.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/rss-feeds.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>I began writing this post just to remind readers this blog does have a number of RSS feeds&#8212;but then I thought &#8230; well, I probably need to explain why that piece of information is important.</p>
<p>The amount of writing, video, and audio being thrown at the average person today is astounding&#8212;so much so that, according to a lot of research, most people in the digital world have resorted to relying on social media as their primary source of news. Why do most people get their news from social media? I&#8217;m pretty convinced this is largely a matter of &#8220;it saves time.&#8221; The resulting feed might not be &#8220;perfect,&#8221; but it&#8217;s &#8220;close enough,&#8221; and no-one wants to spend time seeking out a wide variety of news sources so they will be better informed.</p>
<p>The problem, in this case, is that &#8220;close enough&#8221; is really a bad idea. We all tend to live in information bubbles of one form or another (although I&#8217;m fully convinced it&#8217;s much easier to live in a liberal/progressive bubble, being completely insulated from any news that doesn&#8217;t support your worldview, than it is to live in a conservative/traditional one). If you think about the role of social media and the news feed on social media services, this makes some kind of sense. The social media service tries to guess at what will keep you interested (engaged, and therefore coming back to the service), but at the same time each social media service also has a worldview they want to promote. The service largely attempts to both cater to what keeps you there and to pull you towards what the service, itself, believes.</p>
<p>The solution is <em>stop getting your news from social media.</em> <strong>period, full stop, end of sentence</strong> (although I&#8217;ve seen a recent paper indicating people find periods and other punctuation marks <em>offensive</em> in some way&#8212;when you find a period offensive, maybe it&#8217;s time to grow a little thicker skin).</p>
<p>So how should you get information instead? There are a lot of ways, from email based newsletters to watching television (please don&#8217;t, television turns everything into entertainment, including things that are not meant to entertain). My suggestion is, however, is through RSS feeds. Grab an account on Feedly or some other service, find the RSS feeds for the sites you find informative, and subscribe to their feeds. Some services have a learning mechanism that tries to accomplish the same thing as social media feeds&#8212;building intelligent filters to emphasize things you find important. I don&#8217;t tend to use these things; I have learned to just glance at the headline and first paragraph and make a quick decision about whether I think the post is worth reading.</p>
<p>Following RSS feeds can help you stop binging, jumping from place to place on a single site&#8212;essentially wasting time. It works against the mechanisms designers use to &#8220;increase engagement,&#8221; which often just means to consume more of your attention and time than you intended to give away. Following RSS feeds can also help you gain a broader view of the world <em>if</em> you intentionally subscribe to feeds from sites and people you don&#8217;t always agree with. It&#8217;s healthy to regularly read &#8220;the other side.&#8221; Following strong, well-written arguments from &#8220;the other side&#8221; will do much more for your mind than seeing just the facile, emotionally charged, straw-man arguments often presented (and allowed through the filters) on social media.</p>
<p>Further, services like feedly also allow you to follow lots of other things, including twitter accounts, youtube channels, and podcasts. I follow almost all podcasts through feedly, downloading the individual episodes I want to listen to, storing them in a cloud directory, and then deleting the files when I&#8217;m done. This gives me one list of things to listen to, rather than a huge playlist full of seemingly never-ending content.</p>
<p>All this said, this blog has a lot of different RSS feeds available. I don&#8217;t have a complete list, but these are a good place to start&#8212;</p>
<ul>
<li>The main feed (every post other than worth reading): <a href="https://rule11.tech/feed/">https://rule11.tech/feed/</a></li>
<li>Longer written pieces (no podcast, worth reading, posts on other sites, weekend reads, etc.): <a href="https://rule11.tech/category/content-type/written/feed/">https://rule11.tech/category/content-type/written/feed/</a></li>
<li>The Hedge: <a href="https://rule11.tech/category/hedge/feed/">https://rule11.tech/category/hedge/feed/</a></li>
<li>The History of Networking: <a href="https://rule11.tech/category/hon/feed/">https://rule11.tech/category/hon/feed/</a></li>
</ul>
<p>I keep these very same links on a page of RSS feeds you can find under the <em>about</em> menu. If you&#8217;re interested in the RSS feeds I follow, please reach out to me directly, as feedly no longer has any way to share your feeds other than pushing an OPML file (at least not that I can find).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/time-and-mind-savers-rss-feeds/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13521</post-id>	</item>
		<item>
		<title>The Hedge 76: Federico Lucifredi and the Taxonomy of Indecision</title>
		<link>https://rule11.tech/the-hedge-76-frederico-lucifredi-and-the-taxonomy-of-indecision/</link>
					<comments>https://rule11.tech/the-hedge-76-frederico-lucifredi-and-the-taxonomy-of-indecision/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 24 Mar 2021 18:55:42 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13468</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-076-1.png" alt="" width="400" height="160" class="alignnone" />

Decision making, especially in large organizations, fails in many interesting ways. Understanding these failure modes can help us cope with seemingly difficult situations, and learn how to make decisions better. On this episode of the Hedge, Frederico Lucifredi, Ethan Banks, and Russ White discuss Frederico's thoughts on developing a taxonomy of indecision. <a href="https://ossna2020.sched.com/event/c3Xa/how-many-ways-can-you-fail-a-taxonomy-of-corporate-indecision-federico-lucifredi-red-hat?iframe=no&#038;w=100%&#038;sidebar=yes&#038;bg=no">You can find his presentation on this topic here.</a>]]></description>
										<content:encoded><![CDATA[<p>Decision making, especially in large organizations, fails in many interesting ways. Understanding these failure modes can help us cope with seemingly difficult situations, and learn how to make decisions better. On this episode of the Hedge, Federico Lucifredi, Ethan Banks, and Russ White discuss Federico&#8217;s thoughts on developing a taxonomy of indecision. <a href="https://www.youtube.com/watch?v=UIv48pV_Fvg&#038;t=04m14s">You can find his presentation on this topic here.</a></p>
<audio class="wp-audio-shortcode" id="audio-13468-12" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-076.mp3?_=12" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-076.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-076.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-076.mp3><em>download</em></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/the-hedge-76-frederico-lucifredi-and-the-taxonomy-of-indecision/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-076.mp3" length="40642616" type="audio/mpeg" />

				<itunes:episode>76</itunes:episode>
		<podcast:episode>76</podcast:episode>
		<itunes:title>The Taxonomy of Indecision</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>42:20</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13468</post-id>	</item>
		<item>
		<title>Slow Learning and Range</title>
		<link>https://rule11.tech/slow-learning-and-range/</link>
					<comments>https://rule11.tech/slow-learning-and-range/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 22 Mar 2021 17:00:15 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13456</guid>

					<description><![CDATA[<img class="alignnone " src="https://rule11.tech/wp-content/uploads/range.png" alt="" width="400" height="160" />

<em>Jack of all trades, master of none. </em>

This singular saying—a misquote of Benjamin Franklin (more on this in a moment)—is the defining statement of our time. An alternative form might be <em>the fox knows many small things, but the hedgehog knows one big thing.</em>
]]></description>
										<content:encoded><![CDATA[<p><em>Jack of all trades, master of none. </em></p>
<p>This singular saying—a misquote of Benjamin Franklin (more on this in a moment)—is the defining statement of our time. An alternative form might be <em>the fox knows many small things, but the hedgehog knows one big thing.</em></p>
<p>The rules for success in the modern marketplace, particularly in the technical world, are simple: <em>start early, focus on a single thing, and practice hard.</em></p>
<p>But when I look around, I find these rules rarely define actual success. Consider my life. I started out with three different interests, starting jazz piano lessons when I was twelve, continuing music through high school, college, and for many years after. At the same time, I was learning electronics—just about everyone in my family is in electronic engineering (or computers, when those came along) in one way or another.</p>
<p>I worked as on airfield electronics for a few years in the US Air Force <em>(one of the reasons I tend to be calm is I’ve faced death up close and personal multiple times, an experience that tends to center your mind),</em> including RADAR, radio, and instrument landing systems. Besides these two, I was highly interested in art and illustration, getting to the point of majoring in art in college for a short time, and making a living doing commercial illustration for a time.</p>
<p>You might notice that none of this really has a lot to do with computer networking. That’s the point.</p>
<p>I once thought I was a bit of an anomaly in this—in fact, I’m a bit of an anomaly throughout my life, including coming rather late to deep philosophy and theology (perhaps a bit too late!).</p>
<p>After reading <em><strong>Range</strong></em> by David Epstein, it turns out I’m wrong. I’m not the exception, I’m the rule. My case is so common as to be almost trivial.</p>
<p>Epstein not only destroys the common view—start early, stay focused, and practice hard—with reasoning, he also gives so many examples of people who have succeeded <em>because</em> they “wandered around” for many years before settling into a single “thing”—and sometimes just never “settling” throughout their entire lives. People who experience many different things, experimenting with ideas, careers, and paths, have what Epstein calls <em>range.</em></p>
<p>He gives several reasons for people with range succeeding. They learn how to fail fast, unlike those who are focused on succeeding at a single thing—he calls this “too much grit.” They also learn to think outside the box—they are not restricted by the “accepted norms” within any field of study. It also turns out that slower learning is much more effective, as shown by multiple experiments.</p>
<p>There are three warnings about becoming a person with range, however—the fox rather than the hedgehog, so-to-speak. First, it takes a long time. Slow learning is, after all <em>slow.</em> Second, range works best in a world full of specialist—like the world we live in right now. In a world full of generalists, specialists are likely to succeed more often than generalist. What is different stands out (both in bad and good ways, by the way). Third, people with range do better with wicked problems—problems that are not easily solved with repetition and linear thought.</p>
<p>Of course, computer networks are clearly wicked problems.</p>
<p>That original quote that bothers me so much? Franklin did not say: <em>jack of all trades, master of non.</em> Instead, he said: <em>jack of all trades, master of one.</em> What a difference a single letter makes.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/slow-learning-and-range/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13456</post-id>	</item>
		<item>
		<title>The Hedge 73: Daniel Teycheney and Open Source in Networking</title>
		<link>https://rule11.tech/the-hedge-73-daniel-teycheney-and-open-source-in-networking/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 04 Mar 2021 18:00:13 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13305</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-073.png" alt="" width="400" height="160" class="alignnone" />

Combining, or stitching together, open source projects to build something unique for your network is becoming more common. What does this look like in the real world? What are some of the positive and negative aspects of building things this way? How do open source projects interact with the commercial world? Daniel Teycheney joins Tom Ammon, Jett Tantsura, and Russ White to discuss open source software in networking, particularly around network monitoring and management.]]></description>
										<content:encoded><![CDATA[<p>Combining, or stitching together, open source projects to build something unique for your network is becoming more common. What does this look like in the real world? What are some of the positive and negative aspects of building things this way? How do open source projects interact with the commercial world? Daniel Teycheney joins Tom Ammon, Jett Tantsura, and Russ White to discuss open source software in networking, particularly around network monitoring and management.</p>
<audio class="wp-audio-shortcode" id="audio-13305-13" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/Hedge-073.mp3?_=13" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/Hedge-073.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/Hedge-073.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/Hedge-073.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/Hedge-073.mp3" length="66235310" type="audio/mpeg" />

				<itunes:episode>74</itunes:episode>
		<podcast:episode>74</podcast:episode>
		<itunes:title>Open source software and network engineering with Daniel Teycheney</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>46:00</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13305</post-id>	</item>
		<item>
		<title>The Hedge 71: Nick Russo and Automating Productivity</title>
		<link>https://rule11.tech/the-hedge-71-nick-russo-and-automating-productivity/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 18 Feb 2021 17:30:34 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13256</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-071.png" alt="" width="400" height="160" class="alignnone" />

When we think of automation&#8212;and more broadly tooling&#8212;we tend to think of automating the configuration, monitoring, and (possibly) the monitoring of a <em>network.</em> On the other hand, a friend once observed that when interviewing coders, the first thing he asked was about the tools they had developed and used for making themselves more efficient. This "self-tooling" process turns out to be important not just to be more efficient at work, but to use time more effectively <em>in general.</em> Join Nick Russo, Eyvonne Sharp, Tom Ammon, and Russ White as we discuss self-tooling.]]></description>
										<content:encoded><![CDATA[<p>When we think of automation&#8212;and more broadly tooling&#8212;we tend to think of automating the configuration, monitoring, and (possibly) the monitoring of a <em>network.</em> On the other hand, a friend once observed that when interviewing coders, the first thing he asked was about the tools they had developed and used for making themselves more efficient. This &#8220;self-tooling&#8221; process turns out to be important not just to be more efficient at work, but to use time more effectively <em>in general.</em> Join Nick Russo, Eyvonne Sharp, Tom Ammon, and Russ White as we discuss self-tooling.</p>
<audio class="wp-audio-shortcode" id="audio-13256-14" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-071.mp3?_=14" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-071.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-071.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-071.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-071.mp3" length="39523805" type="audio/mpeg" />

				<itunes:episode>71</itunes:episode>
		<podcast:episode>71</podcast:episode>
		<itunes:title>Nick Russo and Automating Productivity</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>41:10</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13256</post-id>	</item>
		<item>
		<title>Focus is a Virtue</title>
		<link>https://rule11.tech/focus-is-a-virtue/</link>
					<comments>https://rule11.tech/focus-is-a-virtue/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 25 Jan 2021 18:00:40 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13086</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/focus-is-a-virtue.png" alt="" width="400" height="160" class="alignnone" />

The modern world craves our attention—but only in short bursts. To give your attention to any one thing for too long is failing, it seems, because you might miss out on something else of interest. We have entered the long tail of the attention economy, grounded in finding every smaller slices of time in which the user’s attention can be captured and used.
]]></description>
										<content:encoded><![CDATA[<p>The modern world craves our attention—but only in short bursts. To give your attention to any one thing for too long is failing, it seems, because you might miss out on something else of interest. We have entered the long tail of the attention economy, grounded in finding every smaller slices of time in which the user’s attention can be captured and used.</p>
<blockquote><p><a href="https://ethancbanks.com/the-attention-economy-and-the-it-talent-dearth/">The damage of the attention economy is wide-ranging, including the politicization of everything, and the replacing ideas in politics with hate and fear. But for the network engineering world, the problem is exactly as Ethan describes— Technology mastery will be increasingly in the hands of the very few as a dwindling number of folks are willing, or perhaps even able, to create a mental state of focused learning. The application delivery stacks are enormously more complex than they were 25 years ago. Learning them requires a huge amount of focus over long periods of time.</a></p></blockquote>
<p>The problem is obvious for anyone with eyes to see. What is the solution? The good news is there are solutions. The bad news is these solutions are swimming upstream against the major commercial interests of our day, so it’s going to take work and determination. The problems are platform based, while the solutions are personal and hard.</p>
<p>Begin here—treat focus as a virtue. We normally think of virtues as things like being kind, or giving money to charity, or (in the modern world) signaling that we support the right things and think the right way. But virtue reaches far deeper than just believing the right things or being “nice.” </p>
<p>Sertillanges, in The Intellectual Life, says the virtues are bound together. A person with only one virtue will often find that virtue twisted into something it is not. A clump of trees, no matter how small, is more likely to survive a storm than the singular tree, no matter how strong the single tree might be. You must not only develop the virtue of quick thinking, or of curiosity, but also of focus. \</p>
<p>How do you develop focus? I can tell you the wrong way: try to make yourself focus for a long period of time. Maybe this will work for some people but forcing attention onto a single topic often backfires in very spectacular ways. </p>
<p>Instead, I would counsel a two-step program: eliminate distractions and expand slowly. </p>
<p>Sertillanges says, “As to the public, if it sometimes stimulates, it often disturbs, scatters the mind; and by going to pick up two pennies in the street, you may lose a fortune.” What is social media other than “the public?” Simply having too much information to hand can also be problematic, as well—&#8221;There are books everywhere and only a few are necessary.”</p>
<p>A distraction people don’t often think about is reading too many books at once. Most of the people I know are reading (if they are, really) five or ten books at once. They switch back and forth between books, picking up a little here and a little there. It’s a dandy application of multitasking to an old technology. </p>
<p>But I don’t think it actually works. Pick up a book and read it. Learn to follow the line of a single argument from start to finish. I find it helpful to outline information-rich books, or books that have complex lines of argument. The act of rethinking what the author is saying, and rebuilding their line of thought, is really helpful.</p>
<p>As for expanding slowly, this means two things. First, don’t try to jump from a six-minute attention span to an hour-long attention span in a day. Try to go from six minutes to eight, and then eight to twelve, etc. Don’t try to have an infinite attention span, either—it just is not humanly possible. Setting unrealistic goals is a recipe for failure.</p>
<p>Second, expand slowly by building mental maps, rather than trying to consume the outer shell first. The outer shell (“what does this command do?”) might be the most immediately useful, but if you stay on the outer shell your entire life, jumping all over the place to find the next bit of useful information, you’re never going to learn to focus. </p>
<p>Further, if you jump all over the place, you’re never going to build the mental maps that will allow you to focus. When I first started reading philosophy, I was often more confused than anything else. It was like jumping into the middle of a conversation—there were (and still are) terms and ideas I had no idea how to relate to. Over time, I built a mental map. While I’m still not able to read philosophy (or theology) like many of my friends who have spent their lives reading this stuff, I am at least becoming somewhat competent. </p>
<p>So… slow down. Remove distractions. Set goals. Build mental maps. </p>
<p>If you want to find the path to success in life, it is going to be through focus.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/focus-is-a-virtue/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13086</post-id>	</item>
		<item>
		<title>The Hedge 67: Daniel Beveridge and the Structure of Innovation</title>
		<link>https://rule11.tech/hedge-67/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 20 Jan 2021 18:00:37 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13069</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-067.png" alt="" width="400" height="160" class="alignnone" />

Innovation and disruption are part the air we breath in the information technology world. But what is innovation, and how do we become innovators? When you see someone who has invented a lot of things, either shown in patents or standards or software, you might wonder how you can become an innovator, too. In this episode of the Hedge, Tom Ammon, Eyvonne Sharp, and Russ White talk to Daniel Beveridge about the structure of innovation&#8212;how to position yourself in a place where you can innovate, and how to launch innovation.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-067.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Innovation and disruption are part the air we breath in the information technology world. But what is innovation, and how do we become innovators? When you see someone who has invented a lot of things, either shown in patents or standards or software, you might wonder how you can become an innovator, too. In this episode of the Hedge, Tom Ammon, Eyvonne Sharp, and Russ White talk to Daniel Beveridge about the structure of innovation&#8212;how to position yourself in a place where you can innovate, and how to launch innovation.</p>
<audio class="wp-audio-shortcode" id="audio-13069-15" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-067.mp3?_=15" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-067.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-067.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-067.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-067.mp3" length="43991126" type="audio/mpeg" />

				<itunes:episode>67</itunes:episode>
		<podcast:episode>67</podcast:episode>
		<itunes:title>Innovation with Daniel Beveridge on the Hedge</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>45:49</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13069</post-id>	</item>
		<item>
		<title>The OSI Model: STOP IT!</title>
		<link>https://rule11.tech/the-osi-model-stop-it/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 04 Jan 2021 18:00:35 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12974</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/no-osi.png" alt="" width="400" height="160" class="alignnone" />

The OSI model is perhaps the best-known—and perhaps the most-loved—model in the networking world. It’s taught in every basic networking course, and just about every blog (other than this one) has some article explaining the model someplace or another (for instance, <a href="https://www.freecodecamp.org/news/osi-model-networking-layers-explained-in-plain-english/">here is one of the better examples).</a>]]></description>
										<content:encoded><![CDATA[<p>The OSI model is perhaps the best-known—and perhaps the most-loved—model in the networking world. It’s taught in every basic networking course, and just about every blog (other than this one) has some article explaining the model someplace or another (for instance, <a href="https://www.freecodecamp.org/news/osi-model-networking-layers-explained-in-plain-english/">here is one of the better examples).</a></p>
<p>The reality is, however, that I’ve been in the networking business for 30’ish years and <em>I’ve never once used the OSI model for anything practical.</em> I’ve used the model when writing books because just about every book on networking has to have a section on the OSI model. I’ve used the model when writing a paper comparing two different protocols, back in the multiprotocol days (VIP versus IPX versus IP), but we don’t have those kinds of arguments very often any longer.</p>
<p>So, we all learn the OSI model, and yet I don’t know of anyone who actually <em>uses</em> the OSI model in understanding how protocols work, or how to troubleshoot a network. There’s the “it’s a layer two problem” statement, and that’s about the end its useful life, it seems.</p>
<p>Let me make a suggestion—learn, use, and teach the RINA model instead. Okay, so what is the RINA model? It is the <em>Recursive Internet Network Architecture,</em> hence RINA. The observation John Day made when creating the RINA model is this: there are only four problems you need to solve to move data from one host to another. It just happens that those four problems need to be solved multiple times: across each physical link, between each pair of hosts, and then again between each pair of applications (at least—John Day argues there should be eight layers rather than seven, but that argument is outside the scope of this simple blog post).</p>
<p>The four problems are: <em>transport (which I would call marshaling), multiplexing, error control, </em>and<em> flow control.</em> Protocols that solve these problems tend to solve two of the four problems rather than one; the pairings almost always seem to be marshaling with multiplexing and error control with flow control.</p>
<p>On a single Ethernet hop, multiplexing and marshaling are generally solved by the physical link Ethernet protocol. Error and flow control, on the other hand, are generally solved by the data link protocol (something we don’t much think about any longer). Again, multiplexing and marshaling are generally solved by IP, while error and flow control are generally solved by TCP.</p>
<p>The model doesn’t <em>perfectly</em> describe the purpose of every protocol in the modern networking stack, but it comes much closer than the OSI model. Since it’s recursive, you can even insert layers to represent tunnels without a lot of hand-waving in the process, or “breaking” the model.</p>
<p>Why is the RINA model better for understanding protocols? Because it describes what the protocol is trying to <em>accomplish,</em> rather than where it lives in the stack, or what kinds of interfaces it provides. Why is the RINA model better for troubleshooting? Because if you know what isn’t working, it gives you a better general area to look in to find the problem.</p>
<p>My challenge for 2021 is, then—learn and use the RINA model. I (humbly) believe it will actually make you a better network engineer.</p>
<p><img data-recalc-dims="1" decoding="async" class="alignnone" src="https://i0.wp.com/rule11.tech/wp-content/uploads/rina-model.png?w=400&#038;ssl=1" alt=""  /></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12974</post-id>	</item>
		<item>
		<title>The Hedge 62: Jacob Hess and the Importance of History</title>
		<link>https://rule11.tech/hedge-062/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 02 Dec 2020 18:00:30 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12865</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-062.png" alt="" width="400" height="160" class="alignnone" />

At first glance, it would seem like the history of a technology would have little to do with teaching that technology. <a href="https://www.nexgent.com">Jacob Hess of NexGenT</a> joins us in this episode of the Hedge to help us understand why he always includes the history of a technology when teaching it&#8212;a conversation that broadened out into why learning history is important for all network engineers.]]></description>
										<content:encoded><![CDATA[<p>At first glance, it would seem like the history of a technology would have little to do with teaching that technology. <a href="https://www.nexgent.com">Jacob Hess of NexGenT</a> joins us in this episode of the Hedge to help us understand why he always includes the history of a technology when teaching it&#8212;a conversation that broadened out into why learning history is important for all network engineers.</p>
<audio class="wp-audio-shortcode" id="audio-12865-16" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-062.mp3?_=16" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-062.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-062.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-062.mp3"><em>download</em></a></p>
<p><a href="https://rule11.tech/history-of-networking">You can find the history of networking here.</a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-062.mp3" length="37054880" type="audio/mpeg" />

				<itunes:episode>62</itunes:episode>
		<podcast:episode>62</podcast:episode>
		<itunes:title>The Importance of History in Learning</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>38:36</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">12865</post-id>	</item>
		<item>
		<title>Underhanded Code and Automation</title>
		<link>https://rule11.tech/underhanded-code-and-automation/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 12 Oct 2020 17:00:42 +0000</pubDate>
				<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12654</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/underhanded-code.jpg" alt="" width="400" height="160" class="alignnone size-full wp-image-12653" />

So, software is eating the world&#8212;and you thought this was going to make things simpler, right? If you haven't found the tradeoffs, you haven't looked hard enough. I should trademark that or something! :-) While a lot of folks are thinking about code quality and supply chain are common concerns, there are a lot of little "side trails" organizations do not tend to think about. <a href="https://www.ida.org/-/media/feature/publications/i/in/initial-analysis-of-underhanded-source-code/d-13166.pdf">One such was recently covered in a paper on <em>underhanded code,</em> which is code designed to pass a standard review which be used to harm the system later on.</a>]]></description>
										<content:encoded><![CDATA[<p>So, software is eating the world—and you thought this was going to make things simpler, right? If you haven&#8217;t found the tradeoffs, you haven&#8217;t looked hard enough. I should trademark that or something! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> While a lot of folks are thinking about code quality and supply chain are common concerns, there are a lot of little &#8220;side trails&#8221; organizations do not tend to think about. <a href="https://www.ida.org/-/media/feature/publications/i/in/initial-analysis-of-underhanded-source-code/d-13166.pdf">One such was recently covered in a paper on <em>underhanded code,</em> which is code designed to pass a standard review which be used to harm the system later on.</a> For instance, you might see at some spot—</p>
<pre><code>if (buffer_size=REALLYLONGDECLAREDVARIABLENAMEHERE) {
/* do some stuff here */
} /* end of if */</code></pre>
<p>Can you spot what the problem might be? In C, the <code>=</code> is different than the <code>==</code>. Which should it really be here? Even astute reviewers can easily miss this kind of detail—not least because it could be an intentional construction. Using a strongly typed language can help prevent this kind of thing, like Rust <a href="https://rule11.tech/the-hedge-podcast-55-nick-carter-and-flock-networks/">(listen to this episode of the Hedge for more information on Rust),</a> but nothing beats having really good code formatting rules, even if they are apparently arbitrary, for catching these things.</p>
<p>The paper above lists these—</p>
<ul>
<li>Use syntax highlighting and typefaces that clearly distinguish characters. You should be able to easily tell the difference between a lowercase l and a 1.</li>
<li>Require all comments to be on separate lines. This is actually pretty hard in C, however.</li>
<li>Prettify code into a standard format not under the attacker&#8217;s control.</li>
<li>Use compiler warnings in static analysis.</li>
<li>Forbid unneeded dangerous constructions</li>
<li>Use runtime memory corruption detection</li>
<li>Use fuzzing</li>
<li>Watch your test coverage</li>
</ul>
<p>Not all of these are directly applicable for the network engineer dealing with automation, but they do provide some good pointers, or places to start. A few more&#8230;</p>
<p><em>Yoda assignments</em> are named after Yoda&#8217;s constant placement of the subject after the verb (or in a split infinitive)—&#8221;succeed you will&#8230;&#8221; It&#8217;s not <em>technically </em>wrong in terms of grammar, but it is just hard enough to understand that it makes you listen carefully and think a bit harder. In software development, the variable taking the assignment should be on the left, and the thing being assigned should be on the right. Reversing these is a Yoda assignment; it&#8217;s technically correct, but it&#8217;s harder to read.</p>
<p><em>Arbitrary standardization</em> is useful when there are many options that ultimately result in the same outcome. Don&#8217;t let options proliferate just because you can.</p>
<p><em>Use macros!</em></p>
<p>There are probably plenty more, but this is an area where we really are not paying attention right now.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12654</post-id>	</item>
		<item>
		<title>Random Thoughts</title>
		<link>https://rule11.tech/random-thoughts/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 28 Sep 2020 17:00:06 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12583</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/ranedom-thoughts.png" alt="" width="400" height="160" class="alignnone" />

<em>This week is very busy for me, so rather than writing a single long, post, I’m throwing together some things that have been sitting in my pile to write about for a long while.</em>

<strong>From Dalton Sweeny:</strong>

<blockquote><a href="https://daltyboy11.github.io/obsolescence-of-knowledge-in-software-engineering/">A physicist loses half the value of their physics knowledge in just four years whereas an English professor would take over 25 years to lose half the value of the knowledge they had at the beginning of their career. . . Software engineers with a traditional computer science background learn things that never expire with age: data structures, algorithms, compilers, distributed systems, etc. But most of us don’t work with these concepts directly. Abstractions and frameworks are built on top of these well studied ideas so we don’t have to get into the nitty-gritty details on the job (at least most of the time).</a></blockquote>]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/ranedom-thoughts.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p><em>This week is very busy for me, so rather than writing a single long, post, I’m throwing together some things that have been sitting in my pile to write about for a long while.</em></p>
<p><strong>From Dalton Sweeny:</strong></p>
<blockquote><p><a href="https://daltyboy11.github.io/obsolescence-of-knowledge-in-software-engineering/">A physicist loses half the value of their physics knowledge in just four years whereas an English professor would take over 25 years to lose half the value of the knowledge they had at the beginning of their career. . . Software engineers with a traditional computer science background learn things that never expire with age: data structures, algorithms, compilers, distributed systems, etc. But most of us don’t work with these concepts directly. Abstractions and frameworks are built on top of these well studied ideas so we don’t have to get into the nitty-gritty details on the job (at least most of the time).</a></p></blockquote>
<p>This is precisely the way network engineering is. There <em>is</em> value in the kinds of knowledge that expire, such as individual product lines, etc.—but the closer you are to the configuration, the more ephemeral the knowledge is. This is one of the entire points of <em>rule 11 is your friend.</em> Learn the foundational things that make learning the ephemeral things easier. There are only four problems (really) in moving data from one place to another. There are only around four solutions for each of those problems. Each of those solutions is bounded into a small set (again, about four for each) sub-solutions, or ways of implementing the solution, etc. </p>
<p>I’m going to spend some time talking about this in the Livelesson I’m currently recording, so watch this space for an announcement sometime early next year about publication.</p>
<p><strong>From Ivan P:</strong></p>
<blockquote><p><a href="https://blog.ipspace.net/2020/09/business-needs-excuses.html">What I’m pointing out in this rant is the reverse reasoning along the lines “vendor X is doing something, which confirms there’s a real market need for it”. I’ve been in IT too long, and seen how the startup/VC sausage is made, to believe that fairy tale… and even when it’s true, it doesn’t necessarily imply that you need whatever vendor X is selling.</a></p></blockquote>
<p>There are two ways to look at this. Either vendors should <em>lead</em> the market in building solutions, or they should <em>follow whatever the customer wants.</em> From my perspective, one of the problems we have right now is everything is a massive mish-mash of these two things. The operator’s design team thinks of a neat way to do <em>X,</em> and then promises the account team a big check if its implemented. It doesn’t matter that <em>X</em> could be solved some other way that might be simpler, etc.—all that matters is the check. In this case, the vendor stops challenging the customer to build things better, and starts just acting like a commodity provider, rather than an innovative partner. </p>
<p>The interaction between the customer and the vendor needs to be more push-pull than it currently is&#8212;right now, it seems like either the operator simply dictates terms to the vendor, or the vendor pretty much dictates architecture to the operator. We need to find a middle ground. The vendor does need to have a solid solution architecture, but the architecture needs to be flexible, as well, and the blocks used to build that architecture need to be usable in ways not anticipated by the vendor’s design folks.</p>
<p>On the other hand, we need to stop chasing features. This isn’t just true of vendors, <em>this is true of operators as well.</em> You get feature lists because that’s what you ask for. Often, operators ask for feature lists because that’s the easiest thing to measure, or because they already have a completely screwed up design they are trying to brownfield around. The worst is—“we have this brownfield that we just can’t get rid of, so we want to build yet another overlay on top, which will make everything simpler.” After about the twentieth overlay a system crash becomes a matter of <em>when</em> rather than <em>if.</em></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12583</post-id>	</item>
		<item>
		<title>Everyone Must Learn to Code</title>
		<link>https://rule11.tech/everyone-must-learn-to-code/</link>
					<comments>https://rule11.tech/everyone-must-learn-to-code/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 14 Sep 2020 17:00:10 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12522</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/must-learn-to-code.png" alt="" width="400" height="160" class="alignnone" />


The word on the street is that everyone&#8212;especially network engineers&#8212;<em>must</em> learn to code. A conversation with a friend and an article passing through my RSS reader brought this to mind once again&#8212;so once more into the breach. Part of the problem here is that we seem to have a knack for asking the wrong question. When we look at network engineer skill sets, we often think about the ability to configure a protocol or set of features, and then the ability to quickly troubleshoot those protocols or features using a set of commands or techniques. ]]></description>
										<content:encoded><![CDATA[<p>The word on the street is that everyone&#8212;especially network engineers&#8212;<em>must</em> learn to code. A conversation with a friend and an article passing through my RSS reader brought this to mind once again&#8212;so once more into the breach. Part of the problem here is that we seem to have a knack for asking the wrong question. When we look at network engineer skill sets, we often think about the ability to configure a protocol or set of features, and then the ability to quickly troubleshoot those protocols or features using a set of commands or techniques. </p>
<p>This is, in some sense, what various certifications have taught us&#8212;we have reached the expert level when we can configure a network quickly, or when we can prove we understand a product line. There is, by the way, a point of truth in this. If you claim your expertise is with a particular vendor&#8217;s gear, then it is true that you must be able to configure and troubleshoot on that vendor&#8217;s gear to be an expert. There is also a problem of how to test for networking skills without actually implementing something, and how to implement things without actually configuring them. This is a problem we are discussing in the new &#8220;certification&#8221; I&#8217;ve been working on, as well.</p>
<p>This is also, in some sense, what the hiring processes we use have taught us. Computers like to classify things in clear and definite ways. The only clear and definite way to classify networking skills is by asking questions like &#8220;what protocols do you understand how to configure and troubleshoot?&#8221; It is, it seems, nearly impossible to test design or communication skills in a way that can be easily placed on a resume. </p>
<p>Coding, I think, is one of those skills that is easy to <em>appear to</em> measure accurately, and it&#8217;s also something the entire world <em>insists</em> is the &#8220;coming thing.&#8221; No coding skills, no job. So it&#8217;s easy to ask the easy question&#8212;what languages do you know, how many lines of code have you written, etc. But again, this is the wrong question (or these are the wrong questions).</p>
<p>What is the right question? In terms of coding skills, more along the lines of something like, &#8220;do you know how to build and use tools to solve business problems?&#8221; I phrase it this way because the one thing I have noticed about every <em>really good</em> coder I have known is they all spend as much time building tools as they do building shipping products. They build tools to test their code, or to modify the code they&#8217;ve already written <em>en masse,</em> etc. In fact, the excellent coders I know treat functions like tools&#8212;if they have to drive a nail twice, they stop and create a hammer rather than repeating the exercise with some other tool.</p>
<p>So why is coding such an important skill to gain and maintain for the network engineer? This paragraph seems to sum it up nicely for me&#8212;</p>
<blockquote><p><a href="https://qz.com/778380/the-future-is-software-engineers-who-cant-code/">“Coding is not the fundamental skill,” writes startup founder and ex-Microsoft program manager Chris Granger. What matters, he argues, is being able to model problems and use computers to solve them. ”We don’t want a generation of people forced to care about Unicode and UI toolkits. We want a generation of writers, biologists, and accountants that can leverage computers.”</a></p></blockquote>
<p>It&#8217;s not the coding that matters, it&#8217;s &#8220;being able to model problems and use computers to solve them.&#8221; This is the essence of tool building or engineering&#8212;seeing the problem, understanding the problem, and then thinking through (sometimes by trial and error) how to build a tool that will solve the problem in a consistent, easy to manage way. I fear that network engineers are taking their attitude of configuring things and automating it to make the configuration and troubleshooting faster. We seem to end up asking &#8220;how do I solve the problem of making the configuration of this network faster,&#8221; rather than asking &#8220;what business problem am I trying to solve?&#8221; </p>
<p>To make effective use of the coding skills we&#8217;re telling everyone to learn, we need to go back to basics and understand the problems we&#8217;re trying to solve&#8212;and the set of possible solutions we can use to solve those problems. Seen this way, the routing protocol becomes &#8220;just another tool,&#8221; just like a function call, that can be used to solve a specific set of problems&#8212;instead of a set of configuration lines that we invoke like a magic incantation to make things happen.</p>
<p>Coding skills <em>are</em> important&#8212;but they require the right mindset if we&#8217;re going to really gain the sorts of efficiencies we think are possible.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/everyone-must-learn-to-code/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12522</post-id>	</item>
		<item>
		<title>The White Board and the Simulation</title>
		<link>https://rule11.tech/the-white-board-and-the-simulation/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 24 Aug 2020 17:00:22 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12438</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/whiteboards.png" alt="" width="400" height="160" class="alignnone" />

<a href="https://elegantnetwork.github.io/posts/What-Ive-learned-about-OSPF/">In the argument between OSPF and BGP in the data center fabric over at Justin’s blog,</a> I am decidedly in the camp of IS-IS. Rather than lay my reasons out here, however (a topic for another blog post?), I want to focus on something else Justin said that I think is incredibly important for network engineers to understand.

<blockquote>I think whiteboards are the most important tool for network design currently available, which makes me sad. I wish that wasn’t true, I want much better tools. I can’t even tell you the number of disasters averted by 2-3 great network engineers arguing over a whiteboard.</blockquote>]]></description>
										<content:encoded><![CDATA[<p><a href="https://elegantnetwork.github.io/posts/What-Ive-learned-about-OSPF/">In the argument between OSPF and BGP in the data center fabric over at Justin’s blog,</a> I am decidedly in the camp of IS-IS. Rather than lay my reasons out here, however (a topic for another blog post?), I want to focus on something else Justin said that I think is incredibly important for network engineers to understand.</p>
<blockquote><p>I think whiteboards are the most important tool for network design currently available, which makes me sad. I wish that wasn’t true, I want much better tools. I can’t even tell you the number of disasters averted by 2-3 great network engineers arguing over a whiteboard.</p></blockquote>
<p>I remember—way back—when I was working on the problems around making a link-state protocol work well in a Mobile Ad Hoc Network (MANET), we had two competing solutions presented to the IETF. The first solution was primarily based on whiteboarding through various options and coming up with one that should reduce flooding to an acceptable level. The second was less optimal on the whiteboard but supported by simulations showing it should reduce flooding more effectively.</p>
<p>Which solution “won?” I don’t know what “winning” might mean here, but the solution designed on the whiteboard has been widely deployed and is now showing up in other places—take a look at <em>distoptflood </em>and the flooding optimizations in RIFT. Both are like what we designed all those years ago to make OSPF work in a MANET.</p>
<p>Does this mean simulations, labbing, and testing are useless? No.</p>
<p>Each of these tools brings a different set of strengths to the table when trying to solve a problem. For instance, there is no way to optimize the flooding in a protocol unless you really know how flooding works, what information you have available, where things might fail, what features are designed into the protocol to prevent or work around failures, etc. These things are what you need to put together and understand on a whiteboard.</p>
<p>You cannot think of every possible situation that needs to be simulated, nor can you simulate every possible order of operation, or every possible timing problem that might occur. If you know the protocol, however, you can cover most of this ground and design in fail-safes. Simulations are <em>necessary,</em> but not <em>sufficient</em> to network and protocol design.</p>
<p>On the other side of the coin, Justin points out the stack they were using was known to have a weak BGP implementation and a strong OSPF implementation. This, and other scale and timing issues, will only show up under a simulation. For instance, you cannot answer the question <em>how large can the LSDB become before the processor keels over and dies</em> on a whiteboard—it’s just not possible. The whiteboard is <em>necessary,</em> but not <em>sufficient</em> to network and protocol design.</p>
<p>The danger is that we attempt to replace one with the other—that we either ignore the value of simulation because it’s hard (or even impossible), or we ignore the power of the whiteboard because we don’t understand the protocols well enough to stand at the whiteboard and argue. Every team needs to have at least one person who can “see” how the network will converge just because they understand the protocol. And every team needs to have at least one person who can throw together a simulation and show how the network will converge in the same situation.</p>
<p>Whiteboards and simulations are both crucial tools. Learn the protocols and design well enough to use the one and find or build the tools needed to use the other. Missing either one is going to leave a blind spot in your abilities as an engineer.</p>
<p>Which one are you missing in your skill set right now? If you know the answer to that question, then you know at least one thing you need to learn “next.”</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12438</post-id>	</item>
		<item>
		<title>Deterministic Networking and New IP</title>
		<link>https://rule11.tech/deterministic-networking-and-new-ip/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 10 Aug 2020 17:34:30 +0000</pubDate>
				<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12377</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/new-ip-deterministic.png" alt="" width="400" height="160" class="alignnone" />

<a href="https://www.internetsociety.org/blog/2020/04/discussion-paper-now-available-about-the-new-ip-proposal/">For those not following the current state of the ITU, a proposal has been put forward to (pretty much) reorganize the standards body around “New IP.”</a> Don’t be confused by the name—it’s exactly what it sounds like, a proposal for an entirely new set of transport protocols to replace the current IPv4/IPv6/TCP/QUIC/routing protocol stack nearly 100% of the networks in operation today run on. Ignoring, for the moment, the problem of replacing the entire IP infrastructure, what can we learn from this proposal?]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.internetsociety.org/blog/2020/04/discussion-paper-now-available-about-the-new-ip-proposal/">For those not following the current state of the ITU, a proposal has been put forward to (pretty much) reorganize the standards body around “New IP.”</a> Don’t be confused by the name—it’s exactly what it sounds like, a proposal for an entirely new set of transport protocols to replace the current IPv4/IPv6/TCP/QUIC/routing protocol stack nearly 100% of the networks in operation today run on. Ignoring, for the moment, the problem of replacing the entire IP infrastructure, what can we learn from this proposal?</p>
<p>What I’d like to focus on is <em>deterministic networking.</em> Way back in the days when I was in the USAF, one of the various projects I worked on was called <em>PCI.</em> The PCI network was a new system designed to unify the personnel processing across the entire USAF, so there were systems (Z100s, 200s, and 250s) to be installed in every location across the base where personnel actions were managed. Since the only wiring we had on base at the time was an old Strowger mainframe, mechanical crossbars at a dozen or so BDFs, and varying sizes of punch-downs at BDFs and IDFs, everything for this system needed to be punched- or wrapped-down as physical circuits.</p>
<p>It was hard to get anything like real bandwidth over paper-wrapped cables with lead shielding that had been installed in the 1960s (or before??), wrap-downs, and 66 blocks. The max we could get in terms of bandwidth was about a T1, and often less. We needed more bandwidth than this, so we installed <em>inverse multiplexers</em> that would combine the bandwidth across multiple physical circuits to something large enough for the PCI system to run on.</p>
<p>The problem we ran into with these inverse multiplexers was they would sometimes fall out of synchronization, meaning frames would be delivered out of order—one of the two cardinal violations of deterministic networks. Since PCI was designed around a purely deterministic networking model, these failures caused havoc with HR. Not a good thing.</p>
<p>The second and third cardinal rules of deterministic networking are that <em>there will be no jitter,</em> and <em>the network will deliver all packets accepted by the network.</em> To make these rules work, there must be some form of entrance gating (circuit setup, generally speaking, with busy signals), fixed packet sizes, and strict quality of service.</p>
<p>In contrast, the rules of packet-switched (non-deterministic) networking are: all packets are accepted, packets can be (almost) any size, there is no guarantee any particular packet will be delivered, and there’s no way to know what the jitter and delay on delivering any particular packet might be.</p>
<p>Some kinds of payloads just need deterministic semantics, while others just need deterministic semantics. The problem, then, is how to build a single network that supports both kinds of semantics. Solving this problem is where thinking through the situation using a problem-solution mindset can help you, as a network engineer (or protocol designer, or software creator) understand what can be done, what cannot be done, and what the limitations are going to be no matter what solution you choose.</p>
<p>There are, at base, only three solutions to this problem. The first is to build a network that supports both deterministic and packet-switched traffic from the control planes to the switching path. The complexity of doing something like this would ultimately outweigh any possible benefit, so let’s leave that solution aside. The second is to emulate a deterministic network on top of a packet-switched network, and the third is to emulate a packet-switched network on top of a deterministic network. Consider the last option first—emulating a packet-switched network on top of a deterministic network. For those who are old enough, this is IP-over-ATM. It didn’t work. The inefficiencies of trying to stuff variably sized packets into the fixed-size frames required to create a deterministic network were so significant that it just … didn’t work. The control planes were difficult to deploy and manage—think ATM LANE, for instance—and the overall network was just really complicated.</p>
<p>Today, what we mostly do is emulate deterministic networks over packet-switched networks. This design allows traffic that does well in a packet-switched environment to run perfectly fine, and traffic that likes “some” deterministic properties, like voice, to work fine with a little effort on the part of the network designer and operator. Building something with all the properties of a genuinely deterministic network on top of a packet-switched network, however, is difficult.</p>
<p>To get there, you need a few things. First, you need some way to strictly control/steer flows, so the mix of packet and deterministic traffic is going allow you to meet deterministic requirements on every link through the network. Second, you need some excellent QoS mechanism that knows how to provide deterministic results while mixing in packet-switched traffic “underneath.” Third, you need to overprovision enough to take up any “slack” and variability, as well as to account for queuing and clock on/clock off delays through switching devices.</p>
<p>The truth is we can come pretty close—witness the ability of IP networks to carry video streaming and what looks like traditional voice today. Can it get better? I’m confident we can build systems that are ever closer to emulating a truly deterministic network on top of a packet-switched network—so long as we mind the tradeoffs and are willing to throw capacity and hardware at the problem.</p>
<p>Can we ever truly emulate packet-switched networks on top of deterministic networks? I don’t see how. It’s not just that we’ve tried and failed; it’s that the math just doesn’t ever seem to “work right” in some way or another.</p>
<p>So while the “new IP” proposal brings up an interesting problem—future applications may need more deterministic networking profiles—it doesn’t explain why we should believe either building a completely parallel deterministic network or trying to flip the stack to emulate a packet-switched network on top of a deterministic network, makes more sense than what we are doing today.</p>
<p><a href="http://www.amazon.com/dp/1587145049?tag=riw777-20">Looking at this from a problem/solution perspective helps clarify the situation, and produce a conclusion about which path is best, without even getting into specific protocols or implementations.</a> Really understanding the problem you are trying to solve, even at an <em>abstract level,</em> and then working through all the possible solutions, even ones that might not have been invented yet (although I can promise you then <em>have</em> been invented), can help you get your mind around the engineering possibilities.</p>
<p>It is probably <em>not</em> how you’re accustomed to looking at network design, protocol selection, etc. But it’s one you should start using.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12377</post-id>	</item>
		<item>
		<title>Tradeoffs Come in Threes</title>
		<link>https://rule11.tech/tradeoffs-come-in-threes/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 20 Jul 2020 17:00:51 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12300</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/tradeoffs-threes.png" alt="" width="400" height="160" class="alignnone" />

We’re actually pretty good at finding, and “solving” (for some meaning of “solving,” of course), these kinds of immediately obvious tradeoffs. It’s obvious the street sweepers are going to lose their jobs if we replace them with a robot. What might not be so obvious is the loss of the presence of a <em>person</em> on the street. That’s a pair of eyes who can see when a child is being taken by someone who’s not a family member, a pair of ears that can hear the rumble of a car that doesn’t belong in the neighborhood, a pair of hands that can help someone who’s fallen, etc.]]></description>
										<content:encoded><![CDATA[<blockquote><p><a href="https://www.tbray.org/ongoing/When/202x/2020/07/05/Too-Efficient">On a Spring 2019 walk in Beijing I saw two street sweepers at a sunny corner. They were beat-up looking and grizzled but probably younger than me. They’d paused work to smoke and talk. One told a story; the other’s eyes widened and then he laughed so hard he had to bend over, leaning on his broom. I suspect their jobs and pay were lousy and their lives constrained in ways I can’t imagine. But they had time to smoke a cigarette and crack a joke. You know what that’s called? Waste, inefficiency, a suboptimal outcome. Some of the brightest minds in our economy are earnestly engaged in stamping it out. They’re winning, but everyone’s losing. —Tim Bray</a></p></blockquote>
<p>This, in a nutshell, is what is often wrong with our design thinking in the networking world today. We want things to be <em>efficient,</em> wringing the last little dollar, and the last little bit of bandwidth, out of everything.</p>
<p>This is also, however, a perfect example of the problem of triads and tradeoffs. In the case of the street sweeper, we might thing, “well, we could replace those folks sitting around smoking a cigarette and cracking jokes with a robot, making things much more efficient.” We might notice the impact on the street sweeper’s salaries—but after all, it’s a boring job, and they are better off doing something else anyway, right?</p>
<p>We’re actually pretty good at finding, and “solving” (for some meaning of “solving,” of course), these kinds of immediately obvious tradeoffs. It’s obvious the street sweepers are going to lose their jobs if we replace them with a robot. What might not be so obvious is the loss of the presence of a <em>person</em> on the street. That’s a pair of eyes who can see when a child is being taken by someone who’s not a family member, a pair of ears that can hear the rumble of a car that doesn’t belong in the neighborhood, a pair of hands that can help someone who’s fallen, etc.</p>
<p>This is why these kinds of tradeoffs always come in (at least) threes.</p>
<p>Let’s look at the street sweepers in terms of the SOS triad. Replacing the street sweepers with a robot or machine certainly increases optimization. According to the triad, though, increasing optimization in one area should result in some increase in complexity someplace, and some loss of optimization in other places.</p>
<p>What about surfaces? The robot must be managed, and it must interact with people and vehicles on the street—which means people and vehicles must also interact with the robot. Someone must build and maintain the robot, so there must be some sort of system, with a plethora of interaction surfaces, to make this all happen. So yes, there may be more efficiency, but there are now more interaction surfaces to deal with now, too. These interaction surfaces increase complexity.</p>
<p>What about state? In a sense, there isn’t much change in state other than moving it—purely in terms of sweeping the street, anyway. The sweeper and the robot must both understand when and how to sweep the street, etc., so the state doesn’t seem to change much here.</p>
<p>On the other hand, that extra set of eyes and ears, that extra mind, that is no longer on the street in a personal way represents a loss of state. The robot is an abstraction of the person who was there before, and abstraction always represents a loss of state in some way. Whether this loss of state decreases the optimal handling of local neighborhood emergencies is probably a non-trivial problem to consider.</p>
<p>The bottom line is this—when you go after efficiency, you need to think in terms of <em>efficiency of what,</em> rather than efficiency as a goal-in-itself. That’s because there is no such thing as “efficiency-in-itself,” there is only something you are making more efficient—and a lot of things you potentially making less efficient.</p>
<p>Automate your network, certainly, or even buy a system that solves “all the problems.” But remember there are tradeoffs—often a large number of tradeoffs you might not have thought about—and those tradeoffs have consequences.</p>
<p>It’s not “if you haven’t found the tradeoff, you haven’t looked hard enough…” Don’t stop at one. It’s “if you haven’t found the <strong>tradeoffs,</strong> you haven’t looked hard enough.” It’s a plural for a reason.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12300</post-id>	</item>
		<item>
		<title>The Hedge 44: Pete Lumbis and Open Source</title>
		<link>https://rule11.tech/the-hedge-podcast-44-pete-lumbis-and-open-source/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 15 Jul 2020 17:00:00 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12260</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-044.png" alt="" width="400" height="160" class="alignnone" />

Open source software is everywhere, it seems&#8212;and yet it's nowhere at the same time. Everyone is talking about it, but how many people and organizations are actually using it? Pete Lumbis at NVIDIA joins Tom Ammon and Russ White to discuss the many uses and meanings of open source software in the networking world.
]]></description>
										<content:encoded><![CDATA[<p>Open source software is everywhere, it seems&#8212;and yet it&#8217;s nowhere at the same time. Everyone is talking about it, but how many people and organizations are actually using it? Pete Lumbis at NVIDIA joins Tom Ammon and Russ White to discuss the many uses and meanings of open source software in the networking world.</p>
<audio class="wp-audio-shortcode" id="audio-12260-17" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3?_=17" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3" length="42482956" type="audio/mpeg" />

				<itunes:episode>44</itunes:episode>
		<podcast:episode>44</podcast:episode>
		<itunes:title>Open Source Software on the Hedge</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>44:15</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">12260</post-id>	</item>
		<item>
		<title>Learning from the Post-Mortem</title>
		<link>https://rule11.tech/learning-from-the-post-mortem/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 18 May 2020 17:00:02 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12048</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/post-mortem.png" alt="" width="400" height="160" class="alignnone" />

Post-mortem reviews seem to be quite common in the software engineering and application development sides of the IT world—but I do not recall a lot of post-mortems in network engineering across my 30 years. This puzzling observation sprang to mind while I was reading a post over at the ACM this last week about how to effectively learn from the post-mortem exercise.

The common pattern seems to be setting aside a one hour meeting, inviting a lot of people, trying to shift blame while not actually saying you are shifting blame (because we are all supposed to live in a blame-free environment now—fix the problem, not the blame!), and then … a list is created on a whiteboard, pictures are taken, and everyone walks away with a rock-solid plan to <em>never do that again.</em>]]></description>
										<content:encoded><![CDATA[<p>Post-mortem reviews seem to be quite common in the software engineering and application development sides of the IT world—but I do not recall a lot of post-mortems in network engineering across my 30 years. This puzzling observation sprang to mind while I was reading a post over at the ACM this last week about how to effectively learn from the post-mortem exercise.</p>
<p>The common pattern seems to be setting aside a one hour meeting, inviting a lot of people, trying to shift blame while not actually saying you are shifting blame (because we are all supposed to live in a blame-free environment now—fix the problem, not the blame!), and then … a list is created on a whiteboard, pictures are taken, and everyone walks away with a rock-solid plan to <em>never do that again.</em></p>
<p>In a few months’ time, the same team will be in the same room, draw the same drawings, and say the same things all over again. At least that is the way it seems to me. If there is an effective post-mortem process in use by a company someplace, I do not think I have seen it.</p>
<p>From the article—</p>
<blockquote><p><a href="https://cacm.acm.org/magazines/2020/5/244333-beyond-the-fix-it-treadmill/fulltext">Are we missing anything in this prevalent rinse-and-repeat cycle of how the industry generally addresses incidents that could be helpful? Put another way: As we experience incidents, work through them, and deal with their aftermath, if we set aside incident-specific, and therefore fundamentally static, remediation items, both in technology and process, are we learning anything else that would be useful in addressing and responding to incidents? Can we describe that knowledge? And if so, how would we then make use of it to leverage past pain and improve future chances at success?</a></p></blockquote>
<p>I tend to think, from the few times I have seen network post-mortems performed, that the reason they do not work well is because we slip into the same appliance/configuration frame of mind so quickly. We want to understand what configuration was entered incorrectly, or what defect should be reported back to the vendor, rather than thinking about organizational and process changes. The smaller the detail, the safer the conclusions, after all—aim small, miss big, is what we say in the shooting world.</p>
<p>We focus so much on mean time to innocence, and how to create a practically perfect process that will <em>never fail,</em> that we fail to do the one thing we should be doing: <em>learning.</em></p>
<p>Okay, so enough whining—what can be done about this situation? A few practical suggestions come to mind. These are not, of course, well-thought-out solutions, but rather, perhaps, “part of the solution.”</p>
<p>Rather than trying to figure out the root cause, spend that precious hour of post-mortem time mapping out three distinct workflows. The first should be the process that set up the failure. What drove the installation of this piece of hardware or software? What drove the deployment of this protocol? How did we get to the place where this failure had that effect? Once this is mapped out, see if there is anything in that process, or even in the political drivers and commitments made during that process, that could or should be modified to really change the way technology is deployed in your network.</p>
<p>The second process you should map out is the steps taken to detect the problem. Dwell time is a huge problem in modern networks—the time between a failure occurring and being detected. You should constantly focus on bringing dwell time down while paying close attention to the collateral damage of false positives. Mapping out how this failure was detected, and where it should have been caught sooner, can help improve telemetry systems, ultimately decreasing MTTR.</p>
<p>The third, and final, workflow you map out should be the troubleshooting process itself. People rarely map out their troubleshooting process for later reference, but this little trick I learned from way back in tube-type electronics days used to save me hours of time in the field. As you troubleshoot, make a flow chart. Record what you checked, why you checked it, how you checked it, and what you learned from the check. This flowchart, or workflow, is precious material in the post-mortem process. What can you instrument, or make easier to find, to reduce troubleshooting time in the next go-round? How can you traverse the network and find the root cause faster next time? These are crucial questions you can only answer with the use of a troubleshooting workflow.</p>
<p>I don’t know if you already do post-mortems or not, or how valuable you think they are—but I would suggest they can be, and are, quite useful. So long as you get out of the narrows and focus on systems and workflows. Aim small, miss big—but aim big and you’ll either hit the target or, at worst, miss small.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12048</post-id>	</item>
		<item>
		<title>Quitting Certifications: When?</title>
		<link>https://rule11.tech/quitting-certifications-when/</link>
					<comments>https://rule11.tech/quitting-certifications-when/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 04 May 2020 17:00:39 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11995</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/quit-certifications.png" alt="" width="400" height="160" class="alignnone" />

At what point in your career do you stop working towards new certifications?

<a href="https://lostintransit.se/2020/04/19/when-do-you-quit-certifications/">Daniel Dibb’s recent post on his blog is, I think, an excellent starting point,</a> but I wanted to add a few additional thoughts to the answer he gives there.

Daniel’s first question is <em>how do you learn?</em> Certifications often represent a body of knowledge people who have a lot of experience believe is important, so they often represent a good guided path to holistically approaching a new body of knowledge. In the professional learning world this would be called a ready-made mental map. There is a counterargument here—certifications are often created by vendors as a marketing tool, rather than as something purely designed for the betterment of the community, or the dissemination of knowledge. This doesn’t mean, however, that certifications are “evil.” It just means you need to evaluate each certification on its own merits.]]></description>
										<content:encoded><![CDATA[<p>At what point in your career do you stop working towards new certifications?</p>
<p><a href="https://lostintransit.se/2020/04/19/when-do-you-quit-certifications/">Daniel Dibb’s recent post on his blog is, I think, an excellent starting point,</a> but I wanted to add a few additional thoughts to the answer he gives there.</p>
<p>Daniel’s first question is <em>how do you learn?</em> Certifications often represent a body of knowledge people who have a lot of experience believe is important, so they often represent a good guided path to holistically approaching a new body of knowledge. In the professional learning world this would be called a ready-made mental map. There is a counterargument here—certifications are often created by vendors as a marketing tool, rather than as something purely designed for the betterment of the community, or the dissemination of knowledge. This doesn’t mean, however, that certifications are “evil.” It just means you need to evaluate each certification on its own merits.</p>
<p>As an aside, I’ve been trying to start a non-vendor-specific certification for the last two years but have been struggling to find a group of people with the energy and excitement required to make it happen. To some degree, the reason certifications are vendor-based is because we, as a community, don’t do a good job at building them.</p>
<p>The second series of questions relate to your position—<em>would a certification give you a bonus, help you get a new position, or give credibility to the company you work for?</em> These are all valid questions requiring self-reflection around what you hope to achieve materially by working through the certification.</p>
<p>The final set of questions Daniel poses relate to whether a certification would give you what might be called <em>authority</em> in the network engineering world. Certifications, seen in this way, are a form of transitive trust. There are two components here—the certification blueprint tells you about the body of knowledge, and the certifying authority tells you about the credibility of the process. Given these two things, someone with a certification is saying “someone you trust has said I have this knowledge, so you should trust I have this knowledge as well.” The certification acts as a <em>transit</em> between you and the certified person, transferring some amount of your trust in the certifying organization to the person you are talking to.</p>
<p>There are other ways to build this kind of trust, of course. For instance, if you blog, or run a podcast, or are a frequent guest contributor, or have a lot of code on <em>git,</em> or have written some books, etc. In these cases, the trust is no longer transitive but direct—you can see a person has a body of knowledge because they have (at least to some degree) exposed that knowledge publicly.</p>
<p>All of these reasons are fine and good—but I think there is another point to think about in this discussion: <em>what are you saying to the community?</em> Once you stop “doing” certifications, you can be saying one of two things. The first is certifications are useless. If all the reasons for getting a certification above are true, then telling someone “certifications are useless” is <em>not a good thing.</em> Those who don’t care about certifications should rather take the position <em>first, do no harm.</em></p>
<p>A stronger position would be to carefully evaluate existing certifications and help guide folks desiring a certification down a good path rather than a bad one. Which certifications are primarily vendor marketing programs? Which are technically sound? If you are at the point where you are no longer going to pursue certifications, these are questions you should be able to answer.</p>
<p>An even stronger position would be—if you’re at the point where you do not think you need to be certified, where you have a “body of knowledge” that allows people to directly trust your work, then perhaps you should also be at a point where you are helping guide the development of certifications in some way.</p>
<p>Certifications—whether to get them or not, and when to stop caring about them—are rather more nuanced than many in the networking world make out. There are valid reasons for, and valid reasons against—and in general, I think we need to do better a developing and policing certifications in order to build a stronger community.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/quitting-certifications-when/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11995</post-id>	</item>
		<item>
		<title>Learning from Failure at Scale</title>
		<link>https://rule11.tech/learning-from-failure-at-scale/</link>
					<comments>https://rule11.tech/learning-from-failure-at-scale/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 13 Apr 2020 17:00:54 +0000</pubDate>
				<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11862</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/failure-at-scale.png" alt="" width="400" height="160" class="alignnone" />

One of the difficulties for the average network operator trying to understand their failure rates and reasons is they just don’t have enough devices, or enough incidents, to make informed observations. If you have a couple of dozen switches, it is often hard to understand how often software defects take a device down versus human error (Mean Time Between Mistakes, or MTBM). As networks become larger, however, more information becomes available, and more interesting observations can be made. <a href="https://dl.acm.org/doi/10.1145/3278532.3278566">A recent paper written in conjunction with Facebook uses information from Facebook’s data center fabrics to make some observations about the rate and severity of different kinds of failures—needless to say, the results are fairly interesting.</a>]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/failure-at-scale.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>One of the difficulties for the average network operator trying to understand their failure rates and reasons is they just don’t have enough devices, or enough incidents, to make informed observations. If you have a couple of dozen switches, it is often hard to understand how often software defects take a device down versus human error (Mean Time Between Mistakes, or MTBM). As networks become larger, however, more information becomes available, and more interesting observations can be made. <a href="https://dl.acm.org/doi/10.1145/3278532.3278566">A recent paper written in conjunction with Facebook uses information from Facebook’s data center fabrics to make some observations about the rate and severity of different kinds of failures—needless to say, the results are fairly interesting.</a></p>
<p>To produce the study, the authors took data from Facebook’s ticket logging system over 6 years, from 2011 through 2018. They used language-based systems to classify each event based on severity, kind of remediation, and root cause. Once the events were classified, the researchers plotted and tried to understand the results. For instance, table 2 lists the most common root causes of data center fabric incidents: 17% were maintenance, 13% misconfiguration, 13% hardware, and 12% software defects (bugs).</p>
<p>Given Facebook’s network is completely automated, with a full code review/canary process for validating changes before they are put into production, misconfiguration failures should lower than a manually operated network. That 13% of failures are still accounted for by misconfiguration shows <em>even the best automation program cannot eliminate failures from misconfiguration.</em> This number is also interesting because it implies networks without this degree of automation must have much <em>higher</em> failure rates due to misconfiguration. While the raw number of failures are not given, this seems to provide both an idea of how much improvement automation can create, as well as a sort of “cap” on how much improvement operators can expect by automating.</p>
<p>If misconfiguration causes 13% of all failures, and software defects cause 12%, then 25% of all failures are caused by human error. I don’t know of any other studies of this kind, but 25% sounds about right based on years of experience. Whether this 25% is spread across failures in vendor code and operator configuration, or across operator created code and operator configuration, the percentage of failure seems to remain about the same. It is not likely you can eliminate failures caused by human error, nor are you likely to drive it down more than a couple of percentage points.</p>
<p>Another interesting finding here is <em>larger networks increase the time humans take to resolve incidents.</em> As the size of the network scales up, the MTTR scales up with it. This is intuitive—larger networks tend to have more complex configurations, leading to more time spent trying to chase down and understand a problem. One thing the paper does not discuss, but might be interesting, is how modularization impacts these numbers. Intuitively, containing failures within a module (whether horizontally along topological lines or vertically through virtualization) should decrease the scope in which a network engineer needs to search to find a problem and resolve it. This is, on the other hand, likely to be offset somewhat by the increased complexity and reduction in visibility caused by segmentation—so it’s hard to determine what the overall effect of deeper segmentation in a network might be.</p>
<p>Overall, this is an interesting paper to parse through and understand—there are lots of great insights here for network operators at any scale.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/learning-from-failure-at-scale/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11862</post-id>	</item>
		<item>
		<title>Whither Cyber-Insurance?</title>
		<link>https://rule11.tech/whither-cyber-insurance/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 02 Mar 2020 18:00:34 +0000</pubDate>
				<category><![CDATA[RESEARCH]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11688</guid>

					<description><![CDATA[Will cyber-insurance exist as a “separate thing” in the future? The authors largely answer in the negative. The pressures of “race to the bottom,” providing maximal coverage with minimal costs (which they attribute to the structure of the cyber-insurance market), combined with lack of regulatory clarity and inaccurate measurements, will probably end up causing cyber-insurance to “fold into” other kinds of insurance.]]></description>
										<content:encoded><![CDATA[<p><em>Note: I’m off in the weeds a little this week thinking about cyber-insurance because of a paper that landed in one of my various feeds—while this isn’t something we often think about as network operators, it does impact the overall security of the systems we build. </em></p>
<p>When you go to the doctor for a yearly checkup, do you think about <em>health</em> or <em>insurance?</em> You probably think about health, but the practice of going to the doctor for regular checkups began because of large life insurance companies in the United States. These companies began using statistical methods to <em>make risk,</em> or to build actuarial tables they could use to set the premiums properly. Originally, life insurance companies relied on the “hunches” of their salesmen, combined with some checking by people in the “back office,” to determine the correct premium. Over time, they developed networks of informers in local communities, such as doctors, lawyers, and even local politicians, who could describe the life of anyone in their area, providing the information the company needed to set premiums correctly.</p>
<p>Over time, however, statistical methods came into play, particularly relying on an initial visit with a doctor. The information these insurance companies gathered, however, gave them insight into what habits increased or decreased longevity—they decided they should use this information to help shape people’s lives so they would live longer, rather than just using it to discover the correct premiums. To gather more information, and to help people live better lives, life insurance companies started encouraging yearly doctor visits, even setting up non-profit organizations to support the doctors who gave these examinations. Thus was born the yearly doctor’s visit, the credit rating agencies, and a host of other things we take for granted in modern life.</p>
<p><em>You can read about the early history of life insurance and its impact on society in <strong><a href="https://www.goodreads.com/book/show/23130536-how-our-days-became-numbered">How Our Days Became Numbered.</a></strong></em></p>
<p>What does any of this have to do with networks? Only this—we are in much the same position in the cyber-insurance market right now as the life insurance market in the late 1800s through the mid-1900s—insurance agents interview a company and make a “hunch bet” on how much to charge the company for cyber-insurance. Will cyber-insurance ever mature to the same point as life insurance? <a href="https://ieeexplore.ieee.org/document/8833500">According to a recent research paper, the answer is “probably not.” </a> Why not?</p>
<p><em>First,</em> legal restrictions will not allow a solution such as the one imposed by payment processors. <em>Second,</em> there does not seem to be a lot of leverage in cyber-insurance premiums. The cost of increasing security is generally much higher than any possible premium discount, making it cheaper for companies just to pay the additional premium than to improve their security posture. <em>Third,</em> there is no real evidence tying the use of specific <em>products</em> to reductions in security breaches. Instead, network and data security tend to be tied to <em>practices</em> rather than <em>products,</em> making it harder for an insurer to precisely specify what a company can and should to improve their posture.</p>
<p><em>Finally,</em> the largest problem is measurement. What does it look like for a company to “go to the doctor” regularly? Does this mean regular penetration tests? Standardizing penetration tests is difficult, and it can be far too easy to counter pentests without improving the overall security posture. Like medical care in the “early days,” there is no way to know you have gathered enough information on the population to know if you correctly understand the kinds of things that improve “health”—but there is no way to compel reporting (much less accurate reporting), nor is there any way to compel insurance companies to share the information they have about cyber incidents.</p>
<p>Will cyber-insurance exist as a “separate thing” in the future? The authors largely answer in the negative. The pressures of “race to the bottom,” providing maximal coverage with minimal costs (which they attribute to the structure of the cyber-insurance market), combined with lack of regulatory clarity and inaccurate measurements, will probably end up causing cyber-insurance to “fold into” other kinds of insurance.</p>
<p>Whether this is a positive or negative result is a matter of conjecture—the legacy of yearly doctor’s visits and public health campaigns is not universally “good,” after all.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11688</post-id>	</item>
		<item>
		<title>The Hedge 24: Single Source of Truth</title>
		<link>https://rule11.tech/the-hedge-podcast-episode-24-single-source-of-truth/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 26 Feb 2020 18:00:16 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11654</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-024.png" alt="" width="300" class="alignnone" />

<a href="https://www.linkedin.com/in/tim-schreyack">Tim Schreyack</a> recently <a href="https://pc.nanog.org/static/published/meetings//NANOG77/daily/day_4.html#talk_2081">presented at NANOG</a> on the topic of building a single source of truth for network automation. Tim joins Tom and Russ in a wide-ranging discussion about single sources of truth, changing the way we see the network, and the changing skills of network engineers.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-024.png?w=300&#038;ssl=1" alt=""  class="alignnone" /></p>
<p><a href="https://www.linkedin.com/in/tim-schreyack">Tim Schreyack</a> recently <a href="https://pc.nanog.org/static/published/meetings//NANOG77/daily/day_4.html#talk_2081">presented at NANOG</a> on the topic of building a single source of truth for network automation. Tim joins Tom and Russ in a wide-ranging discussion about single sources of truth, changing the way we see the network, and the changing skills of network engineers.</p>
<audio class="wp-audio-shortcode" id="audio-11654-18" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-024.mp3?_=18" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-024.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-024.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-024.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-024.mp3" length="60485572" type="audio/mpeg" />

				<itunes:season>1</itunes:season>
		<podcast:season>1</podcast:season>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>42:00</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11654</post-id>	</item>
		<item>
		<title>Ironies of Automation</title>
		<link>https://rule11.tech/ironies-of-automation/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 24 Feb 2020 18:00:07 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11651</guid>

					<description><![CDATA[This is the first of the ironies of automation Lisanne Bainbridge discusses—and this is the irony I’d like to explore. The irony she is articulating is this: the less you work on a system, the less likely you are to be able to control that system efficiently. Once a system is automated, however, you will not work on the system on a regular basis, but you will be required to take control of the system when the automated controller fails in some way. Ironically, in situations where the automated controller fails, the amount of control required to make things right again will be <em>greater</em> than in normal operation.

In the case of machine operation, it turns out that the human operator is required to control the machine in just the situations where the least amount of experience is available. This is analogous to the automated warehouse in which automated systems are used to stack and sort material. When the automated systems break down, there is absolutely no way for the humans involved to figure out why things are stacked the way they are, nor how to sort things out to get things running again.]]></description>
										<content:encoded><![CDATA[<p>Ironies of Automation</p>
<p>In 1983 I was just joining the US Air Force, and still deeply involved in electronics (rather than computers). I had written a few programs in BASIC and assembler on a COCOII with a tape drive, and at least some of the electronics I worked on were used vacuum tube triodes, plate oscillators, and operational amplifiers. This was a magical time, though—a time when “things” were being automated. In fact, one of the reasons I left electronics was because the automation wave left my job “flat.” Instead of looking into the VOR shelter to trace through a signal path using a VOM (remember the safety L!) and oscilloscope, I could sit at a terminal, select a few menu items, grab the right part off the depot shelf, replace, and go home.</p>
<p>Maybe the newer way of doing things was better. On the other hand, maybe not.</p>
<p>What brings all this to mind is a paper from 1983 titled <em>The Ironies of Automation.</em>  It might often seem, because of our arrogant belief that we can remake the world through disruption (was the barbarian disruption of Rome in 455 the good sort of disruption, or the bad sort?), we often think we can learn nothing from the past. <a href="https://rule11.tech/history-of-networking/">Reality check: the past is prelude.</a></p>
<p>What can the past teach us about automation? This is as good a place to start as any other:</p>
<blockquote><p><a href="https://www.sciencedirect.com/science/article/pii/0005109883900468">There are two general categories of task left for an operator in an automated system. He may be expected to monitor that the automatic system is operating correctly, and if it is not he may be expected to call a more experienced operator or to take-over himself. We will discuss the ironies of manual take-over first, as the points made also have implications for monitoring. To take over and stabilize the process requires manual control skills, to diagnose the fault as a basis for shut down or recovery requires cognitive skills.</a></p></blockquote>
<p>This is the first of the ironies of automation Lisanne Bainbridge discusses—and this is the irony I’d like to explore. The irony she is articulating is this: the less you work on a system, the less likely you are to be able to control that system efficiently. Once a system is automated, however, you will not work on the system on a regular basis, but you will be required to take control of the system when the automated controller fails in some way. Ironically, in situations where the automated controller fails, the amount of control required to make things right again will be <em>greater</em> than in normal operation.</p>
<p>In the case of machine operation, it turns out that the human operator is required to control the machine in just the situations where the least amount of experience is available. This is analogous to the automated warehouse in which automated systems are used to stack and sort material. When the automated systems break down, there is absolutely no way for the humans involved to figure out why things are stacked the way they are, nor how to sort things out to get things running again.</p>
<p>This seems intuitive. When I’m running the mill through manual control, after I’ve been running it for a while (I’m out of practice right now), I can “sense” when I’m feeding too fast, meaning I need to slow down to prevent chatter from ruining the piece, or worse—a crash resulting in broken bits of bit flying all over the place.</p>
<p>How does this apply to network operations? On the one hand, it seems like once we automate all the things we will lose the skills of using the CLI to do needed things very quickly. I always say “I can look that command up,” but if I were back in TAC, troubleshooting a common set of problems every day, I wouldn’t want to spend time looking things up—I’d want to have the right commands memorized to solve the problem quickly so I can move to the next case.</p>
<p>This seems to argue against automation entirely, doesn’t it? Perhaps. Or perhaps it just means we need to look at the knowledge we need (and want) in a little different way (along with the monitoring systems we use to obtain that knowledge).</p>
<p>Humans think quick and slow. We either react based on “muscle memory,” or we must think through a situation, dig up the information we need, and weigh out the right path forward. When you are pulling a piece of stainless through a bit and the head starts to chatter, you don’t want to spend time assessing the situation and deciding what to do—you want to react.</p>
<p>But if you are working on an automated machine, and the bit starts to chatter, you might want to react differently. You might want to stop the process entirely and think through how to adjust the automated sequence to prevent the bit from chattering the next time through. In manual control, each work piece is important because each one is individually built. In the automated sequence, the work piece itself is subsumed within the process.</p>
<p>It isn’t that you know “less” in the automated process, it’s that <em>you know different things.</em> In the manual process, you can feel the steel under the blade, the tension and torque, and rely on your muscle memory to react when its needed. In the automated process, you need to know more about the actual qualities of the bit and metal under the bit, the mount, and the mill itself. You have to have more of an immediate sense of how things work if you are doing it manually, but you have to have more of a sense of the theory behind why things work the way if it is automated.</p>
<p>A couple of thoughts in this area, then. First, when we are automating things, we need to be very careful to assume there is no “fast thinking” when things ultimately do fail (it’s not if, it’s when). We need to think through what information we are collecting, and how that information is being presented (if you read the original paper, the author spends a great deal of time discussing how to present information to the operator to overcome the ironies she illuminates) so we take maximum advantage of the “slow path” in the human brain, and stop relying on the “fast path” so much. Second, as we move towards an automated world, we need to start learning, and teaching, more about why and less about how, so we can prepare the “slow path” to be more effective—because the slow path is the part of our thinking that’s going to get more of a workout.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11651</post-id>	</item>
		<item>
		<title>Knowing How Things Work</title>
		<link>https://rule11.tech/knowing-how-things-work/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 17 Feb 2020 18:00:20 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11634</guid>

					<description><![CDATA[Simon Weckhert recently hacked Google Maps into guiding drivers around a street through a rather simple mechanism: <a href="http://www.simonweckert.com/googlemapshacks.html">he placed 95 cellphones, all connected to Google Maps, in a little wagon and walked down the street with the wagon in tow.</a> Maps saw this group of cell phones as a <em>very</em> congested street—95 cars cannot even physically fit into the street he was walking down—and guided other drivers around the area. The idea is novel, and the result rather funny, but it also illustrates a weakness in our “modern scientific mindset” that often bleeds over into network engineering.

The basic problem is this: we assume users will use things the way we intend them to. This never works out in the real world, because users are going to use wrenches as hammers, cell phones as if they were high-end cameras, and many other things in ways they were never intended. To make matters worse, users often “infer” the way something works, and adapt their actions to get what they want based on their inference. For instance, everyone who drives “reverse-engineers” the road in their head, thinking about what the maximum safe speed might be, etc. <a href="https://dl.acm.org/doi/10.1145/2858036.2858494">Social media users do the same thing when posting or reading through their timeline, causing people to create novel and interesting ideas about how these things work that have no bearing on reality.</a>]]></description>
										<content:encoded><![CDATA[<p>Simon Weckhert recently hacked Google Maps into guiding drivers around a street through a rather simple mechanism: <a href="http://www.simonweckert.com/googlemapshacks.html">he placed 95 cellphones, all connected to Google Maps, in a little wagon and walked down the street with the wagon in tow.</a> Maps saw this group of cell phones as a <em>very</em> congested street—95 cars cannot even physically fit into the street he was walking down—and guided other drivers around the area. The idea is novel, and the result rather funny, but it also illustrates a weakness in our “modern scientific mindset” that often bleeds over into network engineering.</p>
<p>The basic problem is this: we assume users will use things the way we intend them to. This never works out in the real world, because users are going to use wrenches as hammers, cell phones as if they were high-end cameras, and many other things in ways they were never intended. To make matters worse, users often “infer” the way something works, and adapt their actions to get what they want based on their inference. For instance, everyone who drives “reverse-engineers” the road in their head, thinking about what the maximum safe speed might be, etc. <a href="https://dl.acm.org/doi/10.1145/2858036.2858494">Social media users do the same thing when posting or reading through their timeline, causing people to create novel and interesting ideas about how these things work that have no bearing on reality.</a></p>
<p>As folks who work in the world of networks, we often “reverse-engineer” a vendor product in much the same way drivers “reverse-engineer” roads and social media users “reverse-engineer” the news feed—we observe how it works in some circumstances, we read some of the documentation, we infer how it must work based on the information we have, and then we design around how we think it works. Sometimes this is a result of abstraction—the vendor has saved us from learning all the “technical details” to make our lives easier. And sometimes abstraction does make our lives easier—but sometimes abstraction makes our lives harder.</p>
<p>I’m reminded of a time I was working with a cable team to bring a wind speed/direction system back up. The system in question relied on several miles of 12c12 cable across which a low voltage signal was driven off a generator attached to an impeller. The folks working on the cable could “see” power flowing on the meter after their repair, so <em>why wouldn’t it work?</em></p>
<p>In some cases, then, our belief about how these things work is completely wrong, and we end up designing precisely the wrong thing, or doing precisely the wrong thing to bring a failed network back on-line.</p>
<p>Folks involved in networks face this on the other side of the equation, as well—we supply application developers and business users with a set of abstractions they don’t’ really need to understand. In using them, however, they develop “folk theories” about how a network works, coming to conclusions that are often counter-productive to what they are trying to get done. The person in the airline lounge that tells you to reboot your system to see if the WiFi will work doesn’t really understand what the problem is, they just know “this worked once before, so maybe it will work now.”</p>
<p>There is nothing wrong <em>per se</em> with this kind of “reverse-engineering”—we’re going to encounter it every time we abstract things, and abstracting things is necessary to <em>scale.</em> On the other hand, we’re supposed to be the “engineer in the middle”—the person who knows how to relate to the vendor and the user, bridging the gap between product and service. That’s how we add value.</p>
<p>There are some places, like with vendor-supplied gear, that we are dealing with an abstraction we simply cannot rip the lid off. There are many times when we cannot learn the “innards” because there are 24 hours in a day, you cannot learn all that needs to be learned in the available timeframe, and there are times, as a human, that you need to back off and “do something else.” <a href="http://www.amazon.com/dp/1587145049?tag=riw777-20">But… there are times when you really need to know what “lies beneath the abstraction”—how things really work.</a></p>
<p>I suspect the times when understanding “how it really works” would be helpful are very common—and that we would all live a world with a little less vendor hype during the day, and a lot less panic during the night, if we put a little more priority on learning how networks work.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11634</post-id>	</item>
		<item>
		<title>Too Little Engineering</title>
		<link>https://rule11.tech/too-little-engineering/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 03 Feb 2020 18:00:21 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11582</guid>

					<description><![CDATA[One of my pet peeves about the network “engineering” world is this: we do too little engineering and too much administration. What brought this to mind this week is an article about Margaret Hamilton about the time she spent working on software development for the Apollo space program, and the lessons she learned about software development there. To wit—

<blockquote><a href="https://www.fastcompany.com/90449853/this-woman-knows-the-secret-to-fixing-big-techs-most-pervasive-problem">Engineering—back in 1969 as well as here in 2020—carries a whole set of associated values with it, and one of the most important is the necessity of proofing for disaster before human usage. You don’t “fail fast” when building a bridge: You ensure the bridge works first.</a></blockquote>

<strong>Sounds simple in theory—but it is not in practice.</strong>

Let’s take, as an example, replacing some of the capacity in your data center designed on a rather traditional two-layer hierarchy, aggregation, and core.]]></description>
										<content:encoded><![CDATA[<p>One of my pet peeves about the network “engineering” world is this: we do too little engineering and too much administration. What brought this to mind this week is an article about Margaret Hamilton about the time she spent working on software development for the Apollo space program, and the lessons she learned about software development there. To wit—</p>
<blockquote><p><a href="https://www.fastcompany.com/90449853/this-woman-knows-the-secret-to-fixing-big-techs-most-pervasive-problem">Engineering—back in 1969 as well as here in 2020—carries a whole set of associated values with it, and one of the most important is the necessity of proofing for disaster before human usage. You don’t “fail fast” when building a bridge: You ensure the bridge works first.</a></p></blockquote>
<p><strong>Sounds simple in theory—but it is not in practice.</strong></p>
<p>Let’s take, as an example, replacing some of the capacity in your data center designed on a rather traditional two-layer hierarchy, aggregation, and core. If you’ve built your network with a decent modular design, you buy enough new routers (or switches—but let’s use routers here) to build out a new aggregation module, the additional firewalls and other middleboxes you need, and the additional line cards to scale the core up. You unit test everything you can in the lab, understanding that you will not be able to fully test in the product network until you arrange a maintenance window. If you’re automating things, you build (and potentially test) the scripts—if you are smart, you will test these scripts in a virtual environment before using them.</p>
<p>You arrange the maintenance window, install the hardware, and … run the scripts. If it works, you go to bed, take a long nap, and get back to work doing “normal maintenance stuff” the next day. Of course, it rarely works, so you preposition some energy bars, make certain you have daycare plans, and put the vendor’s tech support number on speed dial.</p>
<p>What’s wrong with this picture? Well, many things, but primarily: this is not engineering. Was there any thought put into how to test beyond the individual unit level? Is there any way to test realistic traffic flows while connecting the new module to the network without impacting the rest of the network’s operation? Is there any real rollback plan in case things go wrong? Can there be?</p>
<p>In “modern” network design, none of these things tend to exist because they cannot exist. They cannot exist because we have not truly learned to do design life-cycles or truly modular designs. In the software world, if you don’t do modular design, it’s either because you didn’t think it through, or because you thought it through and decided the trade-off just wasn’t worth it. In the networking world, we play around the edges of resilient, modular designs, but networking folks don’t tend to know the underlying technologies—and how they work—well enough to understand how to divide a problem into modules correctly, and the interfaces between those modules.</p>
<p>Let’s consider the same example, but with some engineering principles applied. Instead of a traditional two-layer hierarchy, you have a single-SKU spine and leaf fabric with clearly defined separation between the fabric and pods, clearly defined underlay and overlay protocols, etc. Now you can build a pod and test it against a “fake fabric” before attaching it to the production fabric, including any required automation. Then you can connect the pod to the production fabric and bring up just the underlay protocol, testing the entire underlay before pushing the overlay out to the edge. Then you can push the overlay to the edge and test that before putting any workload on the new pod. Then you can test fake load on the new pod before pushing production traffic onto the pod…</p>
<p>Each of these tests, other than the initial test against a lab environment, can take place on the production network with little or no risk to the entire system. You’re not physically modifying current hardware (except plugging in new cables!), so it’s easy to roll changes back. You know the lower layer parts work before putting the higher layer parts in place. Because the testing happens on the real network, these are <em>canaries</em> rather than traditional “certification” style tests. Because you have real modularization, you can <em>fail fast</em> without causing major harm to any system. Because you are doing things in stages, you can build tests that determine clean and correct operation before moving to the next stage.</p>
<p>This is an engineered solution—thought has been put into proper modules, how those modules connect, what information is carried across those modules, etc. Doing this sort of work requires knowing more than how to configure—or automate—a set of protocols based on what a vendor tells you to do. Doing this sort of work requires understanding what failure looks like at each point in the cycle and deciding whether to fail out or fix it.</p>
<p>It may not meet the “formal” process mathematicians might prefer, but neither is it the “move fast and break stuff” attitude many see in “the Valley.” It is <em>fail fast,</em> but not fail foolishly. And its where we need to move to retain the title of “engineer” and not lose the confidence of the businesses who pay us to build networks that work.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11582</post-id>	</item>
		<item>
		<title>Knowing Where to Look</title>
		<link>https://rule11.tech/knowing-where-to-look/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 20 Jan 2020 18:00:43 +0000</pubDate>
				<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11516</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/knowing-where.png" alt="" width="300" class="alignnone" />

If you haven’t found the tradeoffs, you haven’t looked hard enough. Something I say rather often—as Eyvonne would say, a “Russism.” Fair enough, and it’s easy enough to say “if you haven’t found the tradeoffs, you haven’t looked hard enough,” but what does it mean, exactly? How do you apply this to the everyday world of designing, deploying, operating, and troubleshooting networks?

Humans tend to extremes in their thoughts. In many cases, we end up considering everything a zero-sum game, where any gain on the part of someone else means an immediate and opposite loss on my part. In others, we end up thinking we are going to get a free lunch. The reality is there is no such thing as a free lunch, and while there are situations that are a zero-sum game, not all situations are. What we need is a way to “cut the middle” to realistically appraise each situation and realistically decide what the tradeoffs might be.]]></description>
										<content:encoded><![CDATA[<p>If you haven’t found the tradeoffs, you haven’t looked hard enough. Something I say rather often—as Eyvonne would say, a “Russism.” Fair enough, and it’s easy enough to say “if you haven’t found the tradeoffs, you haven’t looked hard enough,” but what does it mean, exactly? How do you apply this to the everyday world of designing, deploying, operating, and troubleshooting networks?</p>
<p>Humans tend to extremes in their thoughts. In many cases, we end up considering everything a zero-sum game, where any gain on the part of someone else means an immediate and opposite loss on my part. In others, we end up thinking we are going to get a free lunch. The reality is there is no such thing as a free lunch, and while there are situations that are a zero-sum game, not all situations are. What we need is a way to “cut the middle” to realistically appraise each situation and realistically decide what the tradeoffs might be.</p>
<p>This is where the state/optimization/surface (SOS) model comes into play. You’ll find this model described in several of my books alongside some thoughts on complexity theory <a href="http://www.amazon.com/dp/1587145049?tag=riw777-20">(see the second chapter here,</a> for instance, <a href="https://www.amazon.com/dp/0133989356?tag=riw777-20">or here),</a> but I don’t spend a lot of time discussing how to apply this concept. The answer lies in the intersection between <em>looking for tradeoffs</em> and the SOS model.</p>
<p><strong><em>TL;DR version: the SOS model tells you where you should look for tradeoffs.</em></strong></p>
<p>Take the time-worn example of route aggregation, which improves the operation of a network by reducing the “blast radius” of changes in reachability. Combining aggregation with summarization (as is almost always the intent), it reduces the “blast radius” for changes in the network topology as well. The way aggregation and summarization reduce the “blast radius” is simple: if you define a failure domain as the set of devices which must somehow react to a change in the network (the <em>correct</em> way to define a failure domain, by the way), then aggregation and summarization reduce the failure domain by hiding changes in one part of the network from devices in some other part of the network.</p>
<p><em>Note: the depth of the failure domain is relevant, as well, but not often discussed; this is related to the depth of an interaction surface, but since this is merely a blog post . . . </em></p>
<p>According to SOS, route aggregation (and topology summarization) is a form of abstraction, which means it is a way of controlling state. If we control state, we <em>should</em> see a corresponding tradeoff in interaction surfaces, and a corresponding tradeoff in some form of optimization. Given these two pointers, we can search for your tradeoffs. Let’s start with interaction surfaces.</p>
<p>Observe aggregation is normally manually configured; this is an interaction surface. The human-to-device interaction surface now needs to account for the additional work of designing, configuring, maintaining, and troubleshooting around aggregation—these things add complexity to the network. Further, the routing protocol must also be designed to support aggregation and summarization, <em>so the design of the protocol must also be more complex.</em> This added complexity is often going to come in the form of . . . additional interaction surfaces, such as the not-to-stubby external conversion to a standard external in OSPF, or something similar.</p>
<p>Now let’s consider optimization. Controlling failure domains allows you to build larger, more stable networks—this is an <em>increase</em> in optimization. At the same time, aggregation removes information from the control plane, which can cause some traffic to take a suboptimal path (if you want examples of this, look at the books referenced above). Traffic taking a suboptimal path is a <em>decrease</em> in optimization. Finally, building larger networks means you are also building a more complex network—so we can see the increase in complexity here, as well.</p>
<p>Experience is often useful in helping you have more specific places to look for these sorts of things, of course. If you understand the underlying <a href="http://www.amazon.com/dp/1587145049?tag=riw777-20">problems and solutions (hint, hint), </a>you will know where to look more quickly. If you understand common implementations and the weak points of each of those implementations, you will be able to quickly pinpoint an implementation’s weak points. History might not repeat itself, but it certainly rhymes.</p>
<p>I have spent many years building networks, protocols, and software. I have never found a situation where the SOS model, combined with a solid knowledge of the underlying problems and solutions (or perhaps <em>technologies and implementations used to solve these problems)</em> have led me astray in being able to quickly find the tradeoffs so I could see, and then analyze, them.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11516</post-id>	</item>
		<item>
		<title>The Hedge 18: Programming Fundamentals for Network Engineers</title>
		<link>https://rule11.tech/the-hedge-podcast-episode-18-programming-fundamentals-for-network-engineers/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 15 Jan 2020 18:00:00 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11482</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-018.png" alt="" width="300" class="alignnone" />

Network engineers do not need to become full-time coders to succeed&#8212;but some coding skills are really useful. In this episode of the Hedge, <a href="https://github.com/dbarrosop?tab=repositories">David Barrosso (you can find David's github repositories here),</a> Phill Simmonds, and Russ White discuss which programming skills are useful for network engineers.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-018.png?w=300&#038;ssl=1" alt=""  class="alignnone" /></p>
<p>Network engineers do not need to become full-time coders to succeed&#8212;but some coding skills are really useful. In this episode of the Hedge, <a href="https://github.com/dbarrosop?tab=repositories">David Barrosso (you can find David&#8217;s github repositories here),</a> Phill Simonds, and Russ White discuss which programming skills are useful for network engineers.</p>
<audio class="wp-audio-shortcode" id="audio-11482-19" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-018.mp3?_=19" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-018.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-018.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-018.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-018.mp3" length="46267076" type="audio/mpeg" />

				<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>32:07</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11482</post-id>	</item>
		<item>
		<title>Is it Money, Flexibility, or&#8230; ??</title>
		<link>https://rule11.tech/risk-aversion/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 13 Jan 2020 18:00:27 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11493</guid>

					<description><![CDATA[Raise your hand if you think moving to platform as a service or infrastructure as a service is all about saving money. Raise it if you think moving to “the cloud” is all about increasing business agility and flexibility.

Put your hand down. You’re wrong. 

<em>Let’s be honest.</em> For the last twenty years we network engineers have specialized in building extremely complex systems and formulating the excuses required when things don’t go right. We’ve specialized in saying “yes” to every requirement (or even wish) because we think that by saying “yes” we will become indispensable. Rather than building platforms on which the business can operate, we’ve built artisanal, complex, pets that must be handled carefully lest they turn into beasts that devour time and money. You know, like the person who tries to replicate store-bought chips by purchasing expensive fryers and potatoes, and ends up just making a mess out of the kitchen?]]></description>
										<content:encoded><![CDATA[<p>Raise your hand if you think moving to platform as a service or infrastructure as a service is all about saving money. Raise it if you think moving to “the cloud” is all about increasing business agility and flexibility.</p>
<p>Put your hand down. You’re wrong. </p>
<p>Before going any further, let me clarify things a bit. You’ll notice I did not say software as a service above—for good reason. Move email to the cloud? Why not? Word processing? Sure, word processing is (relatively) a commodity service (though I’m always amazed at the number of people who say “word processor x stinks,” opting to learn complex command sets to “solve the problem,” without first consulting a user manual to see if they can customize “word processor x” to meet their needs). </p>
<p>What about supporting business-specific, or business-critical, applications? You know, the ones you’ve hired in-house developers to create and curate? </p>
<p>Will you save money by moving these applications to a platform as a service? There is, of course, some efficiency to be gained. It is cheaper for a large-scale manufacturer of potato chips to make a bag of chips than for you to cook them in your own home. They have access to specialized slicers, fryers, chemists, and even special potatoes (with more starch than the ones you can buy in a grocery store). Does this necessarily mean that buying potato chips in a bag is always cheaper? In other words, does the manufacturer pass all these savings on to you, the consumer? To ask the question is to know the answer.</p>
<p>And once you’ve turned making all your potato chips over to the professionals, getting rid of the equipment needed to make them, and letting the skill of making good potato chips atrophy, what is going to happen to the price? Yep, thought so. </p>
<p>This is not to say cost is not a factor. Rather, the cost of supporting customized applications on the cloud or local infrastructure needs to be evaluated on a case-by-case basis—either might be cheaper than the other, and the cost of both will change over time.<br />
Does using the cloud afford you more business flexibility? Sometimes, yes. And sometimes, no. Again, the flexibility benefit normally comes from “business agnostic” kinds of flexibility. The kind of flexibility you need to run your business efficiently may, or may not, be the same as the majority of other business. Moving your business to another cloud provider is not always as simple as it initially seems.</p>
<blockquote><p><a href="https://www.tripwire.com/state-of-security/security-data-protection/cloud/company-suffering-supplier-stockholm-syndrome/">The cost and flexibility benefit come from relatively customer-agnostic parts of the business models. To that extent, you rely more on them than they rely on you. Yes, you can vote with your feet if the mickey is taken, but if we’re honest, this kind of supply is almost as inelastic as your old IT service deal. There are few realistic options for supply at scale, and the act of reversing out of a big contract, selecting a new supplier, and making the operational switch can bleed any foreseeable benefits out of a change—something all parties in the procurement process know too well.</a></p></blockquote>
<p>So… saving money is sometimes a real reason to outsource things. In some situations, flexibility or agility is going to be a factor. But&#8230; there is a third factor I have not mentioned yet—probably the most important, but almost never discussed. Risk aversion.</p>
<p><em>Let’s be honest.</em> For the last twenty years we network engineers have specialized in building extremely complex systems and formulating the excuses required when things don’t go right. We’ve specialized in saying “yes” to every requirement (or even wish) because we think that by saying “yes” we will become indispensable. Rather than building platforms on which the business can operate, we’ve built artisanal, complex, pets that must be handled carefully lest they turn into beasts that devour time and money. You know, like the person who tries to replicate store-bought chips by purchasing expensive fryers and potatoes, and ends up just making a mess out of the kitchen?</p>
<p>If you want to fully understand your infrastructure, and the real risk of complexity, you need to ask about risk, money, and flexibility—all three. When designing a network, or modifying things to deploy a new service onto an existing network, you need to think about risk as well as cost and flexibility. </p>
<p>How do you manage risk? Sarah Clarke, in the article I quoted above, gives us a few places to start (which I’ve modified to fit the network engineering world). First, ask the question about risk. Don’t just ask “how much money is this going to cost or save,” ask “what risk is being averted or managed here?” You can’t ever think the problem through if you don’t ever ask the question. Second, ask about how you are going to assess the solution against risk, money, and flexibility. How will you know if moving in a particular direction worked? Third, build out clear demarcation points. This is both about the modules within the system as well as responsibilities. </p>
<p>Finally, have an escalation plan. Know what you are going to do when things go wrong, and when you are going to do it. Think about how you can back out of a situation entirely. What are the alternatives? What does it take to get there? You can’t really “unmake” decisions, but you can come to a point where you realize you need to make a different decision. Know what that point is, and at least have the information on hand to know what decision you should make when you get there.</p>
<p>But first, ask the question. Risk aversion drives many more decisions than you might think. </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11493</post-id>	</item>
		<item>
		<title>The Hedge 17: Michael Natkin and Strong Opinions Loosely Held</title>
		<link>https://rule11.tech/hedge-016/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 08 Jan 2020 18:00:34 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11431</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-017.png" alt="" width="400" class="alignleft" /> 

According to Michael Natkin, <a href="https://blog.glowforge.com/strong-opinions-loosely-held-might-be-the-worst-idea-in-tech/">"in the tech industry, with our motto of “strong opinions, loosely held” (also known as “strong opinions, weakly held”), we’ve glorified overconfidence."</a> Michael joins Tom Ammon and Russ White to discuss the culture of overconfidence, and how it impacts the field of information technology.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-017.png?w=400&#038;ssl=1" alt=""  class="alignnone" /></p>
<p>According to Michael Natkin, <a href="https://blog.glowforge.com/strong-opinions-loosely-held-might-be-the-worst-idea-in-tech/">&#8220;in the tech industry, with our motto of “strong opinions, loosely held” (also known as “strong opinions, weakly held”), we’ve glorified overconfidence.&#8221;</a> Michael joins Tom Ammon and Russ White to discuss the culture of overconfidence, and how it impacts the field of information technology.</p>
<audio class="wp-audio-shortcode" id="audio-11431-20" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-017.mp3?_=20" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-017.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-017.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-017.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-017.mp3" length="45855244" type="audio/mpeg" />

				<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>31:50</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11431</post-id>	</item>
		<item>
		<title>Learning to Trust</title>
		<link>https://rule11.tech/learning-to-trust/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 09 Dec 2019 18:00:27 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11378</guid>

					<description><![CDATA[The state of automation among enterprise operators has been a matter of some interest this year, with several firms undertaking studies of the space. <a href="https://www.juniper.net/us/en/forms/2019-sonar/">Juniper, for instance, recently released the first yearly edition of the SONAR report,</a> which surveyed many network operators to set a baseline for a better future understanding of how automation is being used. <a href="https://www.enterprisemanagement.com/research/asset.php/3802/Enterprise-Network-Automation-for-2020-and-Beyond">Another recent report in this area is <em>Enterprise Network Automation for 2020 and Beyond,</em> conducted by Enterprise Management Associates.</a>

While these reports are, themselves, interesting for understanding the state of automation in the networking world, one correlation noted on page 13 of the EMA report caught my attention: “Individuals who primarily engage with automation as users are less likely to fully trust automation.” This observation is set in parallel with two others on that same page: “Enterprises that consider network automation a high priority initiative trust automation more,” and “Individuals who fully trust automation report significant improvement in change management capacity.” It seems somewhat obvious these three are related in some way, but how? The answer to this, I think, lies in the relationship between the person and the tool.]]></description>
										<content:encoded><![CDATA[<p>The state of automation among enterprise operators has been a matter of some interest this year, with several firms undertaking studies of the space. <a href="https://www.juniper.net/us/en/forms/2019-sonar/">Juniper, for instance, recently released the first yearly edition of the SONAR report,</a> which surveyed many network operators to set a baseline for a better future understanding of how automation is being used. <a href="https://www.enterprisemanagement.com/research/asset.php/3802/Enterprise-Network-Automation-for-2020-and-Beyond">Another recent report in this area is <em>Enterprise Network Automation for 2020 and Beyond,</em> conducted by Enterprise Management Associates.</a></p>
<p>While these reports are, themselves, interesting for understanding the state of automation in the networking world, one correlation noted on page 13 of the EMA report caught my attention: “Individuals who primarily engage with automation as users are less likely to fully trust automation.” This observation is set in parallel with two others on that same page: “Enterprises that consider network automation a high priority initiative trust automation more,” and “Individuals who fully trust automation report significant improvement in change management capacity.” It seems somewhat obvious these three are related in some way, but how? The answer to this, I think, lies in the relationship between the person and the tool.</p>
<p>We often think of tools as “abstract objects,” a “thing” that is “out there in the world.” It’s something we use to get a particular result, but which does not, in turn, impact “me as a person” in any way. This view of tools is not born out in the real world. To illustrate, consider a simple situation: you are peacefully driving down the road when another driver runs a traffic signal, causing your two cars to collide. When you jump out of your car, do you say… “you caused your vehicle to hit mine?” Nope. You say: <em>“you hit me.”</em></p>
<p>This kind of identification between the user and the tool is widely recognized and remarked. Going back to 1904, <a href="https://archive.org/details/in.ernet.dli.2015.206146/page/n315">Thorstein Veblen writes that the “machine throws out anthropomorphic habits of thought,” forcing the worker to adapt to the work, rather than the work to the worker. </a>Marshall McLuhan says <a href="https://www.amazon.com/dp/0465019951?tag=riw777-20">Students of computer programming have had to learn how to approach all knowledge structurally,” shaping the way they information so the computer can store and process it.</a></p>
<p>What does any of this have to do with network automation and trust? Two things. First, the more “involved” you are with a tool, the more you will trust it. People trust hammers more than they do cars (in general) because the use of hammers is narrow, and the design and operation of the tool is fairly obvious. Cars, on the other hand, are complex; many people simply drive them, rather than learning how they work. If you go to a high speed or off-road driving course, the first thing you will be taught is <em>how a car works.</em> This is not an accident—in learning how a car works, you are learning to trust the tool. Second, the more you work with a tool, the more you will understand its limits, and hence the more you will know when you can, and cannot, trust it.</p>
<p>If you want to trust your network automation, <em>don’t just be a user.</em> Be an active participant in the tools you use. This explains the correlation between the level of trust, level of engagement, and level of improvement. The more you participate in the development of the tooling itself, and the more you work with the tools, the more you will be able to trust them. Increased trust will, in turn, result in increased productivity and effectiveness. To some degree, your way of thinking will be shaped to the tool—this is just a side effect of the way our minds work.</p>
<p>You can extend this lesson to all other areas of network engineering—for instance, if you want to trust your network, then you need to go beyond just configuring routing, and really learn how it works. This does not mean you need in depth knowledge of that particular implementation, nor does it mean knowing how every possible configuration option works in detail, but it does mean knowing how the protocol converges, what the limits to the protocol are, etc. Rinse and repeat for routers, storage systems, quality of service, etc.—and eventually you will not only be able to trust your tools, but also be very productive and effective with them.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11378</post-id>	</item>
	</channel>
</rss>
