<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: russcox</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/russcox.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2024-06-17T10:46:56+00:00</updated><author><name>Simon Willison</name></author><entry><title>Quoting Russ Cox</title><link href="https://simonwillison.net/2024/Jun/17/russ-cox/#atom-tag" rel="alternate"/><published>2024-06-17T10:46:56+00:00</published><updated>2024-06-17T10:46:56+00:00</updated><id>https://simonwillison.net/2024/Jun/17/russ-cox/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://research.swtch.com/vgo-eng"&gt;&lt;p&gt;Most people think that we format Go code with &lt;code&gt;gofmt&lt;/code&gt; to make code look nicer or to end debates among team members about program layout. But &lt;a href="https://groups.google.com/forum/#!msg/golang-nuts/HC2sDhrZW5Y/7iuKxdbLExkJ"&gt;the most important reason for gofmt&lt;/a&gt; is that if an algorithm defines how Go source code is formatted, then programs, like &lt;code&gt;goimports&lt;/code&gt; or &lt;code&gt;gorename&lt;/code&gt; or &lt;code&gt;go fix&lt;/code&gt;, can edit the source code more easily, without introducing spurious formatting changes when writing the code back. This helps you maintain code over time.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://research.swtch.com/vgo-eng"&gt;Russ Cox&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/go"&gt;go&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/russcox"&gt;russcox&lt;/a&gt;&lt;/p&gt;



</summary><category term="go"/><category term="russcox"/></entry><entry><title>RE2: a principled approach to regular expression matching</title><link href="https://simonwillison.net/2010/Mar/12/re2/#atom-tag" rel="alternate"/><published>2010-03-12T09:28:21+00:00</published><updated>2010-03-12T09:28:21+00:00</updated><id>https://simonwillison.net/2010/Mar/12/re2/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://google-opensource.blogspot.com/2010/03/re2-principled-approach-to-regular.html"&gt;RE2: a principled approach to regular expression matching&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Google have open sourced RE2, the C++ regular expression library they developed for Google Code Search, Sawzall, Bigtable and other internal projects. Unlike PCRE it avoids the potential for exponential run time and unbounded stack usage and guarantees that searches complete in linear time, mainly by dropping support for back references.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/c-plus-plus"&gt;c-plus-plus&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pcre"&gt;pcre&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/re2"&gt;re2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/regex"&gt;regex&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/russcox"&gt;russcox&lt;/a&gt;&lt;/p&gt;



</summary><category term="c-plus-plus"/><category term="google"/><category term="open-source"/><category term="pcre"/><category term="re2"/><category term="regex"/><category term="russcox"/></entry></feed>