<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Articles on meliplug.info</title><link>https://meliplug.info/articles/</link><description>Recent content in Articles on meliplug.info</description><generator>Hugo -- 0.160.0-DEV</generator><language>en-us</language><managingEditor>ywbird@naver.com (ywbird)</managingEditor><webMaster>ywbird@naver.com (ywbird)</webMaster><lastBuildDate>Sun, 23 Aug 2026 05:28:38 +0900</lastBuildDate><atom:link href="https://meliplug.info/articles/rss.xml" rel="self" type="application/rss+xml"/><item><title>Lambda Treemap</title><link>https://meliplug.info/articles/math/lambda-treemap/</link><pubDate>Sat, 22 Aug 2026 00:00:00 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/math/lambda-treemap/</guid><description>Lambda calculus를 위한 treemap diagram 디자인하기</description></item><item><title>vis-korea-ime 포팅하기</title><link>https://meliplug.info/articles/vis-korea-ime/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/vis-korea-ime/</guid><description>&lt;p&gt;&lt;a href="https://codeberg.org/ywbird/vis-korea-ime" target="_blank" rel="noopener noreferrer" class="external" &gt;https://codeberg.org/ywbird/vis-korea-ime[↗]&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;최근 Emacs랑 이거저거 editor 사용해 보고 있는데, vis에 한글 입력이 없더라구요. &lt;br /&gt;
vis 또한 플러그인으로 Lua를 사용하길래, kiyoon 님의 &lt;a href="https://github.com/kiyoon/Korean-IME.nvim" target="_blank" rel="noopener noreferrer" class="external" &gt;&lt;code&gt;Kiyoon/Korean-IME.nvim&lt;/code&gt;[↗]&lt;/a&gt;
(이 또한 &lt;a href="https://github.com/lifthrasiir/hangeul.vim" target="_blank" rel="noopener noreferrer" class="external" &gt;lifthrasiir/hangeul.vim[↗]&lt;/a&gt;
의 Lua 버전 재작성)을 vis로 포팅했습니다. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;구현 과정에서 neovim과 vis의 keymap 구현 방식의 차이 때문에 좀 고생했습니다.&lt;/p&gt;
&lt;h2 id="noremap의-부재"&gt;
&lt;a href="#noremap%ec%9d%98-%eb%b6%80%ec%9e%ac" class="anchor"&gt;noremap의 부재&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;먼저 neovim의 keymap 설정 방식은 아래와 같습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-lua" data-lang="lua"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;vim.keymap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;i&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;lt;space&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kr"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;finish_2s&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;lt;space&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;end&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;noremap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;silent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;expr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;desc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;해석해 보자면,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;i&amp;quot;&lt;/code&gt; : &lt;code&gt;INSERT&lt;/code&gt; 모드에서&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;&amp;lt;space&amp;gt;&amp;quot;&lt;/code&gt; : &lt;code&gt;&amp;lt;space&amp;gt;&lt;/code&gt; 키를 누르면&lt;/li&gt;
&lt;li&gt;&lt;code&gt;finish_2s()&lt;/code&gt; : 해당 함수를 실행하고&lt;/li&gt;
&lt;li&gt;&lt;code&gt;return &amp;quot;&amp;lt;space&amp;gt;&amp;quot;&lt;/code&gt; : &lt;code&gt;&amp;lt;space&amp;gt;&lt;/code&gt; 를 키 입력한다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;noremap = true&lt;/code&gt; : 제귀 키 입력을 방지하고,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;silent = true&lt;/code&gt; : 입력(&lt;code&gt;&amp;lt;space&amp;gt;&lt;/code&gt;)의 결과를 숨긴다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;expr = true&lt;/code&gt; : 함수의 반환 값을 입력으로 사용한다. &lt;br /&gt;
(이게 없다면 &lt;code&gt;&amp;lt;space&amp;gt;&lt;/code&gt; 는 키 입력으로 처리되지 않음)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;반면, vis에서는 아래와 같습니다.&lt;/p&gt;</description></item><item><title>Uxn/Varvara Ecosystem</title><link>https://meliplug.info/articles/uxn/uxn/</link><pubDate>Tue, 09 Dec 2025 23:04:12 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/uxn/uxn/</guid><description>&lt;div class="quote" style=""&gt;
&lt;span class="quote_inside"&gt;Let&amp;rsquo;s try to go slow, and fix things.&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id="what-is-uxnvarvara"&gt;
&lt;a href="#what-is-uxnvarvara" class="anchor"&gt;What is Uxn/Varvara&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Uxn/Varvara 생태계는 우리 소프트웨어의 핵심인 작은 가상 머신을 기반으로 하는 &lt;strong&gt;개인 컴퓨팅 스택&lt;/strong&gt;으로, 이를 통해 다양한 시스템에서 동일한 애플리케이션을 실행할 수 있습니다.&lt;br&gt;
- &lt;a href="https://100r.co/site/uxn.html" target="_blank" rel="noopener noreferrer" class="external" &gt;uxn[↗]&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Uxn/Varvara는 &lt;a href="https://100r.co/site/about.html" target="_blank" rel="noopener noreferrer" class="external" &gt;Hundred Rabbits 스튜디오[↗]&lt;/a&gt;
에서 사용하는 low-level 컴퓨팅 스택이다.&lt;br&gt;
Uxntal이라는 &lt;strong&gt;Assembly&lt;/strong&gt; 언어로 프로그래밍 가능하며, 고전 콘솔 에뮬레이터용 롬(ROM)과 비슷한 형식의 파일로 컴파일된다.&lt;/p&gt;
&lt;p&gt;Uxn은 한마디로 CPU로써, opcodes를 통한 연산만을 지원한다.&lt;br&gt;
Uxn만을 이용해서는 평범한 cli 프로그램처럼 콘솔 입출력, 파일 접근 정도가 가능하다.&lt;br&gt;
Varvara는 기본적 스펙만 존재하는 Uxn에 키보드, 마우스, 오디오, 및 화면 같은 입출력 장치를 연결한다.&lt;/p&gt;</description></item><item><title>Uxntal</title><link>https://meliplug.info/articles/uxn/uxntal/</link><pubDate>Tue, 09 Dec 2025 22:55:34 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/uxn/uxntal/</guid><description>&lt;div class="quote" style=""&gt;
&lt;span class="quote_inside"&gt;A programming language for the Uxn virtual machine.&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Uxntal&lt;/strong&gt;은 &lt;strong&gt;Uxn&lt;/strong&gt;의 언어이다.&lt;/p&gt;
&lt;p&gt;Uxntal은 Uxn CPU 위에서 돌아가는 &lt;span class="sc_highlight" style="--highlight: var(--primary7);"&gt;ROM&lt;/span&gt;
으로 컴파일 되기 위한 Assembly 언어이다.&lt;/p&gt;
&lt;blockquote class="callout note"&gt;
&lt;p class="callout-title"&gt;Note&lt;/p&gt;
&lt;div class="callout-content"&gt;&lt;p&gt;Uxntal은 여느 프로그래밍 언어와 마찬가지로 상호의존적으로 엮여진 구조이기에, 순서대로 배우기는 어렵지만, 최대한 독립적인 개념부터 정리했다.&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h2 id="read-only-memory-rom"&gt;
&lt;a href="#read-only-memory-rom" class="anchor"&gt;&lt;span class="sc_highlight" style="--highlight: var(--primary7);"&gt;Read Only Memory (ROM)&lt;/span&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;span class="sc_highlight" style="--highlight: var(--primary7);"&gt;ROM&lt;/span&gt;
은 Uxntal로부터 어셈블된다. 이름이 &lt;strong&gt;ROM&lt;/strong&gt;(&lt;strong&gt;R&lt;/strong&gt;ead &lt;strong&gt;O&lt;/strong&gt;nly &lt;strong&gt;M&lt;/strong&gt;emory)이지만, Uxn에 로드되는 순간, &lt;strong&gt;&lt;code&gt;STA&lt;/code&gt; 등을 이용해 수정될 수 있다&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Uxntal의 &lt;a href="#opcodes" class="internal" &gt;opcode&lt;/a&gt;
를 포함한 대부분의 데이터는 그대로 byte로 변환된다.&lt;/p&gt;</description></item><item><title>Lambda Diagram</title><link>https://meliplug.info/articles/math/lambda-diagram/</link><pubDate>Sat, 11 Oct 2025 01:38:33 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/math/lambda-diagram/</guid><description>building a diagram generator for lambda calculus</description></item><item><title>Lambda Calculus</title><link>https://meliplug.info/articles/math/lambda-calculus/</link><pubDate>Sun, 05 Oct 2025 15:52:14 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/math/lambda-calculus/</guid><description>기반적인 함수적 이론</description></item><item><title>게임/시각화 툴에 대한 고민</title><link>https://meliplug.info/articles/game-and-viz-tools/</link><pubDate>Thu, 14 Aug 2025 14:50:21 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/game-and-viz-tools/</guid><description>&lt;h2 id="introduction"&gt;
&lt;a href="#introduction" class="anchor"&gt;Introduction&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;나는 시각화를 좋아한다.
이를 공유하는 것도 좋아한다.&lt;/p&gt;</description></item><item><title>Langton's Ant</title><link>https://meliplug.info/articles/math/langton/</link><pubDate>Wed, 30 Jul 2025 03:06:11 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/math/langton/</guid><description>Langton&amp;#39;s Ant에 대한 탐구</description></item><item><title>Rust로 Markdown 사용하기 - Rust Blog</title><link>https://meliplug.info/articles/rust-blog/markdown-with-rust/</link><pubDate>Mon, 03 Mar 2025 10:24:59 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/rust-blog/markdown-with-rust/</guid><description>Rust로 markdown 관리, 조작하기</description></item><item><title>Rust로 HTML 사용하기 - Rust Blog</title><link>https://meliplug.info/articles/rust-blog/html-with-rust/</link><pubDate>Thu, 27 Feb 2025 03:35:04 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/rust-blog/html-with-rust/</guid><description>Rust로 html 관리, 조작하기</description></item><item><title>구상 - Rust Blog</title><link>https://meliplug.info/articles/rust-blog/concept/</link><pubDate>Tue, 25 Feb 2025 21:01:12 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/rust-blog/concept/</guid><description>Rust로 markdown 블로그 만들기</description></item><item><title>Bezier Curve</title><link>https://meliplug.info/articles/math/bezier/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0900</pubDate><author>ywbird@naver.com (ywbird)</author><guid>https://meliplug.info/articles/math/bezier/</guid><description>3차 곡선에 대한 탐구 - 벡터 이미지는 어떻게 만들어지는가</description></item></channel></rss>