-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfeed.xml
180 lines (163 loc) · 16 KB
/
feed.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>~hellricer/</title>
<description>— a terminal dweller</description>
<link>https://hellricer.github.io</link>
<atom:link href="https://hellricer.github.io/feed.xml" rel="self" type="application/rss+xml" />
<item>
<title>Decoding the TRAKTOR4 field</title>
<description><p>The Native Instrument's Traktor line of software is kind of infamous when it comes to its library management.</p>
<p>It only reads a handful of standard ID3 fields and it encodes its own metadata inside a non-standard private field. As one could expect, the format is binary and proprietary.</p>
<p>Luckily, <a href="https://web.archive.org/web/20130525033615/http://dope.cz/code">some clever folks already figured it out back in 2013</a> and it seems that the format haven't changed since then. They also provided a parser implemented in Perl, but it wasn't archived.</p>
<p>But since we know the format, we can now write our own parser using some Modern Tools™.</p>
<h3>Format</h3>
<p>Data are structured as a <em>n-ary</em> tree of frames. Each frame consists of the header and the data content.</p>
<hr>
<pre><code>0x00 0x04 Frame identifier (reversed for some reason)
0x04 0x04 Frame's length in bytes (=LEN)
0x08 0x04 Number of child frames
0x0c LEN Data content of the frame
</code></p</description>
<pubDate>Wed, 05 May 2021 00:00:00 </pubDate>
<link>https://hellricer.github.io/2021/05/05/decoding-traktor4-field.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2021/05/05/decoding-traktor4-field.html</guid>
</item>
<item>
<title>Open source games for MS-DOS</title>
<description><h2>Intro</h2>
<p>Most you of probably remember GORILLA.BAS or DONKEY.BAS co-written by Bill Gates himself and many are probably aware that some FPS shooters like Doom and Quake were open-sourced, but otherwise source code wasn't something you saw very often in the DOS gaming world.</p>
<p>But turns out that some developers did decide to release the games' sources over the course of years. Most of them have been already rewritten to SDL, making them portable to pretty much any modern platform, but for me the real question is — how hard is it to compile the actual DOS binaries?</p>
<p>Why would anyone want to do that, you ask? Because, well.. uhm. Anyway, let's get into it!</p>
<h2>Mario &amp; Luigi</h2>
<iframe width="901" height="507" src="https://www.youtube.com/embed/uu9SO6WOnYY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p><small><em></em></small></p>
<p>Let's start with this Mario </description>
<pubDate>Sun, 01 Nov 2020 00:00:00 </pubDate>
<link>https://hellricer.github.io/2020/11/01/opensource-msdos-games.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2020/11/01/opensource-msdos-games.html</guid>
</item>
<item>
<title>Making fzf experience a bit more consistent</title>
<description><p>As for increasingly many people, <code>fzf</code> became deeply ingrained into my workflow. But there are few things that I find a bit odd.</p>
<p>First, I don't really see the advantage of having <code>Ctrl-T</code> mapped to <em>"find files in current directory"</em>. What I often want is to search only in some subdirectory.</p>
<p>For example:</p>
<pre><code>cp Music/&lt;Ctrl-T&gt;
</code></pre>
<p>doesn't quite work for me, because the search starts in my home directory. What I have to use is <code>cp Music/**&lt;Tab&gt;</code>.</p>
<p>Second thing I don't quite understand is why author needed to treat <code>kill</code> command differently than all the other ones - while you need to type <code>**&lt;Tab&gt;</code> for <code>ssh</code> or <code>export</code>, the <code>kill</code> has to be run with <code>kill &lt;Tab&gt;</code> (and <code>kill **&lt;Tab&gt;</code> doesn't work). There's even <a href="https://github.com/junegunn/fzf/issues/385">an issue</a> about the problem, but</description>
<pubDate>Thu, 16 Apr 2020 00:00:00 </pubDate>
<link>https://hellricer.github.io/2020/04/16/a-bit-more-consistent-fzf.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2020/04/16/a-bit-more-consistent-fzf.html</guid>
</item>
<item>
<title>Test-drive your terminal</title>
<description><p>Along with shell, terminal emulator is for many the most important part of operating system. It's where you spend most of your time!</p>
<p>There are tones of them to choose from. Some prefer them as leightweight as possible, others like them to handle things like tabs, splits, etc.</p>
<p>But how does your terminal perform at actually displaying stuff? I wrote this shell script to test how various terminals handle colors, extended text decorations and few other things.</p>
<div>
<script src="https://gist.github.com/hellricer/e514d9615d02838244d8de74d0ab18b3.js"></script>
</div>
<p>Here's how decorations look in <code>gnome-terminal</code>:</p>
<figure>
<a href="https://hellricer.github.io//assets/images/terminal-decorations.jpg"><img src="https://hellricer.github.io//assets/images/terminal-decorations.jpg" alt=" Image: " title="gnome-terminal getting it almost right." /></a>
<figcaption>gnome-terminal getting it almost right.</figcaption>
</figure>
<h2>Results</h2>
</description>
<pubDate>Sat, 05 Oct 2019 00:00:00 </pubDate>
<link>https://hellricer.github.io/2019/10/05/test-drive-your-terminal.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2019/10/05/test-drive-your-terminal.html</guid>
</item>
<item>
<title>Soupmonkey</title>
<description><p><a href="/2019/05/29/elinks-with-beautifulsoup.html">In my last blog-post</a> , I discovered an easy way to manipulate DOM before rendering it in Elinks using BeautifulSoup library.</p>
<p>I called it DevTools for ELinks, but as one reddit user correctly noted, it's conceptually more similar to user-scripts.</p>
<p>That gave me an idea to completely separate rule-files for individual domains in a similar way that Greasemonkey, Tampermonkey and similar user-script managers do.</p>
<p>So, I introduce <a href="https://github.com/hellricer/soupmonkey">soupmonkey!</a></p>
<p>The usage is simplified as well - all you have to do is clone the repository into your <code>~/.elinks/</code> folder and decorate the <code>pre_format_html_hook</code> in the hooks file. So your <code>~/.elinks/hooks.py</code> might look like this:</p>
<hr/>
<pre><code>import soupmonkey
@soupmonkey.inject
def pre_format_html_hook(url, html):
return html
</code></pre>
<hr/>
<p>And that's it!</p>
<p>As of writ</description>
<pubDate>Fri, 04 Oct 2019 00:00:00 </pubDate>
<link>https://hellricer.github.io/2019/10/04/modify-dom-in-elinks-with-soupmonkey.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2019/10/04/modify-dom-in-elinks-with-soupmonkey.html</guid>
</item>
<item>
<title>ELinks with BeautifulSoup</title>
<description><p>For many terminal dwellers like me, browsing the web is one of the last few scenarios where we have to leave our cozy terminals into the harsh cold GUI world. Complexity of today's websites simply won't cut it without graphics, preferably with high screen resolution.</p>
<p>That's not to say that it's not worth to experiment with terminal-based browsers, though! Most people probably know about <code>w3m</code> for its ability to display actual images and <code>lynx</code> as the oldest one. But in this post, I'd like to talk about <a href="http://elinks.cz/">ELinks</a>.</p>
<p>It's arguably most feature-packed (read “bloated”) and also most user-friendly of the three. It supports tabs, multiple downloads, bookmarks, it has rudimentary support for CSS and even JavaScript. And, after some tweaking, it can actually look pretty good!</p>
<figure>
<a href="https://hellricer.github.io//assets/images/elinks-ddg.png"><img src="https://hellricer.github.io//assets/images/elinks-ddg.png" a</description>
<pubDate>Wed, 29 May 2019 00:00:00 </pubDate>
<link>https://hellricer.github.io/2019/05/29/elinks-with-beautifulsoup.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2019/05/29/elinks-with-beautifulsoup.html</guid>
</item>
<item>
<title>Ctrl+Arrows in terminal</title>
<description><p>Basically every program with some kind of input field supports <code>Ctrl+Arrows</code> for skipping over words,
<code>Ctrl+Backspace</code>, <code>Ctrl+Del</code> for deleting words, <code>Ctrl+Shift+Delete</code> for deleting rest of the line, etc.</p>
<p>Terminal emulators, on the other hand…</p>
<p>We could go to great lengths explaining reasons, history of vt100, etc… But the reality is that even when you're not particularly fond of GUI apps, you probably use at least a web browser and you likely have these shortcuts engraved into your muscle memory anyway.</p>
<p>Of course, you can use <code>Alt+Arrow</code> and other <a href="https://readline.kablamo.org/emacs.html">very powerful</a> <code>readline</code> bindings, but that means learning
whole new, <a href="https://clementc.github.io/blog/2018/01/25/moving_cli/">quite esoteric set of shortcuts for rather basic things</a> like moving around and deleting text.</p>
<p>So, if you want to join me in spitting on the VT100's grave </description>
<pubDate>Tue, 21 May 2019 00:00:00 </pubDate>
<link>https://hellricer.github.io/2019/05/21/ctrl-arrows-in-terminal.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2019/05/21/ctrl-arrows-in-terminal.html</guid>
</item>
<item>
<title>New webpage</title>
<description><p>Hello!</p>
<p>My name is Hellricer.</p>
<p>This blog will serve as a place to talk about my experiences with terminals and terminal-based programs, great software I've found, tricks &amp; tips for making your time in terminal more enjoyable, “ricing” and GNU/Linux in general.</p>
<p>Most posts will revolve around programs like <code>vim</code>, <code>tmux</code>, <code>bash</code> and so on.</p>
<h1>About this website</h1>
<p>This website is based on Jekyll and uses modified version of <a href="https://github.com/mmistakes/so-simple-theme">so-simple-theme</a>, but I'm using <a href="http://obraz.pirx.ru">Obraz</a> for generating it.</p>
<p>It aims to be modern-looking and responsive, while still being tiny (~1MB) and usable even in terminal-based browsers like <code>w3m</code>, <code>lynx</code> or <code>elinks</code> (pictured below).</p>
<figure>
<a href="https://hellricer.github.io//assets/images/editing-webpage.png"><img src="https://hellricer.github.io//assets/images/editin</description>
<pubDate>Mon, 20 May 2019 00:00:00 </pubDate>
<link>https://hellricer.github.io/2019/05/20/new-webpage.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2019/05/20/new-webpage.html</guid>
</item>
<item>
<title>Genes in Middle-earth</title>
<description><p><em>...one script to find them all,
and into GEDCOM bind them...</em></p>
<p>Ever since I was a child, Middle-earth was a special place for me. Out of all the imaginary places invented for the entertainment, <em>Arda</em> is arguably the most complex one. The amount of information that accompanies the stories is overwhelming. Tolkien is known to be genius linguist - languages of his world evolve in time, fork into dialects and influence each other. But his sense for geography and history is just as incredible. There are more than 70 kingdoms with several hundreds of people documented at least to some extent. Some can be find in family trees printed in appendices of the books, some family relations are only mentioned in stories, but there's lot of them. So, how about we map them?</p>
<p>I'm obviously not the first one to think of digitalizing Tolkien's genealogies. <a href="http://www.minastirith.com/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=1;t=000070">There are</a> some ancien</description>
<pubDate>Thu, 30 Apr 2015 00:00:00 </pubDate>
<link>https://hellricer.github.io/2015/04/30/genes-in-middle-earth.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2015/04/30/genes-in-middle-earth.html</guid>
</item>
<item>
<title>Color me impressed</title>
<description><p>I'm crazy about colors.</p>
<p>I work with terminal emulators all the time and nothings is more deterrent to
me than big wall of black &amp; white text spitted out into my 300x100 terminal.</p>
<p>I want my errors red and successes green, I want numbers, URLs and paths pop
out from the rest of the text, I want colored logs, compiler outputs, source
code snippets... It really makes your terminal experience much more fun.</p>
<p>So let's take a look where my obsession brought me so far.</p>
<h2>Brief history</h2>
<p>In the late 70s, the number of character-oriented terminals was rapidly
expanding. Of course there was no "de jure" standard and each manufacturer
handled their <a href="http://en.wikipedia.org/wiki/Escape_sequence">escape sequences</a>
differently. That meant that every screen-handling program had to be written
for one (type of) terminal only.</p>
<p>To deal with these incompatibilities, Bill Joy foresightedly created the
<code>termcap</code> library (<strong>term</strong</description>
<pubDate>Wed, 08 Oct 2014 00:00:00 </pubDate>
<link>https://hellricer.github.io/2014/10/08/color-me-impressed.html</link>
<guid isPermaLink="true">https://hellricer.github.io/2014/10/08/color-me-impressed.html</guid>
</item>
</channel>
</rss>