summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blog/list/0.html12
-rw-r--r--blog/list/1.html12
-rw-r--r--blog/list/10.html2
-rw-r--r--blog/list/2.html12
-rw-r--r--blog/list/3.html12
-rw-r--r--blog/list/4.html12
-rw-r--r--blog/list/5.html12
-rw-r--r--blog/list/6.html12
-rw-r--r--blog/list/7.html12
-rw-r--r--blog/list/8.html12
-rw-r--r--blog/list/9.html14
-rw-r--r--blog/list/midi/0.html5
-rw-r--r--blog/list/music/0.html5
-rw-r--r--blog/post/2014-11-14.html117
-rw-r--r--blog/post/2022-11-27.html654
15 files changed, 843 insertions, 62 deletions
diff --git a/blog/list/0.html b/blog/list/0.html
index 59cdf4a..2981022 100644
--- a/blog/list/0.html
+++ b/blog/list/0.html
@@ -57,6 +57,11 @@ function ol()
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#special-page</span>
<span class="right" id="">2019-09-03/2019-09-03</span></div>
</div><div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2022-11-27.html">(Not really) Musical Answers &amp; Rants</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#music #midi</span>
+ <span class="right" id="">2022-11-27/2022-12-02</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2022-07-23.html">Framework Laptop: The next thing in the laptop world?</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review #hands-on #computer-repairing</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review #midi #music</span>
<span class="right" id="">2021-10-10/2022-07-01</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2021-06-03.html">No, I'm not dead</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage</span>
- <span class="right" id="">2021-06-03/2021-06-02</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="#">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">1/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">1/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/1.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/1.html b/blog/list/1.html
index 32dffed..c45f4cb 100644
--- a/blog/list/1.html
+++ b/blog/list/1.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2021-06-03.html">No, I'm not dead</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage</span>
+ <span class="right" id="">2021-06-03/2021-06-02</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2020-11-20.html">EDIROL SD-80: The Adventure Continues</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review #midi #music</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#web #random-xp #garbage</span>
<span class="right" id="">2019-02-13/2019-07-24</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-12-06.html">小米 MIX 3 上手体验</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review #hands-on</span>
- <span class="right" id="">2018-12-06/2021-01-30</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/0.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">2/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">2/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/2.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/10.html b/blog/list/10.html
index 7037b95..555ec98 100644
--- a/blog/list/10.html
+++ b/blog/list/10.html
@@ -1,4 +1,4 @@
-<html><head>
+<!DOCTYPE html><html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
diff --git a/blog/list/2.html b/blog/list/2.html
index 12d8bb5..e3441e8 100644
--- a/blog/list/2.html
+++ b/blog/list/2.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-12-06.html">小米 MIX 3 上手体验</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review #hands-on</span>
+ <span class="right" id="">2018-12-06/2021-01-30</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-10-11.html">The stupid blogging system evolved!</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#web #devel #js</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#sophistry #garbage</span>
<span class="right" id="">2018-05-18/2018-10-11</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-05-08.html">Respecting your job</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#sophistry #garbage #acmicpc</span>
- <span class="right" id="">2018-05-08/2019-02-12</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/1.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">3/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">3/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/3.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/3.html b/blog/list/3.html
index 7f705b1..c7d9162 100644
--- a/blog/list/3.html
+++ b/blog/list/3.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-05-08.html">Respecting your job</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#sophistry #garbage #acmicpc</span>
+ <span class="right" id="">2018-05-08/2019-02-12</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-05-03.html">Are you an Apple fanboy/fangirl?</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage #interactive</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#devel #qmidiplayer #opengl</span>
<span class="right" id="">2018-03-17/2018-10-11</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-02-05.html">Does gaming make me merrier &amp; more relaxed or the opposite?</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage</span>
- <span class="right" id="">2018-02-05/2018-10-11</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/2.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">4/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">4/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/4.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/4.html b/blog/list/4.html
index 4f1ae5d..46c6914 100644
--- a/blog/list/4.html
+++ b/blog/list/4.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-02-05.html">Does gaming make me merrier &amp; more relaxed or the opposite?</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage</span>
+ <span class="right" id="">2018-02-05/2018-10-11</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2018-01-07.html">Trash dump for the fifth semester</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage #daily-life</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#music #garbage</span>
<span class="right" id="">2017-11-25/2018-10-11</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2017-06-29.html">Trash dump for the fourth semester</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage #daily-life</span>
- <span class="right" id="">2017-06-29/2021-06-26</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/3.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">5/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">5/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/5.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/5.html b/blog/list/5.html
index 40bfa9b..f72224f 100644
--- a/blog/list/5.html
+++ b/blog/list/5.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2017-06-29.html">Trash dump for the fourth semester</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage #daily-life</span>
+ <span class="right" id="">2017-06-29/2021-06-26</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2017-06-09.html">Fuck Windows et cetera</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#daily-life</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review</span>
<span class="right" id="">2017-02-13/2019-02-12</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2017-01-18.html">Trash dump for the third semester</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage #daily-life</span>
- <span class="right" id="">2017-01-09/2018-10-11</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/4.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">6/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">6/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/6.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/6.html b/blog/list/6.html
index f4c31b5..ca907bd 100644
--- a/blog/list/6.html
+++ b/blog/list/6.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2017-01-18.html">Trash dump for the third semester</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage #daily-life</span>
+ <span class="right" id="">2017-01-09/2018-10-11</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2017-01-09.html">[多大图警告]终究还是改不了修电脑的命</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#computer-repairing #garbage</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review</span>
<span class="right" id="">2016-05-12/2019-02-12</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2016-04-09.html">The MIDI File Format Specification and MIDI Implementation in QMidiPlayer</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#devel #qmidiplayer #midi</span>
- <span class="right" id="">2016-04-09/2018-10-11</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/5.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">7/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">7/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/7.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/7.html b/blog/list/7.html
index c052623..4dda732 100644
--- a/blog/list/7.html
+++ b/blog/list/7.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2016-04-09.html">The MIDI File Format Specification and MIDI Implementation in QMidiPlayer</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#devel #qmidiplayer #midi</span>
+ <span class="right" id="">2016-04-09/2018-10-11</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2016-03-26.html">ACM校赛水题组酱油记</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#contest #acmicpc</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#daily-life</span>
<span class="right" id="">2016-01-25/2018-10-11</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2016-01-16.html">QMidiPlayer Progress-2016-01-16</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#devel #qmidiplayer</span>
- <span class="right" id="">2016-01-16/2018-10-11</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/6.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">8/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">8/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/8.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/8.html b/blog/list/8.html
index 40fd079..28ba084 100644
--- a/blog/list/8.html
+++ b/blog/list/8.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2016-01-16.html">QMidiPlayer Progress-2016-01-16</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#devel #qmidiplayer</span>
+ <span class="right" id="">2016-01-16/2018-10-11</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2016-01-03.html">The Design and The Real Product</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#devel #design</span>
@@ -66,17 +71,12 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#random-xp</span>
<span class="right" id="">2015-12-20/2018-10-11</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2015-11-22.html">Raspberry Pi2 初体验</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#hands-on #device-review</span>
- <span class="right" id="">2015-11-22/2018-10-11</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/7.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">9/10</span>
+ <span style="text-align:center;display:table-cell;" id="page">9/11</span>
<span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/9.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
diff --git a/blog/list/9.html b/blog/list/9.html
index eddba1e..cd756a7 100644
--- a/blog/list/9.html
+++ b/blog/list/9.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2015-11-22.html">Raspberry Pi2 初体验</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#hands-on #device-review</span>
+ <span class="right" id="">2015-11-22/2018-10-11</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2015-11-01.html">Hackathon 2015乱搞记</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#random-xp</span>
@@ -66,18 +71,13 @@ function ol()
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage</span>
<span class="right" id="">2015-10-29/2018-10-11</span></div>
- </div><div class="block TText" id="" style="display:block;">
- <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2014-11-14.html">喷当代中国大陆的“考场作文”制度 (校注版)</a></h3>
- <br>
- <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#garbage</span>
- <span class="right" id="">2014-11-14UNLISTED/2021-06-26</span></div>
</div></div>
<div id="insanch" style="height:5em;"></div>
<div id="footer">
<div id="pagesw" class="TText" style="display:table;width:100%;padding:1em 0;">
<span style="display:table-cell;"><a id="prepage" href="/blog/list/8.html">&lt;&lt;</a></span>
- <span style="text-align:center;display:table-cell;" id="page">10/10</span>
- <span style="text-align:right;display:table-cell;"><a id="nexpage" href="#">&gt;&gt;</a></span>
+ <span style="text-align:center;display:table-cell;" id="page">10/11</span>
+ <span style="text-align:right;display:table-cell;"><a id="nexpage" href="/blog/list/10.html">&gt;&gt;</a></span>
</div>
<div style="text-align:center;" class="TText">
Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
diff --git a/blog/list/midi/0.html b/blog/list/midi/0.html
index 10795cd..a75f17e 100644
--- a/blog/list/midi/0.html
+++ b/blog/list/midi/0.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2022-11-27.html">(Not really) Musical Answers &amp; Rants</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#music #midi</span>
+ <span class="right" id="">2022-11-27/2022-12-02</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2021-10-10.html">EDIROL SD-20: the Crumbling of the Canvas?</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review #midi #music</span>
diff --git a/blog/list/music/0.html b/blog/list/music/0.html
index b9121e0..f514079 100644
--- a/blog/list/music/0.html
+++ b/blog/list/music/0.html
@@ -47,6 +47,11 @@ function ol()
<div id="postslist">
<div class="block TText" id="" style="display:block;">
+ <h3 style="line-height:1.5em;"><a id="" href="/blog/post/2022-11-27.html">(Not really) Musical Answers &amp; Rants</a></h3>
+ <br>
+ <div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#music #midi</span>
+ <span class="right" id="">2022-11-27/2022-12-02</span></div>
+ </div><div class="block TText" id="" style="display:block;">
<h3 style="line-height:1.5em;"><a id="" href="/blog/post/2021-10-10.html">EDIROL SD-20: the Crumbling of the Canvas?</a></h3>
<br>
<div style="display:table;width:100%;table-layout:fixed;"><span class="left" id="">#device-review #midi #music</span>
diff --git a/blog/post/2014-11-14.html b/blog/post/2014-11-14.html
new file mode 100644
index 0000000..1aeea18
--- /dev/null
+++ b/blog/post/2014-11-14.html
@@ -0,0 +1,117 @@
+<html><head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="theme-color" content="#000000">
+<title>Chrisoft::Blog</title>
+<script type="text/javascript" src="/panel.js"></script>
+<script type="text/javascript" src="/themer.js"></script>
+<script type="text/javascript" src="/blog/footnoter.js"></script>
+<script type="text/javascript" src="/blog/aes-js.js"></script>
+<script type="text/javascript" src="/blog/scrypt.js"></script>
+<script type="text/javascript" src="/blog/sha256.js"></script>
+<script type="text/javascript" src="/blog/decryptor.js"></script>
+<link rel="stylesheet" type="text/css" href="/common.css">
+<link rel="stylesheet" type="text/css" href="/panel.css">
+<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
+<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
+<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
+<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
+<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
+<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
+<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
+<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
+<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
+<script>
+function ol()
+{
+ window.onresize=function()
+ {
+ if(window.innerWidth<768)
+ setupevents();
+ else unsetevents();
+ }
+ window.onresize();
+ loadTheme();
+ _decryptonload();
+}
+</script>
+</head>
+<body onload="ol()" style="overflow-x:hidden;">
+ <div id="panel" class="TText">
+ <ul id="panellist">
+ <li><a href="/"><h1>Chrisoft</h1></a></li>
+ <li><a href="/blog"><h2>Blog</h2></a></li>
+ <li><a href="#"><h3 id="title">喷当代中国大陆的“考场作文”制度 (校注版)</h3></a></li>
+ <li><span>Tags</span>
+ <ul id="tagslist">
+ <li><a href="/blog/list/garbage/">garbage</a></li></ul>
+ </li>
+ <li id="tocouter">
+ <span>Table of Contents</span>
+ <ul id="tocroot">
+ <li><a class="toctarg" href="#tocanch0">转写前言</a></li><li><a class="toctarg" href="#tocanch1">正文</a></li><li><a class="toctarg" href="#tocanch2">转写后记</a></li></ul>
+ </li>
+ <li style="margin-left:-0.5em"><a id="prevp">Prev post</a></li>
+ <li style="margin-left:-0.5em"><a id="nextp" href="2015-10-29.html">Next post</a></li>
+ </ul>
+ </div>
+ <div id="content">
+ <h2 id="titleh" class="TText" style="font-wight:normal;">喷当代中国大陆的“考场作文”制度 (校注版)</h2>
+ <div id="datetags" class="TText" style="margin-bottom:1em;">2014-11-14UNLISTED<br>#garbage</div>
+ <hr><div id="article" class="TText"><article>
+<h2 id="tocanch0" class="tvis">转写前言</h2>
+<p>看到此篇日期比这个博客系统诞生还早的文章的你请不要恐慌。这是我高中三年级写的一篇沙雕文章。原文以我的除自己之外无人可以辨认的手写体记录于高中考试时所发的草稿纸上。今天(2021年6月26日)转写出来,供世人鄙视。</p>
+<p>(为了免去各位识别我的手写体的痛苦,在此不会发布扫描版。请相信我的转写是 100% 准确的)</p>
+<h2 id="tocanch1" class="tvis">正文</h2>
+<p>喷当代中国大陆的“考场作文”制度</p>
+<p>浅显的中国历史我们都学过。教科书上说什么“八股取士”是一种怎么怎么样的做法(诸如钳制思想,阻碍人类发展之类,我早就还给我可亲可敬的历史老师了)。那么,现在我的观点是:现代中国大陆的考场作文制度毒害人的程度,比八股取士什么玩意儿的深十倍乃至百倍!</p>
+<p>写得一手好文章,原是一件好事,在许多方面都有用的。但是,对于像我这样的,编一篇考场作文比便秘拉不出 (bi——) 还困难的人来说,写那种东西基本就是对我们的残害了。拿到作文题目,搜肠刮肚完还不知道如何去作的时候,已经十分惆怅了。然而,还有人追在你屁股后面,要你拉出来的 (bi——)!(这个比喻一点儿也不失当,因为这样憋出来的作文往往跟 (bi——) 一样臭)。便秘了还要逼人家拉出来,这是一种多么不人道的行为!肠在这种摧残之下,尚有发生直肠癌的可能性,而我们的榆木脑袋……</p>
+<p>好好好!你说写这种东西对我们有好处,那我们来看看到底有什么好处!我们来随便看几篇“考场佳作”的题目:什么“熄灭蜡烛,莫惊扰美”,什么“心有猛虎,细嗅蔷薇”,什么“纸梯”,超浓的“文学气息”,一看就不是实用的文章。(我不是故意挑的——因为那本书上可以找到的题目全都这样…)那么,这种题目,善于写作的人写出来,叫“美文”;我这号人写出来,必然就是 (bi——) 了。将来,善于写作的人从办公室里出来,可以写上两篇作为娱乐,陶冶身心。而我扫完大街回窝之后还要玩上一次便秘?!别开玩笑了!我不是 masochist (受虐狂)!再者,我还要为我仅剩的一点大脑负责呢!</p>
+<p>那么又有人说话了(我妈就是其中的一位):“这对你将来写论文还有用处哩!”我对此实在无话可说。那么假设有万分之一的可能性,我高中毕业没去扫大街,还考上了名校——石油大学,我该写论文了。然后我的论文落笔一个“人生如梦,年华似雪”,抬笔又是“自然而缓慢的优雅的成长”…… (bi————————)! Pardon my French (对不起我爆粗了)!便秘的事就不用提了,因为光想象一下论文里要出现这种东西就得让我恶心上一个小时!</p>
+<p>如果你同意以上我的观点,你现在应该同意考场作文对我这样的废物一点儿好处也没有了。(如果你认为我还有救,那一定是因为你没救了。)那么为什么我要说这东西对普天下都有害呢?下面我就要喷喷这制度了。</p>
+<p>警告:以下内容有一定的政治倾向。共产主义的<ruby>拥护者<rp>(</rp><rt>sǐ dǎng</rt><rp>)</rp></ruby>们,为了保持你们高贵的贞操,以及确保你们不被当作政治犯处理掉,我建议你们立即停止阅读并重新读一遍《共产党宣言》或《毛选》。(其实我的政治倾向还是很温和的,我既不认为共产主义阻碍人类发展,也不认为“西方国家”就是一肚子坏水。我只是不想被跨省而已……不要来抓我啊!)</p>
+<p>首先,最为可恨的一点,是每道作文题目必有的“自定立意”。第一次我看到这四个字,欣喜若狂,以为就可以把自己扫遍全天下大街大志表达出来了。殊不知有人已经在背后把立意分了三六九等,而我这个恰好处在下下等,发下来一看,20分!</p>
+<p>那么我是这玩意儿的受害者,有没有受益者呢?有!有些极度狡猾圆润的人,敏锐地捕捉到了一个事实:出题人和批卷人似乎总是坚定的共产党员。于是他们想尽一切办法讨好党。再加上最近时事紧张,他们更有的可写了:把日本和德国拿出来对比,或者“西方国家鼓吹‘中国威胁论’”,预计不久之后还会有一批宣传社会主义核心价值观的。这是什么玩意儿?潜伏在身边的地下党员么?!另外,马克思的“高考”作文题目是“青年在选择职业时的考虑”,他们的觉悟已经超越马克思啦!这 (bi——) 深藏功与名啊!(顺便,我听说老金一家三个都在这个年纪写过很高端的东西……)</p>
+<p>与此相比,英语作文就开明得多(或许是考虑到我们英语水平太低的缘故)。要写“十年后的我”,我就写我十年后扫大街,居无定所,饥一顿饱一顿,这还得了 80% 的分。这种东西上了语文考场作文,估计直接就零分啦!可今年某省的高考作文还要人大谈“大学的门与路”。故意歧视我们这些没学上的学渣是不是!这种出题人,就该让他们在全省乃至全国学渣的口水中淹死!</p>
+<p>嘛,我差不多喷完了。在此我特地公布一下前段时间我做的一个调查的结果。问题是:“你认为现在所写的语文考场作文,对你的将来……”调查的对象是本校本年级学生45名,其中不乏作文常被当作范文的。没有人选择“非常有用”或“不知道”,而选择“有一定用处”和“完全没用”的人数比大约为1:2——和我的预测基本相同。从此我们至少可以看出一点问题。但我们伟大的出题人们还在命这种题:“贴近社会生活,有人文气息,让考生有话说”。这种题,让我这种学渣有什么话说!</p>
+<p>*注:本文引用的“考场佳作”,均来自《步步高大一轮复习讲义语文新课标》及万能的一中语文组所编的《语文天地》。</p>
+<p>Chris Xiong</p>
+<p>2014.11.14</p>
+<h2 id="tocanch2" class="tvis">转写后记</h2>
+<p>文中提到的英语作文一事,是确有其事的。某种程度上是为写本文故意做的一次试验。</p>
+<p>文中提到的调查是存在的。不过调查对象全都是理科生(文科生当时和我们不在同一座教学楼里),结果自然是自动偏向对我的结论有利的。</p>
+<p>文中充满着我高中时代典型的自嘲。如果你看了本文的纸质版,你会感到(当时的)我对这种考场作文的痛恨从纸上渗出来(转写到屏幕上之后这种效果虽然有所减弱,但从标点符号和语言的使用上还是能看出一些来的——虽然什么东西从屏幕上渗出来听起来有些奇怪)。这种痛恨是如此的强烈,以至于我高中几乎没有写过一篇严肃的考场作文。大部分写出来的,都是用来气老师的。如此一来即使我不写作文作业,或者模拟考试答题纸作文面直接空白,老师也不会找我的麻烦——既免去我写作文的痛苦,又免去老师读我写的东西的折磨,真是两全其美。</p>
+<p>要是说高中从不练习写作如今有没有什么后悔之处,那么我 GRE 的作文不过关可以说勉强算是一点。但 GRE 作文不像高考英语,CET或者托福英语。后者考的是语言使用能力,而 GRE 考查的是思辨能力。所以从这个角度讲,就算我的高中语文考场作文次次满分, GRE 作文估计也达不到一半人的水平,那么也没有什么可后悔的地方了。</p>
+<p>举个随便编的例子来说, GRE 的作文题目可能是这样的:当地政府人员宣布了一项计划,计划在本地的河上建造一座水库。并且声称由于甲、乙、丙原因,水库建造后当地的居民人均寿命可以翻 10 倍。要求答题者分析政府的主张是否存在漏洞(当然是有的)。</p>
+<p>而中国的高考作文考的是什么?似乎首要是学生的政治“觉悟”,其次是使用华丽词句的能力。前者加上近年来越来越红的作文题目(见我2018年与山东考生一起写的高考作文(<a href="/blog/post/2018-06-07.html">链接</a>)),让人不得不怀疑考场作文成了灌输特定价值观的工具。至于使用华丽词句的能力,我想也许不是所有人都需要的吧。朴实无华的文字,只要传递了作者想要表达的信息,也就达到了目的;华丽的辞藻,反倒可能提高阅读的门槛,即便要表达的思想是如何卓越,也许也无法为大众所接受。</p>
+<p>思辨(或者称为批判性思维)能力,至少让人在与人争论时能够发现对方是否存在逻辑上的漏洞和谬误,并且可以帮助自己避免类似的错误。而对固定价值观的灌输,则恰恰相反:让人不问一切地接受得到的信息,成为容易上当受骗的天真幼稚之人。这两种教育方式,高下立判。</p>
+<p>如果你认为我在对我的“美国主子”表忠心,那你就错了。请不要忘记 GRE 是研究生水平的考试。在研究生考试考如此水平的思辨,还是太晚了。不然的话美国也不会有如此大数量的疫苗反对者 (anti-vaxxer) 或者地平说支持者 (flat earther)。我认为基本的思辨能力应该放在基础教育阶段。那样至少可以减少一些所谓保健品的诈骗案的数量。</p>
+<p>阁下看到这里,心里的感觉若是“哇这人他写了些什么我怎么什么都看不懂”,那确实怪不得阁下。表达能力低下大概是我另一个略微后悔高中从不写作文的地方。这种表达能力的低下,是跨越语言的——可能有人读到我的英文博客文章,感觉还相对通顺,但并不知道背后是经过我自己好多遍审阅改写才成为最终版本的。很多时候脑中根本无法组织用来描述我的想法的语言,这时才后悔年轻的时候没有练习写作;但一想到当时练习写作就意味要着写违心的或者毫无营养文字,这种后悔就直接烟消云散了。</p>
+</article>
+</div><br><hr>
+ <div class="TText" id="notediv" style="font-size:80%;"></div>
+ <div id="insanch" style="height:3em;"></div>
+ <div id="footer" style="">
+ <div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
+ <div style="text-align:center;" class="TText">
+ Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
+ <br>
+ Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
+ </div>
+ </div>
+ <div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
+ </div>
+ </div>
+ <div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
+ <div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
+ <div id="keyhint" style="margin-bottom:8px;"></div>
+ <div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
+ <div style="height:2.25em;">
+ <button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
+ <button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
+ </div>
+
+ </div>
+
+
+</div></body></html> \ No newline at end of file
diff --git a/blog/post/2022-11-27.html b/blog/post/2022-11-27.html
new file mode 100644
index 0000000..2bb095c
--- /dev/null
+++ b/blog/post/2022-11-27.html
@@ -0,0 +1,654 @@
+<!DOCTYPE html><html><head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="theme-color" content="#000000">
+<title>Chrisoft::Blog</title>
+<script type="text/javascript" src="/panel.js"></script>
+<script type="text/javascript" src="/themer.js"></script>
+<script type="text/javascript" src="/blog/footnoter.js"></script>
+<script type="text/javascript" src="/blog/aes-js.js"></script>
+<script type="text/javascript" src="/blog/scrypt.js"></script>
+<script type="text/javascript" src="/blog/sha256.js"></script>
+<script type="text/javascript" src="/blog/decryptor.js"></script>
+<link rel="stylesheet" type="text/css" href="/common.css">
+<link rel="stylesheet" type="text/css" href="/panel.css">
+<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
+<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
+<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
+<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
+<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
+<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
+<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
+<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
+<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
+<script>
+function ol()
+{
+ window.onresize=function()
+ {
+ if(window.innerWidth<768)
+ setupevents();
+ else unsetevents();
+ }
+ window.onresize();
+ loadTheme();
+ _decryptonload();
+}
+</script>
+</head>
+<body onload="ol()" style="overflow-x:hidden;">
+ <div id="panel" class="TText">
+ <ul id="panellist">
+ <li><a href="/"><h1>Chrisoft</h1></a></li>
+ <li><a href="/blog"><h2>Blog</h2></a></li>
+ <li><a href="#"><h3 id="title">(Not really) Musical Answers &amp; Rants</h3></a></li>
+ <li><span>Tags</span>
+ <ul id="tagslist">
+ <li><a href="/blog/list/music/">music</a></li><li><a href="/blog/list/midi/">midi</a></li></ul>
+ </li>
+ <li id="tocouter">
+ <span>Table of Contents</span>
+ <ul id="tocroot">
+ <li><a class="toctarg" href="#tocanch0">Backgrounds</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch1">Do you play any instruments?</a></li><li><a class="toctarg" href="#tocanch2">How good are you at them?</a></li><li><a class="toctarg" href="#tocanch3">Any knowledge in musical
+theory?</a></li><li><a class="toctarg" href="#tocanch4">Anything else interesting?</a></li></ul></li><li><a class="toctarg" href="#tocanch5">Backgrounds, Computer Music</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch6">How did you get into
+computer music?</a></li><li><a class="toctarg" href="#tocanch7">Any formal training on this
+stuff?</a></li><li><a class="toctarg" href="#tocanch8">How long have you been doing
+this?</a></li><li><a class="toctarg" href="#tocanch9">What
+specific skills do you have in computer music?</a></li><li><a class="toctarg" href="#tocanch10">What computer
+music projects have you worked on?</a></li><li><a class="toctarg" href="#tocanch11">Is any of this fun?</a></li><li><a class="toctarg" href="#tocanch12">How do you find joy in any
+of this?</a></li></ul></li><li><a class="toctarg" href="#tocanch13">Personal Preference</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch14">Favorite genre(s)?</a></li><li><a class="toctarg" href="#tocanch15">Favorite hardware
+synth in your collection?</a></li><li><a class="toctarg" href="#tocanch16">Favorite production software?</a></li><li><a class="toctarg" href="#tocanch17">Is it “GIF” or “JIF”?</a></li><li><a class="toctarg" href="#tocanch18">Genres that you listen to
+most often?</a></li></ul></li><li><a class="toctarg" href="#tocanch19">Touhou Music</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch20">The
+f**k is going on with your obsession with Touhou Music?</a></li><li><a class="toctarg" href="#tocanch21">Why don’t
+you transcribe something new from him then?</a></li></ul></li><li><a class="toctarg" href="#tocanch22">Production</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch23">Do you earn money from
+your production?</a></li><li><a class="toctarg" href="#tocanch24">So why even bother?</a></li><li><a class="toctarg" href="#tocanch25">Why
+are most of your stuff remixes? Why not more originals?</a></li><li><a class="toctarg" href="#tocanch26">Ever considered
+doing Touhou-style originals?</a></li><li><a class="toctarg" href="#tocanch27">Commission? Collabs?</a></li><li><a class="toctarg" href="#tocanch28">Production Gear?</a></li><li><a class="toctarg" href="#tocanch29">Why
+stick to hardware synths when software synths nowadays are so
+powerful?</a></li><li><a class="toctarg" href="#tocanch30">Since you don’t
+earn money from you production, …</a></li><li><a class="toctarg" href="#tocanch31">Can I use your music for X?</a></li></ul></li></ul>
+ </li>
+ <li style="margin-left:-0.5em"><a id="prevp" href="2022-07-23.html">Prev post</a></li>
+ <li style="margin-left:-0.5em"><a id="nextp" href="Privacy.html">Next post</a></li>
+ </ul>
+ </div>
+ <div id="content">
+ <h2 id="titleh" class="TText" style="font-wight:normal;">(Not really) Musical Answers &amp; Rants</h2>
+ <div id="datetags" class="TText" style="margin-bottom:1em;">2022-11-27<br>#music #midi</div>
+ <hr><div id="article" class="TText"><style>
+details {
+ border: 1px solid #888;
+ border-radius: 4px;
+ margin: .5em .5em 0;
+ padding: .5em;
+}
+</style>
+<article>
+<p>I’ve got this <a href="https://chrisoft.org/libs/music/player">pretty
+large music collection</a> on my website and sometimes I get people
+asking why is it there. This post serves as an FAQ for all those
+questions that I can remember, plus some bonus rant.</p>
+<p>This post may be updated regularly to reflect any changes that might
+happen.</p>
+<h2 id="tocanch0" class="tvis">Backgrounds</h2>
+<h3 id="tocanch1" class="tvis">Do you play any instruments?</h3>
+<p>I use to play keyboard instruments, specifically arranger keyboard
+for 4 years, and the piano for 6 years. I started when I was 7.</p>
+<h3 id="tocanch2" class="tvis">How good are you at them?</h3>
+<p>I’ve got certifications from the CMA (China Musicians Association)
+for amateur musicians (colloquially, they are referred to as “考级” in
+China), level 5 for arranger keyboard, and level 9 for the piano
+<a id="n1" href="#note1" class="note">[1]</a>.</p>
+<p>Do note the wording I used in the answer to the previous question:
+“use to”. I haven’t practiced seriously for quite some time (5 years at
+least).</p>
+<p>I never spent a lot of time practicing, even I was actively learning
+to play. Longest uninterrupted practice session I had was probably 4
+hours (one tenth of Lingling’s typical practice session, ugh
+<a id="n2" href="#note2" class="note">[2]</a>). Clearly I was more into
+messing with computers back then (still very much the case right
+now).</p>
+<h3 id="tocanch3" class="tvis">Any knowledge in musical
+theory?</h3>
+<p>The only “formal” lesson I had on musical theory was given by my
+piano teacher, which didn’t touch on any of the advanced topics – just
+basic intervals, chords, and progression stuff.</p>
+<p>I’ve read books on music theory, namely</p>
+<ul>
+<li>“Introduction to Basic Music Theory” (probably the most widely used
+book on this topic in China, original title 《基本乐理通用教材》,
+authored by Li Chongguang (李重光). English title is my own
+translation and I have no idea what the official translation is.)</li>
+<li>“Music Theory for Computer Musicians”, Michael Hewitt</li>
+<li>“Composition for Computer Musicians”, Michael Hewitt</li>
+<li>“The Complete Idiots Guide to Music Theory”, Michael Miller (didn’t
+finish reading)</li>
+</ul>
+<p>But I can’t say I remembered a single thing from them.</p>
+<p>I also know a few things on acoustics and computing stuff related to
+music. See the “Backgrounds, computer music” section for more on
+this.</p>
+<h3 id="tocanch4" class="tvis">Anything else interesting?</h3>
+<p>I’m quite convinced that I have (at least partial) perfect pitch.</p>
+<p>Certain part inside my head reacts very strongly to notes of some
+pitches (A and C are the most notable ones, E, G, and for some reason F#
+are also up there). I can also sing any given notes on the chromatic
+scale pretty accurately.</p>
+<p>However, since I don’t react to all notes equally, and I’m quite sure
+“partial perfect pitch” is not really a thing, I don’t know what
+condition I <em>really</em> have. But if your instrument is out of tune
+(even if the whole thing is tuned consistently), I’ll be really
+upset.</p>
+<h2 id="tocanch5" class="tvis">Backgrounds, Computer Music</h2>
+<h3 id="tocanch6" class="tvis">How did you get into
+computer music?</h3>
+<p>‘Twas a typical calm day when I was browsing around in the System32
+folder (yes I was a fulltime Windows user once upon a time). I found a
+file named “town.mid” in the Media folder, and it looked like a music
+file to me. “How could a music file be like 20KB in size?” I wondered. I
+thought it would sound like crap (low bit-rate type of crappiness, not
+MSGS-type of crappiness), but I listened to it and turned out that
+wasn’t the case. Later that day I sent the file to my parents’ cell
+phones, and to my surprise they all sounded quite different, despite all
+the devices were playing the same melody. I was deeply intrigued by this
+format, and that planted a seed in my heart.</p>
+<p>I searched the 2000s web for information on this format,
+unfortunately being a noob as I was back then, I was only able to find
+out it was a format called “MIDI”, but not any application that’s
+capable of reading or producing them. I had to set it aside.</p>
+<p>A few years later, in early 2009, when I was randomly going through
+tech magazine my parents had piled up at home, I found a software
+catalogue from the 90s. One title in the ToC read “Make your music
+production dreams come true – Cakewalk Music Software”. It didn’t quite
+caught my attention just yet, but when I got to the content, they
+mentioned its MIDI capabilities. I realized this could be the thing I’m
+looking for. And very fortunately for me, the CD that came with the
+catalogue included a trail version of Cakewalk Pro Audio 5.0. There
+began my journey.</p>
+<p>But wait, there was, in fact, a second path to this. There was a
+video (<a href="https://www.youtube.com/watch?v=dsU3B0W3TMs">Music using
+ONLY sounds from Windows XP and 98!</a>) that went viral in China in
+2009. The look of the software shown in the video got my attention, and
+that brought me into the world of tracker modules (and later
+demoscenes).</p>
+<p>There was also the whole “black midi” shenanigans that I got myself
+into. However I think that should be considered “deep lore” and not
+really appropriate to mention here. So let’s just leave this section as
+is.</p>
+<h3 id="tocanch7" class="tvis">Any formal training on this
+stuff?</h3>
+<p>Nope. I taught myself everything, just like most other stuff I know
+in computing. One major difference is that I didn’t receive any formal
+training after I’ve taught myself this topic, unlike some other topics
+in computer science. The thing is it’s quite difficult to enroll courses
+from the music department while I’m in a frankly completely unrelated
+major.</p>
+<h3 id="tocanch8" class="tvis">How long have you been doing
+this?</h3>
+<p>I’ve been messing with MIDI since 2009, doing transcription since
+2011. However until 2014 I didn’t bother learning any DAWs with virtual
+instruments support (I was only using Cakewalk Pro Audio 9.0 and a
+certain Japanese application called 音楽ツクールDX back then). For this
+reason everything I made until 2014 was just a bunch of MIDI files. I’ve
+been collecting (mostly pirated) software synths since then. However
+since 2017 I started replacing pirated software I used in production,
+and nowadays I’m only using software and sound libraries the I have
+legal rights to use in production, except the Unobtainium legacy
+products.</p>
+<p>I started programming music-related stuff in 2010, it was a random
+silly sequencer for PC speaker. And I’ve been doing it ever since.</p>
+<h3 id="tocanch9" class="tvis">What
+specific skills do you have in computer music?</h3>
+<p>(This list includes both music production related stuff and
+programming stuff)</p>
+<ul>
+<li>Using a DAW (mostly Cakewalk of course)</li>
+<li>Make random patches for synthesizers</li>
+<li>Basic mixing and mastering</li>
+<li>MIDI and tracker module data processing (I/O, data extraction)</li>
+<li>Basic DSP knowledge, computer assisted music production</li>
+<li>High-level interfacing with musical hardware</li>
+</ul>
+<h3 id="tocanch10" class="tvis">What computer
+music projects have you worked on?</h3>
+<p>(This list also includes both music production related stuff and
+programming stuff)</p>
+<ul>
+<li>Production: see <a href="https://chrisoft.org/libs/music/player">Music Library</a></li>
+<li>Experimental GPU-powered virtual-analog synth (private project):
+CUDA only, pretty basic function wise, nothing special really.</li>
+<li><a href="https://cgit.chrisoft.org/QMidiPlayer.git/">QMidiPlayer</a>: A
+feature-rick MIDI player.</li>
+<li>Modsearch (private project): Module indexing and searching
+tool.</li>
+<li><a href="https://cgit.chrisoft.org/fifteen-thieves.git/">Fifteen
+Thieves</a>: Tools for interfacing with Roland synthesizers.</li>
+</ul>
+<h3 id="tocanch11" class="tvis">Is any of this fun?</h3>
+<p>Yes.</p>
+<h3 id="tocanch12" class="tvis">How do you find joy in any
+of this?</h3>
+<p>I don’t know.</p>
+<h2 id="tocanch13" class="tvis">Personal Preference</h2>
+<h3 id="tocanch14" class="tvis">Favorite genre(s)?</h3>
+<p>Nothing specific really. However I can tell you about the genre I
+loath the most: it’s … (drum rolls) … rap.</p>
+<p>The thing that I dislike about rap is its excessive use of autotune
+and highly repetitive trap-style drum patterns. I actually kind of
+admire some rapper’s skillful rapping, but spoken words don’t really
+count as music do they?</p>
+<h3 id="tocanch15" class="tvis">Favorite hardware
+synth in your collection?</h3>
+<p>Again, nothing specific really. But I do know it’s not the Yamaha.
+It’s never the Yamaha.</p>
+<h3 id="tocanch16" class="tvis">Favorite production software?</h3>
+<p>Considering I’ve pretty much used nothing but Cakewalk products, I
+can give you an actual answer to this one – Cakewalk of course.</p>
+<p>I do also find OpenMPT interesting, however I haven’t made anything
+with it really.</p>
+<p>Funny trivia: when Gibson announced they were ceasing all development
+of Cakewalk products, I wrote <a href="https://chrisoft.org/blog/post/2017-11-25.html">this rant</a>.
+Soon after that rant was posted, a couple of vendors annouced discounted
+pricing for former SONAR users, one of which was Steinberg (their
+so-called “competitive crossgrade”). So I got my copy of Cubase 9 Pro at
+50% off (but they did not provide an e-licenser with the purchase, which
+was still bundled with a normal purchase back then, which was frankly
+dumb). But … before I could get used to the workflow of Cubase, Cakewalk
+was resurrected by Bandlab.</p>
+<h3 id="tocanch17" class="tvis">Is it “GIF” or “JIF”?</h3>
+<p>Of course it’s “Graphics Interchange Format”! Wait, why is this
+here…</p>
+<h3 id="tocanch18" class="tvis">Genres that you listen to
+most often?</h3>
+<p>Okay you got me. I’ll just warn you that the list could be quite
+shocking to some people…</p>
+<p>Recent notable trend for me is folk music. The rest includes
+classical, heavy metal, and ambient music. Also sometimes I randomly
+browse through various module hosting websites where the vast majority
+of the uploads are just pure turds, but occasionally I come across
+hidden gems in those giant turd piles.</p>
+<p>Also don’t forget about the dreaded: Touhou music…</p>
+<h2 id="tocanch19" class="tvis">Touhou Music</h2>
+<h3 id="tocanch20" class="tvis">The
+f**k is going on with your obsession with Touhou Music?</h3>
+<p>… literally 18 of 21 tabs in your music library contain only Touhou
+Music!</p>
+<p>Well, this has to start with how I got myself into the thing known as
+“Touhou Project”. (There should’ve been an entire post written on this,
+but I’m too lazy, so let me just recap here.)</p>
+<p>A friend of mine was playing <em>Imperishable Night</em> one day in
+2009. I sat there and watched him play for a while. He paused the game
+and asked, “Interested?”, to which I replied “eh…” (Do note that I’ve
+never been interested in Japanese anime or manga before, or since, for
+that matter. But I did play similar shoot-’em-up before.) He offered me
+a copy anyway. Not really interested in the game itself, I just left it
+sitting in my hard drive for quite a while.</p>
+<p>Nothing really happened until some day in 2010 when I was sorting
+through files on my disk. I found the game and noted that the biggest
+file inside is called <code>thbgm.dat</code>. “Must have a lot of
+tracks,” I thought. And I went ahead and chose the most logical next
+step – not to play the game (because I did notice the game itself was
+quite intense when I watched my friend play), but to find some Touhou
+track player and listen to the music. Any my first impression was
+something like “holy f****** sh** this is horrible”, which was
+reasonable now that I thought about it, considering ZUN’s “unique” style
+(which I’ll touch on later) and his unsalvageable mixing in those early
+works.</p>
+<p>After that I just occasionally opened up the player, listened to
+random tracks and ended up quickly closing it off. Unbeknownst to me,
+ZUN’s “magic” worked on me and finally in 2012 I decided to play the
+game. Unfortunately I made another critical error to play his very first
+release on Windows instead (<em>Embodiment of Scarlet Devil</em>)
+because I had the stupid assumption that the first one could be
+easier.</p>
+<p>Of course I couldn’t be more wrong about that assumption. It took me
+over a year of playing off and on to clear normal difficulty, during
+which I listened to the tracks hundreds of times. And my comment on the
+music of that release was “interesting ideas but somehow made to sound
+‘thit’ (a blend of thick and sh*t, probably because I realized he had
+overdone the effects)“.</p>
+<p>Being an ultra nerd myself, I extracted the game files and found the
+MIDI files inside. And that’s where everything went downhill.</p>
+<p>The magical aspect of ZUN’s music is that it probably sounds quite
+twisted and weird on first listen. However after a few loops the charm
+in the track becomes apparent. Certain easily memorizable riffs could
+also played a part. But I did notice that the most highly acclaimed
+tracks from him (e.g.&nbsp;上海紅茶館 ~ Chinese Tea and 神々が恋した幻想郷)
+usually have less of the twisted part, or none at all.</p>
+<h3 id="tocanch21" class="tvis">Why don’t
+you transcribe something new from him then?</h3>
+<p>Nice observation. I haven’t transcribed anything beyond <em>Wily
+Beast and Weakest Creature</em> because I found ZUN’s magic has stopped
+working on me – I have listened to the tracks enough times that should
+have already worked if it’s some earlier works of him, but up till now I
+find most of the newer tracks just plain weird and uninteresting. (There
+are a couple of ones that clears my bar, but that makes it like the
+modarchive situation – picking out the gems in a pile of turds. And if I
+have to go through the turds, I’d rather look for gems from a more
+diverse set of composers).</p>
+<p>It’s not just me either – I’ve heard from other people who commented
+that ZUN’s composition went downhill since <em>Hidden Star in Four
+Seasons</em>. I have to agree with them.</p>
+<h2 id="tocanch22" class="tvis">Production</h2>
+<h3 id="tocanch23" class="tvis">Do you earn money from
+your production?</h3>
+<p>No.&nbsp;I’ve earned a grand total of $0/¥0 from my production so far. But
+I did earn a few complimentary remarks (either genuine or satirical, I
+don’t know) from my friends.</p>
+<h3 id="tocanch24" class="tvis">So why even bother?</h3>
+<p>It’s fun. I’ve explained it in a previous question (not really). But
+I find the process therapeutic and I really enjoy tweaking the knobs (no
+pun intended I swear).</p>
+<h3 id="tocanch25" class="tvis">Why
+are most of your stuff remixes? Why not more originals?</h3>
+<p>Because remixes are much lower effort, and no creativity
+required.</p>
+<p>I’m not the type of person oozing creativity. I don’t even think the
+vast majority of my stuff should be called “remix” (despite I do name
+the files that way) – I refer to them as “reinstrumentation” privately –
+no changes to the music itself whatsoever, only with different mixing
+and instruments.</p>
+<p>When I do create originals, I want to be serious about it. I don’t
+want them to sound crappy of course (just like most other people I’d
+imagine). However it’s fairly hard for me to get inspired. The most
+frequent way I get inspired is a random riff just gotten stuck in my
+head for a while, usually after a solid 10 hours of rest or a shower.
+Unfortunately for me, there are two things that prevent me from
+transforming these ideas into productions: <strong>a)</strong> The only
+keyboard that I have right now is a 32-key controller that had to be
+stowed in a drawer due to space constraints, and I’m usually too lazy to
+bust it out. Attempts of concretizing the ideas to handwritten notations
+mostly failed miserably. So for now the only way for me to solidify an
+idea is to let it stuck in there for long enough that I can memorize it.
+<strong>b)</strong> Recently I’ve discovered a tendency that melodies
+that get stuck in my head could just be me regurgitating stuff that I’ve
+listened to but could not name (the most recent example is an “original”
+I did a year ago called “Spoolka” which turns out to be just a rendition
+of Säkkijärven polkka). For these reasons I’m currently refraining from
+doing OCs unless I’m absolutely sure it’s really an original.</p>
+<p>However there are indeed a few unfinished originals sitting in my
+hard disk, snubbed to death…</p>
+<h3 id="tocanch26" class="tvis">Ever considered
+doing Touhou-style originals?</h3>
+<p>No, not really. There are already plenty of creative people in this
+space.</p>
+<p>In fact I did make attempts to create Touhou-style originals quite a
+while ago, but the results were deemed “too formulaic and mediocre” by
+myself and never got released.</p>
+<h3 id="tocanch27" class="tvis">Commission? Collabs?</h3>
+<p>Commission? No.&nbsp;I won’t further burden myself with obligated content
+creation.</p>
+<p>Collabs? Maybe. Although I’m not sure who’s ever willing to do it
+with me – but I’m pretty damn sure there will not be any Touhou-style
+collab from me any time soon.</p>
+<p>I’d be happy to write music-related code for you though. Contact me
+if you think I can do something for you in that regard.</p>
+<h3 id="tocanch28" class="tvis">Production Gear?</h3>
+<p>Current main production computer:</p>
+<ul>
+<li>Framework Laptop</li>
+<li>First generation, 4th batch</li>
+<li>i7-1185G7</li>
+<li>64 GB DDR4-3200 RAM</li>
+<li>1 TB SSD</li>
+</ul>
+<p>(Click on the following categories to expand them)</p>
+<details>
+<summary>
+Production software
+</summary>
+<ul>
+<li>Cakewalk by Bandlab</li>
+<li>Cubase Pro 12</li>
+<li>SONAR Platinum</li>
+<li>Cakewalk Pro Audio 9.0</li>
+<li>OpenMPT</li>
+</ul>
+</details>
+<details>
+<summary>
+Audio Interfaces
+</summary>
+<ul>
+<li>Focusrite Scarlett Solo 2nd Generation</li>
+<li>Terratec Aureon 7.1 USB</li>
+<li>Edirol UA-25</li>
+<li>Roland UA-101 * 2 (one Edirol-branded, one Cakewalk-branded)</li>
+<li>Edirol SD-90</li>
+</ul>
+</details>
+<details>
+<summary>
+Hardware synths
+</summary>
+<ul>
+<li>Edirol SD-80</li>
+<li>Edirol SD-20</li>
+<li>Roland XV-5080
+<ul>
+<li>SR-JV80-17 “Country Collection”</li>
+<li>SR-JV80-09 “Session”</li>
+<li>SR-JV80-08 “Keyboards of ’60s &amp; ’70s”</li>
+<li>SR-JV80-07 “Super Sound Set”</li>
+<li>SRX-09 “World Collection”</li>
+<li>SRX-07 “Ultimate Keys”</li>
+<li>SRX-06 “Complete Orchestra”</li>
+<li>SRX-03 “Studio SRX”</li>
+</ul></li>
+<li>Roland Fantom-XR
+<ul>
+<li>SRX-08 “Platinum Trax”</li>
+<li>SRX-07 “Ultimate Keys” (Yes I have two physical SRX-07 boards)</li>
+<li>SRX-05 “Supreme Dance”</li>
+<li>SRX-04 “Symphonique Strings”</li>
+<li>SRX-02 “Concert Piano”</li>
+<li>SRX-01 “Dynamic Drum Kits”</li>
+</ul></li>
+<li>Edirol SD-90</li>
+<li>Roland SC-8850</li>
+<li>Yamaha Motif Rack ES
+<ul>
+<li>PLG-150 DX “Advanced DX/TX Plug-in Board”</li>
+</ul></li>
+</ul>
+</details>
+<details>
+<summary>
+Keyboards / Controllers
+</summary>
+<ul>
+<li>Yamaha PSR-275</li>
+<li>Edirol PCR-300</li>
+</ul>
+</details>
+<details>
+<summary>
+Software synths
+</summary>
+<ul>
+<li>Steinberg Absolute 5
+<ul>
+<li>HALion 6</li>
+<li>HALion Sonic 3
+<ul>
+<li>Skylab</li>
+<li>Anima</li>
+<li>Voltage</li>
+<li>Auron</li>
+<li>Triebwerk</li>
+<li>Hypnotic Dance</li>
+<li>Trium</li>
+<li>HALiotron</li>
+<li>Hot Brass</li>
+<li>Model C</li>
+<li>Eagle</li>
+<li>Raven</li>
+<li>Amped Elektra</li>
+<li>World Percussion</li>
+<li>B-Box</li>
+<li>Electric Bass</li>
+<li>World Instruments</li>
+<li>Dark Planet</li>
+<li>Studio Strings</li>
+<li>HALion Symphonic Orchestra</li>
+<li>Olympus Choir Micro</li>
+</ul></li>
+<li>Groove Agent 5
+<ul>
+<li>Future Past Perfect</li>
+<li>Prime Cuts</li>
+<li>Rock Essentials</li>
+</ul></li>
+<li>Backbone</li>
+<li>The Grand 3</li>
+<li>Retrologue 2
+<ul>
+<li>Sounds of Soul</li>
+</ul></li>
+<li>Padshop 2
+<ul>
+<li>Polarities</li>
+<li>Granular Guitars</li>
+</ul></li>
+</ul></li>
+<li>HALion Expansions
+<ul>
+<li>4Knob PopD</li>
+<li>Iconica Opus</li>
+<li>Cinematique Instruments Lute</li>
+<li>Realsamples German Harpsichord 1738</li>
+<li>e-instruments Vibrant</li>
+<li>Cinematique Instruments Alto Glockenspiel</li>
+<li>Olympus Choir Elements</li>
+</ul></li>
+<li>Groove Agent Expansions
+<ul>
+<li>ElekDrums</li>
+</ul></li>
+<li>Trilian</li>
+<li>Omnisphere 2</li>
+<li>Roland Cloud
+<ul>
+<li>TR-909</li>
+<li>XV-5080</li>
+<li>SRX World</li>
+<li>SRX Studio</li>
+<li>Zenology</li>
+</ul></li>
+<li>Groove Agent 2</li>
+<li>Groove Agent ONE</li>
+<li>HALion 3</li>
+<li>LM4 Mark II</li>
+<li>Edirol Super Quartet</li>
+<li>Edirol Orchestral</li>
+<li>Addictive Drums 2</li>
+<li>Addictive Keys</li>
+<li>EZDrummer 3
+<ul>
+<li>Pop/Rock EZX</li>
+<li>Electronic EZX</li>
+</ul></li>
+<li>Kontakt 5
+<ul>
+<li>Vir Electri6ity</li>
+</ul></li>
+<li>Music Lab Real Guitar</li>
+<li>Music Lab Real LPC</li>
+<li>Music Lab Real Strat</li>
+<li>Virtual Guitarist</li>
+<li>Virtual Guitarist Electric Edition</li>
+<li>Z3TA+</li>
+<li>Z3TA+ 2</li>
+<li>DropZone</li>
+<li>SFZ</li>
+<li>True Piano</li>
+<li>Square I</li>
+<li>Triangle II</li>
+<li>Pentagon I</li>
+<li>Ultra Analog Session 2</li>
+<li>Lounge Lizard Session</li>
+<li>Session Drummer 2</li>
+<li>Session Drummer 3</li>
+<li>Strum Acoustic Session</li>
+<li>SI Studio Instruments</li>
+<li>P5antom / Roland GrooveSynth</li>
+<li>Roland TTS-1</li>
+</ul>
+</details>
+<h3 id="tocanch29" class="tvis">Why
+stick to hardware synths when software synths nowadays are so
+powerful?</h3>
+<p>There are pros and cons to this.</p>
+<p>Pros:</p>
+<ul>
+<li>Unique architecture allows for exclusive sounds and sound shaping
+techniques</li>
+<li>Unique sound libraries that are not found elsewhere</li>
+<li>While software recreations of certain hardware synths are decently
+accurate, authenticity is still often sacrificed</li>
+<li>Offload sound generation from the production computer</li>
+</ul>
+<p>Cons:</p>
+<ul>
+<li>Sometimes recording hardware synths can be a pain in the a**</li>
+<li>They often have seemingly arbitrary limitations on the synth engine
+that are no longer an issue for modern software synths</li>
+<li>Aging hardware synth can become a liability, or even fire hazard
+<a id="n3" href="#note3" class="note">[3]</a></li>
+</ul>
+<p>Of course there’s the sunk costs fallacy – why stop using them since
+the money is already spent?</p>
+<h3 id="tocanch30" class="tvis">Since you don’t
+earn money from you production, …</h3>
+<p>where’s the money that fuels your gear addiction from?</p>
+<p>I have a decently stable income that covers all my daily expenses,
+plus some extra that can go straight into buying more crap.</p>
+<h3 id="tocanch31" class="tvis">Can I use your music for X?</h3>
+<p>Maybe.</p>
+<ul>
+<li>Unless otherwise noted, everything in the “Original” folder are
+released under the <a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode">CC BY-SA
+4.0 license</a>. MIDI data and project files will be available on
+request.</li>
+<li>Unless otherwise noted, everything else in my music library are
+released under the same terms as their originals. This means:
+<ul>
+<li>For my remixes of original Touhou sound tracks, you can use them in
+accordance to the <a href="https://touhou-project.news/guideline/">Touhou Project guidelines
+on derivative works</a>.</li>
+<li>For other works, it is suggested to refer to their original license
+(would be inside its notes if there is one), or contact their original
+author before using them.</li>
+</ul></li>
+</ul>
+</article>
+</div><br><hr>
+ <div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: The max level one can obtain is level 10 for both
+instruments<br></span><span class="TText"><a id="note2" href="#n2">[2]</a>: TwoSetViolin reference<br></span><span class="TText"><a id="note3" href="#n3">[3]</a>: <a href="https://forums.rolandclan.com/viewtopic.php?t=56539">cough
+cough</a>, Roland SR-JV80 boards, <a href="https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1112520-exploding-jv2080-expansion-card.html">cough
+cough</a><br></span></div>
+ <div id="insanch" style="height:3em;"></div>
+ <div id="footer" style="">
+ <div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
+ <div style="text-align:center;" class="TText">
+ Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
+ <br>
+ Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
+ </div>
+ </div>
+ <div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
+ </div>
+ </div>
+ <div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
+ <div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
+ <div id="keyhint" style="margin-bottom:8px;"></div>
+ <div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
+ <div style="height:2.25em;">
+ <button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
+ <button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
+ </div>
+
+ </div>
+
+
+</div></body></html> \ No newline at end of file