PageSourceSearch

https://dotnetpowered.com/

html dotnetpowered.com collected 2026-10-03 20:04:22 UTC 25,512 bytes, 375 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" class="csstransforms csstransforms3d csstransitions">
3<head>
4    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5    <meta charset="utf-8">
6    <title>BRIAN RITCHIE</title>
7    <meta name="viewport" content="width=device-width, initial-scale=1.0">
8    <meta name="description" content="">
9    <meta name="author" content="Brian Ritchie">
10
11    <link href="./css/bootstrap.css" rel="stylesheet">
12    <link href="./css/bootstrap-responsive.css" rel="stylesheet">
13    <link href="./css/docs.css" rel="stylesheet">
14    <link href="./css/nivo-slider.css" type="text/css" media="screen" rel="stylesheet">
15    <link href="./css/font-awesome.css" rel="stylesheet">
16
17    <link href="./css/base.css" rel="stylesheet" type="text/css">
18
19    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
20    <!--[if lt IE 9]>
21    
21<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
21
22    <![endif]-->
23    <!--[if lte IE 8]>
24    <link rel="stylesheet" type="text/css" href="assets/css/ie.css" />
25    <![endif]-->
26
27    
27<script type="text/javascript">
28
29        var _gaq = _gaq || [];
30        _gaq.push(['_setAccount', 'UA-340375-1']);
31        _gaq.push(['_trackPageview']);
32
33        (function () {
34            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
35            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
36            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
37        })();
38
39    </script>
39
40
41</head>
42
43<body data-twttr-rendered="true">
44
45    <div class="container">
46        <div class="span11">
47            <div class="span3">
48                <div class="my_block">
49                    <h1>Brian <strong>Ritchie</strong></h1>
50                    <hr>
51                    <p>
52                        <strong>CTO</strong>, Architect, Coder, and Author<br><br>
53                        Building software, designing products, and leading teams.
54                        Constantly learning. Sharing knowledge.
55                    </p>
56
57                    <ul style="font-size:11px; margin-bottom:10px;" class="unstyled">
58                        <li><i class="icon-linkedin-sign"></i><a href="http://www.linkedin.com/in/britchie">LinkedIn</a></li>
59                        <li><i class="icon-twitter"></i><a href="http://www.twitter.com/brian_ritchie">Twitter</a></li>
60                        <li><i class="icon-rss-sign"></i><a href="https://www2.slideshare.net/brianritchie1">Slideshare</a></li>
61                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered">GitHub</a></li>
62                        <li><i class="icon-book"></i><a href="http://amazon.com/author/brian.ritchie">Amazon</a></li>
63                        <li><i class="icon-flickr"></i><a href="http://www.flickr.com/photos/77020316@N08/sets/">Flickr</a></li>
64                    </ul>
65                    <br>
66                    <h5>Open Source Projects</h5>
67                    <hr class="inner_hr">
68                    <ul style="font-size:11px; margin-bottom:10px;" class="unstyled">
69                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/Efflux">Efflux</a><br>A stream storage and processing framework</li>
70                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/FluentDbAccess">FluentDbAccess</a><br>A fluent data access library</li>
71                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/FreeformTextParser">FreeformTextParser</a><br>A text parser for semi-structured text documents</li>
72                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/MacOsSystemProfiler">MacOsSystemProfiler</a><br>Read system information on MacOS</li>
73                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/NoteX">NoteX</a><br>The Clinical Note Enhancer</li>
74                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/SharpDbSchema">SharpDbSchema</a><br>Abstraction layer for retrieving database schema metadata</li>
75                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/SimpleEvaluator">SimpleEvaluator</a><br>String expression evaluator with function plugin support</li>
76                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/SplunkMailProcessor">SplunkMailProcessor</a><br>Processes mail messages from a Exchange/Office365 mailbox and ingests them as alerts into Splunk</li>
77                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/Substratum">Substratum</a><br>Reusable foundation classes for C#</li>
78                        <li><i class="icon-github"></i><a href="https://github.com/dotnetpowered/mono/tree/mono-4.0.0-branch/mcs/class/System.Data/System.Data.Odbc">Mono System.Data.Odbc</a><br>Created initial ODBC provider for Mono</li>
79                    </ul>
80                </div>
81            </div>
82            <div class="span4">
83                <div class="row">
84                    <div style="margin-left:20px;margin-bottom:20px;height:20px;padding:10px">
85                        <h3>TOP BLOG POSTS</h3>
86                    </div>
87                </div>
88                <div class="descr">
89                    <ul class="headline">
90                        <li>
91                            <span class="description"><a class="headline" href="https://www.linkedin.com/pulse/focusing-technology-improvements-using-pareto-brian-ritchie">Focusing Technology Improvements using the Pareto Principle</a></span>
92                        </li>
93                        <li>
94                            <span class="description"><a class="headline" href="https://www.linkedin.com/pulse/taking-your-technology-career-next-level-brian-ritchie">Taking your technology career to the next level</a></span>
95                        </li>
96                        <li>
97                            <span class="description"><a class="headline" href="https://www.linkedin.com/pulse/principle-being-smart-lazy-brian-ritchie">The Principle of being Smart and Lazy</a></span>
98                        </li>
99                        <li>
100                            <span class="description"><a class="headline" href="https://www.linkedin.com/pulse/5-steps-better-software-estimates-brian-ritchie">5 steps to better software estimates</a></span>
101                        </li>
102                        <li>
103                            <span class="description"><a class="headline" href="https://www.linkedin.com/pulse/understanding-distributed-systems-through-conflicting-brian-ritchie">Understanding Distributed Systems through Conflicting Models of the Universe</a></span>
104                        </li>
105                        <li>
106                            <span class="description"><a class="headline" href="https://www.linkedin.com/pulse/fallacies-distributed-computing-brian-ritchie">The fallacies of distributed computing</a></span>
107                        </li>
108                  </ul>
109                </div>
110                <div class="row">
111                    <div style="margin-left:20px;margin-bottom:20px;height:20px;padding:10px;padding-top:50px">
112                        <h3>BOOKS</h3>
113                    </div>
114                </div>
115                <div class="view view-first">
116                    <!-- <div class="new"></div> -->
117                    <a href="http://goo.gl/mF5yi5"><img src="./img/ravendbhp-book.png" alt=""></a>
118                </div>
119                <div class="descr">
120                    <h4><a href="http://goo.gl/mF5yi5">RavenDB High Performance</a></h4>
121                    <p>RavenDB is an exciting technology that challenges developers to reconsider their old ways of thinking about databases. In this day and age, Internet-scale applications require this fresh perspective. RavenDB High Performance moves beyond the basics and guides you through building scalable applications using the rich features and extensibility of RavenDB.</p>
122                </div>
123                <div class="row">
124                    <div style="margin-left:20px;margin-bottom:20px;height:20px;padding:10px;padding-top:50px">
125                        <h3>BLOG ARCHIVE</h3>
126                    </div>
127                </div>
128                <div class="descr">
129                    <h4>AppFabric</h4>
130                    <ul class="headline">
131                        <li>
132                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/10/26/configuring-appfabric-session-hosts-dynamically.aspx">Configuring AppFabric Session Hosts Dynamically</a></span>
133                        </li>
134                        <li>
135                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/09/08/death-to-windows-services-long-live-appfabric.aspx">Death to Windows Services...Long Live AppFabric!</a></span>
136                        </li>
137                        <li>
138                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2011/08/27/scaling-out-net-presentation-at-jax-code-camp-2011.aspx">Scaling Out .NET Presentation at Jax Code Camp 2011</a></span>
139                        </li>
140                        <li>
141                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/11/30/the-importance-of-clock-alignment-between-appfabric-servers.aspx">The importance of clock alignment between AppFabric servers</a></span>
142                        </li>
143                    </ul>
144                    <h4>C#</h4>
145                    <ul class="headline">
146                        <li>
147                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/08/08/c-compiler-as-a-service.aspx">C# compiler as a service</a></span>
148                        </li>
149                        <li>
150                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2004/08/30/data-binding-to-web-service-proxies.aspx">Data-Binding to Web Service Proxies</a></span>
151                        </li>
152                        <li>
153                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/08/03/dynamicduck-duck-typing-in-a-dynamic-world.aspx">DynamicDuck: Duck Typing in a Dynamic World</a></span>
154                        </li>
155                        <li>
156                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2005/07/25/embedding-xsp-mono-webserver-in-your-application.aspx">Embedding XSP (Mono.WebServer) in your application</a></span>
157                        </li>
158                        <li>
159                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/10/04/extracting-exif-metadata-from-jpg-images.aspx">Extracting EXIF metadata from JPG images</a></span>
160                        </li>
161                        <li>
162                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/08/05/json-net-dynamic-extensions.aspx">Json.NET Dynamic Extensions</a></span>
163                        </li>
164                        <li>
165                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2005/06/14/updated-wsdl-exe-with-better-data-binding-support.aspx">Updated wsdl.exe with better data-binding support</a></span>
166                        </li>
167                        <li>
168                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2004/08/02/using-web-services-locally.aspx">Using web services locally</a></span>
169                        </li>
170                    </ul>
171                    <h4>Development</h4>
172                    <ul class="headline">
173                        <li>
174                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2008/06/18/net-debugger-visualizers.aspx">32 ways to Visualize your debugging experience</a></span>
175                        </li>
176                        <li>
177                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/08/22/adam-savage-presents-problem-solving-how-i-do-it.aspx">Adam Savage Presents Problem Solving: How I Do It</a></span>
178                        </li>
179                        <li>
180                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2006/09/11/The-Principle-of-being-Smart-and-Lazy.aspx">The Principle of being Smart and Lazy</a></span>
181                        </li>
182                        <li>
183                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/08/10/virtualization-of-developer-workstations.aspx">Virtualization of Developer Workstations</a></span>
184                        </li>
185                    </ul>
186                    <h4>Networking</h4>
187                    <ul class="headline">
188                        <li>
189                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2005/01/23/cerf-s-up.aspx">Cerf's Up</a></span>
190                        </li>
191                        <li>
192                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/10/01/content-centric-networking.aspx">Content-Centric Networking </a></span>
193                        </li>
194                    </ul>
195                    <h4>NO SQL</h4>
196                    <ul class="headline">
197                        <li>
198                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/08/12/document-databases.aspx">An Introduction to Document Databases</a></span>
199                        </li>
200                        <li>
201                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/09/29/document-database-amp-ravendb-presentation-posted-on-slideshare.aspx">Document Database &amp; RavenDB presentation posted on SlideShare</a></span>
202                        </li>
203                        <li>
204                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/08/17/document-databases-compared-mongodb-couchdb-and-ravendb.aspx">Document Databases Compared: MongoDB, CouchDB, and RavenDB</a></span>
205                        </li>
206                        <li>
207                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/09/27/speaking-at-jax-arc-sig-on-document-databases-amp-ravendb.aspx">Speaking at Jax Arc SIG on Document Databases &amp; RavenDB</a></span>
208                        </li>
209                    </ul>
210                    <h4>SQL Server</h4>
211                    <ul class="headline">
212                        <li>
213                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2008/02/29/pulling-back-the-covers-on-sql-server.aspx">Pulling back the covers on SQL Server</a></span>
214                        </li>
215                        <li>
216                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2004/06/21/sharpdbschema-updates.aspx">SharpDbSchema Updates</a></span>
217                        </li>
218                        <li>
219                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/07/27/things-you-don-t-want-to-hear-your-dba-say.aspx">Things you don't want to hear your DBA say...</a></span>
220                        </li>
221                    </ul>
222                    <h4>Subversion</h4>
223                    <ul class="headline">
224                        <li>
225                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2010/07/29/collabnet-introduces-subversion-edge.aspx">CollabNet introduces Subversion Edge</a></span>
226                        </li>
227                        <li>
228                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2008/07/14/keeping-an-eye-on-your-subversion-repository.aspx">Keeping an eye on your Subversion repository</a></span>
229                        </li>
230                        <li>
231                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2006/09/02/RSS-Subversion-Change-Log-.aspx">RSS Subversion Change Log </a></span>
232                        </li>
233                        <li>
234                            <span class="description"><a class="headline" href="http://weblogs.asp.net/britchie/archive/2008/06/29/subversion-1-5-brings-merge-improvements-amp-more.aspx">Subversion 1.5 brings merge improvements &amp; more</a></span>
235                        </li>
236                    </ul>
237                </div>
238            </div>
239            <div class="span3">
240                <div class="row">
241                    <div style="margin-left:20px;margin-bottom:20px;height:20px;padding:10px">
242                        <h3>PRESENTATIONS</h3>
243                    </div>
244                </div>
245                <div class="row">
246                    <div class="span3 block">
247                        <div class="view view-first">
248                            <a href="https://www.slideshare.net/brianritchie1/transforming-your-application-with-elasticsearch"><img src="./img/elasticsearch.jpg" alt=""></a>
249                        </div>
250                        <div class="descr">
251                            <h4><a href="https://www.slideshare.net/brianritchie1/transforming-your-application-with-elasticsearch">Transforming your application with Elastic Search</a></h4>
252                            <p>Have an existing application that needs search super powers? Or are ad hoc searches melting your SQL Server? Either way, this is the presentation for you. We will explore search enabling an existing application - from data modeling to retrieval. In this talk, we will c
252over data modeling for search, connecting ElasticSearch to your data pipeline, building a search API and connecting to an Angular web site.</p>
253                        </div>
254                    </div>
255                </div>                
256                <div class="row">
257                    <div class="span3 block">
258                        <div class="view view-first">
259                            <a href="http://goo.gl/LlrVMY"><img src="./img/kafka.png" alt=""></a>
260                        </div>
261                        <div class="descr">
262                            <h4><a href="http://goo.gl/LlrVMY">Build Event-Driven Systems with Apache Kafka</a></h4>
263                            <p>Event-driven systems provide simplified integration, easy notifications, inherent scalability and improved fault tolerance. In this session we'll cover the basics of building event driven systems and then dive into utilizing Apache Kafka for the infrastructure. </p>
264                        </div>
265                    </div>
266                </div>
267
268                <div class="row">
269                    <div class="span3 block">
270                        <div class="view view-first">
271                            <a href="http://goo.gl/6LPd3T"><img src="./img/splunk.png" alt=""></a>
272                        </div>
273                        <div class="descr">
274                            <h4><a href="http://goo.gl/6LPd3T">From Dev to Ops:�Delivering an API to Production with Splunk</a></h4>
275                            <p>As your API moves into operations, we will explore how you can use the Splunk platform to give your devops or ops teams the operational insight they need. We will demonstrate how Splunk can be used to provide historical and realtime visibility into your API applications and much more.</p>
276                            [<a href="https://goo.gl/KPx4gP">Video</a>]
277                        </div>
278                    </div>
279
280                    <div class="span3 block">
281                        <div class="view view-first">
282                            <a href="http://goo.gl/QdgwlS"><img src="./img/cqrs.jpg" alt=""></a>
283                        </div>
284                        <div class="descr">
285                            <h4><a href="http://goo.gl/QdgwlS">CQRS: Command/Query Responsibility Segregation</a></h4>
286                            <p>A scalable pattern for building large multi-user system.</p>
287                        </div>
288                    </div>
289
290                    <div class="span3 block">
291                        <div class="view view-first">
292                            <a href="http://goo.gl/zRU1NH"><img src="./img/scalingout.jpg" alt=""></a>
293                        </div>
294                        <div class="descr">
295                            <h4><a href="http://goo.gl/zRU1NH">Scaling Out .NET</a></h4>
296                            <p>Scale Out your .NET applications by leveraging IIS7, AppFabric, Web Farm Framework, and Web Deploy. </p>
297                        </div>
298                    </div>
299                </div>
300                <div class="row">
301                    <div class="span3 block">
302                        <div class="view view-first">
303                            <a href="http://goo.gl/Q7FDAf"><img src="./img/docdb.jpg" alt=""></a>
304                        </div>
305                        <div class="descr">
306                            <h4><a href="http://goo.gl/Q7FDAf">Document Databases & RavenDB</a></h4>
307                            <p>Learn about NoSQL, Document Databases, and RavenDB: a 2nd Generation Document Database.</p>
308                        </div>
309                    </div>
310
311                    <div class="span3 block">
312                        <div class="view view-first">
313                            <a href="http://goo.gl/BXpeBI"><img src="./img/iishosting.jpg" alt=""></a>
314                        </div>
315                        <div class="descr">
316                            <h4><a href="http://goo.gl/BXpeBI">IIS Always-On Services</a></h4>
317                            <p>Simplify your enterprise by standardizing on the IIS application server for both Web & Windows Services.</p>
318                        </div>
319                    </div>
320
321                    <div class="span3 block">
322                        <div class="view view-first">
323                            <a href="http://goo.gl/H09sMv"><img src="./img/mef.jpg" alt=""></a>
324                        </div>
325                        <div class="descr">
326                            <h4><a href="http://goo.gl/H09sMv">Extending the Enterprise with MEF</a></h4>
327                            <p>
327Building extensibility into your enterprise apps with the Managed Extensibility Framework.</p>
328                        </div>
329                    </div>
330
331                </div>
332            </div>
333        </div>
334        <!-- FOOTER -->
335        <footer>
336            <div class="span10">
337                &copy; Copyright 2021, Brian Ritchie.
338            </div>
339            <div class="span10">
340                <ul class="footer-menu unstyled"></ul>
341            </div>
342        </footer>
343
344    </div>
345    
345<script type="text/javascript" async="" src="./js/ga.js"></script>
345
346    
346<script type="text/javascript" src="./js/jquery-1.7.1.min.js" style=""></script>
346
347    
347<script type="text/javascript" src="./js/widgets.js"></script>
347
348    
348<script src="./js/prettify.js"></script>
348
349    
349<script src="./js/bootstrap-transition.js"></script>
349
350    
350<script src="./js/bootstrap-alert.js"></script>
350
351    
351<script src="./js/bootstrap-modal.js"></script>
351
352    
352<script src="./js/bootstrap-dropdown.js"></script>
352
353    
353<script src="./js/bootstrap-scrollspy.js"></script>
353
354    
354<script src="./js/bootstrap-tab.js"></script>
354
355    
355<script src="./js/bootstrap-tooltip.js"></script>
355
356    
356<script src="./js/bootstrap-popover.js"></script>
356
357    
357<script src="./js/bootstrap-button.js"></script>
357
358    
358<script src="./js/bootstrap-collapse.js"></script>
358
359    
359<script src="./js/bootstrap-carousel.js"></script>
359
360    
360<script src="./js/bootstrap-typeahead.js"></script>
360
361    
361<script src="./js/application.js"></script>
361
362    
362<script src="./js/jquery.easing.1.3.js"></script>
362
363    
363<script src="./js/superfish.js"></script>
363
364    
364<script src="./js/jquery.nivo.slider.js"></script>
364
365    
365<script src="./js/twitter.js"></script>
365
366    
366<script src="./js/jquery.waitforimages.js"></script>
366
367    
367<script src="./js/jquery.isotope.min.js"></script>
367
368    
368<script src="./js/testimonialrotator.js"></script>
368
369    
369<script src="./js/slides.min.jquery.js"></script>
369
370    
370<script src="./js/jquery.preloader.js"></script>
370
371    
371<script src="./js/main.js" type="text/javascript"></script>
371
372    
372<script src="./js/custom.js"></script>
372
373
374</body>
375</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.