From 2f2feaa73878c2ae4f5402a3946525c0752fd14a Mon Sep 17 00:00:00 2001 From: Akshay Date: Thu, 18 Jun 2020 13:14:34 +0530 Subject: fix broken headings --- docs/index.xml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/index.xml b/docs/index.xml index 9c2704b..edf43f5 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -12,7 +12,7 @@ en-us Creative Commons BY-NC-SA 4.0 -turing_complete_type_systems +Turing Complete Type Systems

Rust’s type system is Turing complete:

  • FizzBuzz with Rust Traits
  • @@ -27,7 +27,7 @@ https://peppe.rs/posts/turing_complete_type_systems/ -auto-currying_rust_functions +Auto-currying Rust Functions

    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 here. It is also available on crates.io.

    The following links might prove to be useful before getting started:

      @@ -521,7 +521,7 @@ test tests::works ... ok https://peppe.rs/posts/auto-currying_rust_functions/ -pixel_art_in_GIMP +Pixel Art In GIMP

      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.

      I used GIMP because I am fairly familiar with it. Aseprite seems to be the editor of choice for animated pixel art though.

      Setting up the canvas

      @@ -576,7 +576,7 @@ test tests::works ... ok https://peppe.rs/posts/pixel_art_in_GIMP/
      -rapid_refactoring_with_vim +Rapid Refactoring With Vim

      Last weekend, I was tasked with refactoring the 96 unit tests on ruma-events to use strictly typed json objects using serde_json::json! instead of raw strings. It was rather painless thanks to vim :)

      Here’s a small sample of what had to be done (note the lines prefixed with the arrow):

      use serde_json::{from_str};
      @@ -671,7 +671,7 @@ BUFFER:    json!( ... );
      https://peppe.rs/posts/rapid_refactoring_with_vim/ -font_size_fallacies +Font Size Fallacies

      I am not an expert with fonts, but I do have some experience 1, and common sense. This post aims to debunk some misconceptions about font sizes!

      11 px on your display is probably not 11 px on my display. Let’s do some quick math. I have two displays, 1366x768 @ 21" and another with 1920x1080 @ 13", call them A and B for now.

      Display A has 1,049,088 pixels. A pixel is a square, of side say, s cm. The total area covered by my 21" display is about 1,066 cm^2 (41x26). Thus,

      @@ -707,7 +707,7 @@ Dimensions: 1920x1080 @ 13" (29.5x16.5 sq. cm) https://peppe.rs/posts/font_size_fallacies/
      -termux_tandem +Termux Tandem

      I learnt about termux 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:

      rsync

      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 termux and sshd all set up, it’s as simple as:

      @@ -731,7 +731,7 @@ mtZabXG.jpg p8d5c584f2841.jpg vjUxGjq.jpg https://peppe.rs/posts/termux_tandem/
      -call_to_ARMs +Call To ARMs

      My 4th semester involves ARM programming. And proprietary tooling (Keil C). But we don’t do that here.

      Building

      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 arm-as and arm-ld (among a bunch of other utils that I don’t care about for now).

      @@ -768,7 +768,7 @@ Reading symbols from main... # yay! https://peppe.rs/posts/call_to_ARMs/
      -color_conundrum +Color Conundrum

      This piece aims to highlight (pun intended) some of the reasons behind my color free editor setup.

      Imagine highlighting an entire book because all 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.

      At the same time, a book devoid of color is boring! What is the takeaway from this 10 line paragraph? What are the technical terms used?

      @@ -782,7 +782,7 @@ Reading symbols from main... # yay! https://peppe.rs/posts/color_conundrum/
      -static_sites_with_bash +Static Sites With Bash

      After going through a bunch of static site generators (pelican, hugo, vite), I decided to roll my own. If you are more of the ‘show me the code’ kinda guy, here you go.

      Text formatting

      I chose to write in markdown, and convert to html with lowdown.

      @@ -815,7 +815,7 @@ Reading symbols from main... # yay! https://peppe.rs/posts/static_sites_with_bash/
      -my_setup +My Setup

      Decided to do one of these because everyone does one of these.

      My entire setup is managed with GNU stow, making it easier to replicate on fresh installations. You can find my configuration files on GitHub.

      @@ -827,7 +827,7 @@ Reading symbols from main... # yay! https://peppe.rs/posts/my_setup/
      -WPA_woes +WPA Woes

      I finally got around to installing Void GNU/Linux on my main computer. Rolling release, non-systemd, need I say more?

      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, wpa_supplicant was detecting the wrong interface by default (does it ever select the right one?). Let us fix that:

      $ sudo rm -r /var/service/wpa_supplicant
      @@ -857,7 +857,7 @@ $ sudo sv restart dhcpcd
      https://peppe.rs/posts/WPA_woes/
      -bye_bye_BDFs +Bye Bye BDFs

      Glyph Bitmap Distribution Format is no more, as the creators of Pango, one of the most widely used text rendering libraries, announced their plans for Pango 1.44.

      Until recently, Pango used FreeType to draw fonts. They will be moving over to Harfbuzz, an evolution of FreeType.

      Why?

      @@ -869,7 +869,7 @@ $ sudo sv restart dhcpcd
      https://peppe.rs/posts/bye_bye_BDFs/
      -onivim_sucks +Onivim Sucks

      Onivim is a ‘modern modal editor’, combining fancy interface and language features with vim-style modal editing. What’s wrong you ask?

      Apart from buggy syntax highlighting, broken scrolling and others, Onivim is proprietary software. It is licensed under a commercial end user agreement license, which prohibits redistribution in both object code and source code formats.

      Onivim’s core editor logic (bits that belong to vim), have been separated from the interface, into libvim. libvim is licensed under MIT, which means, this ‘extension’ of vim is perfectly in adherence to vim’s license text! Outrun Labs are exploiting this loophole (distributing vim as a library) to commercialize Onivim.

      @@ -880,7 +880,7 @@ $ sudo sv restart dhcpcd
      https://peppe.rs/posts/onivim_sucks/
      -bash_harder_with_vim +Bash Harder With Vim

      Bash is tricky, don’t let your editor get in your way. Here’s a couple of neat additions you could make to your vimrc for a better shell programming experience.

      Man pages inside vim

      Source this script to get started:

      @@ -920,7 +920,7 @@ Press ENTER or type command to continue
      https://peppe.rs/posts/bash_harder_with_vim/
      -hold_position! +Hold Position!

      Often times, when I run a vim command that makes “big” changes to a file (a macro or a :vimgrep command) I lose my original position and feel disoriented.

      Save position with winsaveview()!

      The winsaveview() command returns a Dictionary 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.

      @@ -934,7 +934,7 @@ winrestview(view) " restore our original view! https://peppe.rs/posts/hold_position!/
      -get_better_at_yanking_and_putting_in_vim +Get Better At Yanking And Putting In Vim

      a couple of nifty tricks to help you copy-paste better:

      1. reselecting previously selected text (i use this to fix botched selections):

        -- cgit v1.2.3