Browse Source

turn all images into image links
Leonora Tindall 2 months ago
Signed by: nora GPG Key ID: 7A8B52EC67E09AAF
  1. 2
  2. 2
  3. 2
  4. 4
  5. 4
  6. 8
  7. 2
  8. 14
  9. 2
  10. 2
  11. 6


@ -1,7 +1,7 @@
## My personal blog's source code!
![screenshot of the website](static/images/screenshot.png)
[![screenshot of the website](static/images/screenshot.png)](static/images/screenshot.png)
This is the source code for my personal website, at [](
It is written in Markdown (and HTML/CSS for styling) with minimal JavaScript (just for


@ -5,7 +5,7 @@ date: 2016-01-22
{{< div "hero" >}}
{{< figure "portrait" >}}
![A drawing of my face. I'm wearing a black shirt and a green cardigan, smiling slightly, with my hair down and falling partly over one shoulder.](/images/profile-small.jpg)
[![A drawing of my face. I'm wearing a black shirt and a green cardigan, smiling slightly, with my hair down and falling partly over one shoulder.](/images/profile-small.jpg)](/images/profile-small.jpg)
{{< /figure >}}
{{< div "intro" >}}


@ -10,7 +10,7 @@ description: A short write-up of my rough-and-ready Geiger counter, and lessons
{{< figure "right" >}}
![The apparatus, turned off.](/images/geiger_counter/off_closed.jpg)
[![The apparatus, turned off.](/images/geiger_counter/off_closed.jpg)](/images/geiger_counter/off_closed.jpg)
It's a simple and humble apparatus, but it's quite useful.
{{< /figure >}}


@ -20,7 +20,7 @@ transmitting in "chunks" (because the device is waiting to get a full buffer bef
{{< figure "right" >}}
![A screenshot of the Osmocom sink block's options](/images/radio/osmo_sdr_block.png)
[![A screenshot of the Osmocom sink block's options](/images/radio/osmo_sdr_block.png)](/images/radio/osmo_sdr_block.png)
The options for the Osmocom sink, used with the HackRF.
{{< /figure >}}
@ -38,7 +38,7 @@ transmitter, 16k), "internal" rate (in my case 128k), to which the default "samp
variable should be set, and finally transmitter rate "tx_rate", 2M or more.
{{< figure "left" >}}
![A screenshot of the Rational Resampler block's options](/images/radio/rational_resamp.png)
[![A screenshot of the Rational Resampler block's options](/images/radio/rational_resamp.png)](/images/radio/rational_resamp.png)
A Rational Resampler block converting from the internal sampling rate to the transmission
{{< /figure >}}


@ -31,13 +31,13 @@ Even my computer's name, Asfaloth (after [Glorfindel's horse](http://lotr.wikia.
Despite this, I've historically used heavy-weight, mouse driven IDEs like IntelliJ for development. Even when not working in an IDE, I tend to use a graphical editor like Visual Studio Code or Atom. I've gotten used to it, but every time I mod my machine, it grates on my. Everything I do in the terminal lets me enjoy my mod, seeing the color scheme and background blend beautifully as I work, but these "advanced" editors don't.
![Screenshot of my VSCode development setup](/images/rices/vscode.png)
[![Screenshot of my VSCode development setup](/images/rices/vscode.png)](/images/rices/vscode.png)
The reason I use them is their efficiency - they integrate spell checking, style checking, type checking, container management, find/replace, and many other features into one application. The other day, I realized that there's no real reason I can't do this all through the terminal!
I spent some time setting up Vim and the rest of my environment to replicate the functionality I need from VS Code, but it didn't take nearly as long as I thought it would. It looks a little something like this.
![Screenshot of my terminal-only development setup](/images/rices/vim-only-pink.png)
[![Screenshot of my terminal-only development setup](/images/rices/vim-only-pink.png)](/images/rices/vim-only-pink.png)
I found that working this way wasn't faster in terms of code production or editing, but ended up being faster overall, because I spent less time flipping between and skimming files. Rather than typing code to get completion suggestions to refresh my memory (e.g., typing "CompareC", reading the suggested "CompareChartContainer", deleting the symbol, and then opening the appropriate file), I began simply pausing until the appropriate symbol name came to me.


@ -21,7 +21,7 @@ audio, pitch, speed, slope,
and even [color](
{{< figure "right" >}}
![My synthesizer shot from an "aesthetic" angle.](/images/synth/side-shot.jpg)
[![My synthesizer shot from an "aesthetic" angle.](/images/synth/side-shot.jpg)](/images/synth/side-shot.jpg)
{{< /figure >}}
As I learn more about Eurorack and the modular ecosystem, it reminds me more and more
@ -87,7 +87,7 @@ and through a filter, which removes some harmonics and emphasizes others.
{{< figure "right" >}}
![A Threshold module, outside of the synthesizer.](/images/synth/threshold.jpg)
[![A Threshold module, outside of the synthesizer.](/images/synth/threshold.jpg)](/images/synth/threshold.jpg)
Just one module, removed from my synthesizer.
This is a four-oscillator retro digital voice, which produces three channels of
@ -175,7 +175,7 @@ to maximize sales.
{{< figure "left" >}}
![A front-on shot of my case, along with my Beatstep Pro controller](/images/synth/front-shot.jpg)
[![A front-on shot of my case, along with my Beatstep Pro controller](/images/synth/front-shot.jpg)](/images/synth/front-shot.jpg)
My whole synthesizer is controlled by this Beatstep Pro, and optionally by Linux
software like 100r ORCA.
@ -214,7 +214,7 @@ compatible is nearly unthinkable.
{{< figure "right" >}}
![Another side shot of my synthesizer.](/images/synth/open-source.jpg)
[![Another side shot of my synthesizer.](/images/synth/open-source.jpg)](/images/synth/open-source.jpg)
Every module in this photograph is open source - software and hardware.


@ -15,7 +15,7 @@ Some IDEs, such as jGRASP,[^jGRASP] provide education-specific tooling, like the
[^jGRASP]: Cross, Hendrix, and Umphress, 2004. DOI 10.1109/FIE.2004.1408803
{{< figure "right" >}}
![jGRASP in action in IntelliJ IDEA.](
[![jGRASP in action in IntelliJ IDEA.](](
jGRASP, an education-focused IDE, can be used on its own or, as here, integrated with IntelliJ IDEA.
{{< /figure >}}


@ -20,7 +20,7 @@ modify
{{< figure "left" >}}
![The front and wooden side of the Thelio thelio-r1 with the included post-card.](/images/thelio/front_with_postcard.jpg)
[![The front and wooden side of the Thelio thelio-r1 with the included post-card.](/images/thelio/front_with_postcard.jpg)](/images/thelio/front_with_postcard.jpg)
The smallest Thelio, thelio-r1, was made available in January 2019.
{{< /figure >}}
@ -43,7 +43,7 @@ in volume, a good deal smaller than even the tiniest commercial full-GPU mITX
form factor cases, most of which are at least 22 liters.
{{< figure "right" >}}
![The wooden side with the post-card and a 6inch/15cm ruler.](/images/thelio/side_with_postcard.jpg)
[![The wooden side with the post-card and a 6inch/15cm ruler.](/images/thelio/side_with_postcard.jpg)](/images/thelio/side_with_postcard.jpg)
`thelio-r1` is absolutely tiny. The ruler in this photo is 15cm, or 6 inches.
{{< /figure >}}
@ -66,7 +66,7 @@ underside take the weight of the system itself. Between those areas there is a
small cut-out section to permit sufficient airflow to the underside intake fan.
{{< figure "left" >}}
![The rear panel of the Thelio.](/images/thelio/rear_panel.jpg)
[![The rear panel of the Thelio.](/images/thelio/rear_panel.jpg)](/images/thelio/rear_panel.jpg)
The rear panel provides all the I/O on the entire system.
{{< /figure >}}
@ -102,7 +102,7 @@ taken out, the whole case shroud simply slides up on a set of extruded rails
that fit like a glove and are simple to slot back into place.
{{< figure "left" >}}
![The metal side of the Thelio, showing the mountainscape engraving.](/images/thelio/metal_side.jpg)
[![The metal side of the Thelio, showing the mountainscape engraving.](/images/thelio/metal_side.jpg)](/images/thelio/metal_side.jpg)
Thelio's metal shroud is decordated with a beautiful stylized mountainscape, echoing its
Colorado origins.
{{< /figure >}}
@ -121,7 +121,7 @@ durable. The chassis design preempts much of the damage than occurs in typical
systems when shipped with metal cross-bars and a well-secured GPU.
{{< figure "right" >}}
![The interior of the Thelio, showing off the excellent cable management.](/images/thelio/cable_management.jpg)
[![The interior of the Thelio, showing off the excellent cable management.](/images/thelio/cable_management.jpg)](/images/thelio/cable_management.jpg)
The interior cables are well-managed, which is important in such a tiny space.
{{< /figure >}}
@ -157,7 +157,7 @@ exchanger, though it does have the potential to starve the GPU fans of
room-temperature air.
{{< figure "right" >}}
![The bottom intake of Thelio, showing its Unix epoch solar system.](/images/thelio/bottom_vent.jpg)
[![The bottom intake of Thelio, showing its Unix epoch solar system.](/images/thelio/bottom_vent.jpg)](/images/thelio/bottom_vent.jpg)
Both of the Thelio's vents show the solar system at the time of the UNIX epoch. The filter
on this bottom intake does a good job even in the very dusty environment of my dorm.
{{< /figure >}}
@ -216,7 +216,7 @@ using Snap support is trivial from the command line, so this isn’t too much of
a black mark.
{{< figure "right" >}}
![The drive cage of my Thelio with one drive out of its slot.](/images/thelio/drive_cage.jpg)
[![The drive cage of my Thelio with one drive out of its slot.](/images/thelio/drive_cage.jpg)](/images/thelio/drive_cage.jpg)
Drives are inserted on rails using vibration-isolating gromits. If only it were this easy
to get RAID working!
{{< /figure >}}


@ -10,7 +10,7 @@ description: How to use a U2F device such as the U2F Zero in Firefox on Linux.
I recently got a [U2F Zero](, a tiny (about 2 inches long) and cheap (about 8 dollars) device implementing the FIDO Universal Second Factor protocol. It's open source, too, which is awesome.
![A closeup of the U2F Zero](
[![A closeup of the U2F Zero](](
I primarily use Firefox. Unfortunately, Firefox doesn't support U2F out of the box; you have to enable `security.webauth.u2f` in [about:config](about:config).


@ -2,7 +2,7 @@
title: RandomUA
![RandomUA Logo](
[![RandomUA Logo](](
Install for [Firefox]( or [Chrome](, or view on [GitHub](


@ -15,7 +15,7 @@ using my language of choice (Rust) and the wildly successful cross-platform GUI
GTK. In this blog post, we'll walk through the source code of **gDiceRoller**.
In future posts, I'll explain how I packaged it for different systems.
![A screenshot of gDiceRoller](/images/gDiceRoller.png)
[![A screenshot of gDiceRoller](/images/gDiceRoller.png)](/images/gDiceRoller.png)
## What App?
@ -25,7 +25,7 @@ library to allow users to roll dice of arbitrary numbers of sides and perform ar
on the results.
> {{< figure "left" >}}
![Several polyhedral dice of the type commonly used for gaming.](
[![Several polyhedral dice of the type commonly used for gaming.](](
{{< /figure >}}
> **Dice notation** is the de facto standard notation used by tabletop gaming systems such
@ -53,7 +53,7 @@ That's it - it's quite simple!
## UI Prototyping
{{< figure "right" >}}
![A screenshot of the Glade software.](
[![A screenshot of the Glade software.](](
Glade, from the GNOME project, is easy to use and very powerful.
{{< /figure >}}