-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
824 lines (673 loc) · 66.5 KB
/
index.xml
File metadata and controls
824 lines (673 loc) · 66.5 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
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Anak Wannaphaschaiyong</title>
<link>https://awannaphasch2016.github.io/</link>
<description>Recent content on Anak Wannaphaschaiyong</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Thu, 03 Mar 2022 00:00:00 -0500</lastBuildDate>
<atom:link href="https://awannaphasch2016.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Install LaTeX on Ubuntu is not as simple as you think.</title>
<link>https://awannaphasch2016.github.io/posts/install-latex-on-ubuntu-is-not-as-simple-as-you-think/</link>
<pubDate>Thu, 03 Mar 2022 00:00:00 -0500</pubDate>
<guid>https://awannaphasch2016.github.io/posts/install-latex-on-ubuntu-is-not-as-simple-as-you-think/</guid>
<description>First of all, I am no expert in LaTeX. I am just a dude who has (a lot) of trouble installing LaTeX and was trying to solve it.
From this experience, I learn important lesson is always start digging from the official documentation of the target packages/libraries. This is because there are many two types of solution in general: general solution and environment specific solution.
In this case, its clearly a environment specific problem which required environemnt speicific solution.</description>
</item>
<item>
<title> A Note Of X Where X = "Debugging Org's Overwritten Variables"
</title>
<link>https://awannaphasch2016.github.io/posts/a-note-of-x-where-x-debugging-orgs-overwritten-variables/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-of-x-where-x-debugging-orgs-overwritten-variables/</guid>
<description>To debug org related bug, org-reload reloads all lisp files in ~/.emacs.d/.local/straight/repos/org/. Reloading config.el files should inform you what information has been overwritten. If you use Doom Emacs and modify either package.el or init.el, you must run doom sync in your terminal (outside of emacs), then consequently run doom/reload inside Doom Emacs for modification to correctly take effect.
It is important to note that you should always make sure to set custom-variables &mdash; variables declared by defcustom &mdash; using custom-set-variables.</description>
</item>
<item>
<title> A Note On X Where X = "adding jump state to command."
</title>
<link>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-adding-jump-state-to-command/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-adding-jump-state-to-command/</guid>
<description>&ldquo;Adding jump state to command.&rdquo; implies that position ((point)) that the added command is evaluated is added to jump state. In the other word, you can get back to (point) that you executed the command by using (better-jumper-jump-forward).
I was trying to add &ldquo;jump state&rdquo; to (+spell/previous-error) and +spell/next-error.
Note that +spell prefix means this command is provided by a Doom&rsquo;s module. From a quick glance into the code, it is clear that &mdash; just like other Doom&rsquo;s module &mdash; it implements branching condition to allow fallback behavior based on context such as current mode or available packages.</description>
</item>
<item>
<title> A Note On X Where X = "Emac's Combobulate Package"
</title>
<link>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-emacs-combobulate-package/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-emacs-combobulate-package/</guid>
<description>Lets inspect combobulate-navigate-previous by step into the function.
The following functions are called in order:
combobulate-navigate-previous combobulate--move-point-to-node responsible for display and move node. (combobulate--navigate 'previous) pass previuos to combobulate--navigate combobulate--nav-get-prev-sibling get sibling node by query its parents node and get all of its nodes. sibling nodes are arrange in order, so getting previous or next siblings nodes is easy. combobulate--nav-get-sibling-nodes outputs list of nodes seq filter check for matched node.</description>
</item>
<item>
<title> A Note on X where X = "LSP + flycheck + lsp-pyright"
</title>
<link>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-lsp-+-flycheck-+-lsp-pyright/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-lsp-+-flycheck-+-lsp-pyright/</guid>
<description>History of edit
Last edit is &lt;2022-11-28 Mon&gt;. There are 3 components to pay attention to including: conda.el, lsp-pyright, and flycheck.
First, conda.el allows user to activate conda env from within Emacs. Users can check conda.el by checking conda-env-home-directory, conda-env-current-name, and conda-env-current-path.
Second, LSP is language server a general concept outside of Emacs and python. LSP may have type checking as its feature. lsp-pyright is python language server (called &ldquo;pyright&rdquo;).</description>
</item>
<item>
<title> A Note On X Where X = "Making Evil Mode Not Awkward With Zsh Completion In Doom Emacs Vterm"
</title>
<link>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-making-evil-mode-not-awkward-with-zsh-completion-in-doom-emacs-vterm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-on-x-where-x-making-evil-mode-not-awkward-with-zsh-completion-in-doom-emacs-vterm/</guid>
<description>Set pt value to pos fix awkward completion behavior in vterm.
(defun vterm-goto-char (pos) &#34;Set point to POSITION for vterm. The return value is `t&#39;when point moved successfully. It will reset to original position if it can&#39;t move there.&#34; (when (and vterm--term (vterm-cursor-in-command-buffer-p) (vterm-cursor-in-command-buffer-p pos)) (let ((moved t) (origin-point (point)) pt cursor-pos succ) (vterm-reset-cursor-point) ;; Anak: this line cause weird behavior with auto completion (setq cursor-pos (point)) ;; (setq pt cursor-pos) ;; Anak commented out this line (setq pt pos) ;; Anak added this line and completion in vterm works better.</description>
</item>
<item>
<title> Explaining X where X is "using Extended Euclidean algorithm (EEA) to find multiplicative inverse."
</title>
<link>https://awannaphasch2016.github.io/posts/explaining-x-where-x-is-using-extended-euclidean-algorithm-eea-to-find-multiplicative-inverse/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/explaining-x-where-x-is-using-extended-euclidean-algorithm-eea-to-find-multiplicative-inverse/</guid>
<description>I always get lost in the detail when learning or working on math, and I find that new math concept introduced only a few important concepts. The rest are filling in details by connecting new and old concepts in the right order using math notation.
Think of new math concepts as tools that are reusable for tasks in which tools are specialized for.
In this series of &ldquo;Explaining X&rdquo; where X is any mathematical concept, I will try to avoid mathematical details and will try my best to capture the newly introduced concept.</description>
</item>
<item>
<title> Implementing X where X = "Custom Doom Emacs's Scratch Buffer"
</title>
<link>https://awannaphasch2016.github.io/posts/implementing-x-where-x-custom-doom-emacss-scratch-buffer/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/implementing-x-where-x-custom-doom-emacss-scratch-buffer/</guid>
<description>I was trying to implement my own scratch buffer.I learned alot about Emacs&rsquo;s way of programming. I gained a new mental debugging tool.
The main function I started to modify is doom/open-scratch-buffer. The functions deals with opening scratch buffer when current-buffer is inside and outside of a projectile&rsquo;s project.
doom/open-scratch-buffer does the following
check if scratch will open in the same buffer or as pop up buffer Then, it passes arguments to (doom-scratch-buffer &amp;optional DONT-RESTORE-P MODE DIRECTORY PROJECT-NAME).</description>
</item>
<item>
<title> Must Read before running "Doom upgrade"!!!!!!
</title>
<link>https://awannaphasch2016.github.io/posts/must-read-before-running-doom-upgrade/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/must-read-before-running-doom-upgrade/</guid>
<description>Doom discord announces important update and fixes. This is where you should take a look first before attempting to pull remote commits that are ahead of your local commits.
Doom emacs has only 1 branch. It used to have 2 main branch master and develop branch, but Henrik give up on develop branch because, I assume, its too much work to make develop branch stable before merging to master. For this reason, instead of merging develop branch to master branch.</description>
</item>
<item>
<title> Note of X where X = "I cannot set custom-variable of org-agenda using either setq or custom-set-variables"
</title>
<link>https://awannaphasch2016.github.io/posts/note-of-x-where-x-i-cannot-set-custom-variable-of-org-agenda-using-either-setq-or-custom-set-variables/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/note-of-x-where-x-i-cannot-set-custom-variable-of-org-agenda-using-either-setq-or-custom-set-variables/</guid>
<description>I couldn&rsquo;t use setq and custom-set-variables to have org-refile shows list of newly set org-agenda-files.
Started to solve, first suspect I found was when I learned about custom.el file. Custom variable set by defcustom will set custom value in custom.el. I reset all custom.el to nil to make sure that it doesn&rsquo;t set custom variables under weird condition that I am not aware of.
I reloaded Doom Emacs. Changed variables didn&rsquo;t reflect in helpful-variable, and org-agenda-files was not set to nil &mdash; value shown in custom.</description>
</item>
<item>
<title> Philosophy and Meta Physics of "Notes Taking"
</title>
<link>https://awannaphasch2016.github.io/posts/philosophy-and-meta-physics-of-notes-taking/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/philosophy-and-meta-physics-of-notes-taking/</guid>
<description>Note taking is a skill that everyone seems to think that they have &ldquo;solved&rdquo; it. Whatever that means. They are not interested in investing their time to improve their note taking skill.
No interest. No skill. No framework.
Regardless of my critique, I think they draw conclusion fairly. Why? around 6 out of 10 people are knowledge worker 1. A subset of those need to use note at all. A subset of those who use notes need to create reusable notes.</description>
</item>
<item>
<title> Writing a "Blog"
</title>
<link>https://awannaphasch2016.github.io/posts/writing-a-blog/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/writing-a-blog/</guid>
<description>Last edited [2022-06-23 Thu] Note: This blog will mostly likely ever changes as I form my preference of what I think a good blog should be.
Blog. Piece. Article. Whatever you called it doesn&rsquo;t matter. I will redefine it here. For the rest of the blog, I will use the word blog.
I define blog as followed
Blog is a collection of text with a goal&rsquo;s guided narrative.</description>
</item>
<item>
<title>A Brief Story of Evolution and Widespread Adoption of The Internet</title>
<link>https://awannaphasch2016.github.io/posts/a-brief-story-of-evolution-and-widespread-adoption-of-the-internet/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-brief-story-of-evolution-and-widespread-adoption-of-the-internet/</guid>
<description>&ldquo;Internetworking Architecture&rdquo; (Leiner et al. 2009) was a fundamental design that enable machines and computers to communicate via internet regardless of underlying communication protocol.
TCP/IP were implemented in UNIX operating system triggers a widespread adoption of internet (Leiner et al. 2009). Dispersion of protocols began in research community. Recall that predecessor of internet project (it was named &ldquo;internetworking&rdquo; at the time) was funded with the goal to increase speed and efficiency of research collaborations.</description>
</item>
<item>
<title>A Note of X where X = AWS EC2 services.</title>
<link>https://awannaphasch2016.github.io/posts/a-note-of-x-where-x-aws-ec2-services/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-of-x-where-x-aws-ec2-services/</guid>
<description>An EC2 instance has 4 state of life cycle: running, stopped, and terminated. Furthermore, state transition (or action) of an EC2 instance is launch, rebooting, pending, shutting-down, and stopping, see &lt;ec2_life_cycle&gt;.
Figure 1: EC2 instance life cycle
Validating that you have correct setup This article assumes that you have setup AWS credentials in your terminal environment. You can check out one of my article named &ldquo;Setup AWS credentials for your AWS account and create new user&rdquo; to help you set things up.</description>
</item>
<item>
<title>A Note of X where X = AWS IAM services.</title>
<link>https://awannaphasch2016.github.io/posts/a-note-of-x-where-x-aws-iam-services/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-of-x-where-x-aws-iam-services/</guid>
<description>In AWS IAM, a policy is the smallest entity of permission. There are types of policies: resources-based policy, identity-based policy, and session-based policy.
Figure 1: aws policies
Policies can be attached to the following &ldquo;identity&rdquo;: user (1 account can have more than 1 users), role, and group (a group has many user) 1. user, role, and group are called identity. In AWS identity is called IAM identity and user, role, and group are called IAM user, IAM role, and IAM user group, respectively.</description>
</item>
<item>
<title>A Note On Straight's Recipe.</title>
<link>https://awannaphasch2016.github.io/posts/a-note-on-straights-recipe/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-on-straights-recipe/</guid>
<description>Straight&rsquo;s recipe is similar but not identify to one used by MELPA. 1
A recipe describes which local repository to link the files from and how to clone that repository, if repo is not found locally. With this definition of recipe, one can think of recipe as a build step (recipe) of a package.
Ultimately, a package is defined is a collection of files required for package&rsquo;s build. striaght.el views a package in this manner.</description>
</item>
<item>
<title>A Note On Straight.el's Transaction</title>
<link>https://awannaphasch2016.github.io/posts/a-note-on-straight/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/a-note-on-straight/</guid>
<description>This article is based on staright.el README which at the moment doesn&rsquo;t have written document on how transaction works. So This is a work in progress until I either read straight.el codebase or summarize its documentation.
Conceptually, stright.el clones Git repo and them symlinking files into Emacs&rsquo;s load path. A packages in straight.el is defined as recipe as a files which was symlinked together. I have an article on recipe.</description>
</item>
<item>
<title>Assess Your Level of Understanding</title>
<link>https://awannaphasch2016.github.io/posts/assess-your-level-of-understanding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/assess-your-level-of-understanding/</guid>
<description>Ask youself the following question.
How do you know your understand something? How can you access much do you understand it? If you don&rsquo;t fully understand it yet, is there a way you can make a snapshot of things that you don&rsquo;t understand such that you can replace this snapshot whenever a better &ldquo;version&rdquo; available to you. Why ability to assess your level of understanding it important? you asked.</description>
</item>
<item>
<title>Building fundamental in Emacs: How to customize key binding in vanilla Emacs?</title>
<link>https://awannaphasch2016.github.io/posts/building-fundamental-in-emacs-how-to-customize-key-binding-in-vanilla-emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/building-fundamental-in-emacs-how-to-customize-key-binding-in-vanilla-emacs/</guid>
<description>When I first get into Emacs, I was a vim user before, so I picked up Doom Emacs without experience with vanilla Emacs. Transition has been smooth so far, but because I never has experience with Vanilla Emacs before when I encounter a bug in Doom Emacs. I always have to first figure out if it is Doom Emacs problem or Emacs problems. Because of this, I put out a new blog series to help me build a stronger foundation of Vanilla Emacs.</description>
</item>
<item>
<title>Comparison of straight.el to other Emacs package manager.</title>
<link>https://awannaphasch2016.github.io/posts/comparison-of-straight.el-to-other-emacs-package-manager/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/comparison-of-straight.el-to-other-emacs-package-manager/</guid>
<description>This article is an opinion piece on Comparison to other package managers.
Emacs package manager are split into 2 categories: package.el wrapper or not package.el wrapper.
One idea that straight.el emphasizes a lot is that straight.el manages commits rather than managing a whole a package. Some PM only accept latest commit. Other only accepts repo on github etc. I call this design decision a &ldquo;smallest unit of design implementation.&rdquo;
Other unique takes on managing Emacs packages are Borg (assimilates packages as Git submodules into .</description>
</item>
<item>
<title>Comprehensive review of snippets management tools in emacs. The best way to manage code snippets in emacs.</title>
<link>https://awannaphasch2016.github.io/posts/comprehensive-review-of-snippets-management-tools-in-emacs.-the-best-way-to-manage-code-snippets-in-emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/comprehensive-review-of-snippets-management-tools-in-emacs.-the-best-way-to-manage-code-snippets-in-emacs/</guid>
<description>Personally, I think snippets is under untilize. Same as notes. The fact is people just don&rsquo;t do neither snippets or notes.
I defined code snippet as followed
A collection of either small/large code which may store in single/multiple files that you will revisit against in the future.
Focusing on manging code snippets in emacs, few packages come to mind including: yassnipet, auto-yasnippet, yankpad, and code library.
In my workflow, to share code snippet with others, gists is needed.</description>
</item>
<item>
<title>Connection between org-roam-bibtex (orb), org-roam and org-ref.</title>
<link>https://awannaphasch2016.github.io/posts/connection-between-org-roam-bibtex-orb-org-roam-and-org-ref/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/connection-between-org-roam-bibtex-orb-org-roam-and-org-ref/</guid>
<description>Org-ref manage citation entry, referenced citation, PDF, and note just fine. But the problem arise when trying to link notes created org-ref as a node in org roam. This is the problem that orb solve to allow PDF notes to be inserted as a org roam node. To summarize, the problem that orb solve to integrate org-ref functionalities into org-roam ecosystem.
All org roam does is the following:
create name of a note file using org roam file name convention.</description>
</item>
<item>
<title>Cryptography Engineering</title>
<link>https://awannaphasch2016.github.io/posts/cryptography-engineering/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/cryptography-engineering/</guid>
<description>Blog blog Explaining X where X = Montgomery form for efficient multiprecision multiplication arithmetic. modular-arithmetic Prerequisites are the following
Residue class of modulo N is all \(a\) that satisfy \(a + kN\) where N is a constant and \(k \in \mathbb{Z}\). Montgomery multiplication is a method for performing fast modular multiplication.
The algorithm uses the Montgomery forms of \(a\) and \(b\) to efficiently compute the Montgomery form of \(ab \mod N\).</description>
</item>
<item>
<title>Dev Logs: Auto-YASnippet (aka aya) dive deep.</title>
<link>https://awannaphasch2016.github.io/posts/dev-logs-auto-yasnippet-aka-aya-dive-deep/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/dev-logs-auto-yasnippet-aka-aya-dive-deep/</guid>
<description>Dev logs is new blog series which dive deep into implementation level. The goal is to understand how things works. I figure this should be an interesting series because I always wanted to know how these program works underneath. Instead of explaining the whole code base, I will only focus on the &ldquo;magical&rdquo; part that sparked my interest the most.
Todays I present to you aya.
I started of the series with aya because, I think, it is a small package with the right portion of magic.</description>
</item>
<item>
<title>Don't pick between org roam and org brain. Use them together!!</title>
<link>https://awannaphasch2016.github.io/posts/dont-pick-between-org-roam-and-org-brain/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/dont-pick-between-org-roam-and-org-brain/</guid>
<description>ref list of dicussion about using org roam and org brain together Reddit post: org brain and org roam Org brain issue: (Idea) Org roam brain mode I personally use org roam to add notes. It is a great tools for connecting ideas and notes.
But if i am being honest, graph visualization is disspointingly useless. I am not I am not the only one.</description>
</item>
<item>
<title>Economic inside blockchain: How does supply-demand mechanism works in blockchain?</title>
<link>https://awannaphasch2016.github.io/posts/economic-inside-blockchain-how-does-supply-demand-mechanism-works-in-blockchain/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/economic-inside-blockchain-how-does-supply-demand-mechanism-works-in-blockchain/</guid>
<description>Gas and Denominations of coins Figure 1: Denominations of Ethers
In this section, we will focus on denominations of Ethers. The goal is to provide more concrete example into denomination of a coin.
If you are familiar with Etherem, we have heard Wei and GWei. These are not the only two denominators of Ethers. List of all denominators of Ether is shown in Fig. which is from Etherem yellow paper (aka.</description>
</item>
<item>
<title>Elisp Code to Find List of Top N MELPA Authors</title>
<link>https://awannaphasch2016.github.io/posts/elisp-code-to-find-list-of-top-n-melpa-authors/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/elisp-code-to-find-list-of-top-n-melpa-authors/</guid>
<description>;; https://www.reddit.com/r/emacs/comments/t9qs6h/need_help_listing_all_emacs_super_developers/ (require &#39;url) (require &#39;cl-lib) (defvar url-http-end-of-headers) (defvar smelpa-json nil &#34;Melpa recipe JSON data.&#34;) (defun smelpa-json () &#34;Return an alist of MELPA recipe metadata.&#34; (or smelpa-json (setq smelpa-json (with-current-buffer (url-retrieve-synchronously &#34;https://melpa.org/archive.json&#34;) (goto-char url-http-end-of-headers) (json-read))))) (defun smelpa-packages-by-author () &#34;Return alist of form: ((author . (package-url...))).&#34; (let (authors) (cl-loop for (_ . data) in (smelpa-json) do (when-let ((props (alist-get &#39;props data)) (url (alist-get &#39;url props)) (parsed (url-generic-parse-url url)) (filename (url-filename parsed)) (tokens (split-string filename &#34;/&#34; &#39;omit-nulls)) (author (intern (car tokens)))) (if (alist-get author authors) (push url (alist-get author authors)) (push (cons author (list url)) authors)))) authors)) (defun smelpa-most-published-authors (n) &#34;Return alist of form ((author .</description>
</item>
<item>
<title>Emacs Package Explained: How to customize key binding in evil modes?</title>
<link>https://awannaphasch2016.github.io/posts/emacs-package-explained-how-to-customize-key-binding-in-evil-modes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/emacs-package-explained-how-to-customize-key-binding-in-evil-modes/</guid>
<description>This is my summary of a more thoroughly explained evil guide, see here.
Keymap Precendence in vanilla emacs overriding-terminal-local-map for terminal-specific key bind overriding-local-map keymap char property at point keymaps for the current character. Yasnippet keymaps are in this category. emulation-mode-map-alists. Apparently, its more multi-mode keymap management. I am not sure what this means, but if i have to guess it is used in modes that have its known key precedence or other complexity that its key binding system brings.</description>
</item>
<item>
<title>Emacs's Snippet Management Packages Still Use Text-Based Management? Just Use Sqlite!</title>
<link>https://awannaphasch2016.github.io/posts/emacss-snippet-management-packages-still-use-text-based-management-just-use-sqlite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/emacss-snippet-management-packages-still-use-text-based-management-just-use-sqlite/</guid>
<description>By now, in &lt;2022-12-08 Thu&gt;, it should be conclusive that any type of contents are best organized/managed using database. Responsibilities of database includes retrieve/store data. That&rsquo;s it.
However, emacs manages data as text. Advantages of this is simplicity, but, this argument doesn&rsquo;t even work anymore. why? Emacs supports SQLite as built-in!
I like Emacs because of level of compatibility that it provides, but it frustrates me to realized that open source community is not as collaborative, as a result, Emacs slow to adopts.</description>
</item>
<item>
<title>Enable x11 display in WSL2</title>
<link>https://awannaphasch2016.github.io/posts/enable-x11-display-in-wsl2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/enable-x11-display-in-wsl2/</guid>
<description>Resources are provided in my roam research note.
I successfully connect x-apps via x11 protocol by first installing and launching xming server. Xming application provides x11-server. Then, I need to tell the wsl2 &ldquo;address and port of X11 server to connect wsl2 application to&rdquo; (my note on x11 can be seen here) X11 server is enlisted as WSL2 entrusted DNS which located in resolve.conf. (my note on resolve.conf can be seen here.</description>
</item>
<item>
<title>Error log: Error in private config: config.el, (error pdf-info-epdfinfo-program is not executable) and Dependcies conflicts while installing pdf-tools via pdf-tools-install.</title>
<link>https://awannaphasch2016.github.io/posts/dependcies-conflicts-while-installing-pdf-tools-via-pdf-tools-install/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/dependcies-conflicts-while-installing-pdf-tools-via-pdf-tools-install/</guid>
<description>Current Solution as of &lt;2022-03-02 Wed&gt;. The solution only works on doom emacs only, I found that pdf-tools must be install with init.el.
I had (package! pdf-tools) and :tools pdf. Dependencies conflict is caused by endable pdf-tools two different ways as shown.
I solved the problem by remove (package! pdf-tools) from packages.el and only keep :tools pdf.
Abit of backstory, I first encounter the problem at a very early stage of using doom emacs (first 2 weeks.</description>
</item>
<item>
<title>Evolution of Asset Transaction</title>
<link>https://awannaphasch2016.github.io/posts/evolution-of-asset-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/evolution-of-asset-transaction/</guid>
<description>Hello, guys
This essay is my interpretation of a discussion on &ldquo;NFTing the World for the General Good&rdquo; episode on Real Vision TV. The information in the essay are adapted to fit rational narrative that I have in my brain.
This is the beginning of the essay.
The four phases are categorized into the following
transaction an physical assets transaction of electron transaction of information transaction of digital assets Each phase increase efficiency of transactions which depends on three factors: object, process, and rules.</description>
</item>
<item>
<title>Freedom and Power are two sides of the same coin.</title>
<link>https://awannaphasch2016.github.io/posts/freedom-and-power-are-two-sides-of-the-same-coin/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/freedom-and-power-are-two-sides-of-the-same-coin/</guid>
<description>According to dictionary, freedom is defined as
The power or right to act, speak, or think as one wants without hindrance or restraint.
Power is defined as
The capacity or ability to direct or influence the behavior of others or the course of events.
That&rsquo;s is power is defined by abilities to restrict others&rsquo; freedom. Therefore, by definitions, an individual with more power has more freedom than others.</description>
</item>
<item>
<title>Getting source code of distributed binary package in Ubuntu</title>
<link>https://awannaphasch2016.github.io/posts/getting-source-code-of-distributed-binary-package-in-ubuntu/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/getting-source-code-of-distributed-binary-package-in-ubuntu/</guid>
<description>This stack exchange post state the following.
Debian and RPM packages don&#39;t contain source code, only the compiled result. However, you can fetch the source packages - SRPMS, or the Debian description, patch, and original tarball. That&rsquo;s it. You can only download file that are provided in url where target deb file is located. Which files will be provided? Only package maintainers can determine that. Therefore, there could be a scenario where no source codes are available for download.</description>
</item>
<item>
<title>Git Workflow For Team</title>
<link>https://awannaphasch2016.github.io/posts/git-workflow-for-team/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/git-workflow-for-team/</guid>
<description>I intend to make this blog be a work-in-progress where I will keep adding useful git workflow when working with a team.
Pull Requests To do a pull-requests, you need to do the following
fork original repo. create new local branch and checkout to the new branch. commit new changes. send pull requests from new local branch from forked repo (origin) to original repo (upstream). Alternative to the pull-request workflow I mention above, it is possible to do pull-requests by using git forge 1, adding commit to new branch 2, and then do a pull requests to the target branch in remote.</description>
</item>
<item>
<title>How to Guarantee Serialization with Two-Phase Locking (2PL) with Example</title>
<link>https://awannaphasch2016.github.io/posts/how-to-guarantee-serialization-with-two-phase-locking-2pl-with-example/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-guarantee-serialization-with-two-phase-locking-2pl-with-example/</guid>
<description>This is a summary on Chapter 21.1 Two-Phase Locking Techniques for Concurrency Control from Fundamental of Database system by Pearson 2015.
The goal of this blog is to give a concrete example on how 2PL&rsquo;s schedule is guaranteed to be serializable.
Figure 1: Figure 21.3
Figure 2: Figure 21.4
Figure &lt;Figure_21.3&gt; and figure &lt;Figure_21.4&gt; uses the same set of locks which is provided in Shared/Exclusive locks including read_lock, write_lock and unlock.</description>
</item>
<item>
<title>How to parse text with awk?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-parse-text-with-awk/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-parse-text-with-awk/</guid>
<description>ref https://stackoverflow.com/questions/6284560/how-to-split-a-variable-by-a-special-character/6284596 Awk Syntax awk &#39;(PATTERN1){...print something..} (PATTERN2){..print something..}&#39; awk &#39;PATTERN1{...print something..} PATTERN2{..print something..}&#39; for each line, if PATTERNN is matched, command in {} will be executed.
syntax `awk &lsquo;NR==1{print}&rsquo; [FILE]` `awk &lsquo;NR==1&rsquo; [FILE]` note for line 1, print whole line `awk &lsquo;NR==1{}&rsquo; [FILE]` note for line 1, {} = don&rsquo;t do anything `awk &lsquo;NR==1{print} {print}&rsquo; [FILE]` note {} without condition is the same as condition always set to True.</description>
</item>
<item>
<title>How to publish blog on Jekyll with example.</title>
<link>https://awannaphasch2016.github.io/posts/how-to-publish-blog-on-jekyll-with-example/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-publish-blog-on-jekyll-with-example/</guid>
<description>You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
Jekyll requires blog post files to be named according to the following format:
`YEAR-MONTH-DAY-title.MARKUP`
Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file.</description>
</item>
<item>
<title>how to publish hugo blog with org mode subtree?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-publish-hugo-blog-with-org-mode-subtree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-publish-hugo-blog-with-org-mode-subtree/</guid>
<description>Prerequisite of this blog assumes that you already setup hugo blog by going through hugo quick start documentation.
This blog is published via approaches presented in this blog.
Org mode subtree is just one of the bullet point (aka. header) within org mode. As the title suggested, this article publication workflow allows one to publish subsection of a content within one of org mode header as a full page article. Main advantage of this method is that user doesn&rsquo;t need to move content from the original location.</description>
</item>
<item>
<title>How to set local variable for a specific mode?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-set-local-variable-for-a-specific-mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-set-local-variable-for-a-specific-mode/</guid>
<description>This type of tutorial/question is best to present with an example. Given that I want to set compile-command variable for LaTex mode which applies to all buffer of this mode.
(defun set-compile-command-default-in-LaTeX-mode () (set (make-local-variable &#39;compile-command) ;; create local variable specific to a current buffer (format &#34;&#34; (buffer-file-name)))) (add-hook &#39;LaTeX-mode-hook &#39;set-compile-command-default-in-LaTeX-mode) </description>
</item>
<item>
<title>how to set recurring todo tasks with org mode in emacs?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-set-recurring-todo-tasks-with-org-mode-in-emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-set-recurring-todo-tasks-with-org-mode-in-emacs/</guid>
<description>First thing is to understand that behavior of a header block in org mode is dictated by properties.
I want to set repeating task to have the following functions
when I change from TODO state to DONE state, a header block will log &ldquo;state changes&rdquo; with time stamp. That is all the requirement I need for recurring tasks.
This can be done by setting the following
set :REPEAT_TO_STATE: property under the header with org-set-property set either DEADLINE (org-deadline) or SCHEDULE (org-schedule) with recurring syntax 1 , for example, adding .</description>
</item>
<item>
<title>How to set up org-roam and org-roam-bibtex as building block of emacs as your primary personal knowledge management?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-set-up-org-roam-and-org-roam-bibtex-as-building-block-of-emacs-as-your-primary-personal-knowledge-management/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-set-up-org-roam-and-org-roam-bibtex-as-building-block-of-emacs-as-your-primary-personal-knowledge-management/</guid>
<description>{{&lt; ref &ldquo;~/org/personal-knowledge-management-pkm-note.org&rdquo; &gt;}}</description>
</item>
<item>
<title>How to setup a python file to activate specific conda environment using Emacs's conda.el?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-setup-a-python-file-to-activate-specific-conda-environment-using-emacss-conda/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-setup-a-python-file-to-activate-specific-conda-environment-using-emacss-conda/</guid>
<description>I found that default setup for conda.el to be annoying and not robust. Firstly, setting (conda-env-autoactivate-mode t) will output error everytime file. Apparently, from inspecting the code, this is how it is implemented! see below.
(if conda-env-autoactivate-mode ;; already on, now switching off (advice-add &#39;switch-to-buffer :after #&#39;conda--switch-buffer-auto-activate) (advice-remove &#39;switch-to-buffer #&#39;conda--switch-buffer-auto-activate)) The error is (error &quot;No such conda environment: %s&quot; name) because input argument name has nil value when a file that is switched to don&rsquo;t have environment.</description>
</item>
<item>
<title>How to solve hanging tramps?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-solve-handing-tramp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-solve-handing-tramp/</guid>
<description>Note that information I describe here can be found at FAQ page of TRAMP user manual, see here.
From an hour of digging, I discovered that tramp is really specific in term of how it read terminal prompt (aka PS1 environment variable.). It also limited in types of terminal, specified by TERM environment variables. TERM must match tramp terminal default setting (tramp-terminal-type).
I am using zsh shell in my remote compute.</description>
</item>
<item>
<title>How to use auto yasnippet (aka aya) in your workflow?</title>
<link>https://awannaphasch2016.github.io/posts/how-to-use-auto-yasnippet-aka-aya-in-your-workflow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-use-auto-yasnippet-aka-aya-in-your-workflow/</guid>
<description>All of the content I presented below can be found at Auto-YASnippet Github repo.
Auto-Yasnippet (aka aya) provides the following interactive commands: aya-create, aya-expand, aya-persiste-snippet, and aya-open-line:
I don&rsquo;t quite understand aya-open-line yet, so I will not be explaining it here.
This snippet package support ad-hoc style of editing workflow where you can create useful snippet to be reused as you editing.
Without aya, one would have do the following</description>
</item>
<item>
<title>How to write latex using org mode? Minmum things you need to know.</title>
<link>https://awannaphasch2016.github.io/posts/how-to-write-latex-using-org-mode.-minmum-things-you-need-to-know/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/how-to-write-latex-using-org-mode.-minmum-things-you-need-to-know/</guid>
<description>What you need to know to start writing latex in org mode is to understand how org-export-dispatch include/exclude/map org mode component to latex equivalent. You can learn all about these info by reading org manual on the topic, here.
You should know a little bit about org mode header arguments and LaTeX to fully follow the blog.
In this blog, I will just present minimal info for you to start writing latex in org mode.</description>
</item>
<item>
<title>Html is a Bad Design.</title>
<link>https://awannaphasch2016.github.io/posts/html-is-a-bad-design/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/html-is-a-bad-design/</guid>
<description>Alan Kay famously critique World Wide Web (WWW) where HTML is originated. He publicly dislike HTML as followed
Things like [HTML] happens when we let physicists play with computer.
He stated that HTML is a bad markup language because people who build HTML thinks their way of representing web page is the only way. He mentioned a (older and) better alternative to HTML is to define protocol based on ordered region on a tape &mdash; back when tapes were still popular means of storage in 1950&rsquo;s.</description>
</item>
<item>
<title>Implementation of X where X = Emac's auth-source.</title>
<link>https://awannaphasch2016.github.io/posts/implementation-of-x-where-x-emacs-auth-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/implementation-of-x-where-x-emacs-auth-source/</guid>
<description>As an example, I will use api.github.com as a API endpoint.
If I use ~/.authinfo.gpg as an auth-sources file. (variable name is auth-sources), I need to add the following to the file where I need to sub value into user-username and user-password.
machine api.github.com login user-name password user-password auth-source-search is a function that retrieve password from your specify auth-sources file. You can use it as followed. This will output list of property where :secret key has your password as its value.</description>
</item>
<item>
<title>Incentives Of Owning Money.</title>
<link>https://awannaphasch2016.github.io/posts/incentives-of-owning-money/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/incentives-of-owning-money/</guid>
<description>Edit History last edit on [2022-07-30 Sat] Money is the most flexible medium of exchange. For more detail please refer to my blog named &ldquo;Money Is A Type of Token.&rdquo;
Motivation drive efforts. Effort is a seed of creation and innovation. It just happens that money provides universal motivation due to its utility which is measured by speed of conversion from itself to other assets. Money has fastest conversion rates.</description>
</item>
<item>
<title>Iteration and Recursion in Hoon.</title>
<link>https://awannaphasch2016.github.io/posts/iteration-and-recursion-in-hoon/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/iteration-and-recursion-in-hoon/</guid>
<description>Code below is a part of Exercise: A Playing Card Library 1 section in Hoon School 7. Libraries.
++ shuffle-deck |= [unshuffled=deck entropy=@] ^- deck =/ shuffled *deck =/ random ~(. og entropy) =/ remaining (lent unshuffled) |- ?: =(remaining 1) :_ shuffled (snag 0 unshuffled) =^ index random (rads:random remaining) %= $ shuffled [(snag index unshuffled) shuffled] remaining (dec remaining) unshuffled (oust [index 1] unshuffled) == Notice that random card is selected from the following 2 lines.</description>
</item>
<item>
<title>Justifying Existent Of Company.</title>
<link>https://awannaphasch2016.github.io/posts/justifying-existent-of-company/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/justifying-existent-of-company/</guid>
<description>TBD</description>
</item>
<item>
<title>Keybinding In Doom Emacs</title>
<link>https://awannaphasch2016.github.io/posts/keybinding-in-doom-emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/keybinding-in-doom-emacs/</guid>
<description>Doom Emacs has its own keybinding system. A more accurate explaination is
Doom Emacs keybinding system is a wrapper over evil mode such that it is smoothly compatible with Emacs.
If you use Evil mode without Emacs configuration framework such as Spacemacs or Doom Emacs, it is frustrating to know if your keybinding is setup properly and whether it will always work as expected in any circumstances. A common point of failure is when your keybinding is overwritten by some packages.</description>
</item>
<item>
<title>Markdown Note</title>
<link>https://awannaphasch2016.github.io/posts/markdown-note/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/markdown-note/</guid>
<description>Blog blog X implementation where X = &ldquo;markdown-preview&rdquo; in Emacs implementation markdown-preview pass HTML file to browse-url browse-url has the following algorithm
prepare argument to use with specify url check for &ldquo;url handle&rdquo; (which is prefix to url e.g. file:) expand file name according to &ldquo;url handle&rdquo; find suitable function to browse url setup environment variable for display e.g. DISPLAY and WAYLAND_DISPLAY apply function with argument </description>
</item>
<item>
<title>Money Is A Type Of Token.</title>
<link>https://awannaphasch2016.github.io/posts/money-is-a-type-of-token/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/money-is-a-type-of-token/</guid>
<description>Edit History last edit on [2022-07-30 Sat] I can refine this blog more by consolidating the current content to my notes on roam research. I don&rsquo;t have time to do this at the time of writing. In theory, there is no need for &ldquo;medium&rdquo; of exchange. Any exchange can be anything as long as seller and buyer agree upon. Therefore, one can argue that there will always exist a sequence of exchanges of agreements that satisfy any pair of sellers and buyers.</description>
</item>
<item>
<title>Most Efficient Workflow To "Lookup" Documentations On Programming Language.</title>
<link>https://awannaphasch2016.github.io/posts/most-efficient-workflow-to-lookup-documentations-on-programming-language/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/most-efficient-workflow-to-lookup-documentations-on-programming-language/</guid>
<description>The normal workflow of lookup documentation would be to search google, stack-overflow, etc. Alternatively, if you are using IDE, IDE will lookup documentation for you, for example goto-definition etc. Very convenience. What else do you need?
Although, searching online directly is not the best approach, it is everyone last line of defense. On the other hands, IDE is as good as it gets. However, the problem with IDE is that it is context specific.</description>
</item>
<item>
<title>My Citation Management Workflow.</title>
<link>https://awannaphasch2016.github.io/posts/my-citation-management-workflow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/my-citation-management-workflow/</guid>
<description>there are three categories of note taking process
organize files. write notes on a file. search files and notes (aka completion in emacs) organize notes reference to file. First two are easy to achieve. Put notes and pdf files in folders does the job. The third condition is arguably not difficult neither. One can search for a file given a file directory quickly which can be done with any of the completion packages (e.</description>
</item>
<item>
<title>Note Taking Pipeline Framework.</title>
<link>https://awannaphasch2016.github.io/posts/note-taking-pipeline-framework/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/note-taking-pipeline-framework/</guid>
<description>I propose &ldquo;Note Taking Pipeline Framework&rdquo; as my take on how I implement my &ldquo;second brain.&rdquo; I would argue with a high degree of certainty that this framework is the best in the world without degree of exaggeration.
I think of note taking as a type of data storage with a property that satisfy my note taking philosophy. I wrote about philosophy of note taking in my blog titled &ldquo;Philosophy and Meta Physics of &lsquo;Notes Taking&rsquo;&quot;.</description>
</item>
<item>
<title>Org Roam Bibtex Orb Note</title>
<link>https://awannaphasch2016.github.io/posts/org-roam-bibtex-orb-note/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/org-roam-bibtex-orb-note/</guid>
<description>Blog Connection between org roam bibtex (orb) and org ref. Org-ref manage citation entry, referenced citation, PDF, and note just fine. But the problem arise when trying to link notes created org-ref as a node in org roam. This is the problem that orb solve to allow PDF notes to be inserted as a org roam node. To summarize, the problem that orb solve to integrate org-ref functionalities into org-roam ecosystem.</description>
</item>
<item>
<title>Original OOP is fundamentally different to Modern OOP.</title>
<link>https://awannaphasch2016.github.io/posts/original-oop-is-fundamentally-different-to-modern-oop/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/original-oop-is-fundamentally-different-to-modern-oop/</guid>
<description>Modern OOP is misused and misunderstood. Modern OOP create an object to abstract over the object internal state. Originally, OOP is intended to be used to abstract objects over the most important processes that take place within environment in which objects exit. This is done by exposing interfaces that are capable of interacting with the outside world 1. In the other word, an object should be built to be resurgence, to protect itself from dynamic environment.</description>
</item>
<item>
<title>Running Docker Container With Dockerfile.</title>
<link>https://awannaphasch2016.github.io/posts/running-docker-container-with-dockerfile/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/running-docker-container-with-dockerfile/</guid>
<description>As an example, the goal is to run container that will download things hosted on the web and run some command DURING a docker launches (using ENTRYPOINT to run the command).
FROMubuntuRUN apt-get updateRUN apt-get install -y wgetRUN apt-get install -y unzipRUN apt-get install -y ffmpegRUN wget https://www.cse.fau.edu/~hari/sequences/vid-clips.zipRUN unzip vid-clips.zipENTRYPOINT [&#34;ffmpeg&#34; -i&#34; clip-crf20.mp4&#34; -c:v&#34; libx264&#34; -crf&#34; 36&#34; -c:a&#34; copy&#34; clip-out.mp4&#34;]If you are not root user when you run apt-get install [package], you must confirm yes or no to installation which requires user input.</description>
</item>
<item>
<title>Setup AWS credentials for your AWS account and create new user.</title>
<link>https://awannaphasch2016.github.io/posts/setup-aws-credentials-for-your-aws-account-and-create-new-user/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/setup-aws-credentials-for-your-aws-account-and-create-new-user/</guid>
<description>AWS credentials and configuration to your AWS account. AWS configuration file and credential file can be found at ~/.aws/config and ~/.aws/credentials.
Once that done, you can use the following to get your account information.
aws sts get-caller-identity It will not show secret key aws_access_key_id and aws_secret_access_key which you have set. It will only show information of your account including: UserId, AccountId, Arn.
AWS users Note that 1 account has 1 root and can have many IAM user.</description>
</item>
<item>
<title>Society As A Function Of Attention.</title>
<link>https://awannaphasch2016.github.io/posts/society-as-a-function-of-attention/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/society-as-a-function-of-attention/</guid>
<description>Incentive is an underlying mechanism that drive society at any scale including individual, group of individuals, and human population as a whole.
Incentive is an abstract concept. Physically, incentives are driven by money, refer to my blog titled &ldquo;Incentives of Owning Money&rdquo; for more detail. Another important concept is to accept that money is an indirect form of freedom and power, refer to my blog titled &ldquo;Blog Freedom and Power are two sides of the same coin&rdquo; for more detail.</description>
</item>
<item>
<title>Time Travelers Guide To Navigate Git Commit History.</title>
<link>https://awannaphasch2016.github.io/posts/time-travelers-guide-to-navigate-git-commit-history/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/time-travelers-guide-to-navigate-git-commit-history/</guid>
<description>One of principle I follow is
never rely on others&rsquo; people goodwill. and always expect other to be evil when it is possible.
In quote , type of evil falls into incompetent evil and irresponsible evil. Putting this principle into practice, one must understand structures that govern behavior of people given a particular pursuit of goal.
In this scenario, I refers structure as git log and a particular pursuite of goal as learning and understanding a piece of code such as open source code.</description>
</item>
<item>
<title>Useful Emacs Command And Snippets For Writing</title>
<link>https://awannaphasch2016.github.io/posts/useful-emacs-command-and-snippets-for-writing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/useful-emacs-command-and-snippets-for-writing/</guid>
<description>Scimax video on useful command related to writing can be found here.
Commands commands key doom keys custom keys descriptions capitalize-region </description>
</item>
<item>
<title>Using jq command tools to filter JSON.</title>
<link>https://awannaphasch2016.github.io/posts/using-jq-command-tools-to-filter-json/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/using-jq-command-tools-to-filter-json/</guid>
<description>This blog summarizes jq documentation&rsquo;s tutorial 1.
If you can fully understand what the following command do, you don&rsquo;t need read the rest of the blog. That&rsquo;s pretty much sum up all jq can do.
curl &#39;https://api.github.com/repos/stedolan/jq/commits?per_page=5&#39; | jq &#39;[.[] | {message: .commit.message, name: .commit.committer.name, parents: [.parents[].html_url]}]&#39; If you are still confused, read on.
There are only 4 concepts in jq shown below.
# pipelining jq &#39;.[] | {name: [.key[].childkey]} &#39; # only apply to list jq &#39;.</description>
</item>
<item>
<title>Using terminals in Doom Emacs.</title>
<link>https://awannaphasch2016.github.io/posts/using-terminals-in-doom-emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/using-terminals-in-doom-emacs/</guid>
<description>To open multiple terminal, a neat trick is to rename file buffer that terminal is opened 1.
To open file from terminal, one can just M-x find-file in the terminal buffer.
stackoverflow: More than one emacs terminal &#x21a9;&#xfe0e;
</description>
</item>
<item>
<title>Using Terraform to set up ec2 instances for data science projects.</title>
<link>https://awannaphasch2016.github.io/posts/using-terraform-to-set-up-ec2-instances-for-data-science-projects/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/using-terraform-to-set-up-ec2-instances-for-data-science-projects/</guid>
<description>Take Away you will learn how to automate ec2 setup using terraform that is suited for data science project. Tools EC2 Terraform Requirements Knowledge Requirements understand basic of how to create terraform project understand basic of how to set up ec2 instances System Requirements WSL/Ubuntu
I have only tested this in WSL install all dependencies of cuda
for list of software requirements, see https://www.</description>
</item>
<item>
<title>What Is X Where X Is Docker's Image?</title>
<link>https://awannaphasch2016.github.io/posts/what-is-x-where-x-is-dockers-image/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/what-is-x-where-x-is-dockers-image/</guid>
<description>Edit log [2022-07-25 Mon] I was following &ldquo;What&rsquo;s A Docker Image Anyway?&quot; 1, but found that its content is no longer true, there are new changes to metadata of docker image, so I write this blog to reflect the changes that I observed at the time of writing.
docker -v Docker version 20.10.17 build 100c701 I write the following Dockerfile.</description>
</item>
<item>
<title>What the f*** is wiki.c2.com? and its potential for mainstream adoption.</title>
<link>https://awannaphasch2016.github.io/posts/what-the-f-is-wiki.c2.com-and-its-potential-for-mainstream-adoption/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/what-the-f-is-wiki.c2.com-and-its-potential-for-mainstream-adoption/</guid>
<description>last edit [2022-06-26 Sun] One of my life long projects is to build an index protocol using tokenomics for thought sharing. For now, on [2022-06-26 Sun], I call it &ldquo;The Forest.&rdquo;
On [2022-06-26 Sun], I stumbled upon wiki.c2.com. I was reading about it for a couple hours, and wiki.c2.com seems to share lots of philosophy that The Forest holds. Two hours in, however, I can&rsquo;t seem to get a grip of some very basic stuff like how to read it?</description>
</item>
<item>
<title>Working with D-Bus in Linux's systemd.</title>
<link>https://awannaphasch2016.github.io/posts/working-with-d-bus-in-linuxs-systemd/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/working-with-d-bus-in-linuxs-systemd/</guid>
<description>Quoting &ldquo;D-Bus integration in Emacs&rdquo; 1, D-Bus is defined as followed
D-Bus is an inter-process communication mechanism for applications residing on the same host. The communication is based on messages. Data in the messages is carried in a structured way, it is not just a byte stream.
According to 1, name of client application is &ldquo;a series of identifiers separated by dots&rdquo;, but an application can install multiple objects under its name which are represents as path like syntax &ndash; separated by /.</description>
</item>
<item>
<title>World Wide Web Www Note</title>
<link>https://awannaphasch2016.github.io/posts/world-wide-web-www-note/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/world-wide-web-www-note/</guid>
<description>Blog blog TODOBrief Journey from Web 1 to Web 3. connect data (ARPANET) -&gt; connect website (Internet) -&gt; connect ideas (WWW) -&gt; connect people (Web2) -&gt; connect personal server (pub3 &amp; Web5)
A creation of WWW jumped start more sophisticated usage of hypermedia. In 1994, WWW&rsquo;s support for e-commerce was added to W3C standard &ndash; an open standard for WWW, 5 years after WWW was proposed for the first time and 1 year after Mosaic was launched.</description>
</item>
<item>
<title>Writing better git comment message</title>
<link>https://awannaphasch2016.github.io/posts/writing-better-git-comment-message/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/writing-better-git-comment-message/</guid>
<description>ref How to commit better with Git. Rule of thumb, from here.
Whenever I have something that works (meaning, doesn&rsquo;t break anything for anyone else) I&rsquo;ll do a check-in. I write most of my stuff test first, so that means every time I have a new test that passes, I check-in.
In practice that means a few times per hour. At least a couple of times every hour, with 5 being quite a bit.</description>
</item>
<item>
<title>X Implementation Where X = Doom Emacs's +lookup/ Command.</title>
<link>https://awannaphasch2016.github.io/posts/x-implementation-where-x-doom-emacss-+lookup-command/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/x-implementation-where-x-doom-emacss-+lookup-command/</guid>
<description>I was trying to figure out +lookup/definition that open in other window. In one of the issue, Henrik 1 mention that some lookup backend (As an example, xref is a built in backend for lookup) are asynchronous and there is no standardized mechanism to talk to them to see whether the command runs successfully 2.
lets call this new command +lookup/definition-other-window Current possible solutions are
ignore validation step to make sure that the command runs succesfully.</description>
</item>
<item>
<title>X implementation where X = executing org babel block in Doom Emacs.</title>
<link>https://awannaphasch2016.github.io/posts/x-implementation-where-x-executing-org-babel-block-in-doom-emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://awannaphasch2016.github.io/posts/x-implementation-where-x-executing-org-babel-block-in-doom-emacs/</guid>
<description>Editing History [2022-07-06 Wed] Last edit is on [2022-07-07 Thu] This article investigates what is executed when one presses enter to execute org babel source block in Doom Emacs.
Pressing enter in org-babel block will execute +org/dwim-at-point, see code below for reference. First, it checks if point is on a button. Then, it proceeds to assign evaluated output of org-element-context and org-element-type.
(+org/dwim-at-point *optional ARG) .</description>
</item>
</channel>
</rss>