<?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>CULTURE &#8211; rule 11 reader</title>
	<atom:link href="https://rule11.tech/category/culture/feed/" rel="self" type="application/rss+xml" />
	<link>https://rule11.tech</link>
	<description>culture eats technology for breakfast</description>
	<lastBuildDate>Fri, 31 Oct 2025 15:25:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</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>CULTURE &#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>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>
	<itunes:owner>
		<itunes:name>Russ White</itunes:name>
	</itunes:owner>
	<copyright>Russ White</copyright>
	<podcast:license>Russ White</podcast:license>
	<podcast:medium>podcast</podcast:medium>
	<image>
		<title>CULTURE &#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>
	<rawvoice:frequency>Weekly</rawvoice:frequency>
	<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>Hedge 286: Roundtable</title>
		<link>https://rule11.tech/hedge-286/</link>
					<comments>https://rule11.tech/hedge-286/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Fri, 31 Oct 2025 15:25:32 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=1020040</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-286.png" alt="" width="400" class="alignnone" />

It's time again for Tom, Eyvonne, and Russ to talk about current articles they've run across in their day-to-day reading. This time we talk about WiFi in the home, how often users think a global problem is really local, and why providers have a hard time supporting individual homes and businesses. The second topic is one no one really cares about ... apathy. What causes apathy? How can we combat it? Join us for this episode of the Hedge ... if you can bring yourself to care!]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s time again for Tom, Eyvonne, and Russ to talk about current articles they&#8217;ve run across in their day-to-day reading. This time we talk about WiFi in the home, how often users think a global problem is really local, and why providers have a hard time supporting individual homes and businesses. The second topic is one no one really cares about &#8230; apathy. What causes apathy? How can we combat it? Join us for this episode of the Hedge &#8230; if you can bring yourself to care!<br />
&nbsp;<br />
<audio class="wp-audio-shortcode" id="audio-1020040-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-286.mp3?_=1" /><a href="https://media.blubrry.com/hedge/media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-286.mp3">https://media.blubrry.com/hedge/media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-286.mp3</a></audio><br />
&nbsp;<br />
<a href="https://media.blubrry.com/hedge/media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-286.mp3"><em>download</em></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/hedge-286/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
				<enclosure url="https://media.blubrry.com/hedge/media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-286.mp3" length="60274638" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>41:51</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/149594486-62847.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">1020040</post-id>	</item>
		<item>
		<title>Hedge 284: Netops and Corporate Culture</title>
		<link>https://rule11.tech/hedge-284/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Fri, 17 Oct 2025 12:20:30 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=1020022</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-284.png" alt="" width="400" class="alignnone" />

We all know netops, NRE, and devops can increase productivity, increase Mean Time Between Mistakes (MTBM), and decrease MTTR--but how do we deploy and use these tools? We often think of the technical hurdles you face in their deployment, but most of the blockers are actually cultural. Chris Grundemann, Eyvonne, Russ, and Tom discuss the cultural issues with deploying netops on this episode of the Hedge.]]></description>
										<content:encoded><![CDATA[<p>We all know netops, NRE, and devops can increase productivity, increase Mean Time Between Mistakes (MTBM), and decrease MTTR&#8211;but how do we deploy and use these tools? We often think of the technical hurdles you face in their deployment, but most of the blockers are actually cultural. Chris Grundemann, Eyvonne, Russ, and Tom discuss the cultural issues with deploying netops on this episode of the Hedge.<br />
&nbsp;<br />
<audio class="wp-audio-shortcode" id="audio-1020022-2" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-284.mp3?_=2" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-284.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-284.mp3</a></audio><br />
&nbsp;<br />
<a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-284.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-284.mp3" length="65607434" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>45:33</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/149276576-62226.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">1020022</post-id>	</item>
		<item>
		<title>Fast Following Fails</title>
		<link>https://rule11.tech/fast-following-fails/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Sat, 09 Aug 2025 11:24:31 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=1019920</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/fast-following-fails.png" alt="" width="400" class="alignnone" />

Fast following fails.

Whenever I hear a leader in a technology business say, “We’re going to fast follow because it’s the most profitable place to be,” I know I’m looking at a failed organization. I didn’t come to this conclusion by thinking about it. I came to this conclusion by observing it repeatedly.]]></description>
										<content:encoded><![CDATA[<p><strong>Fast following fails.</strong></p>
<p>Whenever I hear a leader in a technology business say, “We’re going to fast follow because it’s the most profitable place to be,” I know I’m looking at a failed organization. I didn’t come to this conclusion by thinking about it. I came to this conclusion by observing it repeatedly.</p>
<p>After observing it, however, I wanted to understand why this particular strategy fails so consistently and spectacularly. Why? To understand my theory, we need to start in a somewhat different place than business—we need to start with the nature of goals and humans.</p>
<p><strong>You can place goals into two buckets: first things and second things.</strong></p>
<p><em>First things are foundational.</em> If you are a technology company, the first thing is building a stable, resilient, and flexible platform (or foundation). The products you sell will only be as stable as your platform. The innovation you achieve will only be as consistent as your platform is.</p>
<p><em>Second things are goals you can only achieve once you’ve built the first things. </em></p>
<p>Here’s the hard truth no one wants to hear: <em>Generating revenue is a second thing. </em></p>
<p><strong>Humans become what they do.</strong></p>
<p>We all want to believe we can become what we desire—but we actually become what we do. In Aristotelian philosophy, this is called the <em>virtue ethic.</em> You become physically virtuous by exercising your body. You become intellectually virtuous by thinking about hard things.</p>
<p>Companies are the same way. A company can only become innovative by innovating. Innovating becomes a habit—or it doesn’t.</p>
<p><strong>What does this have to do with fast following?</strong></p>
<p>The theory of the “fast follower” is: “I’m going to let other people spend money on research and development, I’m going to let them carry the burden of innovating and making all the mistakes, then I’m going to jump in and scoop up their innovation.”</p>
<p>This seems sound at first glance. It’s a compelling story.</p>
<p>It doesn’t work, however, because you are chasing another organization’s success without building their platform. You’ve placed a second thing—revenue generation—in first place, and first things—building a platform and innovating—in second place.</p>
<p>When you put building a platform and innovating on top of that platform in second place—when you “fast follow”—you lose the habit of building a solid platform <em>and</em> the habit of innovating.</p>
<p>Building a platform on which you can actually ship innovative products—no matter who invented them—and cultivating a mindset that seeks out good innovation creates a culture of innovation. When you build the mental habit of waiting until someone else’s innovation succeeds and then building “just enough platform to make it work here, too,” you are building an unstable platform and killing innovation.</p>
<p><strong>“But what about all those fast-following success stories?”</strong></p>
<p>One reason “fast following” success stories abound is that you <em>can </em>make a lot of money for a little while with the fast-following strategy. Another is that when an organization first moves to fast following, they have the leftover platform and innovation culture to carry them for a little while.</p>
<p>But time will out all fast following organizations. When the market shifts, fast followers will have neither the platform to shift with it nor the innovation to change with the market.</p>
<p>By putting second things first, the fast follower loses the first things that make the second thing possible.</p>
<p><strong>“But I’ll make a lot of money until it fails, right? I don’t care about the future, just making a lot of money quickly!”</strong></p>
<p>Sure, if that’s the life you want to lead, go for it. If you want to live a life devoid of community, and you want to lie on your deathbed and say, “I don’t care what damage I caused,” if sheer wealth is all that matters, feel free to fast follow.</p>
<p>If you want to build something, however, go build it.</p>
<p>Fast following gives up building platforms and innovating for immediate success, and winds up failing to innovate or succeed.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1019920</post-id>	</item>
		<item>
		<title>Making Networking Cool Again? (2)</title>
		<link>https://rule11.tech/making-networking-cool-again-2/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 16 Jan 2024 18:00:03 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16897</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/networking-cool.jpg" alt="" width="400" height="160" class="alignnone" />

Network engineering is not “going away.” Network engineering is not less important than it was yesterday, last year, or even a decade ago.

But there still seems to be a gap somewhere. There are fewer folks interested than we need. We need more folks who want to work as full-time network engineers, and more folks with network engineering skills diffused within the larger IT community. More of both is the right answer if we’re going to continue building large-scale systems that work. The real lack of enthusiasm for learning network engineering is hurting all of IT, not just network engineering.

How do we bridge this gap? We’re engineers. We solve problems. This seems to be a problem we might be able to solve <em]]></description>
										<content:encoded><![CDATA[<p>Network engineering is not “going away.” Network engineering is not less important than it was yesterday, last year, or even a decade ago.</p>
<p>But there still seems to be a gap somewhere. There are fewer folks interested than we need. We need more folks who want to work as full-time network engineers, and more folks with network engineering skills diffused within the larger IT community. More of both is the right answer if we’re going to continue building large-scale systems that work. The real lack of enthusiasm for learning network engineering is hurting all of IT, not just network engineering.</p>
<p>How do we bridge this gap? We’re engineers. We solve problems. This seems to be a problem we might be able to solve <em>(unlike human nature).</em> Let’s try to solve it.</p>
<p>As you might have guessed, I have some ideas. These are not the only ideas in the world—feel free to think up more!</p>
<p>If you walk into a robotics class, even an introductory robotics class, you see people … building robots. If you walk into a coding class, even an introductory one, you see people … writing software. If you walk into a network network engineering class you see … someone lecturing about the OSI model, packet formats, or how to configure BGP.</p>
<p>What problems are people learning to solve robotic engineering? How to build a robot and get it to <em>do something</em> to solve a real-world problem. What problems are people learning to code solving? How to tackle some real-world problem.</p>
<p>Sure, the problems being solved at an introductory level might be trivial, like: “Read this file and spit out a sum of the numbers in the fourth column.” But they are still starting, right from the beginning, by taking requirements and converting them into solutions.</p>
<p>What problems are network engineers learning how to solve? How to choose hardware, string it all together, and configure BGP.</p>
<p>Do you see the difference?</p>
<p>All engineers solve problems—it’s the nature of engineering. But are we creating a mindset in prospective network engineers, or even adjacent fields, that we solve real-world problems? Or are we giving them the impression that we solve whiteboard problems by talking about bits, bytes, configurations, and cable types?</p>
<p>Have you ever seen the glazing over of eyes while explaining how you put four transport protocols on top of one another <em>(look at all the pretty tunnels)?</em> How about when you create a chart showing how TCP and QUIC can be “kind-of sort-of” forced into the OSI model? Or when you spin out your BGP packet format charts, showing how we’ve (mis)used address families to carry everything anyone can imagine?</p>
<p>I’ve been teaching this stuff for years <em>(okay, decades).</em> Over time, I’ve moved away from teaching configurations and packet formats. I’ve gone from <em>Advanced IP Network Design</em> to <em>Computer Networking Problems and Solutions.</em> These are very different ways of looking at network engineering.</p>
<p>Focusing on real-world problems would help connect business and other IT folks to the network, connect theory to practice, and people to network engineering. Going home at the end of the day saying, “I solved a problem,” can be satisfying. Going home at the end of the day saying, “I configured BGP?”</p>
<p>Another thing adopting the mindset of solving real-world problems might do is help us lose unnecessary complexity. I know complexity is necessary to build resilient systems; we cannot build what we build without creating and encountering complexity.</p>
<p>But we often run ourselves into the ditch on both sides of the road.</p>
<p>We unintentionally build too complex because we try to make it too simple. Quick, which is simpler: building a data center fabric with one routing protocol or two? A single chassis system or several smaller fixed format devices? A proprietary system or something built on open standards?</p>
<p>How many balloons fit in a bag? <em>(thanks, Don)</em></p>
<p>Failing to start with the tradeoffs, and thinking through what problem we’re actually trying to solve, leads to unnecessary complexity. Such designs might not immediately fail, but they will fail, and “it’s so complex” just isn’t an excuse.</p>
<p>Don’t even try to tell me there aren’t any tradeoffs. If you think there aren’t any tradeoffs, that just means you haven’t looked hard enough. Go find them, think about them, and document them.</p>
<p>We also build complex things because we think it offers job security, or it’s neat, or we like to feel like the kid who says to the world, “look what I built!”</p>
<p>I know it’s exciting to hear stories about that time someone rescued a network from a major failure—after all, that’s solving a real-world problem. Building a network that just works might be “boring,” but it solves many more real-world problems than raising a network from the dead.</p>
<p>We love our fashionable capes, but … capes can get caught in a nearby jet engine. Lose the cape. In the long run, it’ll make network engineering more attractive as a career field and field of knowledge.</p>
<p><strong>The Bottom Line</strong></p>
<p>No, the sky is not falling. We still need networks, and we still need network engineers.</p>
<p>Yes, there is a problem. Too many companies are going “to the cloud” because they cannot find people qualified to build and maintain their very complex networks. There’s too much centralization and too little oppeness.</p>
<p>So maybe let’s stop saying “we don’t need network engineers.” And maybe let’s really think about how we’re building things. And maybe let’s focus on solving real-world problems, starting from day one in network engineering classrooms.</p>
<p>Network engineering is still cool—let’s go out there believing—and selling—that idea to the world.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16897</post-id>	</item>
		<item>
		<title>Hedge 207: Being a Network Engineer with Phil Grevasi</title>
		<link>https://rule11.tech/hedge-207/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 04 Jan 2024 19:00:05 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16853</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-207.png" alt="" width="400" height="160" class="alignnone" />

What does it mean to be a network engineer in today's world of information technology? Phil Gervasi joins Tom and Russ to discuss the ins and outs of network engineering, and what it's really like to be in this small corner of information technology today.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" fetchpriority="high" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-207.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>What does it mean to be a network engineer in today&#8217;s world of information technology? Phil Gervasi joins Tom and Russ to discuss the ins and outs of network engineering, and what it&#8217;s really like to be in this small corner of information technology today.<br />
&nbsp;<br />
<audio class="wp-audio-shortcode" id="audio-16853-3" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-207.mp3?_=3" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-207.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-207.mp3</a></audio><br />
&nbsp;<br />
<a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-207.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-207.mp3" length="80467327" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episode>207</itunes:episode>
		<podcast:episode>207</podcast:episode>
		<itunes:title>Being a Network Engineer</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>55:52</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/128234963-17045.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">16853</post-id>	</item>
		<item>
		<title>Hedge 206: Taking Care of Yourself with Ethan Banks</title>
		<link>https://rule11.tech/hedge-206/</link>
					<comments>https://rule11.tech/hedge-206/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Fri, 22 Dec 2023 23:05:36 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16829</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/HEDGE-206.png" alt="" width="400" height="160" class="alignnone" />

As we reach the end of what has been a hard two-year stretch for what seems like the entire world, Ethan Banks joins Tom, Eyvonne, and Russ to talk about the importance of taking care of yourself. In the midst of radical changes, you can apply self-discipline to make your little part of the world a better place by keeping yourself sane, fit, and well-rested.]]></description>
										<content:encoded><![CDATA[<p>As we reach the end of what has been a hard two-year stretch for what seems like the entire world, Ethan Banks joins Tom, Eyvonne, and Russ to talk about the importance of taking care of yourself. In the midst of radical changes, you can apply self-discipline to make your little part of the world a better place by keeping yourself sane, fit, and well-rested.</p>
<p>&nbsp;</p>
<audio class="wp-audio-shortcode" id="audio-16829-4" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-206.mp3?_=4" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-206.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-206.mp3</a></audio>
<p>&nbsp;</p>
<p><a href="&quot;https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-206.mp3"><em>download</em></a><br />
&nbsp;<br />
<a href="https://rule11.tech/wp-content/uploads/hedge-206.txt"><em>transcript</em></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/hedge-206/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-206.mp3" length="74342240" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episode>206</itunes:episode>
		<podcast:episode>206</podcast:episode>
		<itunes:title>Taking Care of Yourself</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>51:37</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/127935279-16140.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">16829</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>Hedge 153: Security Perceptions and Multicloud Roundtable</title>
		<link>https://rule11.tech/hedge-153/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 02 Nov 2022 19:06:16 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SECURITY]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=15555</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-153.png" alt="" width="400" height="160" class="alignnone" />

Tom, Eyvonne, and Russ hang out at the hedge on this episode. The topics of discussion include our perception of security&#8212;does the way IT professionals treat security and privacy helpful for those who aren't involved in the IT world? Do we discourage users from taking security seriously by making it so complex and hard to use? Our second topic is whether multicloud is being oversold for the average network operator.]]></description>
										<content:encoded><![CDATA[<p>Tom, Eyvonne, and Russ hang out at the hedge on this episode. The topics of discussion include our perception of security&#8212;does the way IT professionals treat security and privacy helpful for those who aren&#8217;t involved in the IT world? Do we discourage users from taking security seriously by making it so complex and hard to use? Our second topic is whether multicloud is being oversold for the average network operator.</p>
<audio class="wp-audio-shortcode" id="audio-15555-5" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-153.mp3?_=5" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-153.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-153.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-153.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-153.mp3" length="51456076" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episode>153</itunes:episode>
		<podcast:episode>153</podcast:episode>
		<itunes:title>Security Perception and Multicloud</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>35:44</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">15555</post-id>	</item>
		<item>
		<title>On Building a Personal Brand</title>
		<link>https://rule11.tech/on-building-a-personal-brand/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 13 Jun 2022 17:00:02 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=15045</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/being-dedicated.png" alt="" width="400" height="160" class="alignnone" />

How do you balance loyalty to yourself and loyalty to the company you work for? 

This might seem like an odd question, but it's an important component of work/life balance many of us just don't think about any longer because, as Pete Davis says in <em>Dedicated,</em> we live in a world of infinite browsing. We're afraid of sticking to one thing because it might reduce our future options. If we dedicate ourselves to something bigger than ourselves, then we might lose control of our direction. In particular, we should <em>not</em> dedicate ourselves to any single company, especially for too long.]]></description>
										<content:encoded><![CDATA[<p>How do you balance loyalty to yourself and loyalty to the company you work for? </p>
<p>This might seem like an odd question, but it&#8217;s an important component of work/life balance many of us just don&#8217;t think about any longer because, as Pete Davis says in <em>Dedicated,</em> we live in a world of infinite browsing. We&#8217;re afraid of sticking to one thing because it might reduce our future options. If we dedicate ourselves to something bigger than ourselves, then we might lose control of our direction. In particular, we should <em>not</em> dedicate ourselves to any single company, especially for too long. As a recent (excellent!) blog post over at the ACM says:</p>
<blockquote><p><a href="https://cacm.acm.org/blogs/blog-cacm/261340-career-care-for-engineers/fulltext">Loyalty is generally a good trait, but extreme loyalty to the organization or mission may cause you to stay in the same job for too long.</a></p></blockquote>
<p>The idea that we should control our own destiny, never getting lost in anything larger than ourselves, is ubitiquos like water is to a fish. We don&#8217;t question it. We don&#8217;t argue. It is just true. We assume there are three people who are going to look after &#8220;me:&#8221; me, myself, and I.</p>
<p>I get it. Honestly, I do. I&#8217;ve been there more times than I want to think about. I was the scapegoat in an argument between people far above my pay grade early in my career, causing much angst and pain. <a href="https://rule11.tech/what-i-learned-by-being-laid-off/">I&#8217;ve been laid off,</a>&#8212;I cared about a company that simply didn&#8217;t care about me. Most recently, the family I&#8217;d dedicated more than twenty years of my life to ended through a divorce.</p>
<p>I can see why you might ask yourself hard questions about dedicating yourself to anything or anyone.</p>
<p>The problem, as Pete Davis points out, is that the human person was not designed for the kind of digital nomad life represented by the phrase &#8220;live for yourself.&#8221; We can try to substitute an online community. We can try to replace community with a string of novel experiences. But the truth is <em>it will eventually catch up with you.</em> When you&#8217;re young it&#8217;s hard to see how it will ever catch up with you, <em>but it will.</em></p>
<p>Returning to the top&#8212;the author of the ACM article advises balancing between dedicating yourself to a company and dedicating yourself to your career. This is wise advice, but it leaves me wondering &#8220;how?&#8221; Let me lay out some thoughts here. They may not be all of the answer, but they will, I hope, point in the right direction.</p>
<p><strong>First,</strong> resist seeing these two choices as orthogonal. They might be at odds in some companies&#8212;there are publishers who want your content to build their brand, and they specifically work at preventing you from building your brand. There are companies that explicitly want to own &#8220;your whole professional life.&#8221; They don&#8217;t want you blogging, going to conferences to speak, etc. Avoid these companies.</p>
<p>Instead, find companies that understand your personal brand is an <em>asset</em> to the company. Having a lot of people with strong personal brands in a company makes the company stronger, not weaker. People with strong brands will form communities around themselves. This community is a pool of people from which to recruit top-flight talent. This community allows them to collect new ideas that can be directly applied to problems in the organization. People with strong personal brands will have greater influence when they walk into a room to meet with a customer, a supplier, or just about anyone else. A company full of people with strong personal brands is stronger than one where everyone is faceless, consumed by/hiding behind the company logo.</p>
<p><strong>Second,</strong> learn to manage your time effectively. I understand it&#8217;s possible to spend so much time building your brand that you don&#8217;t get your job done. As an individual, you need to be sensitive to this and learn how to manage your time effectively.</p>
<p><strong>Third,</strong> seek out the win/win. Don&#8217;t think of every situation through the lens of &#8220;it&#8217;s either my brand or my employer&#8217;s.&#8221; There may be times when you cannot do something because, while it would help your brand immensely, it would harm your company&#8217;s. There may be times where you need to have a delicate discussion with your manager because you&#8217;ve been asked to do something that would be great for the company but would harm your brand. There is almost always a win/win, you just have to find it. </p>
<p><strong>Fourth,</strong> seek out a community that&#8217;s not attached to work and dedicate yourself to it. Find something larger than yourself. A community that&#8217;s not tied to work will be your lifeline when things go wrong.</p>
<p><strong>Finally,</strong> expect to get hurt. I know I have (an old saying in my community&#8212;never trust a man who doesn&#8217;t walk with a limp). You can be the nicest, humblest person in the world. Someone is still going to take advantage of you. In fact, the nicer and humbler you are&#8212;the more you care, the more likely it is people are going to take advantage of you. I am amazed at how much people seem to enjoy hurting one another when they believe there won&#8217;t be any consequences.</p>
<p>But &#8230; if you expect your life to be perfect, you were born in the wrong world. Build up the mental reserves to deal with this. Build a community that will help carry you through. There is nothing better than sitting down and sharing your hurt over a cup of coffee with a good friend (except I don&#8217;t drink coffee).</p>
<p><strong>I get it</strong>&#8212;the world has moved into a YOLO/FOMO phase. If you don&#8217;t &#8220;grab it,&#8221; and <em>right now!</em> you risk missing something really important. We pile up alternative possibilities in our minds, wondering what might have happened if we&#8217;d chosen otherwise. We have deep angst over our personal brand, overthinking the concept to the point of diminishing returns.</p>
<p>The solution, though, is not to draw into yourself, to become self-centered. The solution is to find the balance, seek the win/win, dedicate yourself to something bigger than yourself, and <em>find the right way to build your personal brand.</em></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15045</post-id>	</item>
		<item>
		<title>Quality is (too often) the missing ingredient</title>
		<link>https://rule11.tech/quality/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 03 Jan 2022 18:00:32 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14476</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/quality.png" alt="" width="400" height="160" class="alignnone" />

Software Eats the World?

I’m told software is going to eat the world very soon now. Everything already is, or will be, software based. To some folks, this sounds completely wonderful, but—leaving aside the privacy issues—I still see an elephant in the room with this vision of the future.

<strong>Quality.</strong>

Let me give you some recent examples.

First, ceiling fans. Modern ceiling fans, in case you didn’t know, don’t rely on the wall switch and pull chains. Instead, they rely on remote controls. This is brilliant—you can dim the light, change the speed of the fan, etc., from a remote control. No unsightly chains hanging from the ceiling.
]]></description>
										<content:encoded><![CDATA[<p>Software Eats the World?</p>
<p>I’m told software is going to eat the world very soon now. Everything already is, or will be, software based. To some folks, this sounds completely wonderful, but—leaving aside the privacy issues—I still see an elephant in the room with this vision of the future.</p>
<p><strong>Quality.</strong></p>
<p>Let me give you some recent examples.</p>
<p>First, ceiling fans. Modern ceiling fans, in case you didn’t know, don’t rely on the wall switch and pull chains. Instead, they rely on remote controls. This is brilliant—you can dim the light, change the speed of the fan, etc., from a remote control. No unsightly chains hanging from the ceiling.</p>
<p>Well, it’s brilliant so long as it works. I’ve replaced three of the four ceiling fans in my house. Two of the remote controls have somehow attached themselves to two of the three fans. It’s impossible to control one of the fans without also controlling the other. They sometimes get into this entertaining mode where turning one fan off turns the other one on.</p>
<p>For the third one—the one hanging from a 13-foot ceiling—the remote control sometimes operates one of the other fans, and sometimes the fan its supposed to operate. Most of the time it doesn’t seem to do much of anything.</p>
<p>The fan manufacturer—a large, well-known company—mentions this situation in their instructions and points to a FAQ that doesn’t exist. Searching around online I found instructions for solving this problem that involve unwiring the fans and repeating a set of steps 12 times for each fan to correct the situation. These instructions, needless to say, don’t work.</p>
<p>There is no way to reset the remote, nor the connection between the remote and the fan. There is no way to manually select some dip switch so the remote has a specific fan it talks to. Just some mystical software that’s supposed to work (but doesn’t) and no real instructions on how to resolve the problem. The result will be a multi-hour wait on a customer support line, spending hours of my time to sort the problem out, and the joy of climbing (tall) ladders to unwire and wire ceiling fans in four different rooms.</p>
<p>Thinking through possible problems and building software interfaces that take those situations into account … might be a bit more important than we think they are if software is really going to eat the world.</p>
<p>Second, the retailer’s web site—a large retailer with thousands of physical stores across the United States. Twice I’ve ordered from this site, asking to have the item held in the local store so I can pick it up. The site won’t let you order the item for store pickup unless they have it in stock.</p>
<p>The first time they called me to say they couldn’t find the item I ordered, but they found a “newer model” that was a lot less expensive. It was a lot less expensive because it wasn’t the same item. They never did find the item I originally ordered.</p>
<p>The second time they called me to say they couldn’t find the item I ordered. I asked if they could just ship the item to my house when it’s back in stock. “I’m sorry, our system doesn’t allow us to do that …” Several hours later, they called back to tell me they found it, but they cannot reinstate my order—I must place a new order.</p>
<p>Again, software quality strikes … what should be a simple process just isn’t. There will always be mismatches between the state in software and the state in the real world—but design the system so it’s possible to adapt when this happens, rather than shutting down the process and starting over.</p>
<p>Third, I own a car that has all the “bells and whistles,” including an adaptive cruise control system. There are certain situations, however, where this adaptive control does the wrong thing, producing potentially dangerous results. There is no way to set the car to use the non-adaptive cruise control permanently (I called and waited on the phone for several hours to discover this). You can set the non-adaptive cruise control on a per-use basis by going through set of menus to change the settings … <em>while driving.</em></p>
<p>Software quality anyone?</p>
<p><em>Software eats the world</em> might be someone’s ultimate dream—but I suspect that software quality will always be the fly in the ointment. People are not perfect (even in crowds); software is created by people; hence software will always suffer from quality problems.</p>
<p>Maybe a little humility about our ability to make things as complex as we might like because “we can always have software do that bit” would be a good thing—even in the networking world.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14476</post-id>	</item>
		<item>
		<title>Marketing Wins</title>
		<link>https://rule11.tech/marketing-wins/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 18:07:49 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14097</guid>

					<description><![CDATA[<img class="alignnone" src="https://rule11.tech/wp-content/uploads/marketing-wins.png" alt="" width="400" height="160" />

Off-topic post for today …

In the battle between marketing and security, marketing always wins. This topic came to mind after reading an article on using email aliases to control your email—

<blockquote><a href="https://www.popsci.com/set-up-email-alias/">For example, if you sign up for a lot of email newsletters, consider doing so with an alias. That way, you can quickly filter the incoming messages sent to that alias—these are probably low-priority, so you can have your provider automatically apply specific labels, mark them as read, or delete them immediately.</a></blockquote>]]></description>
										<content:encoded><![CDATA[<p>Off-topic post for today …</p>
<p>In the battle between marketing and security, marketing always wins. This topic came to mind after reading an article on using email aliases to control your email—</p>
<blockquote><p><a href="https://www.popsci.com/set-up-email-alias/">For example, if you sign up for a lot of email newsletters, consider doing so with an alias. That way, you can quickly filter the incoming messages sent to that alias—these are probably low-priority, so you can have your provider automatically apply specific labels, mark them as read, or delete them immediately.</a></p></blockquote>
<p>One of the most basic things you can do to increase your security against phishing attacks is to have two email addresses, one you give to financial institutions and another one you give to “everyone else.” It would be nice to have a third for newsletters and marketing, but this won’t work in the real world. Why?</p>
<p>Because it’s very rare to find a company that will keep <em>two</em> email addresses on file for you, one for “business” and another for “marketing.” To give specific examples—my mortgage company sends me both marketing messages in the form of a “newsletter” as well as information about mortgage activity. They only keep one email address on file, though, so they both go to a single email address.</p>
<p>A second example—even worse in my opinion—is PayPal. Whenever you buy something using PayPal, the vendor gets the email address associated with the account. That’s fine—they need to send me updates on the progress of the item I ordered, etc. But they also use this email address to send me newsletters … and PayPal sends any information about account activity <em>to the same email address.</em></p>
<p>Because of the way these things are structured, I cannot separate information about my account from newsletters, phishing attacks, etc. Since modern Phishing campaigns are using AI to create the most realistic emails possible, and most folks can’t spot a Phish anyway, you’d think banks and financial companies would want to give their users the largest selection of tools to fight against scams.</p>
<p>But they don’t. Why?</p>
<p>Because—if your financial information is mingled with a marketing newsletter, you’ll open the email to see what’s inside … you’ll pay attention. Why spend money helping your users <em>not</em> pay attention to your marketing materials by separating them from “the important stuff?”</p>
<p>When it comes to marketing versus security, marketing always wins. Somehow, we in IT need to do better than this.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14097</post-id>	</item>
		<item>
		<title>It always takes longer than you think</title>
		<link>https://rule11.tech/it-always-takes-longer-than-you-think/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 23 Aug 2021 17:00:43 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14073</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/1925-rule9a.png" alt="" width="400" height="160" class="alignnone" />

Everyone is aware that it always takes longer to find a problem in a network than it should. Moving through the troubleshooting process often feels like swimming in molasses—you’re pulling hard, and progress is being made, but never fast enough or far enough to get the application back up and running before that crucial deadline. The “swimming in molasses effect” doesn’t end when the problem is found out, either—repairing the problem requires juggling a thousand variables, most of which are unknown, combined with the wit and sagacity of a soothsayer to work with vendors, code releases, and unintended consequences.
]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/1925-rule9a.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Everyone is aware that it always takes longer to find a problem in a network than it should. Moving through the troubleshooting process often feels like swimming in molasses—you’re pulling hard, and progress is being made, but never fast enough or far enough to get the application back up and running before that crucial deadline. The “swimming in molasses effect” doesn’t end when the problem is found out, either—repairing the problem requires juggling a thousand variables, most of which are unknown, combined with the wit and sagacity of a soothsayer to work with vendors, code releases, and unintended consequences.</p>
<p>It’s enough to make a network engineer want to find a mountain top and assume an all-knowing pose—even if they don’t know anything at all.<br />
The problem of taking longer, though, applies in every area of computer networking. It takes too long for the packet to get there, it takes to long for the routing protocol to converge, it takes too long to support a new application or server. It takes so long to create and validate a network design change that the hardware, software and processes created are obsolete before they are used.</p>
<p>Why does it always take too long? A short story often told to me by my Grandfather—a farmer—might help.<br />
One morning a farmer got early in the morning, determined to throw some hay down to the horses in the stable. While getting dressed, he noticed one of the buttons on his shirt was loose. “No time for that now,” he thought, “I’ll deal with it later.” Getting out to the barn, he climbed up the ladder to the loft, and picked up a pitchfork. When he drove the fork into the hay, the handle broke.</p>
<p>He sighed, took the broken pieces down the ladder, and headed over to his shed to replace the handle—but when he got there, he realized he didn’t have a new handle that would fit. Sighing again, he took the broken pieces to his old trusty truck and headed into town—arriving before the hardware store opened. “Well, I’m already here, might as well get some coffee,” he thought, so he headed to the diner. After a bit, he headed to the store to buy a handle—but just as he walked out past the door, the loose button caught on the handle, popping off. </p>
<p>It took a few minutes to search for the lost button, but he found it and headed over to the cleaners to have it sewn back on “real fast.” Well, he couldn’t wander around town in his undershirt, so he just stepped next door to the barber’s, where there were a few friendly games of checkers already in progress. He played a couple of games, then the barber came out to remind him that he needed a haircut (a thing barbers tend to do all the time for some reason), so he decided to have it done. “Might was well not waste the time in town now I’m here,” he thought.</p>
<p>The haircut finished, he went back to get his shirt, and realized it was just about lunch. Back to the diner again. Once he was done, he jumped in his truck and headed back to the farm. And then he realized—the horses were hungry, the hay hadn’t been pitched, and … his pitchfork was broken. </p>
<p>And this is why it always takes longer than it should to get anything done with a network. You take the call and listen to the customer talk about what the application is doing, which takes a half an hour. You then think about what might be wrong, perhaps kicking a few routers “just for good measure” before you start troubleshooting in earnest. You look for a piece of information you need to understand the problem, only to find the telemetry system doesn’t collect that data “yet”—so you either open a ticket (a process that takes a half an hour), or you “fix it now” (which takes several hours). Once you have that information, you form a theory, so you telnet into a network device to check on a few things… only to discover the device you’re looking at has the wrong version of code… This requires a maintenance window to fix, so you put in a request&#8230;</p>
<p>Once you even figure out what the problem is, you encounter a series of hurdles lined up in front of you. The code needs to be upgraded, but you have to contact the vendor to make certain the new code supports all the “stuff” you need. The configuration has to be changed, but you have to determine if the change will impact all the other applications on the network. You have to juggle a seemingly infinite number of unintended consequences in a complex maze of software and hardware and people and processes.</p>
<p>And you wonder, the entire time, why you just didn’t learn to code and become a backend developer, or perhaps a mountain-top guru.</p>
<p>So the next time you think it’s taking to long to fix the problem, or design a new addition to the network, or for the vendor to create that perfect bit of code, remember the farmer, and the button that left the horses hungry. </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14073</post-id>	</item>
		<item>
		<title>The Grass is Always Greener</title>
		<link>https://rule11.tech/the-grass-is-always-greener/</link>
					<comments>https://rule11.tech/the-grass-is-always-greener/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 09 Aug 2021 18:10:15 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14015</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/grass-greener.png" alt="" width="400" height="160" class="alignnone" />

This last week I was talking to someone at a small startup that intends to eliminate all the complex routing from campus networks. In the past, when reading blog posts about Kubernetes, I've read about how it was designed to eliminate routing protocols because "routing protocols are so complex." 

Color me skeptical.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/grass-greener.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>This last week I was talking to someone at a small startup that intends to eliminate all the complex routing from campus networks. In the past, when reading blog posts about Kubernetes, I&#8217;ve read about how it was designed to eliminate routing protocols because &#8220;routing protocols are so complex.&#8221; </p>
<p>Color me skeptical.</p>
<p>There are two reasons for complexity in a design. The first is you&#8217;re solving a hard problem. The second is you&#8217;ve made bad design choices in the past, and you&#8217;re pasting complexity on top to solve some perceived problem (whether perceived or real).</p>
<p>The problem with all this talk about building something that&#8217;s &#8220;less complex&#8221; is people tend to see complexity of the first kind and think, &#8220;we can get rid of that complexity if we start over.&#8221; Failing to understand the past before building the future is a recipe for repeated failures of the same kind. Building a network without a distributed routing protocol hasn&#8217;t been tried before either, right? Well, yes, it has &#8230; We either forget how it turned out, or we say &#8220;well, that&#8217;s not the same thing I&#8217;m talking about here&#8221; (just like &#8220;real socialism hasn&#8217;t ever been tried&#8221;).</p>
<p>Even worse, they think they get rid of second and third kinds of complexity by <em>starting over,</em> or <em>getting the humans out of the decision-making loop,</em> or <em>focusing on the data.</em> Our modern penchant for relying &#8220;the data,&#8221; without ever thinking about the source of the data or how the data has been shaped and interpreted, is truly breathtaking.</p>
<p>They look over the horizon, see an unspoiled field, and think &#8220;the grass really is greener on the other side.&#8221; </p>
<p>Get rid of all those complex dynamic routing protocols &#8230; get rid of all those humans making decisions, so the decisions are &#8220;data driven&#8221; &#8230; and everything will be so much better.</p>
<p>Adding complexity to solve hard real-world problems is just the way things are, and they will always be, so the first reason for complexity will always be with us. People make mistakes, don&#8217;t see into the future perfectly, or just don&#8217;t have a perfect understanding of the system (technical debt), so the second kind of complexity will always be with us. You can&#8217;t &#8220;fix&#8221; people<em>&#8212;God save us from those who think they can.</em> The grass isn&#8217;t always greener&#8212;it just always looks that way. </p>
<p>What&#8217;s the practical upshot? Networks are always going to be complex. It&#8217;s just the nature of the problem being solved. </p>
<p>We add complexity because we fail to ask the right questions, we don&#8217;t understand the system, or we fail to do good design. The solution isn&#8217;t to seek out a greener field &#8220;out there,&#8221; but rather to make the field we currently live in greener by asking the right questions and reducing complexity through good design. Sometimes you might even need to start over with a new network &#8230; but when you start thinking about starting over with a newly designed set of protocols because the old ones are &#8220;too complex,&#8221; you need to ask how those old ones got that way, and how you&#8217;re going to stop the new ones from getting to the same place.</p>
<p>The grass is always greener because you looking at it through green-colored lenses just as the new grass is in its full flush, and before the weeds have had a chance to take over. </p>
<p>Learn how old things worked before you fall for some new &#8220;modern wonder&#8221; that&#8217;s going to solve every problem. The complexity in old things will show you where you can expect to find complexity grow up in new things.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/the-grass-is-always-greener/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14015</post-id>	</item>
		<item>
		<title>It Always Takes Too Long</title>
		<link>https://rule11.tech/takes-too-long/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 02 Aug 2021 17:00:24 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13992</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/too-slow.png" alt="" width="400" height="160" class="alignnone" />

It always takes longer to find a problem than it should. Moving through the troubleshooting process often feels like swimming in molasses—it's never fast enough or far enough to get the application back up and running before that crucial deadline. The “swimming in molasses effect” doesn’t end when the problem is found out, either—repairing the problem requires juggling a thousand variables, most of which are unknown, combined with the wit and sagacity of a soothsayer to work with vendors, code releases, and unintended consequences.
]]></description>
										<content:encoded><![CDATA[<p>It always takes longer to find a problem than it should. Moving through the troubleshooting process often feels like swimming in molasses—it&#8217;s never fast enough or far enough to get the application back up and running before that crucial deadline. The “swimming in molasses effect” doesn’t end when the problem is found out, either—repairing the problem requires juggling a thousand variables, most of which are unknown, combined with the wit and sagacity of a soothsayer to work with vendors, code releases, and unintended consequences.</p>
<p>It’s enough to make a network engineer want to find a mountain top and assume an all-knowing pose—even if they don’t know anything at all.<br />
The problem of taking longer, though, applies in every area of computer networking. It takes too long for the packet to get there, it takes to long for the routing protocol to converge, it takes too long to support a new application or server. It takes so long to create and validate a network design change that the hardware, software and processes created are obsolete before they are used.</p>
<p>Why does it always take too long? A short story often told to me by my Grandfather—a farmer—might help.</p>
<p>One morning a farmer got early in the morning, determined to throw some hay down to the horses in the stable. While getting dressed, he noticed one of the buttons on his shirt was loose. “No time for that now,” he thought, “I’ll deal with it later.” Getting out to the barn, he climbed up the ladder to the loft, and picked up a pitchfork. When he drove the fork into the hay, the handle broke.</p>
<p>He sighed, took the broken pieces down the ladder, and headed over to his shed to replace the handle—but when he got there, he realized he didn’t have a new handle that would fit. Sighing again, he took the broken pieces to his old trusty truck and headed into town—arriving before the hardware store opened. “Well, I’m already here, might as well get some coffee,” he thought, so he headed to the diner. After a bit, he headed to the store to buy a handle—but just as he walked out past the door, the loose button caught on the handle, popping off.<br />
It took a few minutes to search for the lost button, but he found it and headed over to the cleaners to have it sewn back on “real fast.” Well, he couldn’t wander around town in his undershirt, so he just stepped next door to the barber’s, where there were a few friendly games of checkers already in progress. He played a couple of games, then the barber came out to remind him that he needed a haircut (a thing barbers tend to do all the time for some reason), so he decided to have it done. “Might was well not waste the time in town now I’m here,” he thought.</p>
<p>The haircut finished, he went back to get his shirt, and realized it was just about lunch. Back to the diner again. Once he was done, he jumped in his truck and headed back to the farm. And then he realized—the horses were hungry, the hay hadn’t been pitched, and … his pitchfork was broken. </p>
<p>And this is why it always takes longer than it should to get anything done with a network. You take the call and listen to the customer talk about what the application is doing, which takes a half an hour. You then think about what might be wrong, perhaps kicking a few routers “just for good measure” before you start troubleshooting in earnest. You look for a piece of information you need to understand the problem, only to find the telemetry system doesn’t collect that data “yet”—so you either open a ticket (a process that takes a half an hour), or you “fix it now” (which takes several hours). Once you have that information, you form a theory, so you telnet into a network device to check on a few things… only to discover the device you’re looking at has the wrong version of code… This requires a maintenance window to fix, so you put in a request&#8230;</p>
<p>Once you even figure out what the problem is, you encounter a series of hurdles lined up in front of you. The code needs to be upgraded, but you have to contact the vendor to make certain the new code supports all the “stuff” you need. The configuration has to be changed, but you have to determine if the change will impact all the other applications on the network. You have to juggle a seemingly infinite number of unintended consequences in a complex maze of software and hardware and people and processes.</p>
<p>And you wonder, the entire time, why you just didn’t learn to code and become a backend developer, or perhaps a mountain-top guru.</p>
<p>So the next time you think it’s taking to long to fix the problem, or design a new addition to the network, or for the vendor to create that perfect bit of code, remember the farmer, and the button that left the horses hungry. </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13992</post-id>	</item>
		<item>
		<title>Whatever it is, you need more (RFC1925 rule 9)</title>
		<link>https://rule11.tech/whatever-it-is-you-need-more-rfc1925-rule-9/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 19 Jul 2021 17:00:08 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13929</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/rfc1925-rule9.png" alt="" width="400" height="160" class="alignnone" />

There is never enough. Whatever you name in the world of networking, there is simply not enough. There are not enough ports. There is not enough speed. There is not enough bandwidth. Many times, the problem of “not enough” manifests itself as “too much”—there is too much buffering and there are too many packets being dropped. Not so long ago, the Internet community decided there were not enough IP addresses and decided to expand the address space from 32 bits in IPv4 to 128 bits in IPv6.]]></description>
										<content:encoded><![CDATA[<p>There is never enough. Whatever you name in the world of networking, there is simply not enough. There are not enough ports. There is not enough speed. There is not enough bandwidth. Many times, the problem of “not enough” manifests itself as “too much”—there is too much buffering and there are too many packets being dropped. Not so long ago, the Internet community decided there were not enough IP addresses and decided to expand the address space from 32 bits in IPv4 to 128 bits in IPv6. The IPv6 address space is almost unimaginably huge—2 to the 128<sup>th</sup> power is about 340 trillion, trillion, trillion addresses. That is enough to provide addresses to stacks of 10 billion computers blanketing the entire Earth. Even a single subnet of this space is enough to provide addresses for a full data center where hundreds of virtual machines are being created every minute; each /64 (the default allocation size for an IPv6 address) contains 4 billion IPv4 address spaces.</p>
<p>But… what if the current IPv6 address space simply is not enough? Engineers working in the IETF have created two different solutions over the years for just this eventuality. In 1994 RFC1606 provided a “letter from the future” describing the eventual deployment of IPv9, which was (in this eventual future) coming to the end of its useful lifetime because the Internet was running out of numbers. In RFC1606, it is noted that IPv9’s 49 levels of hierarchy had proven popular, but not all the levels had found a use. The highest level in use seems to be level 39, which was being used to address individual subatomic particles. Part of the dwindling address space considered in RFC1606 was the default allocation of about 1 billion addresses to each household. As the number of homes built increased globally, the IPv9 address space came under increasing pressure. The allocation of groups of addresses to recyclable items was not helpful, either, regardless of the ability to multicast “all cardboard items” in a recycling bin.</p>
<p>An alternate proposal, written many years later, is RFC8135, which considers <em>complex addressing</em> in IPv6. RFC8135 begins by describing the different ways in which a set of numbers, such as the 128-bit space in the IPv6 address, can be represented, including integers, prime, and composite. Each of these are considered in some detail, but eventually rejected for various reasons. For instance, integer (or fixed point) addresses are rejected because the location of a host is not fixed, so fixed point addresses are a poor representation of the host. Prime addresses are likewise rejected because they take too long to compute, and composite addresses are rejected because they are too difficult to differentiate from prime addresses.</p>
<p>RFC8135 proposes a completely different way of looking at the 128-bits available in the IPv6 address space. Rather than treating IPv6’s address space as a simple integer, this specification advocates for treating it as a floating number. This allows for a much larger space, particularly as aggregation can be indicated through scientific notation. The main problem the authors note with this proposal is users may believe that when they assign a floating address to their device, the device itself thereby becomes waterproof and <em>floating.</em> The authors advice users count on a <em>waterproofing app,</em> available in most app stores, for this function, rather than counting on the floating address. The authors also note duct tape can be used to permanently attach a floating address to a fixed device, if needed.</p>
<p>The danger, of course, is that in the quest for “more,” network designers, network operators, and protocol designers could end up embracing the ridiculous. It all brings to mind the point Andrew Tanenbaum made in a standard work on Networking, <em>Computer Networks.</em> Tanenbaum calculates the bandwidth of a station wagon full of magnetic tape (specifically VHS format) backups. After considering the amount of time it would take to drive the station wagon across the continental United States, he concludes the vehicle has more bandwidth than any link available at that time. A similar calculation could be made with a mid-sized shipping box available from any overnight package carrier, filled with SSD drives (or similar). The conclusion, according to Dr. Tanenbaum, is networks are a sop to human impatience.</p>
<p>As there is no bound to human impatience, no matter how much you have, as RFC1925 says, you will always need more.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13929</post-id>	</item>
		<item>
		<title>It&#8217;s Most Complicated than You Think (RFC1925, Rule 8)</title>
		<link>https://rule11.tech/rfc9125-rule8/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 14 Jun 2021 17:00:47 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13810</guid>

					<description><![CDATA[<img class="alignnone" src="https://rule11.tech/wp-content/uploads/rfc1925-8.png" alt="" width="400" height="160" />

It’s not unusual in the life of a network engineer to go entire weeks, perhaps even months, without “getting anything done.” This might seem odd for those who do not work in and around the odd combination of layer 1, layer 3, layer 7, and layer 9 problems network engineers must span and understand, but it’s normal for those in the field. For instance, a simple request to support a new application might require the implementation of some feature, which in turn requires upgrading several thousand devices, leading to the discovery that some number of these devices simply do not support the new software version, requiring a purchase order and change management plan to be put in place to replace those devices, which results in … The chain of dominoes, once it begins, never seems to end.]]></description>
										<content:encoded><![CDATA[<p>It’s not unusual in the life of a network engineer to go entire weeks, perhaps even months, without “getting anything done.” This might seem odd for those who do not work in and around the odd combination of layer 1, layer 3, layer 7, and layer 9 problems network engineers must span and understand, but it’s normal for those in the field. For instance, a simple request to support a new application might require the implementation of some feature, which in turn requires upgrading several thousand devices, leading to the discovery that some number of these devices simply do not support the new software version, requiring a purchase order and change management plan to be put in place to replace those devices, which results in … The chain of dominoes, once it begins, never seems to end.</p>
<p>Or, as those who have dealt with these problems many times might say, <em>it is more complicated than you think.</em> This is such a useful phrase, in fact, it has been codified as a standard rule of networking in RFC1925 (rule 8, to be precise).</p>
<p>Take, for instance, the problem of sending documents through electronic mail—in the real world, there are various mechanisms available to group documents, so the recipient understands what documents go together as a set, which ones are separate—staples, paperclips, binders, folders, etc. In the virtual world, however, documents are just a big blob of bits. How does anyone know which documents go with which in this situation? The obvious solution is to create electronic versions of staples and paperclips, as described in RFC1927. This only <em>seems</em> simple, however; it is more complicated than you think.</p>
<p>For instance, how do you know someone along the document transmission path has not altered the staples and/or paper clips? To prevent staple tampering, electronic staples must be cryptographically signed in some way. In the real world, paper clips (in particular) are removed from documents and re-used to save money and resources. Likewise, there must be some process to discover unused digital document sets so the paper clips may be removed and placed in some form of storage for reuse. Some people like to use differently colored staples or paperclips; how should these be represented in the digital world? RFC1927 describes MIME labels to resolve most of these problems, but there is one final problem that brings the complexity of grouping electronic documents to an entirely new level: metadata creep. What happens when the amount of data required to describe the staple or paperclip becomes larger than the documents being grouped?</p>
<p>Something as simple as representing characters in a language can often be more complex than it might initially seem. RFC5242 attempts to resolve the complexity of the many available encoding schemes with a single coding scheme. Rather than assigning each symbol within a language to a single number within a number space, like ASCII and UNICODE do, however, RFC5242 suggests creating a set of codes which describe how a character looks, rather than what it stands for. This allows the authors to use four principles—if it looks alike, it is alike; if it is the same thing, it is the same thing; san-serif is preferred; combine characters rather than creating new ones where possible—to create a simplified way to describe any possible character in virtually any “Latin” language. The result requires a bit more space to store in some cases, and is more difficult to process, but it is simpler at least from some perspective.</p>
<p>RFC5242 reminds me of a protocol custom-developed for an application I once had to troubleshoot—the entire protocol was sent in <em>actual ASCII text.</em> At least it was simpler to read on the network packet capture tool. There are, of course, many other examples of things being more complex than initially thought in the networking world—which is probably a good thing, because it means those many reports of the demise of the network engineer are probably greatly exaggerated.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13810</post-id>	</item>
		<item>
		<title>Illusory Correlation and Security</title>
		<link>https://rule11.tech/illusory-correlation-and-security/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 31 May 2021 17:00:53 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13771</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/illusory-correlation.png" alt="" width="400" height="160" class="alignnone" />

Fear sells. Fear of missing out, fear of being an imposter, fear of crime, fear of injury, fear of sickness … we can all think of times when people we know (or worse, a people in the throes of madness of crowds) have made really bad decisions because they were afraid of something. Bruce Schneier has documented this a number of times. For instance: <a href="https://www.schneier.com/essays/archives/2013/05/its_smart_politics_t.html">“it’s smart politics to exaggerate terrorist threats”</a>  and “<a href="https://www.schneier.com/blog/archives/2009/11/public_reaction.html">fear makes people deferential, docile, and distrustful, and both politicians and marketers have learned to take advantage of this.”</a>]]></description>
										<content:encoded><![CDATA[<p><strong>Fear sells.</strong> Fear of missing out, fear of being an imposter, fear of crime, fear of injury, fear of sickness … we can all think of times when people we know (or worse, a people in the throes of madness of crowds) have made really bad decisions because they were afraid of something. Bruce Schneier has documented this a number of times. For instance: <a href="https://www.schneier.com/essays/archives/2013/05/its_smart_politics_t.html">“it’s smart politics to exaggerate terrorist threats”</a>  and “<a href="https://www.schneier.com/blog/archives/2009/11/public_reaction.html">fear makes people deferential, docile, and distrustful, and both politicians and marketers have learned to take advantage of this.”</a> Here is a paper <a href="https://politicalscience.osu.edu/faculty/jmueller/bathtubs8APSA.pdf">comparing the risk of death in a bathtub to death because of a terrorist attack</a>—bathtubs win.</p>
<p>But while fear sells, the desire to appear unafraid also sells—and it conditions people’s behavior much more than we might think. For instance, we often say of surveillance “if you have done nothing wrong, you have nothing to hide”—a bit of meaningless bravado. What does this latter attitude—“I don’t have anything to worry about”—cause in terms of security?</p>
<p><a href="https://sauvikdas.com/uploads/paper/pdf/10/p1416-das.pdf">Several attempts at researching this phenomenon have come to the same conclusion:</a> average users will often intentionally <em>not</em> use things they see someone they perceive as paranoid using. According to this body of research, people will <em>not</em> use password managers because using one is perceived as being paranoid in some way. <a href="https://www.darkreading.com/endpoint/how-us-shady-geeks-put-others-off-security-/a/d-id/1340378">Theoretically, this effect is caused by illusory correlation, where people associate an action with a kind of person (only bad/scared people would want to carry a weapon).</a> Since we don’t want to be the kind of person we associate with that action, we avoid the action—even though it might make sense.</p>
<p>This is just the flip side of <em>fear sells,</em> of course. Just like we overestimate the possibility of a terrorist attack impacting our lives in a direct, personal way, we also underestimate the possibility of more mundane things, like drowning in a tub, because we either think can control it, or because we don’t think we’ll be targeted in that way, or because we want to signal to the world that we “aren’t one of <em>those people.”</em></p>
<p>Even knowing this is true, however, how can we counter this? How can we convince people to learn to assess risks rationally, rather than emotionally? How can we convince people that the perception of control should not impact your assessment of personal security or safety?</p>
<p>Simplifying design and use of the systems we build would be one—perhaps not-so-obvious—step we can take. The more security is just “automatic,” the more users will become accustomed to deploying security in their everyday lives. Another thing we might be able to do is stop trying to scare people into using these technologies.</p>
<p>In the meantime, just be aware that if you’re an engineer, your use of a technology “as an example” to others can backfire, causing people to <em>not</em> want to use those technologies.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13771</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 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-6" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-076.mp3?_=6" /><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:author>Russ White</itunes:author>
		<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>It is Always Something (RFC1925, Rule 7)</title>
		<link>https://rule11.tech/it-is-always-something-rfc1925-rule-7/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 23 Mar 2021 17:00:17 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13464</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/rule-7.png" alt="" width="400" height="160" class="alignnone" />

While those working in the network engineering world are quite familiar with the expression “it is always something!,” defining this (often exasperated) declaration is a little trickier. The wise folks in the IETF, however, have provided a definition in RFC1925. Rule 7, “it is always something,” is quickly followed with a corollary, rule 7a, which says: “Good, Fast, Cheap: Pick any two (you can’t have all three).”]]></description>
										<content:encoded><![CDATA[<p>While those working in the network engineering world are quite familiar with the expression “it is always something!,” defining this (often exasperated) declaration is a little trickier. The wise folks in the IETF, however, have provided a definition in RFC1925. Rule 7, “it is always something,” is quickly followed with a corollary, rule 7a, which says: “Good, Fast, Cheap: Pick any two (you can’t have all three).”</p>
<p>You can either quickly build a network which works well and is therefore expensive, or take your time and build a network that is cheap and still does not work well, or… Well, you get the idea. There are many other instances of these sorts of three-way tradeoffs in the real world, such as the (in)famous CAP theorem, which states a database can be consistent, available, and partitionable (or partitioned). Eventual consistency, and problems from microloops to surprise package deliveries (when you thought you ordered one thing, but another was placed in your cart because of a database inconsistency) have resulted. Another form of this three-way tradeoff is the much less famous, but equally true, state, optimization, surface tradeoff trio in network design.</p>
<p>It is possible, however, to build a system which fails at all three measures—a system which is expensive, takes a long time to build, and does not perform well. The fine folks at the IETF have provided examples of such systems.</p>
<p>For instance, <a href="https://tools.ietf.org/html/rfc1149">RFC1149 describes a system of transporting IPv4 packets over avian carriers,</a> or pigeons. This is particularly useful in areas where electricity and network cabling are not commonly found. To quote the relevant part of the RFC:</p>
<p>The IP datagram is printed, on a small scroll of paper, in hexadecimal, with each octet separated by whitestuff and blackstuff. The scroll of paper is wrapped around one leg of the avian carrier. A band of duct tape is used to secure the datagram&#8217;s edges. The bandwidth is limited to the leg length.</p>
<p>The specification of duct tape is quite odd, however; perhaps the its water-resistant properties are required for this mode of transport. This mode of transport has been adapted for use with more the more modern (in relative terms only!) <a href="https://tools.ietf.org/html/rfc6214">IPv6 transport in RFC6214.</a> For situation where quality of service is critical, <a href="https://tools.ietf.org/html/rfc2549">RFC2549 describes quality of service extensions to the transport mechanism.</a></p>
<p>To further prove it is possible to build a network which is slow, expensive, and does not work well, <a href="https://tools.ietf.org/html/rfc4824">RFC4824 describes the transmission of packets through semaphore flag signaling, or SFSS.</a> Commonly used to signal between two ships when no other form of communication is available, SFSS consists of a sender who positions (waves) flags of particular shape and color in specific positions to signal individual characters. Rather than transmitting letters or other characters, RFC4824 describes using these flags to transmit 0’s, 1’s, and the framing elements required to transmit an IPv4 datagram over long distances. The advantage of such a system is, much like the avian carrier, that it will operate where there is no electricity. The disadvantage is the cost of encoding and decoding the packet’s contents may be many orders of magnitude more difficult than using existing SFSS specifications to signal messages.</p>
<p>Finally, <a href="https://tools.ietf.org/html/rfc7511">RFC7511 provides an option which allows the most use of resources on any network while</a> providing the slowest possible network performance by allowing senders to include a scenic route header on IPv6 packets. This header notifies routers and other networking devices that this packet would like to take the scenic route to its destination, which will cause paths including avian carriers (as described in RFC6214) to be chosen over any other available path.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13464</post-id>	</item>
		<item>
		<title>The Hedge 74: Brian Keys and the Complexity of User Interfaces</title>
		<link>https://rule11.tech/the-hedge-74-brian-keys-and-the-complexity-of-user-interfaces/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 11 Mar 2021 18:00:29 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13339</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-074.png" alt="" width="400" height="160" class="alignnone" />

Crossing from the domain of test pilots to the domain of network engineering might seem like a large leap indeed&#8212;but user interfaces and their tradeoffs are common across physical and virtual spaces. Brian Keys, Eyvonne Sharp, Tom Ammon, and Russ White as we start with user interfaces and move into a wider discussion around attitudes and beliefs in the network engineering world.
]]></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-074.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Crossing from the domain of test pilots to the domain of network engineering might seem like a large leap indeed&#8212;but user interfaces and their tradeoffs are common across physical and virtual spaces. Brian Keys, Eyvonne Sharp, Tom Ammon, and Russ White as we start with user interfaces and move into a wider discussion around attitudes and beliefs in the network engineering world.</p>
<audio class="wp-audio-shortcode" id="audio-13339-7" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-074.mp3?_=7" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-074.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-074.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-074.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-074.mp3" length="51240106" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>35:35</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13339</post-id>	</item>
		<item>
		<title>You Can Always Add Another Layer of Indirection (RFC1925, Rule 6a)</title>
		<link>https://rule11.tech/you-can-always-add-another-layer-of-indirection-rfc1925-rule-6a/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 09 Mar 2021 18:00:15 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13330</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/infinite-recursion.png" alt="" width="400" height="160" class="alignnone1" />

Many within the network engineering community have heard of the OSI seven-layer model, and some may have heard of the Recursive Internet Architecture (RINA) model. The truth is, however, that while protocol designers may talk about these things and network designers study them, very few networks today are built using any of these models. What is often used instead is what might be called the Infinitely Layered Functional Indirection (ILFI) model of network engineering. In this model, nothing is solved at a particular layer of the network if it can be moved to another layer, whether successfully or not.]]></description>
										<content:encoded><![CDATA[<p>Many within the network engineering community have heard of the OSI seven-layer model, and some may have heard of the Recursive Internet Architecture (RINA) model. The truth is, however, that while protocol designers may talk about these things and network designers study them, very few networks today are built using any of these models. What is often used instead is what might be called the Infinitely Layered Functional Indirection (ILFI) model of network engineering. In this model, nothing is solved at a particular layer of the network if it can be moved to another layer, whether successfully or not.</p>
<p>For instance, Ethernet is the physical and data link layer of choice over almost all types of physical medium, including optical and copper. No new type of physical transport layer (other than wireless) can succeed unless if can be described as “Ethernet” in some regard or another, much like almost no new networking software can success unless it has a Command Line Interface (CLI) similar to the one a particular vendor developed some twenty years ago. It’s not that these things are necessarily better, but they are well-known.</p>
<p>Ethernet, however, goes far beyond providing physical layer connectivity. Because many applications rely on using Ethernet semantics directly, many networks are built with some physical form of Ethernet (or something claiming to be like Ethernet), with IP on top of this. On top of the IP, there is some other transport protocol, such as VXLAN, UDP, GRE, or perhaps even MPLS over UDP. On top of these layers rides … Ethernet. On which IP runs. On which TCP or UDP, or potentially VXLAN runs. It turns out it is easier to add another layer of indirection to solve many of the problems caused by applications that expect Ethernet than it is to solve them with IP—or any other transport protocol. You’ve heard of turtles all the way down—today we have Ethernet all the way down.</p>
<p>Many other suggestions of this type have been made in network engineering and protocol design across the years, but none of them seem to have been as widely deployed as Ethernet over IP over Ethernet. <a href="https://tools.ietf.org/html/rfc3252">For instance, RFC3252 notes it has always been difficult to understand the contents of Ethernet, IP, and other packets as they are transmitted from host to host.</a> The eXtensible Markup Language (XML) is, on the other hand, designed to be both machine- and human-readable. A logical solution to the problem of unreadable packets, then, is to add another layer of indirection by formatting all packets, including Ethernet and IP, into XML. Once this is done, there would be no need for expensive or complex protocol analyzers, as anyone could simply capture packets off the wire and read them directly. Adding another layer, in this case, could save many hours of troubleshooting time, and generally reduce the cost of operating a network significantly.</p>
<p>Once the idea of adding another layer has been fully grasped, the range of problems which can be solved becomes almost limitless. Many companies struggle to find some way to provide secure remote access to their employees, contractors, and even customers. The systems designed to solve this problem are often complex, difficult to deploy, and almost impossible to troubleshoot. <a href="https://tools.ietf.org/html/rfc5514">RFC5514, however, provides an alternate solution:</a> simply layer an IPv6 transport stream on top of the social media networks everyone already uses. Everyone, after all, already has at least one social media account, and can already reach that social media account using at least one device. Creating an IPv6 stream across social media would provide universal cloud-based access to anyone who desires.</p>
<p>Such streams could even be encrypted to ensure the operators and users of the underlying social media network cannot see any private information transmitted across the IPv6 channel created in this way.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13330</post-id>	</item>
		<item>
		<title>On Using the Right Word</title>
		<link>https://rule11.tech/on-using-the-right-word/</link>
					<comments>https://rule11.tech/on-using-the-right-word/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 08 Mar 2021 18:00:36 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13319</guid>

					<description><![CDATA[<img class="alignnone" src="https://rule11.tech/wp-content/uploads/using-the-right-word.png" alt="" width="400" height="160" />

A while back, I was sitting in a meeting where the presenter described switching from a “traditional, hierarchical data center fabric” to a spine-and-leaf (while drawing CLOS, in all capital letters, on the whiteboard). He pointed out that the spine-and-leaf design is simpler because it only has two tiers rather than three.

There is so much wrong with this I almost winced in physical pain. Traditional hierarchical designs are not fabrics. Spine-and-leaf fabrics are not CLOS, but Clos, fabrics. Clos fabrics have three stages, not two—even if we draw them “folded” so you only see two apparent levels to the fabric. In fact, all spine-and-leaf fabrics <em>always</em> have an odd number of stages, and they are <em>stages,</em> not <em>tiers.</em>]]></description>
										<content:encoded><![CDATA[<p>A while back, I was sitting in a meeting where the presenter described switching from a “traditional, hierarchical data center fabric” to a spine-and-leaf (while drawing CLOS, in all capital letters, on the whiteboard). He pointed out that the spine-and-leaf design is simpler because it only has two tiers rather than three.</p>
<p>There is so much wrong with this I almost winced in physical pain. Traditional hierarchical designs are not fabrics. Spine-and-leaf fabrics are not CLOS, but Clos, fabrics. Clos fabrics have three stages, not two—even if we draw them “folded” so you only see two apparent levels to the fabric. In fact, all spine-and-leaf fabrics <em>always</em> have an odd number of stages, and they are <em>stages,</em> not <em>tiers.</em></p>
<p>More recently, I heard someone talking about an operating system that was built using microservices. I thought—“that would be at neat trick.” To build something with microservices does <em>not</em> just mean a piece of software using modules—this would be modular application (or operating system) design. Microservices architectures break the application up into the most basic components possible and then scale each kind of component out (rather than up) by spinning new copies of each service as needed. I cannot imagine scaling an operating system out by spinning multiple copies of the same service, and then providing some sort way to spread load across the various copies. Would you have some sort of anycast IPC? An internal DNS server or load balancer?</p>
<p>You can have an OS that natively participates in a larger microservices-based architecture, but what would microservices <em>within</em> the operating system look like, precisely?</p>
<p>Maybe my recent studies in philosophy make me much more attuned to the way we use language in the network engineering world—or maybe I’m just getting old. Whatever it is, our determination to make every word mean everything is driving me nuts.</p>
<p>What is the difference between a router and a switch? There used to be a simple definition—routers rewrite the L2 header and switches don’t. But now that routers switch packets, and switches route packets, the only difference seems to be … buffer depth? Feature set? The line between router and switch is fuzzy to the point of being meaningless, leaving us with no real term to describe a real <em>switch</em> any longer (a device that doesn’t do routing).</p>
<p>What about <em>software defined networks?</em> We’ve been treated to software defined everything now, of course. And <em>intent?</em> I get the point of intent, but we’re already moving down the path of making the meaning so broad that it can even contain configuring the CLI on an old AGS+. And don’t get me started on <em>artificial intelligence,</em> which is often learned to describe something closer to <em>machine learning.</em> Of course <em>machine learning</em> is often used to describe things that are really nothing more than statistical inference.</p>
<p>Maybe it’s time for a general rebellion against the sloppy use of language in network engineering. Or maybe I’m just tilting at yet another windmill. Wake me up when we’ve gotten to the point that we can use any word interchangeably with any other word in the network engineering dictionary. I await the AI that routes packets by reading your mind (through intent) called a swouter… or something.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/on-using-the-right-word/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13319</post-id>	</item>
		<item>
		<title>Rethinking BGP on the DC Fabric (part 5)</title>
		<link>https://rule11.tech/rethinking-bgp-on-the-dc-fabric-part-5/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 01 Mar 2021 18:00:48 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13300</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/bg-underlay.png" alt="" width="400" height="160" class="alignnone" />

BGP is widely used as an IGP in the underlay of modern DC fabrics. This series argues this is not the best <em>long-term</em> solution to the problem of routing in fabrics because BGP is not ideal for this use case. This post will consider the potential harm we are doing to the larger Internet by pressing BGP into a role it was not originally designed to fulfill—an underlay protocol or an IGP.

My last post described the kinds of configuration required to make BGP work on a DC fabric—it turns out that the configuration of each BGP speaker on the fabric is close to unique. It is possible to automate configuring each speaker—but it would be better if we could get closer to autonomic operation.
]]></description>
										<content:encoded><![CDATA[<p>BGP is widely used as an IGP in the underlay of modern DC fabrics. This series argues this is not the best <em>long-term</em> solution to the problem of routing in fabrics because BGP is not ideal for this use case. This post will consider the potential harm we are doing to the larger Internet by pressing BGP into a role it was not originally designed to fulfill—an underlay protocol or an IGP.</p>
<p>My last post described the kinds of configuration required to make BGP work on a DC fabric—it turns out that the configuration of each BGP speaker on the fabric is close to unique. It is possible to automate configuring each speaker—but it would be better if we could get closer to autonomic operation.</p>
<p>To move BGP closer to autonomic operation in a DC fabric, there are several things we can do. First, we can allow a BGP speaker to peer with any other BGP speaker it receives an open message from—this is often called <em>promiscuous mode.</em> While each router in the fabric will still need to be configured with the right autonomous system, at least we won’t need to configure the correct peers on each router (including the remote AS).</p>
<p>Note, however, that using this kind of promiscuous peering does come with a set of tradeoffs (if you’re reading this blog, you know there will be tradeoffs). BGP speakers running in promiscuous mode open a large attack surface on the control plane of the network. We can close this attack surface by configuring authentication on all BGP speakers … but we are now adding complexity to reduce complexity. We could also reduce the scope of the attack surface by never permitting BGP to peer beyond a single hop, and then filtering all BGP packets at the fabric edge. Again, just a bit more complexity to manage—but remember that the road to highly fragile and complex systems is always paved with individual steps that never, on their own, seem to add “too much complexity.”</p>
<p>The second thing we can do to move BGP closer to autonomic operation is to advertise routes to every connected peer without any policy configured. This does, again, introduce some tradeoffs, particularly in the realm of security, but let’s leave that aside for the moment.</p>
<p>Assume we can create a version of BGP that has these modifications—it always accepts any peer from any other AS, and it advertises all routes without any policy configured. Put these features behind a single knob which also includes setting the MRAI to 0 or 1, tightens up the dampening parameters, and adjusts a few other things to make BGP work better in a DC fabric.</p>
<p>As an experiment, let’s enable this <em>DC fabric knob</em> on a BGP speaker at the edge of a dual-homed “enterprise customer.” What will happen?</p>
<p>The enterprise network will automatically peer to any speaker that sends an open message—a huge security hole on the open Internet—and it will advertise every route it learns even though there is no policy configured. This second issue—advertising routes with no policy configured—can cause the enterprise network to become a transit between two much larger provider networks, crashing out some small corner of the Internet.</p>
<p>This might seem like a trivial issue. After all, just <em>don’t ever enable the DC fabric knob on an eBGP peering session upstream into the DFZ, or any other “real” internetwork.</em> Sure, and just don’t ever hit the brakes when you mean to hit the accelerator, or the accelerator when you mean to hit the brakes. If I had a dime for every time we “just don’t ever make that mistake …” Well, I wouldn’t be blogging, I’d be relaxing in the sun someplace (okay, I’m not likely to ever stop working to sit around and “relax” all the time, but you get the picture anyway).</p>
<p>Maybe—just maybe—it would really be better overall to use two different protocols for IGP and EGP work. Maybe—just maybe—it’s better not to mix these two different kinds of functions in a single protocol. Not only is the single resulting protocol bound to be really complex (most BGP implementations are now over 100,000 lines of code, after all), but it will end up being really easy to make really bad mistakes.</p>
<p>No tool is omnicompetent. If you found a tool that was, in fact, omnicompetent, it would also be the most dangerous tool in your toolbox.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13300</post-id>	</item>
		<item>
		<title>It is Easier to Move a Problem than Solve it (RFC1925, Rule 6)</title>
		<link>https://rule11.tech/it-is-easier-to-move-a-problem-than-solve-it-rfc1925-rule-6/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 09 Feb 2021 18:00:31 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13147</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/moving-problems-around.png" alt="" width="400" height="160" class="alignnone" />

Early on in my career as a network engineer, I learned the value of sharing. When I could not figure out why a particular application was not working correctly, it was always useful to blame the application. Conversely, the application owner was often quite willing to share their problems with me, as well, by blaming the network.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/moving-problems-around.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Early on in my career as a network engineer, I learned the value of sharing. When I could not figure out why a particular application was not working correctly, it was always useful to blame the application. Conversely, the application owner was often quite willing to share their problems with me, as well, by blaming the network.</p>
<p>A more cynical way of putting this kind of sharing is the way RFC 1925, rule 6 puts is: “It is easier to move a problem around than it is to solve it.” </p>
<p>Of course, the general principle applies far beyond sharing problems with your co-workers. There are many applications in network and protocol design, as well. Perhaps the most widespread case deployed in networks today is the movement to “let the controller solve the problem.” Distributed routing protocols are hard? That’s okay, just implement routing entirely on a controller. Understanding how to deploy individual technologies to solve real-world problems is hard? Simple—move the problem to the controller. All that’s needed is to tell the controller what we intend to do, and the controller can figure the rest out. If you have problems solving any problem, just call it Software Defined Networking, or better yet Intent Based Networking, and the problems will melt away into the controller.</p>
<p>Pay no attention to the complexity of the code on the controller, or those pesky problems with CAP Theorem, or any protests on the part of long-term engineering staff who talk about total system complexity. They are probably just old curmudgeon who are protecting their territory in order to ensure they have a job tomorrow. Once you’ve automated the process you can safely ignore how the process works; the GUI is always your best guide to understanding the overall complexity of the system. </p>
<p>Examples of moving the problem abound in network engineering. For instance, it is widely known that managing customers is one of the hardest parts of operating a network. Customers move around, buy new hardware, change providers, and generally make it very difficult for providers by losing their passwords and personally identifying information (such as their Social Security Number in the US). To solve this problem, RFC8567 suggests moving the problem of storing enough information to uniquely identify each person into the Domain Name System. Moving the problem from the customer to DNS clearly solves the problem of providers (and governments) being able to track individuals on a global basis. The complexity and scale of the DNS system is not something to be concerned with, as DNS “just works,” and some method of protecting the privacy of individuals in such a system can surely be found. After all, it’s just software.</p>
<p>If the DNS system becomes too complex, it is simple enough to relieve DNS of the problem of mapping IP addresses to the names of hosts. Instead, each host can be assigned a single host that is used regardless of where it is attached to the network, and hence uniquely identifies the host throughout its lifetime. Such a system is suggested in RFC2100 and appears to be widely implemented in many networks already, at least from the perspective of application developers. Because DNS is “too slow,” application developers find it easier to move the problem DNS is supposed to solve into the routing system by assigning permanent IP addresses.</p>
<p>Another great example of moving a problem rather than solving it is RFC3215, Electricity over IP. Every building in the world, from houses to commercial storefronts, must have multiple cabling systems installed in order to support multiple kinds of infrastructure. If RFC3215 were widely implemented, a single kind of cable (or even fiber optics, if you want your electricity faster) can be installed in all buildings, and power carried over the IP network running on these cables (once the IP network is up and running). Many ancillary problems could be solved with such a scheme—for instance, power usage could be measured based on a per-packet system, rather than the sloppier kilowatt-hour system currently in use. Any bootstrap problems can be referred to the controller. After all, it’s just software.</p>
<p>The bottom line is this: when you cannot figure out how to solve a problem, just move it to some other system, especially if that system is “just software,” so the problem now becomes “software defined. This is also especially useful if moving the problem can be accomplished by claiming the result is a form of automation.</p>
<p>Moving problems around is always much easier than solving them.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13147</post-id>	</item>
		<item>
		<title>Agglutinating Problems Considered Harmful (RFC2915, Rule 5)</title>
		<link>https://rule11.tech/agglutinating-problems-considered-harmful-rfc2915-rule-5/</link>
					<comments>https://rule11.tech/agglutinating-problems-considered-harmful-rfc2915-rule-5/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 26 Jan 2021 18:00:00 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13089</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/Agglutinating.png" alt="" width="400" height="160" class="alignnone" />

In the networking world, many equate simplicity with the fewest number of moving parts. According to this line of thinking, if there are 100 routers, 10 firewalls, 3 control planes, and 4 management systems in a network, then reducing the number of routers to 95, the number of firewalls to 8, the number of control planes to 1, and the number of management systems to 3 would make the system “much simpler.” Disregarding the reduction in the number of management systems, scientifically proven to always increase in number, it does seem that reducing the number of physical devices, protocols in use, etc., would tend to decrease the complexity of the network.]]></description>
										<content:encoded><![CDATA[<p>In the networking world, many equate simplicity with the fewest number of moving parts. According to this line of thinking, if there are 100 routers, 10 firewalls, 3 control planes, and 4 management systems in a network, then reducing the number of routers to 95, the number of firewalls to 8, the number of control planes to 1, and the number of management systems to 3 would make the system “much simpler.” Disregarding the reduction in the number of management systems, scientifically proven to always increase in number, it does seem that reducing the number of physical devices, protocols in use, etc., would tend to decrease the complexity of the network.</p>
<p>The wise engineers of the IETF, however, has a word of warning in this area that all network engineers should heed. According to RFC1925, rule 5: “It is always possible to agglutinate multiple separate problems into a single complex interdependent solution. In most cases this is a bad idea.” When “conventional wisdom” and the wisdom of engineers with the kind of experience and background as those who write IETF documents contradict one another, it is worth taking a deeper look.</p>
<p>A good place to begin is with other RFCs that might provide examples, or otherwise shed light on this situation. Two of particular interest are RFC1776 and RFC3093.</p>
<p>RFC1776 describes a very simplified transport protocol for use in the Internet and private networks. In normal packet formats there are many different components, such as a header and data sections. The header is normally made up of many different fields, such as the source address, the destination address, the quality of service, etc. The data section of the packet may also be divided into many different fields providing information for such functionality as error detection, flow control, and indicators of which application on the destination host this information is destined to (the port number is an example).</p>
<p>The authors of RFC1776 decided that the wisdom of making a single appliance which provides many services, the firewall being the classic example, and the wisdom of using a single protocol for everything, for instance using BGP for data center fabrics and interdomain connectivity, should be applied fully to the formatting of transport packets. In the spirit of agglutination common to all network engineering, RFC1776 recommends replacing the entire contents of a transport packet with a single address. The address must be a bit longer, of course, to carry the actual data, but using a single large field is inherently simpler than using many different fields. To accomplish this task, RFC1776 specifies a packet with 1696 octets (bytes) of address space. The number of octets originally selected is compatible with ATM, an older technology which uses a 53-octet cell but should also be compatible with all modern transport systems.</p>
<p>While the many advantages of this system are not fully described in the specification, it should be obvious packets containing a single field—the destination address—will be easier to hosts to generate and transmit, and easier for hosts to receive and process. The entire processing of the packet will just be transferring the address field directly into memory for consumption by any application running on the host that desires to consume it. The specification does note, however, that security is much simpler because there is no “user data” to secure.</p>
<p>RFC3093, a more recent example of agglutination in order to simplify network design and operation. This authors of this RFC note that applications are already moving to using a single port, 80, for all traffic, as most firewalls already pass traffic transmitted through this port without restrictions. The authors note the operation of the Internet would be much simpler if all applications ran over port 80. In this way, all applications could pass through firewalls without modification, while the firewalls themselves remain perfectly operational, fulfilling their intended purpose. Implementing this specification would also simplify the absolute mess of port and protocol numbers used in transporting data today, agglutinating them all down to a single port. As less is always simpler, this would create a simpler, easier to manage, global Internet.<br />
The lessons to learn, after examining the options, may not be what was originally intended. Reducing the number of parts does not necessarily reduce the complexity of the overall system. If you haven’t found the tradeoffs, you haven’t looked hard enough.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/agglutinating-problems-considered-harmful-rfc2915-rule-5/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13089</post-id>	</item>
		<item>
		<title>On Important Things</title>
		<link>https://rule11.tech/on-important-things/</link>
					<comments>https://rule11.tech/on-important-things/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 21 Dec 2020 18:00:15 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12922</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/on-important-things.png" alt="" width="400" height="160" class="alignnone" />

I tend to be a very private person; I rarely discuss my "real life" with anyone except a few close friends. I thought it appropriate, though, in this season—both the season of the year and this season in my life—to post something a little more personal. One thing people often remark about my personality is that I seem to be disturbed by very little in life. No matter what curve ball life might throw my way, I take the hit and turn it around, regain my sense of humor, and press forward into the fray more quickly than many expect.]]></description>
										<content:encoded><![CDATA[<p>I tend to be a very private person; I rarely discuss my &#8220;real life&#8221; with anyone except a few close friends. I thought it appropriate, though, in this season—both the season of the year and this season in my life—to post something a little more personal.</p>
<p>One thing people often remark about my personality is that I seem to be disturbed by very little in life. No matter what curve ball life might throw my way, I take the hit and turn it around, regain my sense of humor, and press forward into the fray more quickly than many expect. This season, combined with a recent curve ball (one of many—few people would suspect the path my life has taken across these 50+ years), and talking to Brian Keys in a recent episode of the Hedge, have given me reason to examine foundational principles once again.</p>
<p><strong>How do I stay &#8220;up&#8221; when life throws me a curve ball?</strong></p>
<p>Pragmatically, the worst network outage in the world is not likely to equal the stresses I&#8217;ve faced in the military, whether on the flight line or in &#8230; &#8220;other situations.&#8221; Life and death were immediately and obviously present in those times. Coming face to face with death—having friend who is there one moment, and not the next—changes your perspective. Knowing you hold the lives of hundreds of people in your hands—that if you make a mistake, real people will die (now!)—changes your perspective. In these times you realize there is more to life than work, or skill, or knowledge.</p>
<p>Spiritually, I am deeply Christian. I am close to God in a real way. I know him, and I trust his character and plans for the future. Job 13:15 and Romans 12:2 are present realities every day, from the moment I wake until the moment I fall asleep.</p>
<p>These two lead to a third observation. </p>
<p><strong>Because of these things, I am grateful.</strong></p>
<p>I am grateful for the people in my life—deeply held friendships, people who have spoken into my life, people who have helped carry me in times of crisis. I am grateful for the things in my life. Gratitude is, in essence, that which turns what you have into what you want (or perhaps enough to fulfill your wants). Gratitude often goes farther, though, teaching you that, all too often, you have more than you deserve.</p>
<p>So this season, whatever your religious beliefs, is a good time to reflect on the importance of all things spiritual, the value of life, the value of friendship, the value of truth, and to decide to have gratitude in the face of every storm. Gratitude causes us to look outside ourselves, and there is power (and healing) in self-forgetfulness. Self-love and self-hate are equal and opposite errors; it is in forgetting yourself, pressing forward, and giving to others, that you find out who you are.</p>
<p>Have a merry Christmas, a miraculous Hanukkah, or &#8230; just a joyful time being with family and friends at home. Watch a movie, eat ice cream and cookies, make a new friend, care for someone who has no family to be with.</p>
<p>To paraphrase Abraham Lincoln, most folks are just about as happy as they choose to be&#8212;so make the choice to be joyful and grateful. </p>
<p><strong>These are the important things.</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/on-important-things/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12922</post-id>	</item>
		<item>
		<title>Pulling Back the Curtains</title>
		<link>https://rule11.tech/pulling-back-the-curtains/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 14 Dec 2020 18:10:31 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12910</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/pulling-back.png" alt="" width="400" height="160" class="alignnone" />

One of the major sources of complexity in modern systems is the simple failure to pull back the curtains. From a recent blog post over at the ACM—

<blockquote><a href="https://cacm.acm.org/blogs/blog-cacm/248932-why-great-programmers-pull-back-the-curtain-while-programming/fulltext">The Wizard of Oz was a charlatan. You’d be surprised, too, how many programmers don’t understand what’s going on behind the curtain either. Some years ago, I was talking with the CTO of a company, and he asked me to explain what happens when you type a URL into your browser and hit enter. Do you actually know what happens? Think about it for a moment.</a></blockquote>
]]></description>
										<content:encoded><![CDATA[<p>One of the major sources of complexity in modern systems is the simple failure to pull back the curtains. From a recent blog post over at the ACM—</p>
<blockquote><p><a href="https://cacm.acm.org/blogs/blog-cacm/248932-why-great-programmers-pull-back-the-curtain-while-programming/fulltext">The Wizard of Oz was a charlatan. You’d be surprised, too, how many programmers don’t understand what’s going on behind the curtain either. Some years ago, I was talking with the CTO of a company, and he asked me to explain what happens when you type a URL into your browser and hit enter. Do you actually know what happens? Think about it for a moment.</a></p></blockquote>
<p>Yegor describes three different reactions when a coder faces something unexpected when solving a problem. </p>
<p><em>Throw in the towel.</em> Just give up on solving the problem. This is fairly uncommon in the networking and programming fields, so I don&#8217;t have much to say here.</p>
<p><em>Muddle through.</em> Just figure out how to make it work by whatever means necessary.</p>
<p><em>Open the curtains and build an excellent solution.</em> Learn how the underlying systems work, understand how to interact with them, and create a solution that best takes advantage of them.</p>
<p>The first and third options are rare indeed; it is the second solution that seems to dominate our world. What generally tends to happen is we set out to solve some problem, we encounter resistance, and we either &#8220;just make it work&#8221; by fiddling around with the bits or we say &#8220;this is just too complex, I&#8217;m going to build something new that simpler and easier.&#8221; The problem with building something new is the &#8220;something new&#8221; must go someplace &#8230; which generally means on top of existing &#8220;stuff.&#8221; Adding more stuff you do understand on top of stuff you don&#8217;t understand to solve a problem is, of course, a prime way to increase complexity in a network.</p>
<p>And thus we have one of the prime reasons for ever-increasing complexity in networks.</p>
<p>Yegor says being a great programmer by pulling back the curtain increases job satisfaction, helping him avoid depression. The same is probably true of network engineers who are deeply interested in solving problems—who are only happy at the end of the day if they know they have solved some problem, even if no-one ever notices. </p>
<p>Pulling back the curtains, then not only helps us to manage complexity, it can alos improve job satisfaction for those with the problem-solving mindset. Great reasons to pull back to the curtains, indeed.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12910</post-id>	</item>
		<item>
		<title>The EXPERIENCE HAS SHOWN THAT Keyword (RFC1925, Rule 4)</title>
		<link>https://rule11.tech/the-experience-has-shown-that-keyword-rfc2915-rule-4/</link>
					<comments>https://rule11.tech/the-experience-has-shown-that-keyword-rfc2915-rule-4/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 01 Dec 2020 18:00:59 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12842</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/experience-has-shown.png" alt="" width="400" height="160" class="alignnone" />

The world of information technology is filled, often to overflowing, with those who “know better.” For instance, I was recently reading an introduction to networking in a very popular orchestration system that began with the declaration that routing was hard, and therefore this system avoided routing. The document then went on to describe a system of moving packets around using multiple levels of Network Address Translation (NAT) and centrally configured policy-based routing (or filter-based forwarding) that was clearly simpler than the distributed protocols used to run large-scale networks. I thought, for a moment, of writing the author and pointing out the system in question had merely reinvented routing in a rather inefficient and probably broken way, but I relented. ]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/experience-has-shown.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>The world of information technology is filled, often to overflowing, with those who “know better.” For instance, I was recently reading an introduction to networking in a very popular orchestration system that began with the declaration that routing was hard, and therefore this system avoided routing. The document then went on to describe a system of moving packets around using multiple levels of Network Address Translation (NAT) and centrally configured policy-based routing (or filter-based forwarding) that was clearly simpler than the distributed protocols used to run large-scale networks. I thought, for a moment, of writing the author and pointing out the system in question had merely reinvented routing in a rather inefficient and probably broken way, but I relented. Why? Because I know RFC1925, rule 4, by heart:</p>
<blockquote><p>Some things in life can never be fully appreciated nor understood unless experienced firsthand. Some things in networking can never be fully understood by someone who neither builds commercial networking equipment nor runs an operational network.</p></blockquote>
<p>Ultimately, the people who built this system will likely not listen to me; rather, they are going to have to experience the pain caused by large-scale failures for themselves before they will listen. Many network operators do wish for some way to get their experience across to users and application developers, however; one suggestion which has been made in the past is adding subliminal messages to the TELNET protocol. According to RFC1097, adding this new message type would allow operators to gently encourage users to upgrade the software they are using by displaying a message on-screen which the user’s mind can process, but is not consciously aware of reading. The uses of such a protocol extension, however, would be wide-ranging, such as informing application developers that the network is not cheap, and packets are not carried instantaneously from one host to another.</p>
<p>A further suggestion made in this direction is to find ways to more fully document operational experience in Internet Standards produced by the Internet Engineering Task Force (IETF). Currently, the standards for writing such standards (sometimes mistakenly called meta-standards, although these standards about standards are standards in their own right) only include a few keywords which authors of protocol standards can use to guide developers into creating well-developed implementations. For instance, according to RFC2119, a protocol designer can use the term MUST (note the uppercase, which means it must be shouted when reading the standard out loud) to indicate something an implementation must do. If the implementation does not do what it MUST, subliminal messaging (as described above) will be used to discourage the use of that implementation.</p>
<p>MUST NOT, SHOULD, SHOULD NOT, MAY, and MAY NOT are the remaining keywords defined by the IETF for use in standards. While these options do cover a number of situations, they do not express the full range of options available based on operational experience. RFC6919 proposed extensions to these keywords to allow a fuller range of intent which could be useful to express experience.<br />
For instance, RFC6919 adds the keyword MUST (BUT WE KNOW YOU WON’T) to express operational frustration for those times when even subliminal messaging will not convince a user or application developer to create an implementation that will gracefully scale. The POSSIBLE keyword is also included to indicate what is possible in the real world, and the REALLY SHOULD NOT is included for those times when an application developer or user asks for the network operator to launch pigs into flight. </p>
<p>Of course, the keywords described in RFC6919 may, at some point, be extended further to include such keywords as EXPERIENCE HAS SHOWN THAT and THAT WILL NOT SCALE, but for now protocol developers and operators are still somewhat restricted in their ability to fully express the experience of operating large-scale networks.</p>
<p>Even with these additional keywords and the use of subliminal messaging, improper implementations will still slip out into the wild, of course.</p>
<p>And what about network operators who are just beginning to learn their craft, or have long experience but somehow still make mistakes in their deployments? Some have suggested in the past—particularly those who work in technical assistance centers—that all network devices be shipped according to the puzzle-box protocol.</p>
<p>All network devices should be shipped in puzzle boxes such that only those with an appropriate level of knowledge, experience, and intelligence can open the box and hence install the equipment. Some might argue the Command Line Interface (CLI) currently supplied with most networking equipment is the equivalent of a puzzle box, but given the state of most networks, it seems shipping network equipment with a complex and difficult-to-use CLI has not been fully effective.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/the-experience-has-shown-that-keyword-rfc2915-rule-4/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12842</post-id>	</item>
		<item>
		<title>Innovation Myths</title>
		<link>https://rule11.tech/innovation-myths/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 30 Nov 2020 18:00:03 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12849</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/innovation-myths.png" alt="" width="400" height="160" class="alignnone" />

Innovation has gained a sort-of mystical aura in our world. Move fast and break stuff. We recognize and lionize innovators in just about every way possible. The result is a general attitude of <em>innovate or die—</em>if you cannot innovate, then you will not progress in your career or life. Maybe it's time to take a step back and bust some of the innovation myths created by this near idolization of innovation. 

<strong>You can't innovate where you are.</strong> Reality: innovation is not tied to a particular place and time. "But I work for an enterprise that only uses vendor gear... Maybe if I worked for a vendor, or was deeply involved in open source..." Innovation isn't just about building new products! You can innovate by designing a simpler network that meets business needs, or by working with your vendor on testing a potential new product. Ninety percent of innovation is just paying attention to problems, along with a sense of what is "too complex," or where things might be easier. ]]></description>
										<content:encoded><![CDATA[<p>Innovation has gained a sort-of mystical aura in our world. Move fast and break stuff. We recognize and lionize innovators in just about every way possible. The result is a general attitude of <em>innovate or die—</em>if you cannot innovate, then you will not progress in your career or life. Maybe it&#8217;s time to take a step back and bust some of the innovation myths created by this near idolization of innovation. </p>
<p><strong>You can&#8217;t innovate where you are.</strong> Reality: innovation is not tied to a particular place and time. &#8220;But I work for an enterprise that only uses vendor gear&#8230; Maybe if I worked for a vendor, or was deeply involved in open source&#8230;&#8221; Innovation isn&#8217;t just about building new products! You can innovate by designing a simpler network that meets business needs, or by working with your vendor on testing a potential new product. Ninety percent of innovation is just paying attention to problems, along with a sense of what is &#8220;too complex,&#8221; or where things might be easier. </p>
<p>You don&#8217;t work in open source or open standards? That&#8217;s not your company&#8217;s problem, that&#8217;s your problem. Get involved. It&#8217;s not just about protocols, anyway. What about certifications, training, and the many other areas of life in information technology? Just because you&#8217;re in IT doesn&#8217;t mean you have to only invent new technologies.</p>
<p><strong>Innovation must be pursued—it doesn&#8217;t &#8220;just happen.&#8221;</strong> We often tell ourselves stories about innovation that imply it <a href="https://opensource.com/open-organization/19/6/innovation-delusion">&#8220;is the kind of thing we can accomplish with a structured, linear process.&#8221;</a> The truth is the process of innovation is unpredictable and messy. Why, then, do we tell innovation stories that sound so purposeful and linear?</p>
<blockquote><p><a href="https://opensource.com/open-organization/19/6/innovation-delusion">That&#8217;s the nature of good storytelling. It takes a naturally scattered collection of moments and puts them neatly into a beginning, middle, and end. It smoothes out all the rough patches and makes a result seem inevitable from the start, despite whatever moments of uncertainty, panic, even despair we experienced along the way.</a></p></blockquote>
<p><strong>Innovation just happens.</strong> Either the inspiration just strikes, or it doesn&#8217;t, right? You&#8217;re just walking along one day and some really innovative idea just jumps out at you. You&#8217;re struck by lightning, as it were. This is the opposite of the previous myth, and just as wrong in the other direction. </p>
<p>Innovation requires patience. According to Keith&#8217;s Law, any externally obvious improvement in a product is really the result of a large number of smaller changes hidden within the abstraction of the system itself. Innovation is <a href="https://opensource.com/open-organization/20/11/environments-for-innovation">a series of discoveries over months and even years. Innovations are gradual, incremental, and collective—over time.</a></p>
<p>Innovation often involves combining existing components. If you don&#8217;t know what&#8217;s already in the field (and usefully adjacent fields), you won&#8217;t be able to innovate. Innovation, then, requires a lot of knowledge across a number of subject areas. You have to work to learn to innovate—you can&#8217;t fake this.</p>
<p>Innovation often involves a group of people, rather than lone actors. We often emphasize lone actors, but they rarely work alone. To innovate, you have to inteniontally embed yourself in a community with a history of innovation, or build such a community yourself.</p>
<p>Innovation must take place in an environment where failure is seen as a good thing (at least your were trying) rather than a bad one.</p>
<p><strong>Innovative ideas don&#8217;t need to be sold.</strong> Really? Then let&#8217;s look at Qiubi, which <a href+"https://potsandpansbyccg.com/2020/11/09/you-cant-force-innovation/">&#8220;failed after only 7 months of operation and after having received $2 billion in backing from big industry players.&#8221;</a> The idea might have been good, but it didn&#8217;t catch on. The idea that you can &#8220;build a better mousetrap&#8221; and &#8220;the world will beat a path to your door,&#8221; just isn&#8217;t true, and it never has been.</p>
<p><strong>The bootom line is&#8230;</strong>Innovation does require a lot of hard work. You have to prepare your mind, learn to look for problems that can be solved in novel ways, be inquisitive enough to ask why, and if there is a better way, stubborn enough to keep trying, and confident enough to sell your innovation to others. But you <em>can</em> innovate where you are—to believe otherwise is a myth.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12849</post-id>	</item>
		<item>
		<title>The Dangers of Flying Pigs (RFC1925, rule 3)</title>
		<link>https://rule11.tech/the-dangers-of-flying-pigs-rfc1925-rule-3/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 03 Nov 2020 18:00:41 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12735</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/dangers-flying-pigs.png" alt="" width="400" height="160" class="alignnone" />

There are many times in networking history, and in the day-to-day operation of a network, when an engineer has been asked to do what seems to be impossible. Maybe installing a circuit faster than a speeding bullet or flying over tall buildings to make it to a remote site faster than any known form of conveyance short of a transporter beam (which, contrary to what you might see in the movies, has not yet been invented).]]></description>
										<content:encoded><![CDATA[<p>There are many times in networking history, and in the day-to-day operation of a network, when an engineer has been asked to do what seems to be impossible. Maybe installing a circuit faster than a speeding bullet or flying over tall buildings to make it to a remote site faster than any known form of conveyance short of a transporter beam (which, contrary to what you might see in the movies, has not yet been invented).</p>
<p>One particular impossible assignment in the early days of network engineering was the common request to <a href="https://en.wikipedia.org/wiki/Infinite_monkey_theorem">replicate the creation of the works of Shakespeare making use of the infinite number of monkeys</a> (obviously) connected to the Internet. The creation of appropriate groups of monkeys, the herding of these groups, and the management of their output were once considered a nearly impossible task, <a href="https://dilbert.com/strip/1996-05-02">similar to finding a token dropped on the floor or lost in the ether.</a></p>
<p>This problem proved so intractable that the IETF finally created an entire suite of management tools for managing the infinite monkeys used for these experiments, <a href="https://tools.ietf.org/html/rfc2795">which is described in RFC2795.</a> This RFC describes the Infinite Monkey Protocol Suite (IMPS), which runs on top of the Internet Protocol, the Infinite Threshold Accounting Gadget (I-TAG), and the KEEPER specification, which provides a series of messages to manage the infinite monkeys. The problem raised a number of problems about the construction of the experiment, <a href="https://www.scienceforums.net/topic/118258-infinite-monkeys-and-shakespeare/">such as whether the compilation of works should take place on a letter-by-letter or word-by-word basis.</a> Ultimately, the problem was apparently solved through the creation of <a href="https://www.infinitemonkeylab.com">infinite monkey simulators, such as this one.</a></p>
<p>For those situations, such as assembling and managing an infinite suite of monkeys gathered for test, when a network engineer is asked to perform something which is apparently impossible, the first thing that is required is a lot of hot, caffeinated beverage. And there is no better way to make such beverages than through a hypertext-controlled hot beverage device. This device is so important, in fact, that the IETF described the interface and protocols for it fairly early, <a href="https://tools.ietf.org/html/rfc2324">in RFC2324.</a> While having a hypertext control interface to such devices is important, sometimes the making of caffeinated beverages should be automated; an interface which can be used for automation is described <a href="https://tools.ietf.org/html/rfc2325">in RFC2325.</a> If the engineer prefers some form of caffeine other than coffee, <a href="https://tools.ietf.org/html/rfc7168">the procedures in RFC7168</a> should be followed.</p>
<p>Another common problem posed to network engineers is to make pigs fly. While it has often been reported that pigs cannot, in fact, fly, those who report this are apparently not well acquainted with engineers who have been given large amounts of a hot, caffeinated beverage. In fact, that which is probable, and yet impossible, is often more likely to occur than that which is possible, and yet improbable, once a network engineer has been given enough of this kind of beverage.</p>
<p>There is a danger, however, with attempting to perform the possible, no matter how good the intentions or plan. <a href="https://tools.ietf.org/html/rfc1925">As RFC1925 states in rule 3:</a> “With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead.” Network engineers plus hot caffeinated beverages may just achieve the impossible.</p>
<p>Or you might end up with a pig on your head. It’s hard to tell, so be careful what you ask for.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12735</post-id>	</item>
		<item>
		<title>You Cannot Increase the Speed of Light (RFC1925 Rule 2)</title>
		<link>https://rule11.tech/rfc1925-rule-2-2/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 06 Oct 2020 17:00:48 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12618</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/rfc1925-rule02.png" alt="" width="400" height="160" class="alignnone" />

According to RFC1925, the second fundamental truth of networking is: <em>No matter how hard you push and no matter what the priority, you can’t increase the speed of light.</em>]]></description>
										<content:encoded><![CDATA[<p>According to RFC1925, the second fundamental truth of networking is: <em>No matter how hard you push and no matter what the priority, you can’t increase the speed of light.</em></p>
<p>However early in the world of network engineering this problem was first observed (see, for instance, Tanenbaum’s “station wagon example” in <em>Computer Networks),</em> human impatience is forever trying to overcome the limitations of the physical world, and push more data down the pipe than mother nature intended (or Shannon’s theory allows).</p>
<p>One attempt at solving this problem is the description of an infinitely fat pipe (helpfully called an “infan(t)”) described in RFC5984. While packets would still need to be clocked onto such a network, incurring serialization delay, the ability to clock an infinite number of packets onto the network at the same moment in time would represent a massive gain in a network’s ability, potentially reaching speeds faster than the speed of light. The authors of RFC5984 describe several attempts to build such a network, including black fiber, on which the lack of light implies data transmission. This is problematic, however, because a lack of information can be interpreted differently depending on the context. A pregnant pause has far different meaning than a shocked pause, for instance, or just a plain pause.</p>
<p>The team experimenting with faster than light communication also tried locking netcats up in boxes, but this seemed to work and not work at the same time. Finally, the researchers settled on ESP based forwarding, in which two people with a telepathic link transmit data over long distances. They compute the delay of such communication at around 350ms, regardless of the distance involved. This is clearly a potential faster than speed-of-light communication medium.</p>
<p>Another plausible option for building infinitely fat pipes is to broadcast everything. If you could reach an entire region in some way at once, it might be possible to build a full mesh of hosts, each transmitting to every other host in the region at the same time, ultimately constituting an infinitely fat pipe. Such a system is described in RFC6217, which describes the transmission of broadcast packets across entire regions using air as a medium. This kind of work is a logical extension of the stretched Ethernet segments often used between widely separated data centers and campuses, only using a more easily accessed medium (the air). The authors of this RFC note the many efficiencies gained from using broadcast only transmission modes, such as not needing destination addresses, the TCP three-way handshake process, and acknowledgements (which reportedly consume an inordinate amount of bandwidth).</p>
<p>Foreseeing the time when faster than speed-of-light networking would be possible, R. Hinden wrote a document detailing some of the design considerations for such networks which was published as RFC6921. This document is primarily concerned with the ability of the TCP three-way handshake to support an environment where the network’s speed of transmission is so much faster than the speed at which packets are processed or clocked onto the network that an acknowledgement is received before the original packet is transmitted. R. Hinden suggests that it might be possible to use packet drops in normal networks to emulate this behavior, and find some way to solve it in case faster than speed-of-light networks become generally available—such as the ESP network described in RFC5984.</p>
<p>More recent, and realistic, work in faster than speed-of-light networking has been undertaken by the proposed Quantum Networking Research Group in the IRTF. <a href="https://datatracker.ietf.org/doc/draft-irtf-qirg-principles/">You can read the proposed architecture for a quantum Internet here.</a></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12618</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>It Has to Work (RFC1925, Rule 1)</title>
		<link>https://rule11.tech/it-has-to-work/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 08 Sep 2020 17:00:19 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12497</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/it-has-to-work.png" alt="" width="400" height="160" class="alignnone" />

According to RFC1925, the first fundamental truth of networking is: <em>it has to work.</em> While this might seem to be overly simplistic, it has proven—over the years—to be much more difficult to implement in real life than it looks like in a slide deck. Those with extensive experience with failures, however, can often make a better guess at what is possible to make work than those without such experience. The good news, however, is the experience of failure can be shared, especially through self-deprecating humor.]]></description>
										<content:encoded><![CDATA[<p><em>From time immemorial, humor has served to capture truth. This is no different in the world of computer networks. A notable example of using humor to capture truth is the April 1 RFC series published by the IETF. RFC1925, The Twelve Networking Truths, will serve as our guide.</em></p>
<p>According to RFC1925, the first fundamental truth of networking is: <em>it has to work.</em> While this might seem to be overly simplistic, it has proven—over the years—to be much more difficult to implement in real life than it looks like in a slide deck. Those with extensive experience with failures, however, can often make a better guess at what is possible to make work than those without such experience. The good news, however, is the experience of failure can be shared, especially through self-deprecating humor.</p>
<p>Consider RFC748, which is the first April First RFC published by the IETF, the <em>TELNET RANDOMLY-LOSE Option.</em> This RFC describes a set of additional signals in the TELNET protocol (for those too young to remember, TELNET is what people used to communicate with hosts before SSH and web browsers!) that instruct the server not to provide random losses through such things as “system crashes, lost data, incorrectly functioning programs, etc., as part of their services.” The RFC notes that many systems apparently have undocumented features that provide such losses, frustrating users and system administrators. The option proposed would instruct the server to disable features which cause these random losses.</p>
<p>Lesson learned? Although one of the general rules of application design is <em>the network is not reliable,</em> the counter rule suggested by RFC748 is <em>the application is not reliable, either.</em> This a key point in the race to Mean Time to Innocence (MTTI). RFC1882, published a few years after RFC748, is a veritable guidebook for finding problems in a network, including transceiver failures, databases with broken b-trees, unterminated contacts, and a plethora of other places to look.  Published just before Christmas, RFC1882 is an ideal guide for those who want to spend time with their families during the most festive times of the year.</p>
<p>Another common problem in large-scale networks is services that want to choose to operate from the safety and security of an anonymous connection. RFC6593 describes the <em>Doman Pseudonym System,</em> specifically designed to support services that do not wish to be discovered. The specification describes two parties to the protocol, the first being the seeker, or “it,” and the second being the service which is attempting to hide from it. The process used is for the seeker to send a transmission declaring the beginning of the search sequence called the “ready or not,” followed by a countdown during which “it” is not allowed to peek at a list of available services. During this countdown, the service may change its name or location, although it will be penalized if discovered doing so. This <em>Domain Pseudonym System</em> is the perfect counterpart to the <em>Domain Name System</em> normally used to discover services on large-scale networks, as shown by the many networks that already deploy such a hide-and-seek method to managing services.</p>
<p>What if all the above guidance for network operators fails, and you are stuck troubleshooting a problem? RFC2321 has an answer to this problem: RITA &#8212; The Reliable Internetwork Troubleshooting Agent. The typical RITA is described as 51.25cm in length, and yellow/orange in color. The first test the operator can perform with the RITA is placing it on the documentation for the suspect system, or on top of the suspect system itself. If the RITA eventually flies away, there is a greater than 90% chance there is a defect in the system tested. The odds of the defects in the tested system being the root cause of the problem the operator is currently troubleshooting is not guaranteed, however. The RITA has such a high success rate because it is believed that 100% of systems in operation do, in fact, contain defects. The 10% failure rate primarily occurs in cases where the RITA itself dies during the test, or decides to go to sleep rather than flying to some other location.</p>
<p>Each of these methods can help the network operator fulfill the first rule of networking: <em>it has to work.</em></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12497</post-id>	</item>
		<item>
		<title>The Hedge 34: Andrew Alston and the IETF</title>
		<link>https://rule11.tech/the-hedge-podcast-episode-34-andrew-alston-and-the-ietf/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 06 May 2020 17:00:49 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11992</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-034.png" alt="" width="400" height="160" class="alignnone" />

]]></description>
										<content:encoded><![CDATA[<p>Complaining about how slow the IETF is, or how single vendors dominate the standards process, is almost a by-game in the world of network engineering going back to the very beginning. It is one thing to complain; it is another to understand the structure of the problem and make practical suggestions about how to fix it. Join us at the Hedge as Andrew Alston, Tom Ammon, and Russ White reveal some of the issues, and brainstorm how to fix them.</p>
<audio class="wp-audio-shortcode" id="audio-11992-8" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3?_=8" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3" length="30204293" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episode>34</itunes:episode>
		<podcast:episode>34</podcast:episode>
		<itunes:title>The Hedge</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>41:56</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11992</post-id>	</item>
		<item>
		<title>Enterprise and Service Provider—Once more into the Windmill</title>
		<link>https://rule11.tech/enterprise-and-service-provider-once-more-into-the-windmill/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 16 Mar 2020 17:00:32 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11742</guid>

					<description><![CDATA[There is no enterprise, there is no service provider—there are problems, and there are solutions. I’m certain everyone reading this blog, or listening to my podcasts, or listening to a presentation I’ve given, or following along in some live training or book I’ve created, has heard me say this. I’m also certain almost everyone has heard the objections to my argument—that hyperscaler’s problems are not your problems, the technologies and solutions providers user are fundamentally different than what enterprises require.

Let me try to recap some of the arguments I’ve heard used against my assertion.]]></description>
										<content:encoded><![CDATA[<p>There is no enterprise, there is no service provider—there are problems, and there are solutions. I’m certain everyone reading this blog, or listening to my podcasts, or listening to a presentation I’ve given, or following along in some live training or book I’ve created, has heard me say this. I’m also certain almost everyone has heard the objections to my argument—that hyperscaler’s problems are not your problems, the technologies and solutions providers user are fundamentally different than what enterprises require.</p>
<p>Let me try to recap some of the arguments I’ve heard used against my assertion.</p>
<p>The theory that enterprise and service provider networks require completely different technologies and implementations is often grounded in scale. Service provider networks are so large that they simply must use different solutions—solutions that you cannot apply to any network running at a smaller scale.</p>
<p>The problem with this line of thinking is it throws the baby out with the bathwater. Google is using automation to run their network? Well, then… you shouldn’t use automation because Google’s problems are not your problems. Microsoft is deploying 100g Ethernet over fiber? Then clearly enterprise networks should be using Token Ring or ARCnet because… Microsoft’s problems are not your problems.</p>
<p>The usual answer is—“I’m not saying we shouldn’t take good ideas when we see them, but we shouldn’t design networks the way someone else does just because.” I don’t see how this clarifies the solution, though—when is it a good idea or a bad one? What is our criterion to decide what to adopt and what not to adopt? Simply saying “X’s problems aren’t your problems” doesn’t really give me any <em>actionable information—</em>or at least I’m not getting it if it’s buried in there someplace.</p>
<p>Instead—maybe—just maybe—we are looking at this all wrong. Maybe there is some other way classify networks that will help us see the problem set better.</p>
<p>I don’t think networks are undifferentiated—I think the enterprise/service provider/hyerpscaler divide is <em>not helpful</em> to understand how different networks are … different, and how to correctly identify an environment and build to it. Reading a classic paper in software design this week—<em>Programs, Life Cycles, and Laws of Software Evolution—</em>brought all this to mind. In writing this paper, Meir Lehman was facing many of the same classification problems, just in software development rather than in building networks.</p>
<p>Rather than saying “enterprise software is different than service provider software”—an assertion absolutely no-one makes—or even “commercial software is different than private software, and developers working in these two areas cannot use the same tools and techniques,” Lehman posits there are three kinds of software systems. He calls these <em>S-Programs,</em> in which the problem and solution can be fully specified; <em>P-Programs,</em> in which the problem can be fully specified, but the program can only be partially specified because of complexity and scale; and <em>E-Programs,</em> where the program itself become part of the world it models. Lehman thinks most software will move towards <em>S-Program</em> status as time moves on—something that hasn’t happened (the reasons are out of scope for this already-too-long-blog-post).</p>
<p>But the classification is useful. For <em>S-Programs,</em> the inputs and outputs can be fully specified, full-on testing can take place before the software is deployed, and lifecycle management is largely about making the software more fully conform to its original conditions. Maybe there are <em>S-Networks,</em> too? Single-purpose networks which are aimed at fulfilling on well-defined thing, and only that thing. Lehman talks about learning how to breaking larger problems into smaller one so the <em>S-Problems</em> can be dealt with separately—is this anything different than separating out the basic problem of providing IP connectivity in a DC fabric underlay, or even providing basic IP connectivity in a transit or campus network, treating it as a separate module with fairly well design goals and measurements?</p>
<p>Lehman talks about <em>P-Programs,</em> where the problem is largely definable, but the solutions end up being more heuristic. Isn’t this similar to a traffic engineering overlay, where we largely know what the goals are, but we don’t necessarily know what specific solution is going to needed at any moment, and the complete set of solutions is just too large to initially calculate? What about <em>E-Programs,</em> where the software becomes a part of the world it models? Isn’t this like the intent-based stuff we’ve been talking about networking for going one 30 years now?</p>
<p>Looking at it another way, isn’t it possible that some networks are largely just <em>S-Networks?</em> And others are largely <em>E-Networks?</em> And that these classifications have nothing to do with whether the network is being built by what we call an “enterprise” or a “service provider?” Isn’t is possible that <em>S-Networks</em> should probably all use the same basic sort of structure and largely be classified as a “commodity,” while <em>E-Networks</em> will all be snowflakes, and largely classified as having high business importance?</p>
<p>Just like I don’t think the OSI model is particularly helpful in teaching and understanding networks any longer, I don’t find the enterprise/service/hyperscaler model very useful in building and operating networks. The service enterprise/service provider divide tends to artificially limit idea transfer when it wants to be transferred, and artificially “hype up” some networks while degrading others—largely based on perceptions of scale.</p>
<p>Scale != complexity. It’s not about service providers and enterprises. It doesn’t matter if Google’s problems are not your problems; borrowing from the hyperscale is not a “bad thing.” It’s just a “thing.” Think clearly about the problem set, understand the problem set, and borrow liberally. There is no such thing as a “service provider technology,” nor is there any such thing as an “enterprise technology.” There are problems, and there are solutions. To be an engineer is to connect the two.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11742</post-id>	</item>
		<item>
		<title>The Hedge 26: Jason Gooley and CHINOG</title>
		<link>https://rule11.tech/hedge-podcast-episode-26-jason-gooley-and-chinog/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 11 Mar 2020 17:00:04 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11716</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-026.png" alt="" width="300" class="alignnone" />

CHINOG is a regional network operators group that meets in Chicago once a year. For this episode of the Hedge, Jason Gooley joins us to talk about the origins of CHINOG, the challenges involved in running a small conference, some tips for those who would like to start a conference of this kind, and thoughts on the importance of community in the network engineering world.]]></description>
										<content:encoded><![CDATA[<p>CHINOG is a regional network operators group that meets in Chicago once a year. For this episode of the Hedge, Jason Gooley joins us to talk about the origins of CHINOG, the challenges involved in running a small conference, some tips for those who would like to start a conference of this kind, and thoughts on the importance of community in the network engineering world.</p>
<audio class="wp-audio-shortcode" id="audio-11716-9" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-026.mp3?_=9" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-026.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-026.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-026.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-026.mp3" length="54244666" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:season>1</itunes:season>
		<podcast:season>1</podcast:season>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>37:40</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11716</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>The Hedge 13: Ivan Pepelnjak</title>
		<link>https://rule11.tech/the-hedge-podcast-13-ivan-pepelnjak/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 19 Nov 2019 18:00:56 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11290</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-013.png" alt="" width="600" class="alignnone" />

In this episode of the Hedge, Tom Ammon and Russ White are joined by Ivan Pepelnjak of ipSpace.net to talk about being old, knowing about how things are going to break before they do, and being negative. Along the way, we discuss the IETF, open source, and many other aspects of the world of network engineering.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-013.png?w=600&#038;ssl=1" alt=""  class="alignnone" /></p>
<p>In this episode of the Hedge, Tom Ammon and Russ White are joined by Ivan Pepelnjak of ipSpace.net to talk about being old, knowing about how things are going to break before they do, and being negative. Along the way, we discuss the IETF, open source, and many other aspects of the world of network engineering.</p>
<audio class="wp-audio-shortcode" id="audio-11290-10" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-013.mp3?_=10" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-013.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-013.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-013.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-013.mp3" length="48200738" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>33:28</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11290</post-id>	</item>
		<item>
		<title>The Hedge 11: Roland Dobbins on Working Remotely</title>
		<link>https://rule11.tech/the-hedge-episode-11-roland-dobbins-on-working-remotely/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 06 Nov 2019 14:16:59 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11244</guid>

					<description><![CDATA[<img class="alignnone" src="https://rule11.tech/wp-content/uploads/hedge-011.png" alt="" width="600" height="240" />

Network engineering and operations are both "mental work" that can largely be done remotely—but working remote is not only great in many ways, it is also often fraught with problems. In this episode of the Hedge, Roland Dobbins joins Tom and Russ to discuss the ins and outs of working remote, including some strategies we have found effective at removing many of the negative aspects.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-011.png?resize=600%2C240&#038;ssl=1" alt="" width="600" height="240" /></p>
<p><em>I failed to include the right categories the first time, so this didn&#8217;t make it into the podcast catcher feeds correctly&#8230;</em></p>
<p>Network engineering and operations are both &#8220;mental work&#8221; that can largely be done remotely—but working remote is not only great in many ways, it is also often fraught with problems. In this episode of the Hedge, Roland Dobbins joins Tom and Russ to discuss the ins and outs of working remote, including some strategies we have found effective at removing many of the negative aspects.</p>
<audio class="wp-audio-shortcode" id="audio-11244-11" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-011.mp3?_=11" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-011.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-011.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-011.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-011.mp3" length="47466316" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>32:57</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11244</post-id>	</item>
		<item>
		<title>(Effective) Habits of the Network Expert</title>
		<link>https://rule11.tech/habits-of-network-experts/</link>
					<comments>https://rule11.tech/habits-of-network-experts/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 14 Oct 2019 17:00:04 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11098</guid>

					<description><![CDATA[For any field of study, there are some mental habits that will make you an expert over time. Whether you are an infrastructure architect, a network designer, or a network reliability engineer, what are the habits of mind those involved in the building and operation of networks follow that mark out expertise?

<strong>Experts involve the user</strong>

Experts don’t just listen to the user, they involve the user. This means taking the time to teach the developer or application owner how their applications interact with the network, showing them how their applications either simplify or complicate the network, and the impact of these decisions on the overall network.

<strong>Experts think about data</strong>

Rather than applications. What does the data look like? How does the business use the data? Where does the data need to be, when does it need to be there, how often does it need to go, and what is the cost of moving it? What might be in the data that can be harmful? How can I protect the data while at rest and in flight?]]></description>
										<content:encoded><![CDATA[<p>For any field of study, there are some mental habits that will make you an expert over time. Whether you are an infrastructure architect, a network designer, or a network reliability engineer, what are the habits of mind those involved in the building and operation of networks follow that mark out expertise?</p>
<p><strong>Experts involve the user</strong></p>
<p>Experts don’t just listen to the user, they involve the user. This means taking the time to teach the developer or application owner how their applications interact with the network, showing them how their applications either simplify or complicate the network, and the impact of these decisions on the overall network.</p>
<p><strong>Experts think about data</strong></p>
<p>Rather than applications. What does the data look like? How does the business use the data? Where does the data need to be, when does it need to be there, how often does it need to go, and what is the cost of moving it? What might be in the data that can be harmful? How can I protect the data while at rest and in flight?</p>
<p><strong>Experts think in modules, surfaces, and protocols</strong></p>
<p>Devices and configurations can, and should, change over time. The way a problem is broken up into modules and the interaction surfaces (interfaces) between those modules can be permanent. Choosing the wrong protocol means choosing a different protocol to solve every problem, leading to accretion of complexity, ossification, and ultimately brittleness. Break the problem up right the first time, and choose the protocols carefully, and let the devices and configurations follow.</p>
<p>Choosing devices first is like selecting the hammer you’re going to use to build a house, and then selecting the design and materials used in the house based on what you can use the hammer for.</p>
<p><strong>Experts think about tradeoffs </strong></p>
<p>State, optimization, and surface is an ironclad tradeoff. If you increase state, you increase complexity while also increasing optimization. If you increase surfaces through abstraction, you are both increasing and decreasing state, which has an impact both on complexity and optimization. All nontrivial abstractions leak. Every time you move data you are facing the speed of serialization, queueing, and light, and hence you are dealing with the choice between consistency, availablity, and partitioning.</p>
<p>If you haven’t found the tradeoffs, you haven’t looked hard enough.</p>
<p><strong>Experts focus on the essence</strong></p>
<p>Every problem has an essential core—something you are trying to solve, and a reason for solving it. Experts know how to divide between the essential and the nonessential. Experts think about what they are not designing, and what they are not trying to accomplish, as well as what they are. This doesn’t mean the rest isn’t there, it just means it’s not quite in focus all the time.</p>
<p><strong>Experts are mentally stimulated to simulate</strong></p>
<p>Labs are great—but moving beyond the lab and thinking about how the system works as a whole is better. Experts mentally simulate how the data moves, how the network converges, how attackers might try to break in, and other things besides.</p>
<p><strong>Experts look around</strong></p>
<p>Interior designers go to famous spaces to see how others have designed before them. Building designers walk through cities and famous buildings to see how others have designed before them. The more you know about how others have designed, the more you know about the history of networks, the more of an expert you will be.</p>
<p><strong>Experts reshape the problem space</strong></p>
<p>Experts are unafraid to think about the problem in a different way, to say “no,” and to try solutions that have not been tried before. Best common practice is a place to start, not a final arbiter of all that is good and true. Experts do not fall to the “is/ought” fallacy.</p>
<p><strong>Experts treat problems as opportunities</strong></p>
<p>Whether the problem is a mistake or a failure, or even a little bit of both, every problem is an opportunity to learn how the system works, and how networks work in general.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/habits-of-network-experts/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11098</post-id>	</item>
		<item>
		<title>The Hedge 9: Nash King and Ethics in IT</title>
		<link>https://rule11.tech/the-hedge-episode-9-nash-king-and-ethics-in-it/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 08 Oct 2019 17:00:43 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11066</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-009-400x160.jpg" alt="" width="400" height="160" class="alignnone" />

Nash King (@gammacapricorni) joins Russ White and Tom Ammon in a wide ranging discussion of ethics in IT, including being comfortable with standing up and saying "no" when asked to do something you consider unethical and the virtue ethic. This is meant to be the first of a series of episodes on this topic.]]></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-009.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Nash King (@gammacapricorni) joins Russ White and Tom Ammon in a wide ranging discussion of ethics in IT, including being comfortable with standing up and saying &#8220;no&#8221; when asked to do something you consider unethical and the virtue ethic. This is meant to be the first of a series of episodes on this topic.</p>
<audio class="wp-audio-shortcode" id="audio-11066-12" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-009.mp3?_=12" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-009.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-009.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-009.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/thehedge.s3.amazonaws.com/hedge-009.mp3" length="45534989" type="audio/mpeg" />

				<itunes:author>Russ White</itunes:author>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>31:37</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11066</post-id>	</item>
		<item>
		<title>Is it planning&#8230; or just plain engineering?</title>
		<link>https://rule11.tech/is-it-planning-or-just-plain-engineering/</link>
					<comments>https://rule11.tech/is-it-planning-or-just-plain-engineering/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 23 Sep 2019 17:00:31 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11001</guid>

					<description><![CDATA[Over at the ECI blog, Jonathan Homa has a nice article about the importance of network planning--

<blockquote><a href="https://blog.ecitele.com/network-planning-ready-for-a-starring-role">In the classic movie, The Graduate (1967), the protagonist is advised on career choices, “In one word - plastics.” If you were asked by a young person today, graduating with an engineering or similar degree about a career choice in telecommunications, would you think of responding, “network planning”? Well, probably not.</a></blockquote>

Jonathan describes why this is so--traffic is constantly increasing, and the choice of tools we have to support the traffic loads of today and tomorrow can be classified in two ways: <em>slim</em> and <em>none</em> (as I remember a weather forecaster saying when I "wore a younger man's shoes"). The problem, however, is not just tools. The network is increasingly seen as a commodity, "pure bandwidth that should be replaceable like memory," made up of entirely interchangeable parts and pieces, primarily driven by the cost to move a bit across a given distance.]]></description>
										<content:encoded><![CDATA[<p>Over at the ECI blog, Jonathan Homa has a nice article about the importance of network planning&#8211;</p>
<blockquote><p><a href="https://blog.ecitele.com/network-planning-ready-for-a-starring-role">In the classic movie, The Graduate (1967), the protagonist is advised on career choices, “In one word &#8211; plastics.” If you were asked by a young person today, graduating with an engineering or similar degree about a career choice in telecommunications, would you think of responding, “network planning”? Well, probably not.</a></p></blockquote>
<p>Jonathan describes why this is so&#8211;traffic is constantly increasing, and the choice of tools we have to support the traffic loads of today and tomorrow can be classified in two ways: <em>slim</em> and <em>none</em> (as I remember a weather forecaster saying when I &#8220;wore a younger man&#8217;s shoes&#8221;). The problem, however, is not just tools. The network is increasingly seen as a commodity, &#8220;pure bandwidth that should be replaceable like memory,&#8221; made up of entirely interchangeable parts and pieces, primarily driven by the cost to move a bit across a given distance.</p>
<p>This situation is driving several different reactions in the network engineering world, none of which are really healthy. There is a sense of resignation among people who work on networks. If commodities are driven by price, then the entire life of a network operator or engineer is driven by speed, and speed alone. All that matters is how you can build ever larger networks with ever fewer people&#8211;so long as you get the bandwidth you need, nothing else matters.</p>
<p>This is compounded by a simple reality&#8211;network world has driven itself into the corner of focusing on the appliance&#8211;the entire network is appliances running customized software, with little thought about the entire system. Regardless of whether this is because of the way we educate engineers through our college programs and our certifications, this is the reality on the ground level of network engineering. When your skill set is primarily built around configuring and managing appliances, and the world is increasingly making those appliances into commodities, you find yourself in a rather depressing place.</p>
<p>Further, there is a belief that there is no more real innovation to be had&#8211;the end of the road is nigh, and things are going to look pretty much like they look right now for the rest of &#8230; well, forever. </p>
<p>I want you, as a network engineer, operator, or whatever you call yourself, to look these beliefs in the eye and call them what they are: <em>nonsense on stilts.</em> </p>
<p>The real situation is this: the current &#8220;networking industry,&#8221; such as it is, has backed itself into a corner. The emphasis on planning Jonathan brings out is valid, but it is just the tip of the proverbial iceberg. There is a hint in this direction in Jonathan&#8217;s article in the list of suggestions (or requirements). Thinking across layers, thinking about failure, continuous optimization&#8230; these are all&#8230; <em>system level thinking,</em> To put this another way, a railway boxcar might be a commodity, but the railroad system is not. The individual over-the-road truck might be a commodity, and the individual road might not be all that remarkable, but the road system is definitely not a commodity.</p>
<p>The sooner we start thinking outside the appliance as network engineers or operators (or whatever you call yourself), the sooner we will start adding value to the business. This means thinking about algorithms, protocols, and systems&#8211;all that &#8220;theory stuff&#8221; we typically decry as being less than usefl&#8211;rather than how to configure <em>x</em> on device <em>y.</em> This means thinking about security across the network, rather than as how you configure a firewall. This means thinking about the tradeoffs with implementing security, including what systemic risk looks like, and when the risks are acceptable when trying to accomplish as specific goal, rather than thinking about how to route traffic through a firewall.</p>
<p>If demand is growing, why is the networking world such a depressing place right now? Why do I see lots of people saying things like &#8220;there will be no network engineers in enterprises in five years?&#8221; Rather than blaming the world, maybe we should start looking at how we are trying to solve the problems in front of us. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/is-it-planning-or-just-plain-engineering/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11001</post-id>	</item>
		<item>
		<title>Autonomic, Automated, and Reality</title>
		<link>https://rule11.tech/autonomic-automated-and-reality/</link>
					<comments>https://rule11.tech/autonomic-automated-and-reality/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 16 Sep 2019 17:00:35 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=10982</guid>

					<description><![CDATA[Once the shipping department drops the box off with that new switch, router, or “firewall,” what happens next? You rack it, cable it up, turn it on, and start configuring, right? There are access to controls to configure—SSH, keys, disabling standard accounts, disabling telnet—interface addresses to configure, routing adjacencies to configure, local policies to configure, and… After configuring all of this, you can adjust routing in the network to route around the new device, and then either canary the device “in production” (if you run your network the way it should be run), or find some prearranged maintenance time to bring the new device online and test things out. After all of this, you can leave the new device up and running in the network, and move on to the next task.

Until it breaks.]]></description>
										<content:encoded><![CDATA[<p>Once the shipping department drops the box off with that new switch, router, or “firewall,” what happens next? You rack it, cable it up, turn it on, and start configuring, right? There are access to controls to configure—SSH, keys, disabling standard accounts, disabling telnet—interface addresses to configure, routing adjacencies to configure, local policies to configure, and… After configuring all of this, you can adjust routing in the network to route around the new device, and then either canary the device “in production” (if you run your network the way it should be run), or find some prearranged maintenance time to bring the new device online and test things out. After all of this, you can leave the new device up and running in the network, and move on to the next task.</p>
<p>Until it breaks.</p>
<p>Then you consult the documentation to remind yourself why it was configured this way, consult the documentation to understand how the application everyone is complaining about not working should work, etc. There are the many hours spent sitting on the console gathering information by running various commands and the output of various logs. Eventually, once you find the problem, you can either replace the right parts, or reconfigure the right bits, and get everything running again.</p>
<p>In the “modern” world (such as it is), we think it’s a huge leap forward to <em>stop configuring devices manually.</em> If we can just <em>automate</em> the configuration of all that “stuff” we have to do at the beginning, after the box is opened and before the device is placed into service, we think we have this whole networking thing pretty well figured out.</p>
<p><em>Even if you had everything in your network automated, you still haven’t figured this networking thing out.</em></p>
<p>We need to move beyond automation. Where do we need to move to? It’s not one place, but two. <a href="https://www.darkreading.com/cloud/a-tale-of-two-buzzwords-automated-and-autonomous-solutions-arent-the-same-thing/a/d-id/1335661">The first is we need to move beyond automation to autonomous operation.</a> As an example, there is a shiny new system that is currently being widely deployed to automate the deployment and management of containers. Part of this system is the automation of connectivity, including routing, between containers. The routing system being deployed as part of this system is essentially statically configured policy-based routing combined with network address translation.</p>
<p>Let me point something out that is not going to be very popular: <strong>this is a step backwards in terms of making the system autonomous.</strong> Automating static routing information is <em>not</em> a better solution than building a real, dynamic, proactive, <em>autonomic,</em> routing system. It’s <em>not</em> simpler—trust me, I say this as someone who has operated large networks which used automated static routes to do everything.</p>
<p>The “opsification of everything” is neat, but it shouldn’t be our end goal.</p>
<p>Now part of this, I know, is the fault of vendors. Vendors who push EGPs onto data center fabrics because, after all, “the configuration complexity doesn’t matter so long as you can automate it.” The configuration complexity <em>does</em> matter, because configuration complexity belies an underlying protocol complexity, and sets up long and difficult troubleshooting sessions that are <em>completely unnecessary.</em></p>
<p>The second place we need to move in the networking world? The focus on automation is just another form of focusing on configuration. We abstract the configuration, and we touch a lot more devices at once, but we are <em>still thinking about configuration.</em> The more we think about configuration, the less we think about how the system should work, how it really works, what the gaps are, and how to bridge those gaps. So long as we are focused on the configuration, automated or not, we are not focused on how the network can bring value to the business. The longer we are focused on configuration, the less value we are bringing to the business, and the more likely we are to end up being replaced by … an automated system … no matter how poorly that automated system actually works.</p>
<p>And no, the cloud isn’t going to solve this. Containers aren’t going to solve this. The “automated configuration pattern” is already being repeated in the cloud. As more complex workloads are moved into the cloud, the problems there are only going to get harder. What starts out as a “simple” system using policy-based routing analogs and network address translation configured through an automation server will eventually look complex against the hardest problems we had to solve using T1’s, frame relay circuits, inverse multiplexers, wire down patch panels, and mechanical switch crossbar frames. It’s fun to pretend we don’t need dynamic routing to solve the problems that face the network—at least until you hit hard problems, and have to relearn the lessons of the last 20+ years.</p>
<p>Yes, I know vendors are partly to blame for this. I know that, for a vendor, it’s easier to get people to buy into your CLI, or your entire ecosystem, rather than getting them to think about how to solve the problems your business is handing them.</p>
<p>On the other hand, none of this is going to change from the top down. This is only going to change when the average network engineer starts asking vendors for truly simpler solutions that don’t require reams configuration information. It will change when network engineers get their heads out of the configuration and features, and into the business problems.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/autonomic-automated-and-reality/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10982</post-id>	</item>
		<item>
		<title>Used to Mean&#8230; Now Means&#8230;</title>
		<link>https://rule11.tech/used-to-mean-now-means/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 31 Jul 2019 17:00:06 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=10736</guid>

					<description><![CDATA[<em>sarcasm warning—take the following post with a large grain of salt</em>

A thousand years from now, when someone is writing the history of computer networks, one thing they should notice is how we tend to <em>reduce</em> our language so as many terms as possible have precisely the same meaning. They might attribute this to marketing, or the hype cycle, but whatever the cause this is clearly a trend in the networking world. Some examples might be helpful, so ... forthwith, the reduced terminology of the networking world.

<strong>Software Defined Networking (SDN):</strong> <em>Used to mean</em> a standardized set of interfaces that enabled open access to the forwarding hardware. Came to mean some form of control plane centralization over time. <em>Now means</em> automated configuration and management of network devices, centralized control planes, traffic engineering, and just about everything else.

<strong>Fabric:</strong> <em>Used to mean</em> a regular, non-planar, repeating network topology with scale-out characteristics. <em>Now means</em> any vaguely hierarchical topology that is not a ring.]]></description>
										<content:encoded><![CDATA[<p><em>sarcasm warning—take the following post with a large grain of salt</em></p>
<p>A thousand years from now, when someone is writing the history of computer networks, one thing they will notice—at least I think they will—is how we tend to <em>reduce</em> our language so as many terms as possible have precisely the same meaning. They might attribute this to marketing, or the hype cycle, or&#8230; but whatever the cause this is clearly a trend in the networking world. Some examples might be helpful, so &#8230; forthwith, the reduced terminology of the networking world.</p>
<p><strong>Software Defined Networking (SDN):</strong> <em>Used to mean</em> a standardized set of interfaces that enabled open access to the forwarding hardware. Came to mean some form of control plane centralization. <em>Now means</em> automated configuration and management of network devices, centralized control planes, traffic engineering, and just about anything else that seems remotely related to these.</p>
<p><strong>Fabric:</strong> <em>Used to mean</em> a regular, non-planar, repeating network topology with scale-out characteristics. <em>Now means</em> any vaguely hierarchical topology (not a ring) with a lot of links.</p>
<p><strong>DevOps:</strong> <em>Used to mean</em> applying software development processes to the configuration, operation, and troubleshooting of server and network devices. <em>Now means</em> the same thing as SDN.</p>
<p><strong>Clos:</strong> <em>Used to mean</em> a three stage fabric in which every device in a prior stage is connected to every device in the next stage, all devices have the same number of ports, all traffic is east/west, and having a scale-out characteristics. <em>Now means</em> the same thing as fabric, and is spelled CLOS because—aren&#8217;t all four letter words abbreviations? Now external links are commonly attached to the &#8220;core&#8221; of the Clos, because&#8230; well, it kindof <em>looks</em> hierarchical, after all.</p>
<p><strong>Hierarchical Design:</strong> <em>Used to mean</em> a network design with a modular layered design, and specific functions tied to each layer of the network. Generally there were two or three layers, with clear failure domain separation through aggregation and summarization of control plane information. <em>Now means</em> the same thing as fabric.</p>
<p><strong>Cloud:</strong> <em>Used to mean</em> the centralization and abstraction of resources to support agile development strategies. <em>Now means&#8230;</em> well&#8230; the meaning is cloudy at this time, but generally applied to just about anything. Will probably end up meaning the same thing as DevOps, SDN, and fabric.</p>
<p><strong>Network Topology:</strong> <em>Used to mean</em> a description of the interconnection system used in building a network. Some kinds of topologies were hub-and-spoke, ring, partial mesh, Clos, Benes, butterfly, full mesh, etc. <em>Now means</em> the same as fabric.</p>
<p><strong>Routing Protocol:</strong> <em>Used to mean</em> the protocol, including the semantics and algorithm or heuristic, used to calculate the set of loop-free paths through a network. Includes instances such as IS-IS, EIGRP, and OSPF. <em>Now means</em> BGP, as this is the only protocol used in any production network (except SDN).</p>
<p><strong>Router:</strong> <em>Used to mean</em> a device that determines the next hop to which the packet should be forwarded using the layer 3 address, replacing the layer 2 header in the process of forwarding the packet. <em>Now means</em> the same thing as a switch.</p>
<p><strong>Switch:</strong> <em>Used to mean</em> a device which determined which port through which a packet should be forwarded based on the layer 2 header, did not modify the packet, etc. <em>Now means</em> any device that forwards packets; has generally replaced &#8220;router.&#8221;</p>
<p><strong>Security:</strong> <em>Used to mean</em> thinking through attack surfaces, understanding protocols and their operation, and how to build a system that is difficult to attack. <em>Now means</em> inserting a firewall into the network.</p>
<p><b>We used to have</b> a rich set of terms we could use to describe different kinds of topologies, devices, and ways of building networks. We seem to want to insist on merging as many terms as possible so they all mean the same thing; we are quickly reducing ourselves to <em>fabric, switch, SDN,</em> and <em>cloud</em> to describe everything.</p>
<p>Which makes me wonder sometimes—what <em>are</em> they teaching in network engineering classes now-a-days?</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10736</post-id>	</item>
		<item>
		<title>Reaction: Overly Attached</title>
		<link>https://rule11.tech/reaction-overly-attached/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 10 Jun 2019 17:00:53 +0000</pubDate>
				<category><![CDATA[CAREER]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=10288</guid>

					<description><![CDATA[<a href="https://dl.acm.org/citation.cfm?id=3335594">In a recent edition of ACM Queue, Kate Matsudaira has an article discussing the problem of being overly attached to a project or solution.</a>
<blockquote>The longer you work on one system or application, the deeper the attachment. For years you have been investing in it—adding new features, updating functionality, fixing bugs and corner cases, polishing, and refactoring. If the product serves a need, you likely reap satisfaction for a job well done (and maybe you even received some raises or promotions as a result of your great work).</blockquote>
Attachment is a two-edged sword—without some form of attachment, it seems there is no way to have pride in your work. On the other hand, attachment leads to poorly designed solutions. For instance, we all know the hyper-certified person who knows every in and out of a particular vendor’s solution, and hence solves every problem in terms of that vendor’s products. Or the person who knows a particular network automation system and, as a result, solves every problem through automation.]]></description>
										<content:encoded><![CDATA[<p><a href="https://dl.acm.org/citation.cfm?id=3335594">In a recent edition of ACM Queue, Kate Matsudaira has an article discussing the problem of being overly attached to a project or solution.</a></p>
<blockquote><p>The longer you work on one system or application, the deeper the attachment. For years you have been investing in it—adding new features, updating functionality, fixing bugs and corner cases, polishing, and refactoring. If the product serves a need, you likely reap satisfaction for a job well done (and maybe you even received some raises or promotions as a result of your great work).</p></blockquote>
<p>Attachment is a two-edged sword—without some form of attachment, it seems there is no way to have pride in your work. On the other hand, attachment leads to poorly designed solutions. For instance, we all know the hyper-certified person who knows every in and out of a particular vendor’s solution, and hence solves every problem in terms of that vendor’s products. Or the person who knows a particular network automation system and, as a result, solves every problem through automation.</p>
<p>The most pernicious forms of attachment in the network engineering world are to a single technology or vendor. One of the cycles I have seen play out many times across the last 30 years is: a new idea is invented; this new idea is applied to every possible problem anyone has ever faced in designing or operating a network; the  resulting solution becomes overburdened and complicated; people complain about the complexity of the solution and rush to… the next new idea. I could name tens or hundreds of technologies that have been through this cycle over time.</p>
<p>Another related cycle: a team adopts a new technology in order to solve a problem.</p>
<p>Kate points out some very helpful ways to solve over-attachment at an organizational level. For instance, aligning on goals and purpose, and asking everyone to be open to ideas and alternatives. But these organizational level solutions are more difficult to apply at an individual level. How can this be applied to the individual—to your life?</p>
<p>Perhaps the most important piece of advice Kate gives here is <em>ask for stories, not solutions.</em> In telling stories you are not <em>eliminating</em> attachment but refocusing it. Rather than becoming attached to a solution or technology, you are becoming attached to a goal or a narrative. This accepts that you will always be attached to something—in fact, that it is ultimately <em>healthy</em> to be attached to something outside yourself in a fundamental way. The life that is attached to nothing is ugly and self-centered, ultimately failing to accomplish anything.</p>
<p>Even here, however, there are tradeoffs. You can attach yourself to the story of a company, dedicating yourself to that single brand. To expand this a little, then, you should focus on stories about solving problems for people rather than stories about a product or technology. This might mean telling people they are wrong, by the way—sometimes the best thing is not what someone thinks they want.</p>
<p>Stories are ultimately about <em>people.</em> This is something not many people in engineering fields like to hear, because most of us are in these kinds of fields because we are either introverted, or because we struggle to relate to people in some other way.</p>
<p>To expand this a bit more, you should be willing to tell multiple stories, rather than just one. These stories might overlap or intersect, of course—I have been invested in a story about reducing complexity, disaggregation, and understanding <em>why</em> rather than <em>how</em> for the last ten or fifteen years. These three stories are, in many ways, the same story, just told from different perspectives. You need to allow the story to be shaped, and the path to tell that story to change, over time.</p>
<p>Realize your work is neither as bad as you think it is, nor as good as you think it is. Do not take criticism personally. This is a lesson I had to learn the hard way, from receiving many manuscripts back covered in red marks, either physical or virtual. Failure is not an option; it is a requirement. The more you fail, the more you will actively seek out the tradeoffs, and approach problems and people with humility.</p>
<p>Finally, you need to <em>internalize</em> modularity. Do <em>not</em> try to solve all the problems with a single solution, no matter how neat or new. Part of this is going to go back to understanding why things work the way they do and the limits of people (including yourself!). Solve problems incrementally and set limits on what you will try to do with any single technology.</p>
<p>Ultimately, refusing to become overly attached is a matter of attitude. It is something that is learned through hard work, a skill developed across time.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10288</post-id>	</item>
		<item>
		<title>What&#8217;s wrong with the IETF. And what&#8217;s right</title>
		<link>https://rule11.tech/whats-wrong-with-the-ietf-and-whats-right/</link>
					<comments>https://rule11.tech/whats-wrong-with-the-ietf-and-whats-right/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 22 Mar 2018 15:00:21 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=8916</guid>

					<description><![CDATA[I have not counted the IETF&#8217;s I have attended; I only know the first RFC on which I&#8217;m listed as a co-author was published in 2000, so this must be close to 20 years of interacting with the IETF community. I&#8217;m pretty certain I&#8217;ve attended at least two meetings a year in some years, and&#8230;]]></description>
										<content:encoded><![CDATA[<p>I have not counted the IETF&#8217;s I have attended; I only know the first RFC on which I&#8217;m listed as a co-author was published in 2000, so this must be close to 20 years of interacting with the IETF community. I&#8217;m pretty certain I&#8217;ve attended at least two meetings a year in some years, and three meetings a year in most of those years. Across that time, there has never been a time when I have not been told, at least once, &#8220;the IETF is broken.&#8221; And there has not been a single time I cannot remember agreeing with the sentiment. </p>
<p><em>My belief that the IETF is broken, however, is narrow, and offset by the many ways in which I think the IETF is still useful for the larger networking community.</em></p>
<p>So, how is the IETF broken? The trend that bothers me the most right now is the gold rush syndrome. A new technology is brought into the IETF, and if it looks like it might somehow be &#8220;important,&#8221; there is a &#8220;land rush&#8221; as people stake out new drafts, find use cases, find corner cases, and work to develop drafts and communities around those drafts. This generally results in a sort of ossification process, where there are clear insiders and outsiders, an entirely new vocabulary is developed, and the drafts fly so fast and furious there is almost no time to read them all. There are many problematic parts of this process. For instance, there is often a feeling that &#8220;this is important, no need to get the details right,&#8221; or &#8220;if you don&#8217;t understand, butt out of the conversation.&#8221; </p>
<p>A particularly troubling aspect of this is the wide desire to &#8220;be famous,&#8221; to chair a working group, to get your name on a draft, and ultimately on an RFC. This eventually becomes all important, carrying all practical considerations before it. The old ethos of &#8220;build small and flexible, code it, and let it grow where needed&#8221; is almost always lost in the shuffle of producing tens of drafts. Companies pay by the draft, or only pay for travel if you have a draft&#8212;both of which have a tendency to destroy the value of the community itself, and the way the community functions.</p>
<p>So that&#8217;s what broken. What&#8217;s right?</p>
<p>One night I was walking back from dinner with a couple of friends&#8212;Gonzolos and Joe&#8212;and I ran into Stewart Bryant in the hotel lobby. Soon enough, Paul Mockapetris joined the conversation. At some point, Dave Oran, Ignas B, and George Swallow joined the conversation. There are few places in the world you can get some collection of folks who had a hand in the creation of technologies like DNS, psuedowires, MPLS/TE, SMTP, IS-IS, IP fast reroute, and probably a dozen other technologies, standing around talking about &#8220;the good old days,&#8221; or even where to go for dinner. Across this week, I&#8217;ve chatted with Tony Li, Tony P, Jeff T, Alvaro Retana, Russ Housley, Fred Baker, Alia Atlas, and&#8230; more than I can remember.</p>
<p>If there is one that is striking about all of these people, it is that they are all more interested in solving problems than taking credit. They all live by the old IETF mantra: &#8220;it is amazing what can get done when no-one cares who gets the credit.&#8221; None of them are obsessed with getting their names on drafts, or with inventing something new that will change the world. They see problems, they develop solutions; that is all.</p>
<p>This, then, is what is right about the IETF. People who care about the challenges users have with networks, and have spent their lives finding solutions. So people are what&#8217;s wrong with the IETF, and people are also what&#8217;s right. The point?</p>
<p><strong>You can choose to participate in the IETF.</strong> In fact, I hope to see you at a future meeting. But if you choose to participate, be a part of the solution, rather than a part of the problem. Be someone who looks on the land rush with skepticism, who doesn&#8217;t care about getting their name on a draft, who just wants to help solve a problem that has been fairly explained and defined to the community. Don&#8217;t be afraid to work on small things, and to insist that solutions be small and well scoped, even if that means your name is not put up in lights.</p>
<p>Even better advice: carry this into all the communities in which you live in your life. We live in an age that values name recognition far too much, that worries too much about being left out of the latest gold rush, that worries too much about our &#8220;rightly deserved&#8221; fifteen minutes of fame. This goes far beyond network engineering, the ethos of the &#8220;old way&#8221; in the IETF. It&#8217;s a lesson we can all take away from this little community of engineers who have worked so hard across the years to build something on which we all rely every day&#8212;to the very formats of the packets which carry this screed to your computer screen, your email box, or however else you are reading it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/whats-wrong-with-the-ietf-and-whats-right/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8916</post-id>	</item>
		<item>
		<title>Leave Your Ego at the Door</title>
		<link>https://rule11.tech/leave-ego-door/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 08 Feb 2017 18:48:04 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">http://rule11.tech/?p=7318</guid>

					<description><![CDATA[You are just about to walk into the interview room. Regardless of whether you are being interviewed, or interviewing&#8212;what are you thinking about? Are you thinking about winning? Are you thinking about whining? Or are you thinking about engaging? I have noticed, on many mailing lists, and in many other forums, that interviews in our&#8230;]]></description>
										<content:encoded><![CDATA[<p>You are just about to walk into the interview room. Regardless of whether you are being interviewed, or interviewing&#8212;what are you thinking about? Are you thinking about <em>winning?</em> Are you thinking about <em>whining?</em> Or are you thinking about <em>engaging?</em> I have noticed, on many mailing lists, and in many other forums, that interviews in our world have devolved into a contest of egos. </p>
<p>The person on the other side of the table has some certification I don&#8217;t care about&#8212;how can I prove they are dumb, not as smart as their certification might indicate, or&#8230; The person on the other side of the table claims to know some protocol, can I find some bit of information they don&#8217;t know? These kinds of questions are really just <em>ego</em> questions&#8212;and you need to leave them at the door. This is particularly acute with certifications right now&#8212;a lot of people doubt the value of certifications, claiming folks who have them don&#8217;t know anything, the certifications are worthless, they don&#8217;t reflect the real world, etc.</p>
<p>I will agree that we have a problem with the depth and level of knowledge of network engineers at the moment. We all need to grow up a little, learn technologies rather than CLIs, and actually learn how to be engineers. On the other hand, when you interview someone, or when you are being interviewed&#8230;</p>
<p><strong>Leave your ego at the door.</strong></p>
<p>Is it really worth losing a really good hire because you needed your ego stroked by &#8220;beating&#8221; someone in an interview?</p>
<p>No, I didn&#8217;t think so.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7318</post-id>	</item>
		<item>
		<title>Cultivate questions</title>
		<link>https://rule11.tech/cultivate-questions/</link>
					<comments>https://rule11.tech/cultivate-questions/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 08 Feb 2016 14:29:15 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">http://rule11.tech/?p=5515</guid>

					<description><![CDATA[Imagine that you&#8217;re sitting in a room interviewing a potential candidate for a position on your team. It&#8217;s not too hard to imagine, right, because it happens all the time. You know the next question I&#8217;m going to ask: what questions will you ask this candidate? I know a lot of people who have &#8220;set&#8230;]]></description>
										<content:encoded><![CDATA[<p>Imagine that you&#8217;re sitting in a room interviewing a potential candidate for a position on your team. It&#8217;s not too hard to imagine, right, because it happens all the time. You know the next question I&#8217;m going to ask: what questions will you ask this candidate? I know a lot of people who have &#8220;set questions&#8221; they use to evaluate a candidate, such as &#8220;what is the OSPF type four for,&#8221; or &#8220;why do some states in the BGP peering session not have corresponding packets?&#8221; Since I&#8217;ve worked on certifications in the past (like the CCDE), I understand the value of these sorts of questions. They pinpoint the set and scope of the candidate&#8217;s knowledge, and they&#8217;re easy to grade. But is easy to grade what we should really be after?</p>
<p>Let me expand the scope a little: isn&#8217;t this the way we see our own careers? The engineer with the most bits of knowledge stuffed away when they die wins? I probably need to make a sign that says that, actually, just to highlight the humor of such a thought.</p>
<p>The problem is it simply isn&#8217;t a good way to measure an engineer, including the engineer reading this post (you). For one thing, as Ethan so eloquently pointed out this week—</p>
<blockquote><p><a href="http://www.networkcomputing.com/networking/network-must-change-now/1316707735">The future of IT is not compatible with a network that waits for a human to make a change in accordance with a complex process that takes weeks. And thus it is that the future of networking becomes important. Yes, we grumpy old network engineers know how to build networks in a reliable, predictable way. But that presumes a reliable, predictable demand from business that just isn&#8217;t so in many cases.</a></p></blockquote>
<p>The question becomes: how do we cultivate this culture among network engineers? It&#8217;s nice enough to say, but what do I do? I&#8217;m going to make a simple suggestion. Perhaps, in fact, it&#8217;s too simple. But it&#8217;s worth a try.</p>
<p>Instead of cultivating knowledge, cultivate questions.</p>
<p>Let&#8217;s take my current series on security BGP as an example. <a href="http://rule11.tech/securing-bgp-a-case-study-2/">In part two of the series, from last week,</a> I pointed out that it&#8217;s a long slog through the world of security for BGP. You have to ask a lot of questions, beginning with one that doesn&#8217;t even seem to make sense: what can I actually secure? Cultivating question asking is important because it helps us to actually feel our way around the problem at hand, understanding it better, and finding new ways to solve it.</p>
<p>Okay, so given we want to encourage engineers to ask more questions—that networks must change, now—and the path to changing networks is changing engineers, what do we do?</p>
<p>First, we need to rethink our certifications around cultivating questions. <a href="http://www.cisco.com/c/en/us/training-events/training-certifications/certifications/expert/ccde.html">I think we did a pretty good job with the CCDE here,</a> but the concept of asking if the candidate understands the right question to ask at any given phase of the process is an important skill to measure. I haven&#8217;t taken a CCIE lab since 1997, but I remember my proctor asking me if I knew what I was looking for at various times—he was trying to make certain I knew what questions to ask.</p>
<p>Second, we need to start thinking in models, rather than in technologies. I&#8217;ve written a lot about this; there&#8217;s an entire chapter on models in <em><a href="http://www.amazon.com/Art-Network-Architecture-Business-Driven-Networking/dp/1587143755/ref=sr_1_1?ie=UTF8&amp;qid=1454788410&amp;sr=8-1&amp;keywords=the+art+of+network+architecture">The Art of Network Architecture,</a></em> and more on models in <em><a href="http://www.amazon.com/gp/product/0133989356?keywords=navigating%20network%20complexit&amp;qid=1454788384&amp;ref_=sr_1_sc_1&amp;sr=8-1-spell">Navigating Network Complexity,</a></em> but we really need to start thinking about why rather than how more often. Why do you think I talk about this stuff so often? It&#8217;s not because I don&#8217;t know the inner guts of IS-IS (I have an upcoming video series on this being published by Cisco Press), but because I think the ability to turn models and networks into questions is more important than knowing the guts of any particular protocol.</p>
<p><a href="http://www.networkcomputing.com/networking/network-must-change-now/1316707735">Third, we need to follow Ethan&#8217;s lead and start thinking about a broader set of skills and technology.</a></p>
<p>Finally, maybe—just maybe—we need to start setting up interviews so we can find out if the candidate knows the right questions, rather than focusing on the esoteric game, and whether or not they know all the right answers.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/cultivate-questions/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5515</post-id>	</item>
		<item>
		<title>Innovation and the Internet</title>
		<link>https://rule11.tech/innovation-and-the-internet/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 02 Dec 2015 14:53:13 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">http://rule11.tech/?p=5148</guid>

					<description><![CDATA[Industries mature, of course. That they do so shouldn&#8217;t be surprising to anyone who&#8217;s watched the world for very long. The question is — do they mature in a way that places a few players at the &#8220;top,&#8221; leaving the rest to innovate along the edges? Or do they leave broad swaths of open space&#8230;]]></description>
										<content:encoded><![CDATA[<p>Industries mature, of course. That they do so shouldn&#8217;t be surprising to anyone who&#8217;s watched the world for very long. The question is — do they mature in a way that places a few players at the &#8220;top,&#8221; leaving the rest to innovate along the edges? Or do they leave broad swaths of open space in which many players can compete and innovate? Through most of human history, the answer has been the first: industries, in the modern age, tend to ossify into a form where a few small players control most of the market, leaving the smaller players to innovate along the edges. When the major impetus in building a new company is to &#8220;get bought,&#8221; and the most common way for larger companies to innovate is by buying smaller companies (or doing &#8220;spin ins&#8221;), then you&#8217;ve reached a general point of stability that isn&#8217;t likely to change much.</p>
<p>Is the networking industry entering this &#8220;innovation free zone?&#8221; Or will the networking industry always be a market with more churn, and more innovation? There are signs in both directions.</p>
<p>For instance, there&#8217;s the idea that once technology reaches a certain level of capability, there&#8217;s just no reason for any further forward motion. Fifty years ago, if you would have asked people what airplanes could do, and what they would look like, you have have gotten some wild feedback. Today, ask the same question, and you&#8217;ll likely get the same wild ideas. Things haven&#8217;t changed much in air travel (other than reductions in the amount of space in the cattle cars, it seems) because we&#8217;ve reached the point where new advances don&#8217;t bring much in the way of new benefits.</p>
<p><a href="http://townhall.com/columnists/brianmcnicoll/2015/11/20/draft-n2082888/page/full">Another instance: there is a growing group of &#8220;old&#8221; companies with a lot of money, and they&#8217;re turning that money into political power. The one sure way to ensure stagnation is to get the government involved.</a> A case in point here is LTE-U, which bids fair to turn the last mile upside down. It seems a number of large companies are using their lobbying mojo to make certain older carriers aren&#8217;t allowed to use unlicensed space. A lot of top flight engineers don&#8217;t seem to agree on the overall impact of allowing AT&amp;T, for instance, to expand their wireless network on WiFi frequencies; much of the argument at the moment seems to come down to the political, rather than the engineering aspects of the problem. When lobbying takes over engineering, it&#8217;s a sure sign the industry is moving into an ossified state. Robotics are the new and exciting thing now; the Internet seems like a &#8220;given.&#8221;</p>
<p>On the other hand, routing is more interesting right now than it has been in a long time. Software Defined and cloud are taking over the world, it seems (though a few of us do try to inject a bit of sanity into the news stream every now and then). Over the top services, like SD-WAN, seem to be creating new value in spaces long thought completely ossified. In a somewhat virtual world (hardware still counts, but the intelligence tends to move into the overlay), there isn&#8217;t any apparent point at which you can say, &#8220;we&#8217;re done with this, let&#8217;s move to the next thing.&#8221;</p>
<p>It seems, to me, that we&#8217;re on a bit of a cusp, a turning point. Which way the industry goes depends, in some part, on the way the larger players go. Will they continue to turn to the government, using political muscle to solidify revenue streams? Or will they turn back to real innovation?</p>
<p>Let&#8217;s not lose sight of the role each of us, as individual network engineers, play in the path from this point forward — the choice between the safe vendor bet, and innovating even on a small scale, played out over the thousands of networks in the world, can make a huge difference. We tend to divide the world into small networks with boring problems and large networks with interesting problems. This is a false dichotomy — interesting problems are interesting problems, no matter what the network size. Interested people make for interesting solutions, and in turn, interesting innovation.</p>
<p>We need to realize that no matter how small it seems, we&#8217;re at a point where the small decisions, en mass, will make a big difference. What decisions will you make today?</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5148</post-id>	</item>
	</channel>
</rss>
