1

new blog post

This commit is contained in:
Evan Pratten 2019-08-12 19:42:38 -04:00
parent ad905a6b98
commit f198cabc3c
No known key found for this signature in database
GPG Key ID: 93AC7B3D071356D3
40 changed files with 1170 additions and 299 deletions

View File

@ -1,18 +1,18 @@
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: {{site.time}}
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: {{site.time}}
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -23,4 +23,26 @@
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>

View File

@ -15,7 +15,7 @@
</div>
<div class="header-gap"></div>
</div> -->
<div class="reactive-bg">
<div class="post container" >
<h1>Blog Posts</h1>

View File

@ -0,0 +1,94 @@
---
layout: post
title: "How I set up ひらがな input on my laptop"
description: "I3wm makes everything 10x harder than it should be"
date: 2019-08-12 19:40:00
categories: notes languages
---
I am currently working with [ひらがな](https://en.wikipedia.org/wiki/Hiragana), [かたかな](https://en.wikipedia.org/wiki/Katakana), and, [かんじ](https://en.wikipedia.org/wiki/Kanji) in some projects, and needed a more reliable way to write than running some [romanji](https://en.wikipedia.org/wiki/Romanization_of_Japanese) through an online translator. So, this post will detail what I did to enable native inputs on my laptop. This guide is specifically for [i3wm](https://i3wm.org/), because it does not obey system settings for languages and inputs.
## Adding font support to Linux
Firstly, we need fonts. Depending on your system, these may already be installed. For Japanese, I only used `vlgothic`, so here in the package for it:
```
sudo apt install fonts-vlgothic
```
## Language support
Im not sure if this matters, but I have seen other people do it, so why not be safe?
I am currently running a stock Ubuntu [18.04]() base, which means that everything is pre-configured for Gnome. To set language support in Gnome, pull up the settings panel:
```bash
# This line fixes some compatibility issues between Gnome and I3 when launching the settings menu. I recommend aliasing it.
env XDG_CURRENT_DESKTOP=GNOME gnome-control-center
```
![Gnome language settings](/assets/images/language-settings.png)
Next, go to *Settings > Language and Region > Input Sources*, and click on *Manage Installed Languages*.
This will bring up a window where you can select a new language to install. From here, I clicked on *Install / Remove Language*.
![Language installation panel](/assets/images/language-installation.png)
In this list, I just selected the languages I wanted (English and Japanese), and applied my changes. You may be asked to enter your password while installing the new languages. Once installation is complete, log out, and in again.
With the new language support installed, return to the *Input Sources* settings, and press the `+` button to add a new language. From here, search the language you want (it may be under *Other*) and select it. For Japanese, select the `mozc` variant.
Gnome's language settings are now configured. If you are using Gnome (not I3), you can stop here.
## Configuring ibus
Don't get me wrong, I love I3wm, but sometimes it's configurability drives me crazy.
After searching through various forums and wikis looking for an elegant way to switch languages in I3, I found a link to an [ArchWiki page](https://wiki.archlinux.org/index.php/IBus) at the bottom of a mailing list (I blame Google for not showing this sooner). It turns out that a program called `ibus` is exactly what I needed. Here is how to set it up:
Remember `mozc` from above? If you are not using it, this package may not work. Search for the appropriate `ibus-` package for your selected language(s).
```bash
# Install ibus-mozc for Japanese (mozc)
sudo apt install ibus-mozc
```
Now that `ibus` is installed, run the setup script:
```bash
ibus-setup
```
![Ibus settings](/assets/images/ibus-general.png)
From here, set your shortcut to something not used by I3 (I chose `CTRL+Shift+Space`, but most people prefer `Alt+Space`), and enable the system tray icon.
Now, go to the *Input Method* settings.
![Ibus input settings](/assets/images/ibus-input.png)
From here, press the `+`, and add your language(s).
## Configuring profile
According to the Wiki page, I needed to add the following to my `~/.profile`:
```bash
# Language support
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -d -x
```
It turns out that this [causes issues with some browsers](https://github.com/ibus/ibus/issues/2020), so I actually put this in my `~/.profile` instead:
```bash
# Language support
export GTK_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=xim
ibus-daemon -drx
```
Now, log out and in again to let ibus properly start again, and there should now be a new applet in your bar for language settings.
## Workflow
`ibus` runs in the background and will show an indication of your selected language upon pressing the keyboard shortcut set in the [setup tool](#configuring-ibus). For languages like Japanese, where it's writing systems do not use the English / Latin-based alphabets, `ibus` will automatically convert your words as you type (this behavior will be different from language to language).
An example of this is as follows. I want to write the word *Computer* in Japanese (Katakana to be exact). I would switch to `mozc` input, and start typing the romanji word for computer, *Pasokon*. This will automatically be converted to Hiragana, *ぱそこん*. *Computer* is not a word that one would write in Hiragana as far as I know, so Katakana would be a better choice. To convert this word, I just press `Space` (This is indicated in the bottom left of my screen by `ibus`), and I now have *パソコン*, the Katakana word for *Computer*!
---
#### After Note: Languages
In case you can't tell, English is my native language. If I messed up my spelling or context with the small amount of Japanese in this post, [let me know](/about#chat-with-me)!

View File

@ -104,20 +104,20 @@ sub rsa4096/0xA61A2F1676E35144 2019-08-11 [] [expires: 2025-08-09]
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -130,6 +130,28 @@ sub rsa4096/0xA61A2F1676E35144 2019-08-11 [] [expires: 2025-08-09]
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -109,20 +109,20 @@ pip3 install tensorflow-gpu #for gpu processing
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -135,4 +135,26 @@ pip3 install tensorflow-gpu #for gpu processing
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -73,20 +73,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -99,4 +99,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -86,20 +86,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -112,4 +112,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -97,20 +97,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -123,4 +123,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -111,20 +111,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -137,4 +137,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -70,20 +70,20 @@ Your browser does not support audio players
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -96,4 +96,26 @@ Your browser does not support audio players
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -110,24 +110,46 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -68,20 +68,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -94,4 +94,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -68,20 +68,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -94,4 +94,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -177,20 +177,20 @@ __<span class="o">()</span> <span class="o">{</span>/???/???/???n?f <span class=
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -203,4 +203,26 @@ __<span class="o">()</span> <span class="o">{</span>/???/???/???n?f <span class=
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -98,20 +98,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -124,4 +124,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -163,20 +163,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -189,4 +189,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -87,24 +87,46 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -160,20 +160,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -186,4 +186,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -81,20 +81,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -107,4 +107,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -173,20 +173,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -199,4 +199,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -93,24 +93,46 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -0,0 +1,181 @@
<head>
<title>Evan Pratten</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" href="/assets/css/main.css">
<link rel="stylesheet" href="/assets/css/github-syntax.css">
<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Mono:400,400i|IBM+Plex+Sans:100,100i,400,400i,700,700i" rel="stylesheet">
</head>
<body>
<div class="site-ctr">
<!-- Navbar -->
<nav class="navbar navbar-dark sticky-top bg-dark navbar-expand-lg">
<!-- Navbar content -->
<!-- <div class="container"> -->
<a class="navbar-brand" href="/">Evan Pratten</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav ml-auto">
<a class="nav-item nav-link" href="/blog">Blog</a>
<a class="nav-item nav-link" href="/projects">Projects</a>
<a class="nav-item nav-link" href="/about">About</a>
</div>
<!-- </div> -->
</div>
</nav>
<!-- <div style="height:5vh"></div> -->
<!-- Header -->
<!-- <div class="header">
<div class="container">
<div class="content">
</div>
</div>
<div class="header-gap"></div>
</div> -->
<div class="reactive-bg">
<div class="post container">
<h1>How I set up ひらがな input on my laptop</h1>
<h4>I3wm makes everything 10x harder than it should be</h4>
<hr>
<p><em>2019-08-12 15:40:00 -0400</em></p>
<br>
<p>I am currently working with <a href="https://en.wikipedia.org/wiki/Hiragana">ひらがな</a>, <a href="https://en.wikipedia.org/wiki/Katakana">かたかな</a>, and, <a href="https://en.wikipedia.org/wiki/Kanji">かんじ</a> in some projects, and needed a more reliable way to write than running some <a href="https://en.wikipedia.org/wiki/Romanization_of_Japanese">romanji</a> through an online translator. So, this post will detail what I did to enable native inputs on my laptop. This guide is specifically for <a href="https://i3wm.org/">i3wm</a>, because it does not obey system settings for languages and inputs.</p>
<h2 id="adding-font-support-to-linux">Adding font support to Linux</h2>
<p>Firstly, we need fonts. Depending on your system, these may already be installed. For Japanese, I only used <code class="highlighter-rouge">vlgothic</code>, so here in the package for it:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt install fonts-vlgothic
</code></pre></div></div>
<h2 id="language-support">Language support</h2>
<p>Im not sure if this matters, but I have seen other people do it, so why not be safe?</p>
<p>I am currently running a stock Ubuntu <a href="">18.04</a> base, which means that everything is pre-configured for Gnome. To set language support in Gnome, pull up the settings panel:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># This line fixes some compatibility issues between Gnome and I3 when launching the settings menu. I recommend aliasing it.</span>
<span class="nb">env </span><span class="nv">XDG_CURRENT_DESKTOP</span><span class="o">=</span>GNOME gnome-control-center
</code></pre></div></div>
<p><img src="/assets/images/language-settings.png" alt="Gnome language settings"></p>
<p>Next, go to <em>Settings &gt; Language and Region &gt; Input Sources</em>, and click on <em>Manage Installed Languages</em>.
This will bring up a window where you can select a new language to install. From here, I clicked on <em>Install / Remove Language</em>.</p>
<p><img src="/assets/images/language-installation.png" alt="Language installation panel"></p>
<p>In this list, I just selected the languages I wanted (English and Japanese), and applied my changes. You may be asked to enter your password while installing the new languages. Once installation is complete, log out, and in again.</p>
<p>With the new language support installed, return to the <em>Input Sources</em> settings, and press the <code class="highlighter-rouge">+</code> button to add a new language. From here, search the language you want (it may be under <em>Other</em>) and select it. For Japanese, select the <code class="highlighter-rouge">mozc</code> variant.</p>
<p>Gnomes language settings are now configured. If you are using Gnome (not I3), you can stop here.</p>
<h2 id="configuring-ibus">Configuring ibus</h2>
<p>Dont get me wrong, I love I3wm, but sometimes its configurability drives me crazy.</p>
<p>After searching through various forums and wikis looking for an elegant way to switch languages in I3, I found a link to an <a href="https://wiki.archlinux.org/index.php/IBus">ArchWiki page</a> at the bottom of a mailing list (I blame Google for not showing this sooner). It turns out that a program called <code class="highlighter-rouge">ibus</code> is exactly what I needed. Here is how to set it up:</p>
<p>Remember <code class="highlighter-rouge">mozc</code> from above? If you are not using it, this package may not work. Search for the appropriate <code class="highlighter-rouge">ibus-</code> package for your selected language(s).</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Install ibus-mozc for Japanese (mozc)</span>
<span class="nb">sudo </span>apt <span class="nb">install </span>ibus-mozc
</code></pre></div></div>
<p>Now that <code class="highlighter-rouge">ibus</code> is installed, run the setup script:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ibus-setup
</code></pre></div></div>
<p><img src="/assets/images/ibus-general.png" alt="Ibus settings"></p>
<p>From here, set your shortcut to something not used by I3 (I chose <code class="highlighter-rouge">CTRL+Shift+Space</code>, but most people prefer <code class="highlighter-rouge">Alt+Space</code>), and enable the system tray icon.
Now, go to the <em>Input Method</em> settings.</p>
<p><img src="/assets/images/ibus-input.png" alt="Ibus input settings"></p>
<p>From here, press the <code class="highlighter-rouge">+</code>, and add your language(s).</p>
<h2 id="configuring-profile">Configuring profile</h2>
<p>According to the Wiki page, I needed to add the following to my <code class="highlighter-rouge">~/.profile</code>:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Language support</span>
<span class="nb">export </span><span class="nv">GTK_IM_MODULE</span><span class="o">=</span>ibus
<span class="nb">export </span><span class="nv">XMODIFIERS</span><span class="o">=</span>@im<span class="o">=</span>ibus
<span class="nb">export </span><span class="nv">QT_IM_MODULE</span><span class="o">=</span>ibus
ibus-daemon <span class="nt">-d</span> <span class="nt">-x</span>
</code></pre></div></div>
<p>It turns out that this <a href="https://github.com/ibus/ibus/issues/2020">causes issues with some browsers</a>, so I actually put this in my <code class="highlighter-rouge">~/.profile</code> instead:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Language support</span>
<span class="nb">export </span><span class="nv">GTK_IM_MODULE</span><span class="o">=</span>xim
<span class="nb">export </span><span class="nv">XMODIFIERS</span><span class="o">=</span>@im<span class="o">=</span>ibus
<span class="nb">export </span><span class="nv">QT_IM_MODULE</span><span class="o">=</span>xim
ibus-daemon <span class="nt">-drx</span>
</code></pre></div></div>
<p>Now, log out and in again to let ibus properly start again, and there should now be a new applet in your bar for language settings.</p>
<h2 id="workflow">Workflow</h2>
<p><code class="highlighter-rouge">ibus</code> runs in the background and will show an indication of your selected language upon pressing the keyboard shortcut set in the <a href="#configuring-ibus">setup tool</a>. For languages like Japanese, where its writing systems do not use the English / Latin-based alphabets, <code class="highlighter-rouge">ibus</code> will automatically convert your words as you type (this behavior will be different from language to language).</p>
<p>An example of this is as follows. I want to write the word <em>Computer</em> in Japanese (Katakana to be exact). I would switch to <code class="highlighter-rouge">mozc</code> input, and start typing the romanji word for computer, <em>Pasokon</em>. This will automatically be converted to Hiragana, <em>ぱそこん</em>. <em>Computer</em> is not a word that one would write in Hiragana as far as I know, so Katakana would be a better choice. To convert this word, I just press <code class="highlighter-rouge">Space</code> (This is indicated in the bottom left of my screen by <code class="highlighter-rouge">ibus</code>), and I now have <em>パソコン</em>, the Katakana word for <em>Computer</em>!</p>
<hr>
<h4 id="after-note-languages">After Note: Languages</h4>
<p>In case you cant tell, English is my native language. If I messed up my spelling or context with the small amount of Japanese in this post, <a href="/about#chat-with-me">let me know</a>!</p>
</div>
</div>
</div>
<div class="container">
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -42,7 +42,7 @@
</div>
<div class="header-gap"></div>
</div> -->
<div class="reactive-bg">
<div class="post container" >
<h1>Blog Posts</h1>
@ -58,9 +58,9 @@
Featured Post
</div>
<div class="card-body">
<h5 class="card-title">My weird piece of EDC</h5>
<p class="card-text">Reasons why I always carry NFC cards with me</p>
<a href="/blog/2019/08/10/why-i-carry-nfc" class="btn btn-primary">View</a>
<h5 class="card-title">How I set up ひらがな input on my laptop</h5>
<p class="card-text">I3wm makes everything 10x harder than it should be</p>
<a href="/blog/2019/08/12/setting-up-ja" class="btn btn-primary">View</a>
</div>
</div>
</div>
@ -74,6 +74,21 @@
<a href="/blog/2019/08/10/why-i-carry-nfc" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">My weird piece of EDC</h5>
<!-- <small>2019-08-10 16:57:00 -0400</small> -->
</div>
<p class="card-text">Reasons why I always carry NFC cards with me</p>
</a>
<a href="/blog/2019/07/15/mindmap" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">Mind map generation with Python</h5>
@ -315,20 +330,20 @@
</div>
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -341,5 +356,27 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -1,4 +1,82 @@
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.6">Jekyll</generator><link href="http://0.0.0.0:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://0.0.0.0:4000/" rel="alternate" type="text/html" /><updated>2019-08-11T14:41:50-04:00</updated><id>http://0.0.0.0:4000/feed.xml</id><title type="html">Evan Pratten</title><subtitle>Computer wizard, student, &lt;a href=&quot;https://frc5024.github.io&quot;&gt;@frc5024&lt;/a&gt; programming team lead, and radio enthusiast.</subtitle><entry><title type="html">My weird piece of EDC</title><link href="http://0.0.0.0:4000/blog/2019/08/10/why-i-carry-nfc" rel="alternate" type="text/html" title="My weird piece of EDC" /><published>2019-08-10T16:57:00-04:00</published><updated>2019-08-10T16:57:00-04:00</updated><id>http://0.0.0.0:4000/blog/2019/08/10/Why-I-Carry-NFC</id><content type="html" xml:base="http://0.0.0.0:4000/blog/2019/08/10/why-i-carry-nfc">&lt;p&gt;Im back with a quick little post about something I cary with me everywhere I go, EDC (Every-Day Carry) if you will.&lt;/p&gt;
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.6">Jekyll</generator><link href="http://0.0.0.0:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://0.0.0.0:4000/" rel="alternate" type="text/html" /><updated>2019-08-12T19:42:30-04:00</updated><id>http://0.0.0.0:4000/feed.xml</id><title type="html">Evan Pratten</title><subtitle>Computer wizard, student, &lt;a href=&quot;https://frc5024.github.io&quot;&gt;@frc5024&lt;/a&gt; programming team lead, and radio enthusiast.</subtitle><entry><title type="html">How I set up ひらがな input on my laptop</title><link href="http://0.0.0.0:4000/blog/2019/08/12/setting-up-ja" rel="alternate" type="text/html" title="How I set up ひらがな input on my laptop" /><published>2019-08-12T15:40:00-04:00</published><updated>2019-08-12T15:40:00-04:00</updated><id>http://0.0.0.0:4000/blog/2019/08/12/Setting-up-JA</id><content type="html" xml:base="http://0.0.0.0:4000/blog/2019/08/12/setting-up-ja">&lt;p&gt;I am currently working with &lt;a href=&quot;https://en.wikipedia.org/wiki/Hiragana&quot;&gt;ひらがな&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Katakana&quot;&gt;かたかな&lt;/a&gt;, and, &lt;a href=&quot;https://en.wikipedia.org/wiki/Kanji&quot;&gt;かんじ&lt;/a&gt; in some projects, and needed a more reliable way to write than running some &lt;a href=&quot;https://en.wikipedia.org/wiki/Romanization_of_Japanese&quot;&gt;romanji&lt;/a&gt; through an online translator. So, this post will detail what I did to enable native inputs on my laptop. This guide is specifically for &lt;a href=&quot;https://i3wm.org/&quot;&gt;i3wm&lt;/a&gt;, because it does not obey system settings for languages and inputs.&lt;/p&gt;
&lt;h2 id=&quot;adding-font-support-to-linux&quot;&gt;Adding font support to Linux&lt;/h2&gt;
&lt;p&gt;Firstly, we need fonts. Depending on your system, these may already be installed. For Japanese, I only used &lt;code class=&quot;highlighter-rouge&quot;&gt;vlgothic&lt;/code&gt;, so here in the package for it:&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo apt install fonts-vlgothic
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;language-support&quot;&gt;Language support&lt;/h2&gt;
&lt;p&gt;Im not sure if this matters, but I have seen other people do it, so why not be safe?&lt;/p&gt;
&lt;p&gt;I am currently running a stock Ubuntu &lt;a href=&quot;&quot;&gt;18.04&lt;/a&gt; base, which means that everything is pre-configured for Gnome. To set language support in Gnome, pull up the settings panel:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# This line fixes some compatibility issues between Gnome and I3 when launching the settings menu. I recommend aliasing it.&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;env &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;XDG_CURRENT_DESKTOP&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;GNOME gnome-control-center
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;/assets/images/language-settings.png&quot; alt=&quot;Gnome language settings&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Next, go to &lt;em&gt;Settings &amp;gt; Language and Region &amp;gt; Input Sources&lt;/em&gt;, and click on &lt;em&gt;Manage Installed Languages&lt;/em&gt;.
This will bring up a window where you can select a new language to install. From here, I clicked on &lt;em&gt;Install / Remove Language&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/images/language-installation.png&quot; alt=&quot;Language installation panel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In this list, I just selected the languages I wanted (English and Japanese), and applied my changes. You may be asked to enter your password while installing the new languages. Once installation is complete, log out, and in again.&lt;/p&gt;
&lt;p&gt;With the new language support installed, return to the &lt;em&gt;Input Sources&lt;/em&gt; settings, and press the &lt;code class=&quot;highlighter-rouge&quot;&gt;+&lt;/code&gt; button to add a new language. From here, search the language you want (it may be under &lt;em&gt;Other&lt;/em&gt;) and select it. For Japanese, select the &lt;code class=&quot;highlighter-rouge&quot;&gt;mozc&lt;/code&gt; variant.&lt;/p&gt;
&lt;p&gt;Gnomes language settings are now configured. If you are using Gnome (not I3), you can stop here.&lt;/p&gt;
&lt;h2 id=&quot;configuring-ibus&quot;&gt;Configuring ibus&lt;/h2&gt;
&lt;p&gt;Dont get me wrong, I love I3wm, but sometimes its configurability drives me crazy.&lt;/p&gt;
&lt;p&gt;After searching through various forums and wikis looking for an elegant way to switch languages in I3, I found a link to an &lt;a href=&quot;https://wiki.archlinux.org/index.php/IBus&quot;&gt;ArchWiki page&lt;/a&gt; at the bottom of a mailing list (I blame Google for not showing this sooner). It turns out that a program called &lt;code class=&quot;highlighter-rouge&quot;&gt;ibus&lt;/code&gt; is exactly what I needed. Here is how to set it up:&lt;/p&gt;
&lt;p&gt;Remember &lt;code class=&quot;highlighter-rouge&quot;&gt;mozc&lt;/code&gt; from above? If you are not using it, this package may not work. Search for the appropriate &lt;code class=&quot;highlighter-rouge&quot;&gt;ibus-&lt;/code&gt; package for your selected language(s).&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Install ibus-mozc for Japanese (mozc)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;ibus-mozc
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Now that &lt;code class=&quot;highlighter-rouge&quot;&gt;ibus&lt;/code&gt; is installed, run the setup script:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ibus-setup
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;/assets/images/ibus-general.png&quot; alt=&quot;Ibus settings&quot; /&gt;&lt;/p&gt;
&lt;p&gt;From here, set your shortcut to something not used by I3 (I chose &lt;code class=&quot;highlighter-rouge&quot;&gt;CTRL+Shift+Space&lt;/code&gt;, but most people prefer &lt;code class=&quot;highlighter-rouge&quot;&gt;Alt+Space&lt;/code&gt;), and enable the system tray icon.
Now, go to the &lt;em&gt;Input Method&lt;/em&gt; settings.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/images/ibus-input.png&quot; alt=&quot;Ibus input settings&quot; /&gt;&lt;/p&gt;
&lt;p&gt;From here, press the &lt;code class=&quot;highlighter-rouge&quot;&gt;+&lt;/code&gt;, and add your language(s).&lt;/p&gt;
&lt;h2 id=&quot;configuring-profile&quot;&gt;Configuring profile&lt;/h2&gt;
&lt;p&gt;According to the Wiki page, I needed to add the following to my &lt;code class=&quot;highlighter-rouge&quot;&gt;~/.profile&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Language support&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;GTK_IM_MODULE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;ibus
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;XMODIFIERS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;@im&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;ibus
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;QT_IM_MODULE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;ibus
ibus-daemon &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-x&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It turns out that this &lt;a href=&quot;https://github.com/ibus/ibus/issues/2020&quot;&gt;causes issues with some browsers&lt;/a&gt;, so I actually put this in my &lt;code class=&quot;highlighter-rouge&quot;&gt;~/.profile&lt;/code&gt; instead:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Language support&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;GTK_IM_MODULE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;xim
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;XMODIFIERS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;@im&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;ibus
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;QT_IM_MODULE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;xim
ibus-daemon &lt;span class=&quot;nt&quot;&gt;-drx&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Now, log out and in again to let ibus properly start again, and there should now be a new applet in your bar for language settings.&lt;/p&gt;
&lt;h2 id=&quot;workflow&quot;&gt;Workflow&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;ibus&lt;/code&gt; runs in the background and will show an indication of your selected language upon pressing the keyboard shortcut set in the &lt;a href=&quot;#configuring-ibus&quot;&gt;setup tool&lt;/a&gt;. For languages like Japanese, where its writing systems do not use the English / Latin-based alphabets, &lt;code class=&quot;highlighter-rouge&quot;&gt;ibus&lt;/code&gt; will automatically convert your words as you type (this behavior will be different from language to language).&lt;/p&gt;
&lt;p&gt;An example of this is as follows. I want to write the word &lt;em&gt;Computer&lt;/em&gt; in Japanese (Katakana to be exact). I would switch to &lt;code class=&quot;highlighter-rouge&quot;&gt;mozc&lt;/code&gt; input, and start typing the romanji word for computer, &lt;em&gt;Pasokon&lt;/em&gt;. This will automatically be converted to Hiragana, &lt;em&gt;ぱそこん&lt;/em&gt;. &lt;em&gt;Computer&lt;/em&gt; is not a word that one would write in Hiragana as far as I know, so Katakana would be a better choice. To convert this word, I just press &lt;code class=&quot;highlighter-rouge&quot;&gt;Space&lt;/code&gt; (This is indicated in the bottom left of my screen by &lt;code class=&quot;highlighter-rouge&quot;&gt;ibus&lt;/code&gt;), and I now have &lt;em&gt;パソコン&lt;/em&gt;, the Katakana word for &lt;em&gt;Computer&lt;/em&gt;!&lt;/p&gt;
&lt;hr /&gt;
&lt;h4 id=&quot;after-note-languages&quot;&gt;After Note: Languages&lt;/h4&gt;
&lt;p&gt;In case you cant tell, English is my native language. If I messed up my spelling or context with the small amount of Japanese in this post, &lt;a href=&quot;/about#chat-with-me&quot;&gt;let me know&lt;/a&gt;!&lt;/p&gt;</content><author><name></name></author><summary type="html">I am currently working with ひらがな, かたかな, and, かんじ in some projects, and needed a more reliable way to write than running some romanji through an online translator. So, this post will detail what I did to enable native inputs on my laptop. This guide is specifically for i3wm, because it does not obey system settings for languages and inputs.</summary></entry><entry><title type="html">My weird piece of EDC</title><link href="http://0.0.0.0:4000/blog/2019/08/10/why-i-carry-nfc" rel="alternate" type="text/html" title="My weird piece of EDC" /><published>2019-08-10T16:57:00-04:00</published><updated>2019-08-10T16:57:00-04:00</updated><id>http://0.0.0.0:4000/blog/2019/08/10/Why-I-Carry-NFC</id><content type="html" xml:base="http://0.0.0.0:4000/blog/2019/08/10/why-i-carry-nfc">&lt;p&gt;Im back with a quick little post about something I cary with me everywhere I go, EDC (Every-Day Carry) if you will.&lt;/p&gt;
&lt;h2 id=&quot;how-this-started&quot;&gt;How this started&lt;/h2&gt;
&lt;p&gt;Earlier this year, my friend @retrax24 showed me a piece of “fake ID” he was given as a joke. After some experimentation, he noticed that, upon tapping it to his phone, he would get an error message about an un-formatted card.&lt;/p&gt;
@ -569,13 +647,4 @@ __&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&g
&lt;p&gt;Not too much. Aside from learning new syntax, tools, and no longer worrying about linker errors, Java and C++ have no real difference. Most of the reason Java was chosen was based on support instead of functionality. Java is much better supported by FIRST, WPILib, and other vendors. Java is also taught in the school 5024 is based from. For a more detailed explanation of the benefits of each language, take a look at Chief Delphi. There are plenty of posts there explaining the choices of many teams and their reasoning.&lt;/p&gt;
&lt;h2 id=&quot;side-note&quot;&gt;Side note&lt;/h2&gt;
&lt;p&gt;I am experimenting with various post formats (This being a short post). Let me know which you prefer via the social platform of your choice.&lt;/p&gt;</content><author><name></name></author><summary type="html">This is a very short post, just to explain the result of The language Hunt.</summary></entry><entry><title type="html">I gave Googles CTF a short try and learned a thing or two</title><link href="http://0.0.0.0:4000/blog/2019/06/23/googlectf" rel="alternate" type="text/html" title="I gave Google's CTF a short try and learned a thing or two" /><published>2019-06-23T18:04:00-04:00</published><updated>2019-06-23T18:04:00-04:00</updated><id>http://0.0.0.0:4000/blog/2019/06/23/googlectf</id><content type="html" xml:base="http://0.0.0.0:4000/blog/2019/06/23/googlectf">&lt;p&gt;Honestly, I completely forgot that this was the weekend of Googles online &lt;a href=&quot;https://g.co/ctf&quot;&gt;CTF Qualifications&lt;/a&gt; for 2019 and was late, unprepared, busy, and did not have a team to work with.&lt;/p&gt;
&lt;h2 id=&quot;what-is-this-event&quot;&gt;What is this event?&lt;/h2&gt;
&lt;p&gt;Google hosts a (yearly?) event where hackers from around the world team up and attempt a variety of tasks like: exploiting machines over a network, reversing firmware, pulling passwords from tcp packets, hacking crypto stuff (something I suck at), breaking compilers. and much more. Generally, this event and others like it are really fun.&lt;/p&gt;
&lt;h2 id=&quot;what-i-learned&quot;&gt;What I learned&lt;/h2&gt;
&lt;p&gt;Many questions I worked on involved extracting a key from a binary. I employed two vastly different tools for this job. First, a standard linux tool, &lt;code class=&quot;highlighter-rouge&quot;&gt;strings&lt;/code&gt;. When passed a filename, it will extract and print all human-readable strings it can find to the terminal. The flag is usually in this dump. If not, I use the second tool. &lt;a href=&quot;https://www.nsa.gov/resources/everyone/ghidra/&quot;&gt;Ghidra&lt;/a&gt;, an open-source reverse engineering tool designed by the NSA. I used this tool a fair amount during my quick attempt at GCTF.&lt;/p&gt;
&lt;h2 id=&quot;will-i-do-this-again&quot;&gt;Will I do this again?&lt;/h2&gt;
&lt;p&gt;Yes! The CTF was very fun to try, and I will definitely give it a proper shot next time.&lt;/p&gt;</content><author><name></name></author><summary type="html">Honestly, I completely forgot that this was the weekend of Googles online CTF Qualifications for 2019 and was late, unprepared, busy, and did not have a team to work with.</summary></entry></feed>
&lt;p&gt;I am experimenting with various post formats (This being a short post). Let me know which you prefer via the social platform of your choice.&lt;/p&gt;</content><author><name></name></author><summary type="html">This is a very short post, just to explain the result of The language Hunt.</summary></entry></feed>

View File

@ -92,20 +92,20 @@
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
@ -118,4 +118,26 @@
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -102,25 +102,47 @@
</div>
</div>
<div class="container">
<hr>
<hr>
</div>
<nav class="navbar navbar-expand-lg ">
<nav class="navbar navbar-expand-lg ">
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-11 14:41:50 -0400
</span>
</div>
</nav>
<!-- Navbar content -->
<div class="container">
<span class="navbar-text">
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
This site was last updated at: 2019-08-12 19:42:30 -0400
</span>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!-- Offsets for links -->
<script>
(function ($, window) {
var adjustAnchor = function () {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function () {
adjustAnchor();
});
})(jQuery, window);
</script>
</body>

View File

@ -1,5 +1,5 @@
#! /bin/bash
jekyll build
# jekyll build
gpg --output signed-updates.txt --clearsign verify.txt
# (echo "---\nlayout: raw\n---\n\`\`\`" && cat signed-updates.tmp && echo "\n\`\`\`") > signed-updates.md

View File

@ -10,6 +10,13 @@ that change will not be listed here.
- -------- BEGIN LISTINGS --------
################################
TIMESTAMP: 2019-08-12 19:40:00
UPDATE BY: Evan Pratten
NOTABLE CHANGES:
Languages blog post
################################
TIMESTAMP: 2019-08-10 21:24:00 +0000
UPDATE BY: Evan Pratten
@ -37,12 +44,12 @@ Added signing
- --------- END LISTINGS ---------
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEclMG7LWwKSk5GlFuk6x7PQcTVtMFAl1QYWYACgkQk6x7PQcT
VtN+sAf+MsRWY9Ra/HFsAQP8L/9oxAZYwJcpG+Ez8YndJfzF6H5T/uV2EWLhifCz
4YZIpTH6/lOWwi+eUE7kGgfTURz+Uqr9g4P0S5bRPeKWN7J+IdgCeP30eie+Ca2Y
z/Wrz/4Dcy11IoerSEfqcze9VMJGLfrGc59Z5Ci/rGVu153l0w7SFshnvDcxEp42
uZY6ItTOavt1Yl+C3A6BazJh9ZtE0yGFTZbiq1pXJ4AoHnJQx/lBdMD4/ujtrSck
Kn36yTi7iFoJEt0gSlGb4IgIjjNrgqnqakkJf/eupFUFxYygABXFCoZjrVupHkll
YusiBE5oFqOzUaHyTcEGd3MFH9ny/Q==
=Z/lI
iQEzBAEBCgAdFiEEclMG7LWwKSk5GlFuk6x7PQcTVtMFAl1R+V4ACgkQk6x7PQcT
VtNbnQf8DRYU8sUePjkJ1hag+uvXJZ/Rm5i9SYR3u2yS2tQ9uTSTGmETtc4fYyCg
Y15x+w0OqTFZTw0Psu+HvU2Vg2u8ab05Ru/SL+QgAD268rRoyPXzsIF6jpeIF4RT
BkxrAgJ0OycyuLSfPlvn+2xTw3FkTiriAFhao/QPrKmCagvtU37Y/phxnN8YTKYQ
MinKMsSz16m3osdKAD++D4MmAIV9bfmh/+DI1y4bMhDGHsUrcdYV3CCIEVYyGneb
0y6anFK+7QKngFPfyBdutTksVL0+Y79ppjI40u6Icollvl6hRwGLeHzN3Aja0xWN
2o3oeUUX7imTtapnVC1DtQ6eYpZ7Bw==
=iWv1
-----END PGP SIGNATURE-----

View File

@ -7,6 +7,13 @@ that change will not be listed here.
-------- BEGIN LISTINGS --------
################################
TIMESTAMP: 2019-08-12 19:40:00
UPDATE BY: Evan Pratten
NOTABLE CHANGES:
Languages blog post
################################
TIMESTAMP: 2019-08-10 21:24:00 +0000
UPDATE BY: Evan Pratten

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -1,5 +1,5 @@
#! /bin/bash
jekyll build
# jekyll build
gpg --output signed-updates.txt --clearsign verify.txt
# (echo "---\nlayout: raw\n---\n\`\`\`" && cat signed-updates.tmp && echo "\n\`\`\`") > signed-updates.md

View File

@ -10,6 +10,13 @@ that change will not be listed here.
- -------- BEGIN LISTINGS --------
################################
TIMESTAMP: 2019-08-12 19:40:00
UPDATE BY: Evan Pratten
NOTABLE CHANGES:
Languages blog post
################################
TIMESTAMP: 2019-08-10 21:24:00 +0000
UPDATE BY: Evan Pratten
@ -37,12 +44,12 @@ Added signing
- --------- END LISTINGS ---------
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEclMG7LWwKSk5GlFuk6x7PQcTVtMFAl1QYWYACgkQk6x7PQcT
VtN+sAf+MsRWY9Ra/HFsAQP8L/9oxAZYwJcpG+Ez8YndJfzF6H5T/uV2EWLhifCz
4YZIpTH6/lOWwi+eUE7kGgfTURz+Uqr9g4P0S5bRPeKWN7J+IdgCeP30eie+Ca2Y
z/Wrz/4Dcy11IoerSEfqcze9VMJGLfrGc59Z5Ci/rGVu153l0w7SFshnvDcxEp42
uZY6ItTOavt1Yl+C3A6BazJh9ZtE0yGFTZbiq1pXJ4AoHnJQx/lBdMD4/ujtrSck
Kn36yTi7iFoJEt0gSlGb4IgIjjNrgqnqakkJf/eupFUFxYygABXFCoZjrVupHkll
YusiBE5oFqOzUaHyTcEGd3MFH9ny/Q==
=Z/lI
iQEzBAEBCgAdFiEEclMG7LWwKSk5GlFuk6x7PQcTVtMFAl1R+V4ACgkQk6x7PQcT
VtNbnQf8DRYU8sUePjkJ1hag+uvXJZ/Rm5i9SYR3u2yS2tQ9uTSTGmETtc4fYyCg
Y15x+w0OqTFZTw0Psu+HvU2Vg2u8ab05Ru/SL+QgAD268rRoyPXzsIF6jpeIF4RT
BkxrAgJ0OycyuLSfPlvn+2xTw3FkTiriAFhao/QPrKmCagvtU37Y/phxnN8YTKYQ
MinKMsSz16m3osdKAD++D4MmAIV9bfmh/+DI1y4bMhDGHsUrcdYV3CCIEVYyGneb
0y6anFK+7QKngFPfyBdutTksVL0+Y79ppjI40u6Icollvl6hRwGLeHzN3Aja0xWN
2o3oeUUX7imTtapnVC1DtQ6eYpZ7Bw==
=iWv1
-----END PGP SIGNATURE-----

View File

@ -7,6 +7,13 @@ that change will not be listed here.
-------- BEGIN LISTINGS --------
################################
TIMESTAMP: 2019-08-12 19:40:00
UPDATE BY: Evan Pratten
NOTABLE CHANGES:
Languages blog post
################################
TIMESTAMP: 2019-08-10 21:24:00 +0000
UPDATE BY: Evan Pratten