diff options
author | Akshay <[email protected]> | 2020-06-18 06:23:42 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2020-06-18 06:23:42 +0100 |
commit | 3fd26332e62db662e6e5c88e07aa25eb28598224 (patch) | |
tree | cea96f0f13000cfe61c73653853102fdf316d3ed | |
parent | ac21eab7ee1a6c81101bd4337c39eee41d292dfd (diff) |
spill straight fax
-rw-r--r-- | docs/index.html | 2 | ||||
-rw-r--r-- | docs/index.xml | 36 | ||||
-rw-r--r-- | docs/posts/turing_complete_type_systems/index.html | 6 | ||||
-rw-r--r-- | posts/turing_complete_type_systems.md | 3 |
4 files changed, 24 insertions, 23 deletions
diff --git a/docs/index.html b/docs/index.html index 003835c..68da119 100644 --- a/docs/index.html +++ b/docs/index.html | |||
@@ -44,7 +44,7 @@ | |||
44 | </td> | 44 | </td> |
45 | <td class=table-stats> | 45 | <td class=table-stats> |
46 | <span class="stats-number"> | 46 | <span class="stats-number"> |
47 | 0.8 | 47 | 0.9 |
48 | </span> | 48 | </span> |
49 | <span class=stats-unit>min</span> | 49 | <span class=stats-unit>min</span> |
50 | </td> | 50 | </td> |
diff --git a/docs/index.xml b/docs/index.xml index 17d6bd8..9c2704b 100644 --- a/docs/index.xml +++ b/docs/index.xml | |||
@@ -12,7 +12,7 @@ | |||
12 | <language>en-us</language> | 12 | <language>en-us</language> |
13 | <copyright>Creative Commons BY-NC-SA 4.0</copyright> | 13 | <copyright>Creative Commons BY-NC-SA 4.0</copyright> |
14 | <item> | 14 | <item> |
15 | <title>Turing Complete Type Systems</title> | 15 | <title>turing_complete_type_systems</title> |
16 | <description><p>Rust’s type system is Turing complete:</p> | 16 | <description><p>Rust’s type system is Turing complete:</p> |
17 | <ul> | 17 | <ul> |
18 | <li><a href="https://github.com/doctorn/trait-eval/">FizzBuzz with Rust Traits</a></li> | 18 | <li><a href="https://github.com/doctorn/trait-eval/">FizzBuzz with Rust Traits</a></li> |
@@ -20,14 +20,14 @@ | |||
20 | </ul> | 20 | </ul> |
21 | <p>It is impossible to determine if a program written in a generally Turing complete system will ever stop. That is, it is impossible to write a program <code>f</code> that determines if a program <code>g</code>, where <code>g</code> is written in a Turing complete programming language, will ever halt. The <a href="https://en.wikipedia.org/wiki/Halting_problem">Halting Problem</a> is in fact, an <a href="https://en.wikipedia.org/wiki/Undecidable_problem">undecidable problem</a>.</p> | 21 | <p>It is impossible to determine if a program written in a generally Turing complete system will ever stop. That is, it is impossible to write a program <code>f</code> that determines if a program <code>g</code>, where <code>g</code> is written in a Turing complete programming language, will ever halt. The <a href="https://en.wikipedia.org/wiki/Halting_problem">Halting Problem</a> is in fact, an <a href="https://en.wikipedia.org/wiki/Undecidable_problem">undecidable problem</a>.</p> |
22 | <p><em>How is any of this relevant?</em></p> | 22 | <p><em>How is any of this relevant?</em></p> |
23 | <p>Rust performs compile-time type inference. The type checker, in turn, compiles and infers types, I would describe it as a compiler inside a compiler. It is possible that <code>rustc</code> may never finish compiling your Rust program!</p> | 23 | <p>Rust performs compile-time type inference. The type checker, in turn, compiles and infers types, I would describe it as a compiler inside a compiler. It is possible that <code>rustc</code> may never finish compiling your Rust program! I lied, <code>rustc</code> stops after a while, after hitting the recursion limit.</p> |
24 | <p>I understand that this post lacks content.</p></description> | 24 | <p>I understand that this post lacks content.</p></description> |
25 | <link>https://peppe.rs/posts/turing_complete_type_systems/</link> | 25 | <link>https://peppe.rs/posts/turing_complete_type_systems/</link> |
26 | <pubDate>Thu, 18 Jun 2020 05:07:00 +0000</pubDate> | 26 | <pubDate>Thu, 18 Jun 2020 05:18:00 +0000</pubDate> |
27 | <guid>https://peppe.rs/posts/turing_complete_type_systems/</guid> | 27 | <guid>https://peppe.rs/posts/turing_complete_type_systems/</guid> |
28 | </item> | 28 | </item> |
29 | <item> | 29 | <item> |
30 | <title>Auto-currying Rust Functions</title> | 30 | <title>auto-currying_rust_functions</title> |
31 | <description><p>This post contains a gentle introduction to procedural macros in Rust and a guide to writing a procedural macro to curry Rust functions. The source code for the entire library can be found <a href="https://github.com/nerdypepper/cutlass">here</a>. It is also available on <a href="https://crates.io/crates/cutlass">crates.io</a>.</p> | 31 | <description><p>This post contains a gentle introduction to procedural macros in Rust and a guide to writing a procedural macro to curry Rust functions. The source code for the entire library can be found <a href="https://github.com/nerdypepper/cutlass">here</a>. It is also available on <a href="https://crates.io/crates/cutlass">crates.io</a>.</p> |
32 | <p>The following links might prove to be useful before getting started:</p> | 32 | <p>The following links might prove to be useful before getting started:</p> |
33 | <ul> | 33 | <ul> |
@@ -521,7 +521,7 @@ test tests::works ... ok</code></pre> | |||
521 | <guid>https://peppe.rs/posts/auto-currying_rust_functions/</guid> | 521 | <guid>https://peppe.rs/posts/auto-currying_rust_functions/</guid> |
522 | </item> | 522 | </item> |
523 | <item> | 523 | <item> |
524 | <title>Pixel Art In GIMP</title> | 524 | <title>pixel_art_in_GIMP</title> |
525 | <description><p>I’ve always been an admirer of pixel art, because of it’s simplicity and it’s resemblance to bitmap font design. Recently, I decided to take the dive and make some art of my own.</p> | 525 | <description><p>I’ve always been an admirer of pixel art, because of it’s simplicity and it’s resemblance to bitmap font design. Recently, I decided to take the dive and make some art of my own.</p> |
526 | <p>I used GIMP because I am fairly familiar with it. Aseprite seems to be the editor of choice for animated pixel art though.</p> | 526 | <p>I used GIMP because I am fairly familiar with it. Aseprite seems to be the editor of choice for animated pixel art though.</p> |
527 | <h3 id="setting-up-the-canvas">Setting up the canvas</h3> | 527 | <h3 id="setting-up-the-canvas">Setting up the canvas</h3> |
@@ -576,7 +576,7 @@ test tests::works ... ok</code></pre> | |||
576 | <guid>https://peppe.rs/posts/pixel_art_in_GIMP/</guid> | 576 | <guid>https://peppe.rs/posts/pixel_art_in_GIMP/</guid> |
577 | </item> | 577 | </item> |
578 | <item> | 578 | <item> |
579 | <title>Rapid Refactoring With Vim</title> | 579 | <title>rapid_refactoring_with_vim</title> |
580 | <description><p>Last weekend, I was tasked with refactoring the 96 unit tests on <a href="https://github.com/ruma/ruma-events/pull/70">ruma-events</a> to use strictly typed json objects using <code>serde_json::json!</code> instead of raw strings. It was rather painless thanks to vim :)</p> | 580 | <description><p>Last weekend, I was tasked with refactoring the 96 unit tests on <a href="https://github.com/ruma/ruma-events/pull/70">ruma-events</a> to use strictly typed json objects using <code>serde_json::json!</code> instead of raw strings. It was rather painless thanks to vim :)</p> |
581 | <p>Here’s a small sample of what had to be done (note the lines prefixed with the arrow):</p> | 581 | <p>Here’s a small sample of what had to be done (note the lines prefixed with the arrow):</p> |
582 | <div class="sourceCode" id="cb1"><pre class="sourceCode rust"><code class="sourceCode rust"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a>→ <span class="kw">use</span> <span class="pp">serde_json::</span><span class="op">{</span>from_str<span class="op">};</span></span> | 582 | <div class="sourceCode" id="cb1"><pre class="sourceCode rust"><code class="sourceCode rust"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a>→ <span class="kw">use</span> <span class="pp">serde_json::</span><span class="op">{</span>from_str<span class="op">};</span></span> |
@@ -671,7 +671,7 @@ BUFFER: json!( ... );</code></pre> | |||
671 | <guid>https://peppe.rs/posts/rapid_refactoring_with_vim/</guid> | 671 | <guid>https://peppe.rs/posts/rapid_refactoring_with_vim/</guid> |
672 | </item> | 672 | </item> |
673 | <item> | 673 | <item> |
674 | <title>Font Size Fallacies</title> | 674 | <title>font_size_fallacies</title> |
675 | <description><p>I am not an expert with fonts, but I do have some experience <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>, and common sense. This post aims to debunk some misconceptions about font sizes!</p> | 675 | <description><p>I am not an expert with fonts, but I do have some experience <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>, and common sense. This post aims to debunk some misconceptions about font sizes!</p> |
676 | <p>11 px on your display is <em>probably not</em> 11 px on my display. Let’s do some quick math. I have two displays, 1366x768 @ 21" and another with 1920x1080 @ 13", call them <code>A</code> and <code>B</code> for now.</p> | 676 | <p>11 px on your display is <em>probably not</em> 11 px on my display. Let’s do some quick math. I have two displays, 1366x768 @ 21" and another with 1920x1080 @ 13", call them <code>A</code> and <code>B</code> for now.</p> |
677 | <p>Display <code>A</code> has 1,049,088 pixels. A pixel is a square, of side say, <code>s</code> cm. The total area covered by my 21" display is about 1,066 cm^2 (41x26). Thus,</p> | 677 | <p>Display <code>A</code> has 1,049,088 pixels. A pixel is a square, of side say, <code>s</code> cm. The total area covered by my 21" display is about 1,066 cm^2 (41x26). Thus,</p> |
@@ -707,7 +707,7 @@ Dimensions: 1920x1080 @ 13" (29.5x16.5 sq. cm) | |||
707 | <guid>https://peppe.rs/posts/font_size_fallacies/</guid> | 707 | <guid>https://peppe.rs/posts/font_size_fallacies/</guid> |
708 | </item> | 708 | </item> |
709 | <item> | 709 | <item> |
710 | <title>Termux Tandem</title> | 710 | <title>termux_tandem</title> |
711 | <description><p>I learnt about <code>termux</code> from a friend on IRC recently. It looked super gimmicky to me at first, but it eventually proved to be useful. Here’s what I use it for:</p> | 711 | <description><p>I learnt about <code>termux</code> from a friend on IRC recently. It looked super gimmicky to me at first, but it eventually proved to be useful. Here’s what I use it for:</p> |
712 | <h3 id="rsync">rsync</h3> | 712 | <h3 id="rsync">rsync</h3> |
713 | <p>Ever since I degoogled my android device, syncing files between my phone and my PC has always been a pain. I’m looking at you MTP. But, with <code>termux</code> and <code>sshd</code> all set up, it’s as simple as:</p> | 713 | <p>Ever since I degoogled my android device, syncing files between my phone and my PC has always been a pain. I’m looking at you MTP. But, with <code>termux</code> and <code>sshd</code> all set up, it’s as simple as:</p> |
@@ -731,7 +731,7 @@ mtZabXG.jpg p8d5c584f2841.jpg vjUxGjq.jpg</code></pre> | |||
731 | <guid>https://peppe.rs/posts/termux_tandem/</guid> | 731 | <guid>https://peppe.rs/posts/termux_tandem/</guid> |
732 | </item> | 732 | </item> |
733 | <item> | 733 | <item> |
734 | <title>Call To ARMs</title> | 734 | <title>call_to_ARMs</title> |
735 | <description><p>My 4th semester involves ARM programming. And proprietary tooling (Keil C). But we don’t do that here.</p> | 735 | <description><p>My 4th semester involves ARM programming. And proprietary tooling (Keil C). But we don’t do that here.</p> |
736 | <h3 id="building">Building</h3> | 736 | <h3 id="building">Building</h3> |
737 | <p>Assembling and linking ARM binaries on non-ARM architecture devices is fairly trivial. I went along with the GNU cross bare metal toolchain binutils, which provides <code>arm-as</code> and <code>arm-ld</code> (among a bunch of other utils that I don’t care about for now).</p> | 737 | <p>Assembling and linking ARM binaries on non-ARM architecture devices is fairly trivial. I went along with the GNU cross bare metal toolchain binutils, which provides <code>arm-as</code> and <code>arm-ld</code> (among a bunch of other utils that I don’t care about for now).</p> |
@@ -768,7 +768,7 @@ Reading symbols from main... # yay!</code></pre> | |||
768 | <guid>https://peppe.rs/posts/call_to_ARMs/</guid> | 768 | <guid>https://peppe.rs/posts/call_to_ARMs/</guid> |
769 | </item> | 769 | </item> |
770 | <item> | 770 | <item> |
771 | <title>Color Conundrum</title> | 771 | <title>color_conundrum</title> |
772 | <description><p>This piece aims to highlight (pun intended) some of the reasons behind my <a href="https://u.peppe.rs/bF.png">color free</a> editor setup.</p> | 772 | <description><p>This piece aims to highlight (pun intended) some of the reasons behind my <a href="https://u.peppe.rs/bF.png">color free</a> editor setup.</p> |
773 | <p>Imagine highlighting an entire book because <em>all</em> of it is important. That is exactly what (most) syntax highlighting does. It is difficult for the human eye to filter out noise in rainbow barf. Use color to draw attention, not diverge it.</p> | 773 | <p>Imagine highlighting an entire book because <em>all</em> of it is important. That is exactly what (most) syntax highlighting does. It is difficult for the human eye to filter out noise in rainbow barf. Use color to draw attention, not diverge it.</p> |
774 | <p>At the same time, a book devoid of color is <em>boring!</em> What is the takeaway from this 10 line paragraph? What are the technical terms used?</p> | 774 | <p>At the same time, a book devoid of color is <em>boring!</em> What is the takeaway from this 10 line paragraph? What are the technical terms used?</p> |
@@ -782,7 +782,7 @@ Reading symbols from main... # yay!</code></pre> | |||
782 | <guid>https://peppe.rs/posts/color_conundrum/</guid> | 782 | <guid>https://peppe.rs/posts/color_conundrum/</guid> |
783 | </item> | 783 | </item> |
784 | <item> | 784 | <item> |
785 | <title>Static Sites With Bash</title> | 785 | <title>static_sites_with_bash</title> |
786 | <description><p>After going through a bunch of static site generators (<a href="https://blog.getpelican.com/">pelican</a>, <a href="https://gohugo.io">hugo</a>, <a href="https://github.com/icyphox/vite">vite</a>), I decided to roll my own. If you are more of the ‘show me the code’ kinda guy, <a href="https://github.com/nerdypepper/site">here</a> you go.</p> | 786 | <description><p>After going through a bunch of static site generators (<a href="https://blog.getpelican.com/">pelican</a>, <a href="https://gohugo.io">hugo</a>, <a href="https://github.com/icyphox/vite">vite</a>), I decided to roll my own. If you are more of the ‘show me the code’ kinda guy, <a href="https://github.com/nerdypepper/site">here</a> you go.</p> |
787 | <h3 id="text-formatting">Text formatting</h3> | 787 | <h3 id="text-formatting">Text formatting</h3> |
788 | <p>I chose to write in markdown, and convert to html with <a href="https://kristaps.bsd.lv/lowdown/">lowdown</a>.</p> | 788 | <p>I chose to write in markdown, and convert to html with <a href="https://kristaps.bsd.lv/lowdown/">lowdown</a>.</p> |
@@ -815,7 +815,7 @@ Reading symbols from main... # yay!</code></pre> | |||
815 | <guid>https://peppe.rs/posts/static_sites_with_bash/</guid> | 815 | <guid>https://peppe.rs/posts/static_sites_with_bash/</guid> |
816 | </item> | 816 | </item> |
817 | <item> | 817 | <item> |
818 | <title>My Setup</title> | 818 | <title>my_setup</title> |
819 | <description><p>Decided to do one of these because everyone does one of these.</p> | 819 | <description><p>Decided to do one of these because everyone does one of these.</p> |
820 | <p><img src="https://u.peppe.rs/Hb.png" /></p> | 820 | <p><img src="https://u.peppe.rs/Hb.png" /></p> |
821 | <p>My entire setup is managed with GNU <code>stow</code>, making it easier to replicate on fresh installations. You can find my configuration files on <a href="https://github.com/nerdypepper">GitHub</a>.</p> | 821 | <p>My entire setup is managed with GNU <code>stow</code>, making it easier to replicate on fresh installations. You can find my configuration files on <a href="https://github.com/nerdypepper">GitHub</a>.</p> |
@@ -827,7 +827,7 @@ Reading symbols from main... # yay!</code></pre> | |||
827 | <guid>https://peppe.rs/posts/my_setup/</guid> | 827 | <guid>https://peppe.rs/posts/my_setup/</guid> |
828 | </item> | 828 | </item> |
829 | <item> | 829 | <item> |
830 | <title>WPA Woes</title> | 830 | <title>WPA_woes</title> |
831 | <description><p>I finally got around to installing Void GNU/Linux on my main computer. Rolling release, non-systemd, need I say more?</p> | 831 | <description><p>I finally got around to installing Void GNU/Linux on my main computer. Rolling release, non-systemd, need I say more?</p> |
832 | <p>As with all GNU/Linux distributions, wireless networks had me in a fix. If you can see this post, it means I’ve managed to get online. It turns out, <code>wpa_supplicant</code> was detecting the wrong interface by default (does it ever select the right one?). Let us fix that:</p> | 832 | <p>As with all GNU/Linux distributions, wireless networks had me in a fix. If you can see this post, it means I’ve managed to get online. It turns out, <code>wpa_supplicant</code> was detecting the wrong interface by default (does it ever select the right one?). Let us fix that:</p> |
833 | <pre><code>$ sudo rm -r /var/service/wpa_supplicant | 833 | <pre><code>$ sudo rm -r /var/service/wpa_supplicant |
@@ -857,7 +857,7 @@ $ sudo sv restart dhcpcd</code></pre></description> | |||
857 | <guid>https://peppe.rs/posts/WPA_woes/</guid> | 857 | <guid>https://peppe.rs/posts/WPA_woes/</guid> |
858 | </item> | 858 | </item> |
859 | <item> | 859 | <item> |
860 | <title>Bye Bye BDFs</title> | 860 | <title>bye_bye_BDFs</title> |
861 | <description><p>Glyph Bitmap Distribution Format is no more, as the creators of <a href="https://pango.org">Pango</a>, one of the most widely used text rendering libraries, <a href="https://blogs.gnome.org/mclasen/2019/05/25/pango-future-directions/">announced</a> their plans for Pango 1.44.</p> | 861 | <description><p>Glyph Bitmap Distribution Format is no more, as the creators of <a href="https://pango.org">Pango</a>, one of the most widely used text rendering libraries, <a href="https://blogs.gnome.org/mclasen/2019/05/25/pango-future-directions/">announced</a> their plans for Pango 1.44.</p> |
862 | <p>Until recently, Pango used FreeType to draw fonts. They will be moving over to <a href="https://harfbuzz.org">Harfbuzz</a>, an evolution of FreeType.</p> | 862 | <p>Until recently, Pango used FreeType to draw fonts. They will be moving over to <a href="https://harfbuzz.org">Harfbuzz</a>, an evolution of FreeType.</p> |
863 | <p><em>Why?</em></p> | 863 | <p><em>Why?</em></p> |
@@ -869,7 +869,7 @@ $ sudo sv restart dhcpcd</code></pre></description> | |||
869 | <guid>https://peppe.rs/posts/bye_bye_BDFs/</guid> | 869 | <guid>https://peppe.rs/posts/bye_bye_BDFs/</guid> |
870 | </item> | 870 | </item> |
871 | <item> | 871 | <item> |
872 | <title>Onivim Sucks</title> | 872 | <title>onivim_sucks</title> |
873 | <description><p><a href="https://v2.onivim.io">Onivim</a> is a ‘modern modal editor’, combining fancy interface and language features with vim-style modal editing. What’s wrong you ask?</p> | 873 | <description><p><a href="https://v2.onivim.io">Onivim</a> is a ‘modern modal editor’, combining fancy interface and language features with vim-style modal editing. What’s wrong you ask?</p> |
874 | <p>Apart from <a href="https://github.com/onivim/oni2/issues/550">buggy syntax highlighting</a>, <a href="https://github.com/onivim/oni2/issues/519">broken scrolling</a> and <a href="https://github.com/onivim/oni2/issues?q=is%3Aissue+label%3A%22daily+editor+blocker%22+is%3Aopen">others</a>, Onivim is <strong>proprietary</strong> software. It is licensed under a commercial <a href="https://github.com/onivim/oni1/blob/master/Outrun-Labs-EULA-v1.1.md">end user agreement license</a>, which prohibits redistribution in both object code and source code formats.</p> | 874 | <p>Apart from <a href="https://github.com/onivim/oni2/issues/550">buggy syntax highlighting</a>, <a href="https://github.com/onivim/oni2/issues/519">broken scrolling</a> and <a href="https://github.com/onivim/oni2/issues?q=is%3Aissue+label%3A%22daily+editor+blocker%22+is%3Aopen">others</a>, Onivim is <strong>proprietary</strong> software. It is licensed under a commercial <a href="https://github.com/onivim/oni1/blob/master/Outrun-Labs-EULA-v1.1.md">end user agreement license</a>, which prohibits redistribution in both object code and source code formats.</p> |
875 | <p>Onivim’s core editor logic (bits that belong to vim), have been separated from the interface, into <a href="https://github.com/onivim/libvim">libvim</a>. libvim is licensed under MIT, which means, this ‘extension’ of vim is perfectly in adherence to <a href="http://vimdoc.sourceforge.net/htmldoc/uganda.html#license">vim’s license text</a>! Outrun Labs are exploiting this loophole (distributing vim as a library) to commercialize Onivim.</p> | 875 | <p>Onivim’s core editor logic (bits that belong to vim), have been separated from the interface, into <a href="https://github.com/onivim/libvim">libvim</a>. libvim is licensed under MIT, which means, this ‘extension’ of vim is perfectly in adherence to <a href="http://vimdoc.sourceforge.net/htmldoc/uganda.html#license">vim’s license text</a>! Outrun Labs are exploiting this loophole (distributing vim as a library) to commercialize Onivim.</p> |
@@ -880,7 +880,7 @@ $ sudo sv restart dhcpcd</code></pre></description> | |||
880 | <guid>https://peppe.rs/posts/onivim_sucks/</guid> | 880 | <guid>https://peppe.rs/posts/onivim_sucks/</guid> |
881 | </item> | 881 | </item> |
882 | <item> | 882 | <item> |
883 | <title>Bash Harder With Vim</title> | 883 | <title>bash_harder_with_vim</title> |
884 | <description><p>Bash is tricky, don’t let your editor get in your way. Here’s a couple of neat additions you could make to your <code>vimrc</code> for a better shell programming experience.</p> | 884 | <description><p>Bash is tricky, don’t let your editor get in your way. Here’s a couple of neat additions you could make to your <code>vimrc</code> for a better shell programming experience.</p> |
885 | <h3 id="man-pages-inside-vim">Man pages inside vim</h3> | 885 | <h3 id="man-pages-inside-vim">Man pages inside vim</h3> |
886 | <p>Source this script to get started:</p> | 886 | <p>Source this script to get started:</p> |
@@ -920,7 +920,7 @@ Press ENTER or type command to continue</code></pre></description> | |||
920 | <guid>https://peppe.rs/posts/bash_harder_with_vim/</guid> | 920 | <guid>https://peppe.rs/posts/bash_harder_with_vim/</guid> |
921 | </item> | 921 | </item> |
922 | <item> | 922 | <item> |
923 | <title>Hold Position!</title> | 923 | <title>hold_position!</title> |
924 | <description><p>Often times, when I run a vim command that makes “big” changes to a file (a macro or a <code>:vimgrep</code> command) I lose my original position and feel disoriented.</p> | 924 | <description><p>Often times, when I run a vim command that makes “big” changes to a file (a macro or a <code>:vimgrep</code> command) I lose my original position and feel disoriented.</p> |
925 | <p><em>Save position with <code>winsaveview()</code>!</em></p> | 925 | <p><em>Save position with <code>winsaveview()</code>!</em></p> |
926 | <p>The <code>winsaveview()</code> command returns a <code>Dictionary</code> that contains information about the view of the current window. This includes the cursor line number, cursor coloumn, the top most line in the window and a couple of other values, none of which concern us.</p> | 926 | <p>The <code>winsaveview()</code> command returns a <code>Dictionary</code> that contains information about the view of the current window. This includes the cursor line number, cursor coloumn, the top most line in the window and a couple of other values, none of which concern us.</p> |
@@ -934,7 +934,7 @@ winrestview(view) " restore our original view!</code></pre> | |||
934 | <guid>https://peppe.rs/posts/hold_position!/</guid> | 934 | <guid>https://peppe.rs/posts/hold_position!/</guid> |
935 | </item> | 935 | </item> |
936 | <item> | 936 | <item> |
937 | <title>Get Better At Yanking And Putting In Vim</title> | 937 | <title>get_better_at_yanking_and_putting_in_vim</title> |
938 | <description><p>a couple of nifty tricks to help you copy-paste better:</p> | 938 | <description><p>a couple of nifty tricks to help you copy-paste better:</p> |
939 | <ol type="1"> | 939 | <ol type="1"> |
940 | <li><p>reselecting previously selected text (i use this to fix botched selections):</p> | 940 | <li><p>reselecting previously selected text (i use this to fix botched selections):</p> |
diff --git a/docs/posts/turing_complete_type_systems/index.html b/docs/posts/turing_complete_type_systems/index.html index 4a7e2b1..3e572e3 100644 --- a/docs/posts/turing_complete_type_systems/index.html +++ b/docs/posts/turing_complete_type_systems/index.html | |||
@@ -24,12 +24,12 @@ | |||
24 | 18/06 — 2020 | 24 | 18/06 — 2020 |
25 | <div class="stats"> | 25 | <div class="stats"> |
26 | <span class="stats-number"> | 26 | <span class="stats-number"> |
27 | 8.78 | 27 | 9.18 |
28 | </span> | 28 | </span> |
29 | <span class="stats-unit">cm</span> | 29 | <span class="stats-unit">cm</span> |
30 |   | 30 |   |
31 | <span class="stats-number"> | 31 | <span class="stats-number"> |
32 | 0.8 | 32 | 0.9 |
33 | </span> | 33 | </span> |
34 | <span class="stats-unit">min</span> | 34 | <span class="stats-unit">min</span> |
35 | </div> | 35 | </div> |
@@ -45,7 +45,7 @@ | |||
45 | </ul> | 45 | </ul> |
46 | <p>It is impossible to determine if a program written in a generally Turing complete system will ever stop. That is, it is impossible to write a program <code>f</code> that determines if a program <code>g</code>, where <code>g</code> is written in a Turing complete programming language, will ever halt. The <a href="https://en.wikipedia.org/wiki/Halting_problem">Halting Problem</a> is in fact, an <a href="https://en.wikipedia.org/wiki/Undecidable_problem">undecidable problem</a>.</p> | 46 | <p>It is impossible to determine if a program written in a generally Turing complete system will ever stop. That is, it is impossible to write a program <code>f</code> that determines if a program <code>g</code>, where <code>g</code> is written in a Turing complete programming language, will ever halt. The <a href="https://en.wikipedia.org/wiki/Halting_problem">Halting Problem</a> is in fact, an <a href="https://en.wikipedia.org/wiki/Undecidable_problem">undecidable problem</a>.</p> |
47 | <p><em>How is any of this relevant?</em></p> | 47 | <p><em>How is any of this relevant?</em></p> |
48 | <p>Rust performs compile-time type inference. The type checker, in turn, compiles and infers types, I would describe it as a compiler inside a compiler. It is possible that <code>rustc</code> may never finish compiling your Rust program!</p> | 48 | <p>Rust performs compile-time type inference. The type checker, in turn, compiles and infers types, I would describe it as a compiler inside a compiler. It is possible that <code>rustc</code> may never finish compiling your Rust program! I lied, <code>rustc</code> stops after a while, after hitting the recursion limit.</p> |
49 | <p>I understand that this post lacks content.</p> | 49 | <p>I understand that this post lacks content.</p> |
50 | 50 | ||
51 | </div> | 51 | </div> |
diff --git a/posts/turing_complete_type_systems.md b/posts/turing_complete_type_systems.md index b6ec7bc..70136c8 100644 --- a/posts/turing_complete_type_systems.md +++ b/posts/turing_complete_type_systems.md | |||
@@ -17,6 +17,7 @@ problem](https://en.wikipedia.org/wiki/Undecidable_problem). | |||
17 | Rust performs compile-time type inference. The type checker, | 17 | Rust performs compile-time type inference. The type checker, |
18 | in turn, compiles and infers types, I would describe it as a | 18 | in turn, compiles and infers types, I would describe it as a |
19 | compiler inside a compiler. It is possible that `rustc` may | 19 | compiler inside a compiler. It is possible that `rustc` may |
20 | never finish compiling your Rust program! | 20 | never finish compiling your Rust program! I lied, `rustc` |
21 | stops after a while, after hitting the recursion limit. | ||
21 | 22 | ||
22 | I understand that this post lacks content. | 23 | I understand that this post lacks content. |