forked from Hardmath123/hardmath123.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
helloagain.html
148 lines (139 loc) · 7.64 KB
/
helloagain.html
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
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/base.css"/>
<title>Well, well, well, we meet again. - Comfortably Numbered</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script>
MathJax.Hub.Config({
tex2jax: {inlineMath: [['($','$)']]}
});
</script>
</head>
<body>
<header id="header">
<link rel="stylesheet" href="/octicons/octicons.css">
<script src="static/cheet.js" charset="utf-8"></script>
<script src="static/main.js"></script>
<h1>
<a href="/"><span class="left-word">Comfortably</span><span class="right-word">Numbered</span></a>
</h1>
<!-- You're reading the source to my blog? What do you think?
Do you have dinner plans? -->
</header>
<article id="postcontent" class="centered">
<section>
<h2>Well, well, well, we meet again.</h2>
<h4>Wednesday, June 11, 2014 · 2 min read</h4>
<p>I’m back.</p>
<p>The new Comfortably Numbered runs on a new state-of-the art blogging platform,
developed (of course) by yours truly: shock. Shock brings together a lot of
powerful technologies written by smarter people, and bundles them up into a
command line tool to publish posts.</p>
<p>Shock generates an RSS feed, a homepage, a 404 page, and content pages, all
built on templates and CSS that <em>you</em> write yourself. Then it lumps those in a
directory that you can serve on anything clever enough to serve static
filesystems: Dropbox, Google Drive, Github Pages, Amazon S3, even your home
computer.</p>
<p>Shock uses Mustache’s non-logical templating system (non-logical, in this
context, is a compliment). It was built on a rather simple idea: <strong>if you’re
using a node-based command-line platform to create a blog, chances are you want
control over every single aspect of presentation</strong>. In fact, I consider that
one of the primary symptoms of being a hacker.</p>
<p>Hackers want control over everything that they use. It’s why we prefer
extensible text editors and browser add-ons, and why we spend hours tinkering
with spacing equations in TeX. It’s also part of the reason I migrated away
from Google; App Engine is a very closed non-hacker-friendly environment. The
hacker-control symptoms are what guide us subconsciously in choosing and
designing software. We prefer open-source projects and scriptable systems
because they conform to the pattern of software that gives control to the user.</p>
<p>The opposite is true for most nonhacker packages. Word and PowerPoint are
‘merciful god’ software: they give you features (for example, those dreadful
PowerPoint animations) which you may or may not use, but they retain complete
control over what can be done. Compare that to a hacker-friendly document
generation technology like TeX or CSS. Similarly, nonhacker image editors or
other similar applications try to hide the filesystem from you. The most recent
project you were working on magically appears, along with a list of other
recent projects. This is unaccaptable to a hacker.</p>
<p>I feel the easiest way to convey this message is: “don’t be afraid to expose
your software’s guts”. Often, the best software is the kind that gives you as
many handles and hooks as possible. Make your command-line tools UNIX filters
wherever possible: read from <code>stdin</code> and write to <code>stdout</code>. Use a universally
usable format like JSON for storing data. Most importantly, <em>never</em> explicitly
disallow a user from doing anything.</p>
<p>Preventing stupid things also prevents clever things.</p>
</section>
<div id="comment-breaker">◊ ◊ ◊</div>
<!--
<section>
<center>(<a id="comment-toggle" href="#comment-toggle">Click to load comments…</a>)</center>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'comfortablynumbered';
var disqus_identifier = 'helloagain.md';
window.addEventListener(
'load',
(function() {
document.getElementById('comment-toggle').addEventListener('click',
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}),
true);
}),
true
);
</script>
</section>
-->
</article>
<footer id="footer">
<div>
<ul>
<li><a href="http://github.com/Hardmath123">
<span class="octicon octicon-mark-github"></span>
Github</a></li>
<li><a href="feed.xml">
<span class="octicon octicon-rss"></span>
Subscribe (RSS)</a></li>
<li><a href="https://github.com/Hardmath123/hardmath123.github.io/issues/new?title=Hi&body=How's%20it%20going%3F">
<span class="octicon octicon-comment-discussion"></span>
Feedback</a></li>
<li><a href="mailto:contact-at-comfortablynumbered-dot-appspotmail-dot-com">
<span class="octicon octicon-mail-read"></span>
Email me</a></li>
<li><a href="http://creativecommons.org/licenses/by-nc/3.0/deed.en_US">
<span class="octicon octicon-law"></span>
CC BY-NC 3.0</a></li>
<li><a href="appreciation.html">
<span class="octicon octicon-beer"></span>
Other</a></li>
</ul>
</div>
<!--
<span class="sc">ComfortablyNumbered</span> · Hardmath123 (2013) · <a href="feed.xml">RSS Feed</a>
·
<a href="/appreciation.html">
<span class="octicon octicon-beer"></span></a>
<a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/deed.en_US">
<img
alt="Creative Commons License"
src="http://i.creativecommons.org/l/by-nc/3.0/80x15.png"/>
</a>
-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46120535-1', 'hardmath123.github.io');
ga('require', 'displayfeatures');
ga('send', 'pageview');
</script>
</footer>
</body>
</html>