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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
<!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">Site Revamp and Other Rants -- 2019 Edition</h3></a></li>
<li><span>Tags</span>
<ul id="tagslist">
<li><a href="/blog/list/web/">web</a></li><li><a href="/blog/list/random-xp/">random-xp</a></li><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">Mirror in Japan</a></li><li><a class="toctarg" href="#tocanch1">An Eruditus
from Waseda and An Illiterate in China</a></li><li><a class="toctarg" href="#tocanch2">A world in which everyone
can program</a></li><li><a class="toctarg" href="#tocanch3">The world of smartphone…</a></li><li><a class="toctarg" href="#tocanch4">Googlephobia</a></li><li><a class="toctarg" href="#tocanch5">Software Subscription Model
Sucks</a></li></ul>
</li>
<li style="margin-left:-0.5em"><a id="prevp" href="2018-12-06.html">Prev post</a></li>
<li style="margin-left:-0.5em"><a id="nextp" href="2019-04-25.html">Next post</a></li>
</ul>
</div>
<div id="content">
<h2 id="titleh" class="TText" style="font-wight:normal;">Site Revamp and Other Rants -- 2019 Edition</h2>
<div id="datetags" class="TText" style="margin-bottom:1em;">2019-02-13<br>#web #random-xp #garbage</div>
<hr><div id="article" class="TText"><article>
<p>If you are reading this, your browser probably fetched all data it
required to display the page directly from my VPS hosted by ConoHa.</p>
<h2 id="tocanch0" class="tvis">Mirror in Japan</h2>
<p>(No pun intended)</p>
<p>I set up my own git server half a year ago. Now I’ve found <a href="https://cgit.chrisoft.org/web.git/">the perfect use for it</a>. I
create the git repository right in <code>/var/www/html</code> on my
local server. The remote server has a post-receive hook that
automatically pulls in the document root. Any volatile large files are
moved to a new virtual host <code>filestorage.chrisoft.org</code> and
kept in sync with <code>rsync</code>.</p>
<p>The site also underwent a major cleanup. Many legacy stuff got either
removed or relocated.</p>
<p>Generally this means you should experience major speedup visiting
this site. If, however, you are exeriencing problems, please do not
hesitate to contact me.</p>
<p>The reverse proxy is now moved to <code>rp.chrisoft.org</code>. It’s
not yet accessible at the time of writing because my local server is
hidden super stealthily under multiple layers of NAT.</p>
<h2 id="tocanch1" class="tvis">An Eruditus
from Waseda and An Illiterate in China</h2>
<p>Everyone except me has made significant progress.</p>
<p>I was actually shocked to learn that he’s now majoring in something
related to aviation machinery.</p>
<p>Shame on me, I guess.</p>
<h2 id="tocanch2" class="tvis">A world in which everyone
can program</h2>
<p>I shall probably quit programming and move on by then.</p>
<h2 id="tocanch3" class="tvis">The world of smartphone…</h2>
<p>… is now a wasteland. Literally all flagship models are mutants from
the Chernobyl exclusion zone.</p>
<h2 id="tocanch4" class="tvis">Googlephobia</h2>
<p>Shit. They are probably also watching me writing this.</p>
<p>Thanks to (?) the GrandeFreakWitless, my reliance on Google is not
that strong – nope. It’s actually my general fear and distrust of those
tech giants.</p>
<p>My fear was magnified by my recent findings of just how much Google
knows about me – they probably know me better than myself; and again by
Louis Rossmann <a id="n1" href="#note1" class="note">[1]</a>.</p>
<p>When those Google fanboys are still enjoying the great convenience
they provide, I’m already planning to flee from Google. It’s probably
just me being hyperallergic, but it also could be Google doing something
really unfair to their users.</p>
<h2 id="tocanch5" class="tvis">Software Subscription Model
Sucks</h2>
<p>Reading through Roland Cloud’s product page triggers me everytime: I
sincerely cannot figure out why they make it a subscription service
rather than a one-time purchase (with a fee for each upgrade).</p>
<p>Usually people subscribe for:</p>
<ul>
<li>Publication or media services, e.g. television, newspapers and
magazines. These services provide frequently updated information to the
subscriber.</li>
<li>Physically consumable material, such as dairy product.</li>
</ul>
<p>Roland Cloud falls into neither of these two categories. It’s not
updated as frequent, and it’s certainly not physically consumable. The
most triggering detail is that if you end your subscription, you will
not be able to use any of the products you previously owned, which is
ridiculous because you can always keep older issues of a newspaper even
you unsubscribed from it.</p>
<p>Supporters of the subscription model may reject me saying ‘if you can
get access to everything when you join and keep it after unsubscribing,
you are essentially purchasing it with ultra-low price’, which brings up
my next point: Roland Cloud’s subscription model is flawed from the
beginning:</p>
<ul>
<li>Get everything on subscribe: this differs from traditional
subscription a lot, which seems a great bounty to the customer. But it
causes problems such as …</li>
<li>Lose everything on unsubscribe: this is <em>very</em> unfair to the
subscriber and makes short-term subscription worth almost nothing. For
example if I just want Sound Canvas VA really badly, I would imagine
subscribing shortly before its release and unsubscribe after I’m
eligible for keeping the product permanently. But this is simply not
possible.</li>
<li>Weird pricing. To be honest the current pricing is pretty fair for
long-term subscribers. But if Roland somehow decided to fix the ‘lose
everything on unsubscribe’ problem (which is very unlikely to happen),
the pricing would become super complex: they probably do not want people
to keep a virtual TB-303 for just $19.99.</li>
<li>Potentially unsustainable. Every good thing must come to an end. The
most attractive products in Roland Cloud is the software models of
Roland’s synthesizers from its golden years. But Roland will run out of
models to recreate one day. What would Roland do by then? Release
everything as a one-time purchase so that every long-term subscriber
feels ripped off?</li>
</ul>
<p>I’m an absolute supporter of Roland releasing authentic-sounding
digitialized version of their legendary synthesizer models. But their
subscription model pisses me off so hard. I know it’s not a big deal for
a professional producer. However this is a real deal-breaker for
amateurs such as me.</p>
<p>Unfortunately there’s no real competitors out there when things come
to reproducing their own synthesizers. Also a little bit off-topic: the
music producing industry deserves more high quality free (as in freedom)
software.</p>
<p>Now let’s move on and talk about Office 365 by Microsoft and Creative
Cloud from Adobe. They bundles software with value-add services such as
e-mail service and (optinal) creativity material. IMHO these products
they are trying to turn into a service resemble a tool, such as a
screwdriver, rather than an apartment that people actually go for
renting instead of purchasing.</p>
<p>Paying a monthly fee for a screwdriver makes absolutely no sense.
That said, I would stick with my plain old screwdriver, rather than that
shiny gold-plated screwdriver with 10 heads which I will lose whenever I
stop paying them. <strong>Green is my pepper.</strong></p>
<p>The purpose of this entire rant is to remind the reader of just how
many ways proprietary software vendors could come up with to screw their
users up. What they care the most has always been money and this will
simply not change any time soon. Get ready for more!</p>
</article>
</div><br><hr>
<div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: <a href="https://vimeo.com/329297480">link to
video</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>
|