-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
514 lines (504 loc) · 76 KB
/
index.xml
File metadata and controls
514 lines (504 loc) · 76 KB
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Dr Daft</title>
<link>https://blog.hakmal.com/</link>
<description>Recent content on Dr Daft</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-au</language>
<lastBuildDate>Thu, 10 Jul 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.hakmal.com/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Making an online playground</title>
<link>https://blog.hakmal.com/post/jekyll-playground/</link>
<pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate>
<author>Dr Daft</author>
<guid>https://blog.hakmal.com/post/jekyll-playground/</guid>
<description>
<p>For a while now I&rsquo;ve been collecting snippets of code where I&rsquo;ve explored concepts, played around, or generally just attempted feebly to learn something. Some of this is from before my research days and purely from a place of curiosity. During my research I stumped across Ian Bogost&rsquo;s <em>Play anything</em> (2016). I was already exploring Bogost&rsquo;s persuasive games and alien phenomenology for my research but this book in many ways changed my perspective towards many things and also structured my outlook towards research and my practice as a designer.</p>
<p>The full title explains this well: <em>The pleasure of limits, the uses of boredom, and the secret of games</em>. That as a whole sounds wonderful and through the many vignettes he paints of his experience with play he talks about how play is everywhere in the shape of playgrounds.</p>
<blockquote>
<p>&ldquo;Play isn&rsquo;t doing what we want, but doing what we can with the materials we find along the way. And fun isn&rsquo;t the experience of pleasure, but the outcome of tinkering with a small part of the world in a surprising way.&rdquo; <strong>Bogost, 2016, pg3-4</strong></p></blockquote>
<h2 id="a-github-and-jekyll-playground">
<a href="#a-github-and-jekyll-playground" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
A GitHub and Jekyll Playground
</h2>
<p>The collection of code snippets and curious explorations were my own little playgrounds where I enacted play as these curious rituals. So I turned to Github to craft a repository for these acts of play. But I soon faced a curious question. I wanted to be able to present my play as part of a larger playground where all could be observed. Why? I&rsquo;m not really sure, but I think this is part of the play anything perspective Bogost was referring to.</p>
<p>I didn&rsquo;t want a complicated setup and liked the simplicity and capabilities of Github Pages. This blog after all is also delivered through Github as are most of my projects and playful activities.</p>
<h2 id="a-clean-and-simple-setup">
<a href="#a-clean-and-simple-setup" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
A clean and simple setup
</h2>
<p>I won&rsquo;t go into the details of the different iterations I went through before settling with a custom Jekyll setup. There was a lot of testing and exploration with additional learning opportunities. I&rsquo;m not a web developer just a tinkerer so here&rsquo;s my clean and simple setup for creating a collection of curious coding playgrounds using Github and Jekyll. You can see the <a href="https://github.com/haakmal/playgrounds">Github repo</a> here but let&rsquo;s start with the folder structure.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">_data/ <span class="c1"># Metadata folder</span>
</span></span><span class="line"><span class="cl">├── projects/ <span class="c1"># Jekyll collection for projects</span>
</span></span><span class="line"><span class="cl">│ └── project1.yml <span class="c1"># Metadata file for each project</span>
</span></span><span class="line"><span class="cl">layouts/home.html <span class="c1"># Jekyll layouts go here</span>
</span></span><span class="line"><span class="cl">site/ <span class="c1"># Site generated by Jekyll</span>
</span></span><span class="line"><span class="cl">assets/style.css <span class="c1"># Stylesheet for Jekyll site </span>
</span></span><span class="line"><span class="cl">projects/
</span></span><span class="line"><span class="cl">├── project1 <span class="c1"># Individual project folder</span>
</span></span><span class="line"><span class="cl">Gemfile <span class="c1"># Jekyll init file</span>
</span></span><span class="line"><span class="cl">_config.yml <span class="c1"># Jekyll config file</span>
</span></span><span class="line"><span class="cl">index.md <span class="c1"># Site homepage</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>It took me a while to understand but this is essentially all there is to it, the structure is simple and easily expandable. With the settings I&rsquo;m about to share a static website can be made using markdown files in Github, with additional &lsquo;collections&rsquo; or project folders that are independent of the Jekyll site; or not if you want, that&rsquo;s right, they don&rsquo;t need to be independent and you can easily treat the projects as additional pages though there is an easier setup for that.</p>
<h2 id="jekyll-setup-step-by-step">
<a href="#jekyll-setup-step-by-step" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
Jekyll setup step-by-step
</h2>
<p>To start we&rsquo;ll prepare the index file. Since Github will use Jekyll to parse any markdown file into HTML, it simply needs some information in the YAML section of our markdown files to get started. Adding the following to the <code>index.md</code> will let Jekyll know it has to parse that file, naming it index is important for the static site to be registered.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">layout</span><span class="p">:</span><span class="w"> </span><span class="l">home</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nn">---</span><span class="w">
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>For those curious the <code>---</code> at the start and end of a markdown file separate it from the actual content as the YAML portion where configurations and data keys can be set. There is a list of different keys that can be called here but we can also make our own and that makes YAML very powerful. It&rsquo;s essentially a way to serialise data to your liking.</p>
<p>Configuring the site is done using the <code>_config.yml</code> which needs to be in our site root. For my purposes I prepared it like so.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">plugins</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">jekyll-feed</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">jekyll-seo-tag</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">collections</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">projects</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">output</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">permalink</span><span class="p">:</span><span class="w"> </span><span class="l">/projects/:name/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">baseurl</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/playgrounds&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;https://haakmal.github.io&#34;</span><span class="w">
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>The most important parts are the plugins which are what we need for Jekyll to load. These plugins are enough for static site purposes, there are other plugins that can be added here for further functionality such as help with making posts or a blog.</p>
<p>The collections is what allows us to have our projects or playgrounds. Collections are a way to pull in the projects folder as independent pages or sites that can function on their own. Keeping the <code>output: true</code> is necessary here for Jekyll to actually make the pages from what I understand. The <code>permalink</code> lets Jekyll know how to manage the site links between collections and the main static page. This will make sense once you see the layout template we prepare. Finally, the <code>baseurl</code> is set as the Github repo&rsquo;s name to again ensure all links start from the correct source.</p>
<h2 id="the-magic-of-metadata">
<a href="#the-magic-of-metadata" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
The magic of metadata
</h2>
<p>This was a particular learning curve for me to understand how this metadata file could be setup. I wanted to use the YAML keys as a way to store data about projects and fetch them to the static home page, essentially listing projects out. It&rsquo;s part of the collections feature of Jekyll but it&rsquo;s also a clean way to have Github interact with Jekyll. Here&rsquo;s an example of the metadata file for a project in the repo called <a href="https://haakmal.github.io/playgrounds/projects/emojidice/">EmojiDice</a>.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;EmojiDice&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;A storydice variant using emojis, good for brainstorming.&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">credits</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;Haider Akmal&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/projects/emojidice/&#34;</span><span class="w">
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>The key&rsquo;s like <code>title</code>, <code>description</code>, etc can be called anything since they are just data points being referenced in the <code>home.html</code> layout file. The <code>url</code> key is what&rsquo;s needed to ensure the correct link is formatted. What is important to do here is to ensure the file name for this YAML metadata file is the same as the project folder. So in this case, the project folder is called <code>emojidice</code> and the metadata file is called <code>emojidice.yml</code>, Jekyll handles the rest.</p>
<h2 id="bringing-it-all-together-in-our-layout">
<a href="#bringing-it-all-together-in-our-layout" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
Bringing it all together in our layout
</h2>
<p>Now that we have a project setup as well as its metadata, we can finally make the layout for our site. In our layout we need to be able to display our projects as that&rsquo;s the whole purpose behind this curious ritual! We are already calling <code>home.html</code> as the layout for our index file so that&rsquo;s what we have to set up in the <code>layouts</code> folder. The structure for this template is a basic HTML page with some Jekyll hooks to pull in dynamic data, the full file can be viewed in the repo but this portion is where the magic happens.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">{% for project in site.data.projects %}
</span></span><span class="line"><span class="cl"> {% assign info = project[1] %}
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">li</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> {% if info.external %}
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">h3</span><span class="p">&gt;&lt;</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">&#34;{{ info.url }}&#34;</span> <span class="na">target</span><span class="o">=</span><span class="s">&#34;_blank&#34;</span><span class="p">&gt;</span>{{ info.title }}<span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;</span> <span class="p">&lt;</span><span class="nt">span</span><span class="p">&gt;</span>↗<span class="p">&lt;/</span><span class="nt">span</span><span class="p">&gt;&lt;/</span><span class="nt">h3</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> {% else %}
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">h3</span><span class="p">&gt;&lt;</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">&#34;{{ site.baseurl }}{{ info.url }}&#34;</span><span class="p">&gt;</span>{{ info.title }}<span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;&lt;/</span><span class="nt">h3</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> {% endif %}
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>{{ info.description }}<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">small</span><span class="p">&gt;&lt;</span><span class="nt">span</span><span class="p">&gt;</span>👥<span class="p">&lt;/</span><span class="nt">span</span><span class="p">&gt;</span> {{ info.credits }}<span class="p">&lt;/</span><span class="nt">small</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> <span class="p">&lt;/</span><span class="nt">li</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">{% endfor %}
</span></span></code></pre></td></tr></table>
</div>
</div><p>It&rsquo;s essentially a for loop that iterates inside an unordered list. Each new list item being made has hooks in the middle such as <code>{{ info.title }}</code>that are fetching the unique keys we setup in our metadata file for that project. The loop knows to look at <code>site.data.projects</code> as in <code>site-root/data/projects/</code> folder for any projects then compare them against the <code>projects/</code> folder in our site root.</p>
<p>With that setup, all that&rsquo;s left is to make it look pretty. For the design of the site I kept it all simple focusing on being just a way to represent each playground. You can find the full layout and stylsheet in<code>layouts/home.html</code> and <code>assets/style.css</code> respectively in my <a href="https://github.com/haakmal/playgrounds">playgrounds repo</a>.</p>
<h2 id="setting-up-github-pages">
<a href="#setting-up-github-pages" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
Setting up Github Pages
</h2>
<p>At this point we have the building blocks for our static custom Jekyll site but we still have to setup Github to use its Pages feature. Github Pages does all the heavy lifting for us but in order for us to use our own custom Jekyll layouts and configurations we have to tell Github not to use it&rsquo;s own Jekyll configuration. The Github Pages feature defaults to using it&rsquo;s own Jekyll theme and configurations, this is where we need to ensure we initiate our own Jekyll configuration. You may have noticed the <code>Gemfile</code> in the repository, this is where that comes in.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-ruby" data-lang="ruby"><span class="line"><span class="cl"><span class="n">source</span> <span class="s2">&#34;https://rubygems.org&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">gem</span> <span class="s2">&#34;jekyll&#34;</span><span class="p">,</span> <span class="s2">&#34;~&gt; 4.3&#34;</span>
</span></span><span class="line"><span class="cl"><span class="n">gem</span> <span class="s2">&#34;jekyll-feed&#34;</span>
</span></span><span class="line"><span class="cl"><span class="n">gem</span> <span class="s2">&#34;jekyll-seo-tag&#34;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Jekyll is Ruby based, unlike Hugo which this blog is being powered by which is Go based. It took me a while to figure out Hugo and now looking at Ruby I&rsquo;ve realised I can&rsquo;t be proficient in either! That said, there are ample resources around the internet and now with ChatGPT picking up basic skills for programming languages are quite easy. I know this much that the Gemfile is necessary to initiate our Jekyll configuration. All this file is telling Github is to pull in Jekyll without any configurations such as themes etc and instead ensure the plugins we require are pulled in.</p>
<p>Finally, all we need to do is now upload all of this to Github and initiate Github Pages. For that we can go to the repo <em>Settings → Pages (left menu)</em> and selecting the branch we would like to deploy our repository from which in this case will be the main branch. And that&rsquo;s it! We have a static site powered by Github Pages with a custom Jekyll static site generator that iterates over additional static sites within itself! In other words, the project folders can be independent HTML files with their own scripts, styles, and more as well as markdown files that will get parsed by Jekyll into HTML with whatever layout we would like them to follow.</p>
<p>Play is truly everywhere, even in the making of this collection of playgrounds through Github. I&rsquo;ve learned a lot in the process of making this and hopefully more curious playgrounds full of design and code will be emerging in the days to come.</p>
</description>
</item>
<item>
<title>Why should knowledge management matter?</title>
<link>https://blog.hakmal.com/post/why-manage-knowledge/</link>
<pubDate>Fri, 17 Mar 2023 00:00:00 +0000</pubDate>
<author>Dr Daft</author>
<guid>https://blog.hakmal.com/post/why-manage-knowledge/</guid>
<description>
<p>I had already planned on making the first few posts of my blog about how I eventually set up the whole thing. This was partly because I would have something to quickly write about while it was still fresh in my mind, but also so I could stick to a habit of writing. I don&rsquo;t really have a schedule in mind for how often I intend to post here (yet), but I&rsquo;m hoping that with these first few technical posts I can get in the swing of it better.</p>
<p>While writing this I quickly realised I had a lot more to say! There is a backstory here, a process to the madness that ends in my writing setup so I will have to break this up into pieces now. This is the first post in a multi-part series about my &lsquo;writing environment&rsquo; which itself is rather broad since I jump between multiple programs and also work across different platforms. I own a Windows machine but oddly in the office I&rsquo;ve always been given MacOS. While that doesn&rsquo;t make much difference in terms of this setup, it has meant that I&rsquo;ve had to find systems that were cross platform from the start. A lot of trial and error has gone into what I&rsquo;m still developing here but my current setup is in many ways sustainable (for me at least).</p>
<h2 id="the-breakdown">
<a href="#the-breakdown" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
The breakdown
</h2>
<p>Everything that I mention in this series can be repurposed as you like, these platforms are all <abbr title="Free Open Source Software">FOSS</abbr> after all. I plan on covering a number of topics ahead with some posts being about the build up and background, while others more technical. Since my approach towards writing and ultimately knowledge management are tied into developing your own ethos I see this series as jumping between research and life skills. Hopefully whoever reads it may find some benefit. Here&rsquo;s a breakdown of how I see this unfolding:</p>
<ul>
<li><a href="https://blog.hakmal.com/post/why-manage-knowledge/">Why should knowledge management matter?</a> <em>(this post)</em></li>
<li>Creating a knowledge management hub with Obsidian <em>(soon)</em></li>
<li>Setting up a blog using Hugo and Git <em>(soon)</em></li>
</ul>
<p>Some additional content I plan to work on ahead around Obsidian and workflows include using Obsidian for pedagogy, as a student, and also as a cross collaborative research hub with Git.</p>
<h2 id="the-woes-and-wants-of-knowledge-management">
<a href="#the-woes-and-wants-of-knowledge-management" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
The woes and wants of knowledge management
</h2>
<p>In my <a href="https://blog.hakmal.com/post/hello-world/">last post</a> I went on about how there is this pressure on academics to write and continue to write in their fields all moving towards that one point of unique knowledge contribution. Having a good clean writing setup that works for you accentuates that experience making it <em>(a)</em> worth while, and <em>(b)</em> dare I say enjoyable. Not that writing isn&rsquo;t fun for some people, but when it comes to academic writing it can get dry. It all starts by being able to gather information that you&rsquo;ve collected through research.</p>
<p>A trusty notebook and pencil served me well for years and still do. I did always find myself hesitant when taking notes because I would know that down the line I would forget about this note. To me the act of writing something down is in effect adding it to a short-term memory, not necessarily something that I will return or be reminded of. Like many others I too had notebooks full of content that was never realised. Knowledge management starts from there and in most cases often ends there as well which where systems like the one I&rsquo;m describing today may come into play.</p>
<p>There are several such systems with the more popular one being the <a href="https://zettelkasten.de/introduction">Zettelkasten</a> approach. I just can&rsquo;t manage that, I find it it taxing and complex for my brain to keep track of! To those who have, I see that as impressive and I&rsquo;m very certain you&rsquo;ve reached a point of efficiency that is almost machine like. Those who are not aware of the zettelkasten approach, it was developed by a social scientist Niklas Luhmann in an attempt to over power his productivity.<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> I&rsquo;m a very patient person in most cases, but this approach was beyond me.</p>
<p>Having a penchant to tinker and get slightly obsessed with the process (as I often do), will certainly help when setting up a writing space that is for all purposes designed to be efficient. That level of tinkering was needed for zettelkasten though the redundancy of tasks made me feel less productive personally. Perhaps I approached it incorrectly and maybe down the line I might try again but in the way I practiced it a zettelkasten approach did not feel necessary; in that regard I&rsquo;d like to think I&rsquo;m somewhere on the edge of this knowledge management spectrum. What I needed was a system that was efficient and worked for my needs without the complexity of having to manage it as well. For some that might be as simple as setting up a Medium account or maybe Blogspot (that is a still a thing right?) with a content management system, for others it may very well be something as focused as Luhmann&rsquo;s approach. For me it needed to be more bespoke and almost automated.</p>
<p><figure>
<img loading="lazy"
src="https://images.unsplash.com/photo-1524668951403-d44b28200ce0?ixlib=rb-4.0.3&amp;ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&amp;auto=format&amp;fit=crop&amp;w=1074&amp;q=80"
alt=""
title="Does anything beat a good typewriter? ([Source](https://unsplash.com/photos/qFH7-yKoxik))" />
<figcaption>Does anything beat a good typewriter? (<a href="https://unsplash.com/photos/qFH7-yKoxik">Source</a>)</figcaption>
</figure></p>
<h3 id="the-perfect-setup-does-not-exist">
<a href="#the-perfect-setup-does-not-exist" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
The perfect setup does not exist
</h3>
<p>I&rsquo;ve gone back and forth multiple times with what the perfect setup is and I even wrote about it before in my <a href="https://haiderakmal.medium.com/thoughts-on-doing-a-phd-in-design-and-during-a-pandemic-141f76605c04">post-PhD post</a>, a rather emotional read if I&rsquo;m being honest with not enough information on my actual setup! I do now realise after testing so many different approaches that the perfect setup for anything at all simply does not exist. It&rsquo;s important to accept that. You will be constantly tinkering, forever changing, forever dissatisfied with what you have. But for the moment it will work. There will always be a better version of that software or alternative out there and being ready and accepting of that is key.</p>
<p>My interest in setting up the best writing environment started in my Master&rsquo;s, I had a lot of writing to do and Word was nasty (still is). I found the wonders of Markdown around then having only ever used it in forums made in phpBB (does anyone remember that?), now its usage was popping up in lots of applications. GitHub of course had always used <abbr title="Markdown">MD</abbr> but I wasn&rsquo;t a programmer until much later so I wouldn&rsquo;t have known. I used <a href="https://ulysses.app">Ulysses</a> throughout my MA and loved every bit of it, right up to the point when they decided to adopt a subscription-based model for what is a simplified writing app. The business opportunity aside this was around the time when <em>subscription-based-everything</em> was popping up and if the comments section of <a href="https://medium.com/building-ulysses/why-were-switching-ulysses-to-subscription-47f80b07a9cd">this post</a> by the app developers is something to go by it clearly did not sit well with more than just me. I couldn&rsquo;t get on board with that no matter how much I loved the software, it was at the end of the day a writing application and without the bells and whistles did what Notepad could do. This <strong>company-centric over consumer-centric</strong> approach is probably an article on its own, but is the reason why we have a <a href="https://cointelegraph.com/blockchain-for-beginners/what-is-web-3-0-a-beginners-guide-to-the-decentralized-internet-of-the-future">Web 3.0</a> push towards transparency and decentralisation.</p>
<p>I had some rebound after Ulysses jumping to <a href="https://github.com/atom">Atom</a> for a while then other similar software.<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> I even tried Notion for a bit and soon realised that it didn&rsquo;t click. My PhD was entirely done in Atom, every paper, review, poster, and more that I wrote at the time used a custom setup with <a href="https://pandoc.org/MANUAL.html">Pandoc</a> and <abbr title="Markdown">MD</abbr> in Atom. This was until I found <a href="https://obsidian.md/">Obsidian</a> towards the end of my PhD. I really wish I had found this earlier on as I believe it would have changed my approach towards note taking and knowledge management significantly. I also wouldn&rsquo;t have had to deal with Atom crashing so much on. I even went rouge in the middle of my journey to find the perfect writing setup and going full text-only in Vim and Emacs and the learning curve hit me hard, I can assure you I&rsquo;m never strolling down that road again.</p>
<p>Now I use Obsidian every day, for teaching purposes, research, this blog, other writings, musings, and more. I&rsquo;m constantly learning about automating steps as well at a comfortable pace, which is partly why I think this constitutes as close to a perfect setup as I can get right now. The other methods I used were either too restrictive, heavy learning curves, required too much tinkering, or just didn&rsquo;t appeal to me.</p>
<h2 id="the-purpose-of-knowledge-management">
<a href="#the-purpose-of-knowledge-management" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
The purpose of knowledge management
</h2>
<p>This first post in the series is definitely more rant than guide, but is also necessary because as academics we have an obligation to retain information as much as disseminate. Back in my Master&rsquo;s I had not thought I would have gone down the road of academia, I was even offered to continue but I couldn&rsquo;t foresee a path. I wanted to return to industry in my homeland, but Pakistan has always been a difficult market to get into and the doors that opened were different to what I had anticipated. Managing your knowledge is akin to managing your own life in that way. Some things you collect might move into rabbit holes or end up in dead ends while others might birth connections. It is an ethos you develop over time that fits to your rhetoric of what is knowledge and how it should be managed. After all, how do <strong>you</strong> retain information? Is it a diary you keep? A notepad or some scraps of paper you&rsquo;ve collected over time? We retain information in many ways though very little sticks.</p>
<p>People who follow the zettelkasten approach follow that mantra that retention of information is key to productivity. I don&rsquo;t see it like that, to me thats like the Chinese Room Argument. You can have a dictionary of content but it would be meaningless unless context is applied and maintained. That is where I believe an effective knowledge management system comes into play, and is the kind of system I&rsquo;ve attempted to develop. One with specific purpose beyond retention and towards meaning making.</p>
<p>That has been a central premise of much of my own work around design and more-than humanness, the purpose of good design and approaching meaningful futures. Across the many years that I&rsquo;ve been experimenting with different approaches towards knowledge management, I think meaning has always been missing. The purpose has always been retention and it never worked for me. Why is it now that my Obsidian vaults are making sense to me? It certainly has something to do with how the software is elegantly positioned towards tinkering but not in an aggressively programmer focused way. That&rsquo;s what I like about Obsidian, you don&rsquo;t need to be a programmer to be able to create automated processes in your workflow for instance, because someone in the community has prepared a plugin to help with that!</p>
<h3 id="the-current-setup">
<a href="#the-current-setup" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
The current setup
</h3>
<p>There are multiple cogs to this machine and I will be breaking down each part of the setup in coming posts, but this is where I currently am with my &lsquo;perfect-ish&rsquo; setup. Obsidian works in vaults which is a fancy name for root folders, this blog is part of a separate vault as is my teaching and research work. There is cloud backup as well as Git facilitated repositories for both collaborative work and automation where needed. I have other vaults as well but this series will focus mostly on these three. This diagram shows how it all works as an overview</p>
<div class="mermaid">
flowchart TB
A(Vault); B(Vault); C(Vault)
Aa(Student DB); Ab(Pedagogy); Ac(Courses DB)
Ba(Concepts); Bb(Writing); Bc(Supervision)
Ca(Content); Cb(Structure)
Cb-.->id1([Source Git Repo])
Ca-.->id2([Public Git Repo])
Bb-.->id3([Collaborative Git Repo])
subgraph Blog
direction LR
C-->Ca & Cb
end
subgraph Research
direction LR
B-->Ba & Bb & Bc
end
subgraph Teaching
direction LR
A-->Aa & Ab & Ac
end
Teaching & Research===>id((Cloud))
</div>
<p>Each vault is self contained and I normally don&rsquo;t need to have them mixing together, though with Obsidian I can cross-access them if I want to. Obsidian&rsquo;s UI is simple and to the point, at the same time there is enough room for making it purposeful. There is an additional layer of automation happening within the vaults themselves to support my workflow, things like maintaining similarly data across for fetching and searching notes. It isn&rsquo;t until each vault is opened and worked in that things start making sense and the connections come together. The need for manual retention is removed through using plugins like <a href="https://github.com/marcusolsson/obsidian-projects">Projects</a>, <a href="https://github.com/RafaelGB/obsidian-db-folder">DB Folder</a>, and <a href="https://github.com/blacksmithgu/obsidian-dataview">Dataview</a> all I&rsquo;ll be exploring in a future Obsidian focused post. There are also some quality of life plugins on top of these to take the vaults from being simple text oriented databases to powerful content creation engines.</p>
<p>I was more or less trying to achieve this same thing through Atom before but was unsuccessful. Ulysses did long-form writing quite well though was not very useful for other everyday work. Atom did several things well but nothing well enough. Obsidian on the other hand gives me enough freedom to actually start managing knowledge, an opportunity to learn from what I&rsquo;ve gathered. The difference is night and day at times.</p>
<h3 id="is-knowledge-management-needed">
<a href="#is-knowledge-management-needed" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
Is knowledge management needed?
</h3>
<p>A difficult question in the end. Everyone has a particular workflow that fits them well. I&rsquo;ve gone through several and I&rsquo;m still evolving this one. What I have understood in this time is that retention is not the key but management is, being able to make the connections between gathered knowledge is what matters. A tool like Obsidian might not be for everyone, and it shouldn&rsquo;t either. For many a notebook, some post-its, a pencil all works well enough. Once I had started teaching the need to maintain a record of my work became more evident. Keeping track of students for efficient feedback as much as understanding what a decentralised perspective towards pedagogy could be. As an academic I need to write about my pedagogy, I need to write about other things beyond as well. Seeing connections is difficult at times and I hope the current workflow I have is sustainable enough to ease that difficulty. The need for knowledge management should emerge from the intent you have, for me it&rsquo;s teaching, research, and learning. For others it could be anything from keeping track of your life to finally writing that novel you haven&rsquo;t touched for so long.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>More on Niklas Luhmann <a href="https://zettelkasten.de/introduction/#luhmann-s-zettelkasten">here</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>Sadly the hackable development environment has been <a href="https://github.blog/2022-06-08-sunsetting-atom/">archived</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
</description>
</item>
<item>
<title>Obligatory 'hello world' post</title>
<link>https://blog.hakmal.com/post/hello-world/</link>
<pubDate>Wed, 08 Mar 2023 00:00:00 +0000</pubDate>
<author>Dr Daft</author>
<guid>https://blog.hakmal.com/post/hello-world/</guid>
<description>
<h2 id="what-is-this-place">
<a href="#what-is-this-place" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
What is this place?
</h2>
<p>Why hello there! <code>(He says in his best Obi Wan voice)</code></p>
<p>Welcome to this blog. As is my cultural tradition I should have something spread out for guests like sweets or a beverage. Bare with me while I gather things here, this is my first post after all and there is still some scaffolding around the place. I don&rsquo;t think this is a right of passage in any way, I&rsquo;ve made and forgotten many blogs in the past. I&rsquo;m sincerely hoping this one sticks partly because my career now requires this (or at least that is how I&rsquo;ve come to understand things), but also because I really need to get back into the habit of writing (again for the sake of my career, and some sanity).</p>
<p><figure>
<img loading="lazy"
src="https://images.unsplash.com/photo-1609540969455-ad5ea19be121?ixlib=rb-4.0.3&amp;ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&amp;auto=format&amp;fit=crop&amp;w=1170&amp;q=80"
alt=""
title="Have some ladoo, apologies if you&#39;re diabetic ([Source](https://unsplash.com/photos/uWI48cpw7Vo))" />
<figcaption>Have some ladoo, apologies if you&rsquo;re diabetic (<a href="https://unsplash.com/photos/uWI48cpw7Vo">Source</a>)</figcaption>
</figure></p>
<p>I&rsquo;m not sure who might end up reading any of this content, but perhaps these collections of words will make sense to others. They may even help me in my research. Maybe you&rsquo;re one of my students who has curiously found your way onto this semi-personal space of mine, or an avid researcher by chance whose stumbled here because of my work? Perhaps your just passing by and happened to be curious.</p>
<p>I like that in all these instances curiosity is the common thread linking everything. My entire life has pretty much been about curiosity and as is the way of time I&rsquo;ve aged, and over this course have realised that the decisions I&rsquo;ve made were always because of curiosity. Why else would anyone enter academia? It&rsquo;s certainly not because of the lavish high-flying celebrity lifestyle I can assure you that! We become teachers, academics, and researchers because we are curious kittens. I&rsquo;d would much like to retain that thread as I continue with my work and hopefully this blog can be a part of that story.</p>
<h2 id="what-would-i-like-from-this-blog">
<a href="#what-would-i-like-from-this-blog" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
What would I like from this blog?
</h2>
<ul>
<li>I&rsquo;d like this &lsquo;blog&rsquo; to become something of a repository for my thoughts and practice as an academic.</li>
<li>I&rsquo;d like it to also be a repository of possible research explorations that are for a lack of a better word <em>undercooked</em>, perhaps as thought experiments or loose accounts of future possibilities.</li>
<li>I&rsquo;d like to use this as a platform for making more sense out of my work and benefit my career.</li>
<li>I&rsquo;d like this to be a place for me to let out some steam once in a while and ponder existence, we all need to occasionally after all.</li>
<li>I&rsquo;d like to separate my more personal opinions, musings, and rants from the serious work I&rsquo;ve done in the past and plan to do ahead. For those interested I&rsquo;m referring to my <a href="https://haiderakmal.medium.com">Medium blog</a>, one of my previous lacklustre attempts in retaining this written lifestyle.</li>
<li>I&rsquo;d like to be able to make writing a bigger part of my life through this blog. I used to write profusely before and for those who don&rsquo;t know I&rsquo;ve written multiple short stories, half of a novel, and the beginnings of another one all of course unpublished! This is perhaps one of the bigger reasons why I&rsquo;d like this blog to exist as well, so I can get back into those fictional worlds through this practice.</li>
</ul>
<h2 id="why-does-this-matter">
<a href="#why-does-this-matter" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
Why does this matter?
</h2>
<p>Should it matter? There is a lot of pressure on academics to write or at least have their opinions out in the world in some form. <em>&ldquo;What is your contribution to the generation of new knowledge?&rdquo;</em>, to paraphrase a question my supervisor asked me in my PhD and one I ask all my research students as well because it matters. This need from the academic life pushes us towards things like keeping blogs, written accounts, recordings or daily thoughts, and more how ever possible.</p>
<p>Should it matter I ask again? Maybe not, after all when we are doing research is it for the good of knowledge or for that curious itch we have as individuals who foster interest in things? A question I&rsquo;d love to leave hanging in the air for a bit.</p>
<h2 id="what-to-expect-ahead">
<a href="#what-to-expect-ahead" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
What to expect ahead
</h2>
<p>I&rsquo;m planning on writing more often in this space and as mentioned separating content and thoughts. I&rsquo;ve always been interested in organising myself towards efficiency and I&rsquo;ve recently been enamoured by <a href="https://obsidian.md/">Obsidian</a> a knowledge management app (basically over powered note taking). I highly recommend it, I use it for managing my student information, classwork, research work, and also personal life. In fact, this post I wrote in Obsidian as well. I&rsquo;ll definitely be dropping some of my experiences with knowledge management in here in the coming days.</p>
<p>The making of this blog has been a learning activity in itself and I&rsquo;ll certainly share what I&rsquo;ve learned in my next post. As a researcher I&rsquo;ve learned and explored many ways to support my academic journey which will also find a home here. I suppose that&rsquo;s the thing in the end, what to to expect is a very board and vague thing to say or even suggest. Though I also don&rsquo;t like the term <em>&rsquo;expect&rsquo;</em>, it has an air of anticipation, anxiety, even urgency which always makes me uncomfortable. What if whatever comes ahead isn&rsquo;t to your &rsquo;expectations&rsquo; (no pun)?</p>
<p>I think I&rsquo;ll be playing it by ear. I&rsquo;ve often found that no matter how much you can plan and manage things, <em>things</em> have a tendency of getting away as well.</p>
</description>
</item>
<item>
<title>How to tell a horse from its 💩</title>
<link>https://blog.hakmal.com/post/how-to-tell-a-horse/</link>
<pubDate>Fri, 25 Dec 2015 00:00:00 +0000</pubDate>
<author>Dr Daft</author>
<guid>https://blog.hakmal.com/post/how-to-tell-a-horse/</guid>
<description>
<blockquote>
<p><strong>Sidebar:</strong> This post was originally on Medium before I brought some needed organisation into my life. It is a rant and from a dark past, I&rsquo;ll leave it at that.</p></blockquote>
<p><figure>
<img loading="lazy"
src="https://blog.hakmal.com/img/me4211.webp"
alt=""
title="This is me, with an ominous hand over my head. Back then I didn’t know the many meanings of shit that I do today." />
<figcaption>This is me, with an ominous hand over my head. Back then I didn’t know the many meanings of shit that I do today.</figcaption>
</figure></p>
<p>I was born in Dubai, though not my homeland it was home for me. I didn’t have any <em>relatives</em> per say there as the bulk of the family lived in Pakistan; the motherland. Though I suppose your motherland should be where you are most at home, at the time it was Dubai, over the years it became Pakistan to some extent. Obviously it’s a different dynamic having spent half your life in one environment and then the other in a totally opposite world, but you get used to it mainly because you have people around you who try to make you feel <em>‘welcomed’</em>.</p>
<p>But do they really mean it? I remember growing up in a home foreign from home, whispers of memories with my parents always pressing the notion of <em>family</em>. I remember growing up with this image of these concentric circles in my head on how family functioned, the centre of the circle being you and the closer shapes being your immediate loved ones dispersing out slowly into distant cousins and relatives to that quarter-and-a-half aunt from God knows where trying desperately to wed you off somewhere.</p>
<p>As I grew older I realised I could not have been more wrong with this arrangement in my head. Being so far away from the motherland you tend to create wistful imaginings of it, you build upon these dreams from past memories or stories related to you by your loved ones. Images of a world that exists sadly only in your head and the heads of like minded cattle that are closest to you.</p>
<p>The ‘you are one of us and therefore welcome among us’, dialog that ensues between parties that have met after many a sunrise, I understood over time to be a farce. One that pushed you off to the side.</p>
<h2 id="humans-tend-to-enjoy-the-subtle-art-of-nitpicking">
<a href="#humans-tend-to-enjoy-the-subtle-art-of-nitpicking" class="anchor">
<svg class="icon" aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16">
<path fill-rule="evenodd"
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z">
</path>
</svg>
</a>
Humans tend to enjoy the subtle art of nitpicking.
</h2>
<p>When you fall off a horse there are two things that run through your mind:</p>
<ol>
<li>The ground is coming at me at an alarming rate therefore I should probably brace myself for impact, and</li>
<li>I hope I don’t get trampled over.</li>
</ol>
<p>What you don’t think about is that when you fall off a horse—in this case one you’ve groomed so well for so long—you raise your chances of falling not only on the ground but also on to a world underneath the horse full of horse manure. You see the world for what it truly is, and as you sit there on your newly acquired mushy throne of flies picking out bits from your hair you lift your hand in hopes to find something reaching out to you and see your majestic stead galloping off into the distance.</p>
<p>I refuse to believe the horse is unaware of its lost passenger, I wouldn’t be surprised to know that they secretly smirk at our unfortunate demise. Perhaps they do it on purpose, but horses aren’t people. I know that from observation, and also I understand if you give a horse an apple he’ll love you for it whereas humans tend to enjoy the subtle art of nitpicking.</p>
<p>No, this metaphorical stead in the shape of all your worthless imaginings of relations that you think you can count on when the time is rough not only throws you down when you least expect it, but it also makes sure it leaves a long and wide trail of feaces for you to land on; and being a very tricky beast it also manages to trample over you at the same time.</p>
<p><figure>
<img loading="lazy"
src="https://blog.hakmal.com/img/me342.webp"
alt=""
title="This is me later, when I used to give a shit. See how it’s written on my face?" />
<figcaption>This is me later, when I used to give a shit. See how it’s written on my face?</figcaption>
</figure></p>
<p>It was around the time I was in mid gallop upon my stead that the ground suddenly looked up at me and said, <em>“Hello! We need to have a chat”.</em> The air rushed by me as I saw the horizon tilt to an angle I was certain it shouldn’t, my crash was of course cushioned by the bed of leftover memories and yesterdays. I realised then these elusive creatures I had grown to accept as <em>relatives</em> and otherwise <em>family members</em> were not concentric circles that supported each others&rsquo; shape or were fashioned out of one another. No, these were like bubbles that popped up around you at random mostly when you needed them least and then burst into a kaleidoscope of colours that skittered away instantaneously leaving the world empty, barren, and monotone.</p>
<p>The world always was that way, it’s just the fake lens they placed before you that tricked you into imagining it different.</p>
<blockquote>
<p>When family deserts, you’re left with an odd expression on your face. It’s half between a look of abject confusion and what I understand to be best described as <em>‘oh no you did not’</em>.</p></blockquote>
<p>There is a looming threat of anger with the occasional vein popping somewhere on your body. Once you’ve gathered the courage to stand up from the now evident forever on-going road of shit that they’ve left behind you force yourself to come to terms with this revelation.</p>
<p>It might seem like the end and there’s always the whole, <em>“I’m ending this chapter once and for all!”</em> moment you go through, but sadly from then on it’s not necessarily smooth sailing.</p>
<p><figure>
<img loading="lazy"
src="https://blog.hakmal.com/img/me0232.webp"
alt=""
title="This is me laterer than later, as you can see it’s both fifteen past six and a quarter to eight. I clearly do not give a shit here. It’s the subtle things that make the difference you see." />
<figcaption>This is me laterer than later, as you can see it’s both fifteen past six and a quarter to eight. I clearly do not give a shit here. It’s the subtle things that make the difference you see.</figcaption>
</figure></p>
<p>Through my years of observation I’ve also come to conclude that relatives have an inherent ability to poke and pry in your business. I’d love to write on the art of being a twat someday, but I’m afraid in order to go into the details of how one comes around to becoming said abomination, I’d have to spend a whole lot more time around said people in order to study them some more! Luckily I’ve grown weary of all forms of <em>twatery</em> that humans have proved themselves capable of.</p>
<p>They poke, they pry, they stick their nose in and rub it around sniffing out what they can. They throw words at you which form mystical sentences a kin to <em>advice</em>, yet you never asked for any. They paint magical worlds in your head where actions no longer take shape the way they did in your memories but instead act out a new script, to you the audience in this theatre of the absurd.</p>
<p>In short, they decieve.</p>
<p>Perhaps they think over the years your distance from the motherland makes you easy to manipulate, that you can’t counter their sorcery. Little do they know that as you grow up and see them leech your parents and other less fortunate loved ones, they’ve taught you valuable lessons. Coupled with the drama of dismounting the stead, you can see the wisps of their sorcery a mile away.</p>
<p>You’ve now strategically placed spikes around you. You’ve come to enjoy the world in monochrome, maybe even started adding your own colour in places. You’ve made your own throne now of gilded moments forged in the fires of tomorrow to become shimmering memories one day. All the while you sit there and admire the dance of your spikes poking out the many translucent cages that your would-be loved ones have around them.</p>
<p>They plummet into the abyss as you sit and smile for a change.</p>
<p>My advice to whoever is reading this is, when you get the chance to have that smile make sure you savour it for you’ve earned it. Be weary of that sudden shift in the air when the horizon starts to tilt, it comes when you least expect it. We’ve built magnanimous realms in our heads with thrones and plinths for all of those who we <em>assume</em> love us, those who we <em>assume</em> are our well wishers, who we <em>assume</em> wouldn’t harm us. But this throne room of ours is mostly full of empty vessels that shatter to the tiniest prick.</p>
<p>Fill your thrones with those who truly love you, who would leave you with fond memories, and hopefully have a seatbelt on the saddle. Don’t fill it with relatives who can never relate.</p>
</description>
</item>
</channel>
</rss>