<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: andrew-gallant</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/andrew-gallant.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2024-07-22T04:48:35+00:00</updated><author><name>Simon Willison</name></author><entry><title>Jiff</title><link href="https://simonwillison.net/2024/Jul/22/jiff/#atom-tag" rel="alternate"/><published>2024-07-22T04:48:35+00:00</published><updated>2024-07-22T04:48:35+00:00</updated><id>https://simonwillison.net/2024/Jul/22/jiff/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/BurntSushi/jiff"&gt;Jiff&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Andrew Gallant (aka BurntSushi) implemented &lt;a href="https://github.com/rust-lang/regex"&gt;regex&lt;/a&gt; for Rust and built the fabulous &lt;a href="https://github.com/BurntSushi/ripgrep"&gt;ripgrep&lt;/a&gt;, so it's worth paying attention to their new projects.&lt;/p&gt;
&lt;p&gt;Jiff is a brand new datetime library for Rust which focuses on "providing high level datetime primitives that are difficult to misuse and have reasonable performance". The API design is heavily inspired by the &lt;a href="https://tc39.es/proposal-temporal/docs/index.html"&gt;Temporal&lt;/a&gt; proposal for JavaScript.&lt;/p&gt;
&lt;p&gt;The core type provided by Jiff is &lt;code&gt;Zoned&lt;/code&gt;, best imagine as a 96-bit integer nanosecond time since the Unix each combined with a geographic region timezone and a civil/local calendar date and clock time.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://docs.rs/jiff/latest/jiff/"&gt;documentation&lt;/a&gt; is comprehensive and a fascinating read if you're interested in API design and timezones.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/burntsushi5/status/1815196645392527519"&gt;@burntsushi5&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/api-design"&gt;api-design&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/timezones"&gt;timezones&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rust"&gt;rust&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/andrew-gallant"&gt;andrew-gallant&lt;/a&gt;&lt;/p&gt;



</summary><category term="api-design"/><category term="timezones"/><category term="rust"/><category term="andrew-gallant"/></entry><entry><title>ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}</title><link href="https://simonwillison.net/2019/Apr/16/ripgrep/#atom-tag" rel="alternate"/><published>2019-04-16T17:52:53+00:00</published><updated>2019-04-16T17:52:53+00:00</updated><id>https://simonwillison.net/2019/Apr/16/ripgrep/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://blog.burntsushi.net/ripgrep/"&gt;ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Andrew Gallant's post from September 2016 introducing &lt;a href="https://github.com/BurntSushi/ripgrep"&gt;ripgrep&lt;/a&gt;, the command-line grep tool he wrote using Rust (on top of the Rust regular expression library also written by Andrew). &lt;code&gt;ripgrep&lt;/code&gt; is a beautifully designed CLI interface and is crazy fast, and this post describes how it gets its performance in a huge amount of detail, right down to comparing the different algorithmic approaches used by other similar tools.&lt;/p&gt;
&lt;p&gt;I recently learned that ripgrep ships as part of VS Code, which is why VS Code's search-across-project feature is so fast. In fact, if you dig around in the OS X package you can find the &lt;code&gt;rg&lt;/code&gt; binary already installed on your mac:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;find /Applications/Visual* | grep bin/rg
&lt;/code&gt;&lt;/pre&gt;

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://news.ycombinator.com/item?id=19669789"&gt;Ripgrep 11 Released&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/cli"&gt;cli&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rust"&gt;rust&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ripgrep"&gt;ripgrep&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vs-code"&gt;vs-code&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/andrew-gallant"&gt;andrew-gallant&lt;/a&gt;&lt;/p&gt;



</summary><category term="cli"/><category term="rust"/><category term="ripgrep"/><category term="vs-code"/><category term="andrew-gallant"/></entry></feed>