PageSourceSearch

https://cedarland.blog/about.html

html cedarland.blog collected 2026-10-02 14:58:36 UTC 12,321 bytes, 223 lines download raw bytes

1<!DOCTYPE HTML>
2<html lang="en" class="sidebar-visible no-js light">
3    <head>
4        <!-- Book generated using mdBook -->
5        <meta charset="UTF-8">
6        <title>About - Cedarland Blog</title>
7
8
9        <!-- Custom HTML head -->
10        
11        <meta name="description" content="">
12        <meta name="viewport" content="width=device-width, initial-scale=1">
13        <meta name="theme-color" content="#ffffff" />
14
15        <link rel="icon" href="favicon.svg">
16        <link rel="shortcut icon" href="favicon.png">
17        <link rel="stylesheet" href="css/variables.css">
18        <link rel="stylesheet" href="css/general.css">
19        <link rel="stylesheet" href="css/chrome.css">
20        <link rel="stylesheet" href="css/print.css" media="print">
21
22        <!-- Fonts -->
23        <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
24        <link rel="stylesheet" href="fonts/fonts.css">
25
26        <!-- Highlight.js Stylesheets -->
27        <link rel="stylesheet" href="highlight.css">
28        <link rel="stylesheet" href="tomorrow-night.css">
29        <link rel="stylesheet" href="ayu-highlight.css">
30
31        <!-- Custom theme stylesheets -->
32
33    </head>
34    <body>
35    <div id="body-container">
36        <!-- Provide site root to javascript -->
37        
37<script>
38            var path_to_root = "";
39            var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
40        </script>
40
41
42        <!-- Work around some values being stored in localStorage wrapped in quotes -->
43        
43<script>
44            try {
45                var theme = localStorage.getItem('mdbook-theme');
46                var sidebar = localStorage.getItem('mdbook-sidebar');
47
48                if (theme.startsWith('"') && theme.endsWith('"')) {
49                    localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
50                }
51
52                if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
53                    localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
54                }
55            } catch (e) { }
56        </script>
56
57
58        <!-- Set the theme before any content is loaded, prevents flash -->
59        
59<script>
60            var theme;
61            try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
62            if (theme === null || theme === undefined) { theme = default_theme; }
63            var html = document.querySelector('html');
64            html.classList.remove('no-js')
65            html.classList.remove('light')
66            html.classList.add(theme);
67            html.classList.add('js');
68        </script>
68
69
70        <!-- Hide / unhide sidebar before it is displayed -->
71        
71<script>
72            var html = document.querySelector('html');
73            var sidebar = null;
74            if (document.body.clientWidth >= 1080) {
75                try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
76                sidebar = sidebar || 'visible';
77            } else {
78                sidebar = 'hidden';
79            }
80            html.classList.remove('sidebar-visible');
81            html.classList.add("sidebar-" + sidebar);
82        </script>
82
83
84        <nav id="sidebar" class="sidebar" aria-label="Table of contents">
85            <div class="sidebar-scrollbox">
86                <ol class="chapter"><li class="chapter-item expanded affix "><a href="about.html" class="active">About</a></li><li class="chapter-item expanded "><a href="design/introduction/content.html"><strong aria-hidden="true">1.</strong> Design History</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="design/why-cedar/content.html"><strong aria-hidden="true">1.1.</strong> Why was Cedar created?</a></li><li class="chapter-item expanded "><a href="design/why-no-regex/content.html"><strong aria-hidden="true">1.2.</strong> Why doesn't Cedar have regexes and string operators?</a></li><li class="chapter-item expanded "><a href="design/why-no-float/content.html"><strong aria-hidden="true">1.3.</strong> Why doesn't Cedar support floating point numbers?</a></li><li class="chapter-item expanded "><a href="design/why-no-entity-wildcards/content.html"><strong aria-hidden="true">1.4.</strong> Why doesn't Cedar allow wildcards in Entity Ids?</a></li><li class="chapter-item expanded "><a href="design/why-ignore-errors/content.html"><strong aria-hidden="true">1.5.</strong> Why does Cedar ignore policies that error?</a></li><li class="chapter-item expanded "><a href="design/why-semicolon/content.html"><strong aria-hidden="true">1.6.</strong> Why do Cedar policies end with a semi-colon?</a></li></ol></li><li class="chapter-item expanded "><a href="usage/introduction/content.html"><strong aria-hidden="true">2.</strong> Cedar Usage</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="usage/compression/content.html"><strong aria-hidden="true">2.1.</strong> How well do Cedar policies compress?</a></li><li class="chapter-item expanded "><a href="usage/partial-evaluation/content.html"><strong aria-hidden="true">2.2.</strong> A quick guide to partial evaluation</a></li></ol></li></ol>
87            </div>
88            <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
89        </nav>
90
91        <div id="page-wrapper" class="page-wrapper">
92
93            <div class="page">
94                                <div id="menu-bar-hover-placeholder"></div>
95                <div id="menu-bar" class="menu-bar sticky bordered">
96                    <div class="left-buttons">
97                        <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
98                            <i class="fa fa-bars"></i>
99                        </button>
100                        <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
101                            <i class="fa fa-paint-brush"></i>
102                        </button>
103                        <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
104                            <li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
105                            <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
106                            <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
107                            <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
108                            <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
109                        </ul>
110                        <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
111                            <i class="fa fa-search"></i>
112                        </button>
113                    </div>
114
115                    <h1 class="menu-title">Cedarland Blog</h1>
116
117                    <div class="right-buttons">
118                        <a href="print.html" title="Print this book" aria-label="Print this book">
119                            <i id="print-button" class="fa fa-print"></i>
120                        </a>
121
122                    </div>
123                </div>
124
125                <div id="search-wrapper" class="hidden">
126                    <form id="searchbar-outer" class="searchbar-outer">
127                        <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
128                    </form>
129                    <div id="searchresults-outer" class="searchresults-outer hidden">
130                        <div id="searchresults-header" class="searchresults-header"></div>
131                        <ul id="searchresults">
132                        </ul>
133                    </div>
134                </div>
135
136                <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
137                
137<script>
138                    document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
139                    document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
140                    Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
141                        link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
142                    });
143                </script>
143
144
145                <div id="content" class="content">
146                    <main>
147                        <h2 id="its-not-about-the-tree"><a class="header" href="#its-not-about-the-tree">It's not about the tree...</a></h2>
148<html>
149<table style="border-collapse: collapse; padding: 0; margin: 0;">
150        <tr>
151            <td style="border: none; width: 25%; vertical-align: top">
152                <img src="./img/IllustratedCedarTree.jpeg" alt="Your Image" style="display: block; width: 100%; height: auto;">
153            </td>
154            <td style="border: none; vertical-align: top">
155	        <p>
156		This is a blog about the <strong><a href="https://www.cedarpolicy.com/">Cedar Policy Language</a></strong>.
157                <p>
158                I'm Darin McAdams, Sr. Principal Engineer in Amazon Web Services and part of the team that originally built Cedar.
159		</p>
160		<p>
161		This is my personal blog covering Cedar topics such as the language design, usage patterns, and various other curiosities. All opinions are my own. All intelligent statements probably come from my teammates.
162                </p>
163            </td>
164        </tr>
165</table>
166</html>
167<h2 id="recent-posts"><a class="header" href="#recent-posts">Recent Posts</a></h2>
168<ul>
169<li><a href="./usage/partial-evaluation/content.html">December 5, 2023 - A quick guide to partial evaluation</a></li>
170<li><a href="./usage/compression/content.html">July 16, 2023 - How well do Cedar policies compress?</a></li>
171<li><a href="./design/why-no-entity-wildcards/content.html">June 27, 2023 - Why doesn't Cedar allow wildcards in Entity Ids?</a></li>
172<li><a href="./design/why-no-regex/content.html">June 25, 2023 - Why doesn't Cedar have regexes or string formatting operators?</a></li>
173<li><a href="./design/why-no-float/content.html">June 25, 2023 - Why doesn't Cedar support floating-point numbers?</a></li>
174<li><a href="./design/why-ignore-errors/content.html">June 25, 2023 - Why does Cedar ignore policies that error?</a></li>
175<li><a href="./design/why-semicolon/content.html">June 25, 2023 - Why do Cedar policies end with a semi-colon?</a></li>
176<li><a href="./design/why-cedar/content.html">June 12, 2023 - Why was Cedar created?</a></li>
177</ul>
178
179                    </main>
180
181                    <nav class="nav-wrapper" aria-label="Page navigation">
182                        <!-- Mobile navigation buttons -->
183
184                            <a rel="next" href="design/introduction/content.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
185                                <i class="fa fa-angle-right"></i>
186                            </a>
187
188                        <div style="clear: both"></div>
189                    </nav>
190                </div>
191            </div>
192
193            <nav class="nav-wide-wrapper" aria-label="Page navigation">
194
195                    <a rel="next" href="design/introduction/content.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
196                        <i class="fa fa-angle-right"></i>
197                    </a>
198            </nav>
199
200        </div>
201
202
203
204
205        
205<script>
206            window.playground_copyable = true;
207        </script>
207
208
209
210        
210<script src="elasticlunr.min.js"></script>
210
211        
211<script src="mark.min.js"></script>
211
212        
212<script src="searcher.js"></script>
212
213
214        
214<script src="clipboard.min.js"></script>
214
215        
215<script src="highlight.js"></script>
215
216        
216<script src="book.js"></script>
216
217
218        <!-- Custom JS scripts -->
219
220
221    </div>
222    </body>
223</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.