summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2025-06-10 02:34:33 +0700
committerShulhan <ms@kilabit.info>2025-06-11 01:11:51 +0700
commit28e58cfc5a0a698ee7cb00427d61bce9205842c3 (patch)
tree4d27bbbb86e56930653b940cfdd005b7ae4f937f
parent21f0614f46172b840de1d10fe495d4079c95119a (diff)
downloadkilabit.info-28e58cfc5a0a698ee7cb00427d61bce9205842c3.tar.xz
all: fix broken links as reported by jarink
-rw-r--r--_content/journal/2007/02/26__why_google/index.adoc6
-rw-r--r--_content/journal/2007/03/02__goodbye_old_men/index.adoc39
-rw-r--r--_content/journal/2008/05/23__anonymous_using_tor_and_privoxy/index.adoc24
-rw-r--r--_content/journal/2008/05/27__16_01__team_based_project/index.adoc29
-rw-r--r--_content/journal/2009/01/01__00_01__salt_and_pepper/index.adoc2
-rw-r--r--_content/journal/2010/07/13__life_game_connect_the_dots/index.adoc3
-rw-r--r--_content/journal/2011/01/08_a_poor_mans_feed_parser_and_viewer/index.adoc19
-rw-r--r--_content/journal/2013/01/29__ulasan_buku_snow_oleh_orhan_pamuk/index.adoc13
-rw-r--r--_content/journal/2013/07/indid_2013_interoperabilitas_dokumen_untuk_indonesia/index.adoc26
-rw-r--r--_content/journal/2014/05/Dosa_Bersama/index.adoc13
-rw-r--r--_content/journal/2015/03/Bagaimana_mengurangi_KKN_di_Indonesia/index.adoc4
-rw-r--r--_content/journal/2015/09/Bahasa_Pemrograman_Go/index.adoc20
-rw-r--r--_content/journal/2015/10/Eksplorasi_Alat_Manajemen_Konfigurasi/index.adoc13
-rw-r--r--_content/journal/2017/01/List_and_open_tmux_session_with_rofi/index.adoc12
-rw-r--r--_content/journal/2017/02/Protractor_tips_and_trick/index.adoc2
-rw-r--r--_content/journal/2017/07/Integrating_Buildbot_and_Mattermost/index.adoc39
-rw-r--r--_content/journal/2018/05/Beku__dependencies_management_should_be_simple/index.adoc48
-rw-r--r--_content/journal/2022/karajo-example-aur/index.adoc2
-rw-r--r--_content/journal/2022/things_i_dislike_from_github/index.adoc5
-rw-r--r--_content/journal/2023/research_ssh_with_2fa/index.adoc6
-rw-r--r--_content/journal/2023/using_systemd_mkosi/index.adoc13
-rw-r--r--_content/journal/2023/using_systemd_mkosi_2/index.adoc2
-rw-r--r--_content/journal/2024/karajo_sourcehut_webhook/index.adoc2
-rw-r--r--_content/journal/2025/2024_accomplishments/index.adoc8
-rw-r--r--jarink_brokenlinks_fixed.json42
25 files changed, 180 insertions, 212 deletions
diff --git a/_content/journal/2007/02/26__why_google/index.adoc b/_content/journal/2007/02/26__why_google/index.adoc
index 341148c..20a41f4 100644
--- a/_content/journal/2007/02/26__why_google/index.adoc
+++ b/_content/journal/2007/02/26__why_google/index.adoc
@@ -8,16 +8,16 @@ Why you should use Google (and its applications),
* https://www.google.com/[What You Search Is What You Get^]
* https://mail.google.com/[Gmail^], 7+ GB email storage, with less spam, and
still counting for additional free space
-* \https://pages.google.com - Google Pages, 100 MB personal pages
+* pages.google.com - Google Pages, 100 MB personal pages
(out of service, replaced with
https://sites.google.com[Google Sites^])
-* https://picasaweb.google.com - PicasaWeb, 250 MB photo album.
+* picasaweb.google.com - PicasaWeb, 250 MB photo album.
+
--
Update 2025: discontinued on
https://en.wikipedia.org/wiki/Picasa[February 2016^].
--
-* \https://pack.google.com - Google Pack.
+* pack.google.com - Google Pack.
+
--
Update 2025: discontinued since
diff --git a/_content/journal/2007/03/02__goodbye_old_men/index.adoc b/_content/journal/2007/03/02__goodbye_old_men/index.adoc
index 1a23b07..62fa20d 100644
--- a/_content/journal/2007/03/02__goodbye_old_men/index.adoc
+++ b/_content/journal/2007/03/02__goodbye_old_men/index.adoc
@@ -9,29 +9,28 @@ Today I am deleting my account 'mshulhan@yahoo.com' in Yahoo!
image::yahoo_rip.jpg[Rest in peace Yahoo]
----
- ** This is only a notification. You do NOT need to respond. **
+** This is only a notification. You do NOT need to respond. **
- This email is to confirm that your Yahoo! account, "mshulhan,"
- has been recently terminated per your request. Your account
- has been deactivated and will be deleted from our user registration
- database in approximately 90 days. This delay is necessary to
- discourage users from engaging in fraudulent activity. To satisfy
- terms agreed to in the Yahoo! Finance Terms of Service, personal
- information for users subscribed to Yahoo! Finance Premium
- Services will be kept by Yahoo! for at least 3 years after the
- subscription date.
+This email is to confirm that your Yahoo! account, "mshulhan,"
+has been recently terminated per your request. Your account
+has been deactivated and will be deleted from our user registration
+database in approximately 90 days. This delay is necessary to
+discourage users from engaging in fraudulent activity. To satisfy
+terms agreed to in the Yahoo! Finance Terms of Service, personal
+information for users subscribed to Yahoo! Finance Premium
+Services will be kept by Yahoo! for at least 3 years after the
+subscription date.
- If you did not request this action or believe you've received
- this message in error, please contact
- asia-account@yahoo-inc.com.
+If you did not request this action or believe you've received
+this message in error, please contact
+asia-account@yahoo-inc.com.
- Thank you for using Yahoo!. You can always sign up for a new
- account by clicking on any "Sign In" or "Sign Me Up" link
- appearing on the front page of most Yahoo! Services.
+Thank you for using Yahoo!. You can always sign up for a new
+account by clicking on any "Sign In" or "Sign Me Up" link
+appearing on the front page of most Yahoo! Services.
- Yahoo! Member Services
+Yahoo! Member Services
----
-And guest what ... today is
-https://www.wired.com/wired/archive/13.03/yahoo.html[March 2, where Yahoo!^]
-celebrating their success in the web.
+And guest what ... today is March 2, where
+https://web.archive.org/web/20131108045458/https://www.wired.com/wired/archive/13.03/yahoo.html[Yahoo! celebrating their success on the web^].
diff --git a/_content/journal/2008/05/23__anonymous_using_tor_and_privoxy/index.adoc b/_content/journal/2008/05/23__anonymous_using_tor_and_privoxy/index.adoc
index afd7a37..a4b165e 100644
--- a/_content/journal/2008/05/23__anonymous_using_tor_and_privoxy/index.adoc
+++ b/_content/journal/2008/05/23__anonymous_using_tor_and_privoxy/index.adoc
@@ -10,13 +10,15 @@ also allow user to tunnelling and forwarding/redirecting port.
Here is the list of packages/software that you need to install,
-* Tor [1],
-* Privoxy [2],
-* dante [3] or tsocks [4],
-* Tork (Optional, GUI for Tor) [5]
+* https://www.torproject.org[Tor^]
+* https://www.privoxy.org[Privoxy^]
+* https://www.inet.no/dante[dante] or
+ https://tsocks.sf.net[tsocks^]
+* https://tork.sourceforge.net[Tork^] (optional, GUI for Tor)
In OpenSuSE you can install it from RPM directly.
-You can search for packages in https://packages.opensuse-community.org/ [6].
+You can search for packages
+https://software.opensuse.org/packages[here^].
== Configurations
@@ -89,16 +91,4 @@ Example,
$ torify kopete
----
-== References
-[1] https://www.torproject.org/
-
-[2] https://www.privoxy.org/
-
-[3] https://www.inet.no/dante/
-
-[4] https://tsocks.sf.net/
-
-[5] https://tork.sourceforge.net/
-
-[6] https://packages.opensuse-community.org/
diff --git a/_content/journal/2008/05/27__16_01__team_based_project/index.adoc b/_content/journal/2008/05/27__16_01__team_based_project/index.adoc
index d0ef4b7..79b426f 100644
--- a/_content/journal/2008/05/27__16_01__team_based_project/index.adoc
+++ b/_content/journal/2008/05/27__16_01__team_based_project/index.adoc
@@ -4,20 +4,18 @@ ____
"I am a egocentric programmer, and right know I am writing my ego."
____
-Read these
-https://www.joelonsoftware.com/articles/fog0000000043.html[link^] [1],
+Read
+https://www.joelonsoftware.com/2007/10/26/evidence-based-scheduling/["Joel on
+Software, Evidence Based Scheduling"^],
it's more clearer than this writing.
-Working in a team, whether you are a programmer or a team leader, is need a
-lot of schedule rather than work. This is my point of view of what you
+Working in a team, whether as a programmer or a team leader, is need a
+lot of schedule rather than work. This is my point of view of what we
should do when building software in a formal team.
-For a team leader :
+For a team leader,
-* https://thisshouldbeblog.blogspot.com/2008/05/do-vs-do-not.html[Read this
- first] [2].
-
-* Make a meeting review at least once a week, except when you have a
+* Make a meeting review at least once a week, except when we have a
deadline.
** Leader and worker must communicate to gain more acceptable output.
@@ -29,7 +27,7 @@ maybe need clarification with the leader.
others programmer of course.
* Make a right schedule for your plan, milestones, and maybe schedule for
- your programmer, if they do not mind.
+ other programmer, if they do not mind.
* After meeting, set a schedule for your next plan.
* After meeting, leave your programmer, do not make any
conversation/meeting after the next meeting schedule. Some of my friends
@@ -39,7 +37,6 @@ others programmer of course.
practice;
if its not, what can you do to make a better software and helping your
programmer?
- I am asking you?
For the programmer (this will be a question based list) :
@@ -55,12 +52,4 @@ not hurt at all and make your life more easy.
* Make a test procedure and test for program.
Like
-https://en.wikipedia.org/wiki/Scrum_(development)[scrum] [3].
-
---
-
-[1] https://www.joelonsoftware.com/articles/fog0000000043.html
-
-[2] https://thisshouldbeblog.blogspot.com/2008/05/do-vs-do-not.html
-
-[3] https://en.wikipedia.org/wiki/Scrum_(development)
+https://en.wikipedia.org/wiki/Scrum_(development)[Scrum^].
diff --git a/_content/journal/2009/01/01__00_01__salt_and_pepper/index.adoc b/_content/journal/2009/01/01__00_01__salt_and_pepper/index.adoc
index 86696e6..aa08bbe 100644
--- a/_content/journal/2009/01/01__00_01__salt_and_pepper/index.adoc
+++ b/_content/journal/2009/01/01__00_01__salt_and_pepper/index.adoc
@@ -16,7 +16,7 @@ From user perspective, it easy and manageable but from security view, no.
The problem is it use one-for-all password.
Once your password is hacked, _all_ of your OpenID accounts is "open" for
attacks, not to mention any others
-https://idcorner.org/2007/08/22/the-problems-with-openid[problem].
+https://idcorner.org/the-problems-with-openid/[problems^].
Or maybe you use password like this 'ax23sd239dj1390sdm9323', every time you
want to log in to a web site you open your wallet, unfold a little white note
diff --git a/_content/journal/2010/07/13__life_game_connect_the_dots/index.adoc b/_content/journal/2010/07/13__life_game_connect_the_dots/index.adoc
index 25dbb9c..fbf4edb 100644
--- a/_content/journal/2010/07/13__life_game_connect_the_dots/index.adoc
+++ b/_content/journal/2010/07/13__life_game_connect_the_dots/index.adoc
@@ -62,8 +62,7 @@ Some back-links for furthers reading,
* https://www.youtube.com/watch?v=XDtjLSa50uk[Theory of Mind - Robery
Seyfarth]
-* https://www.randi.org/site/index.php/swift-blog/1057-what-everyone-knows.html[What
- Everyone knows]
+* http://web.archive.org/web/20130621065254/https://www.randi.org/site/index.php/swift-blog/1057-what-everyone-knows.html[What Everyone knows^]
* https://youarenotsosmart.com/2010/09/11/the-texas-sharpshooter-fallacy/[The
Texas Shartshooter Fallacy]
diff --git a/_content/journal/2011/01/08_a_poor_mans_feed_parser_and_viewer/index.adoc b/_content/journal/2011/01/08_a_poor_mans_feed_parser_and_viewer/index.adoc
index 3179caa..250ad84 100644
--- a/_content/journal/2011/01/08_a_poor_mans_feed_parser_and_viewer/index.adoc
+++ b/_content/journal/2011/01/08_a_poor_mans_feed_parser_and_viewer/index.adoc
@@ -1,7 +1,9 @@
= A Poor Man's Feed Parser and Viewer
I just add a new section in this site called 'Home - Recent Activities', as
-part of WUI [1] project, which showed my recent activities on the Internet;
+part of
+https://github.com/shuLhan/kilabit.old[WUI^]
+project, which showed my recent activities on the Internet;
a site I have been submitted (read and like) and what changes has been made to
all of my projects.
@@ -21,8 +23,10 @@ As far I as hate web development, this is the best way I can do :)
== Parsing Feed Content
-There is two feed that I need to parsing, github public feed [2] and reddit
-submission [3].
+There is two feed that I need to parsing,
+https://github.com/shuLhan.atom[github public feed^]
+and
+https://www.reddit.com/user/_shulhan/submitted/.rss[reddit submission^].
=== Parsing Atom Feed Content
@@ -368,12 +372,3 @@ function feed_init()
feed_create_output();
}
----
-
-
-== References
-
-[1] https://kilabit.info/labs/wui/index.html.
-
-[2] https://github.com/shuLhan.atom
-
-[3] https://www.reddit.com/user/rv77ax/submitted/.rss
diff --git a/_content/journal/2013/01/29__ulasan_buku_snow_oleh_orhan_pamuk/index.adoc b/_content/journal/2013/01/29__ulasan_buku_snow_oleh_orhan_pamuk/index.adoc
index 3bfbeaf..7f5069e 100644
--- a/_content/journal/2013/01/29__ulasan_buku_snow_oleh_orhan_pamuk/index.adoc
+++ b/_content/journal/2013/01/29__ulasan_buku_snow_oleh_orhan_pamuk/index.adoc
@@ -14,8 +14,11 @@ Kars selain untuk mengetahui alasan di balik kejadian tersebut dan untuk
meliput pemilihan gubernur yang akan berlangsung, juga untuk bertemu dengan
teman wanitanya.
-Walaupun realitas yang terjadi mungkin sama [1] dan berbeda [2], Orhan Pamuk
-bisa menggabungkan keduanya menjadi sebuah kontroversi.
+Walaupun realitas yang terjadi mungkin
+http://web.archive.org/web/20160724065101/https://www.nytimes.com/2006/07/12/world/europe/12iht-virgins.2184928.html[sama^]
+atau
+https://en.wikipedia.org/wiki/Headscarf_controversy_in_Turkey[berbeda^],
+Orhan Pamuk bisa menggabungkan keduanya menjadi sebuah kontroversi.
Dalam buku tersebut, pertama, anda akan dibuat penasaran dengan "kenapa mereka
bunuh diri?", kemudian tanpa disadari anda telah terjebak dalam setiap
plot-plot pembunuhan dari kelompok radikal terhadap pendukung sekularisme--dan
@@ -37,9 +40,3 @@ wanita menggunakan jilbab dan melakukan aktivitasnya di masyarakat seperti
wanita dan pria lainnya, anda akan merasakan roh dalam novel ini.
PS: Terima kasih buat Keke yang telah "meminjamkan" novel ini kepada saya.
-
---
-
-[1] https://en.wikipedia.org/wiki/Headscarf_controversy_in_Turkey
-
-[2] https://www.nytimes.com/2006/07/12/world/europe/12iht-virgins.2184928.html?_r=1&pagewanted=all&
diff --git a/_content/journal/2013/07/indid_2013_interoperabilitas_dokumen_untuk_indonesia/index.adoc b/_content/journal/2013/07/indid_2013_interoperabilitas_dokumen_untuk_indonesia/index.adoc
index 97ddd5f..581627b 100644
--- a/_content/journal/2013/07/indid_2013_interoperabilitas_dokumen_untuk_indonesia/index.adoc
+++ b/_content/journal/2013/07/indid_2013_interoperabilitas_dokumen_untuk_indonesia/index.adoc
@@ -2,9 +2,8 @@
Dua hari yang lalu, tepatnya pada tanggal 2 Juli 2013, Direktorat Keamanan
Informasi bersama dengan Asosiasi Open Source Indonesia (AOSI) mengadakan
-konferensi penerapan Permen No. 7 tahun 2013 tentang "Pedoman Penerapan
-Interoperabilitas Dokumen Perkantoran Bagi Penyelenggara Sistem Elektronik
-Untuk Pelayanan Publik". [1]
+konferensi penerapan Permen No. 7 tahun 2013 tentang
+https://jdih.komdigi.go.id/storage/files/1378691052-PM_KOMINFO_NOMOR_7_TAHUN_2013_TENTANG_PEDOMAN_PENERAPAN_INTEROPERABILITAS_DOKUMEN_PERKANTORAN.pdf["Pedoman Penerapan Interoperabilitas Dokumen Perkantoran Bagi Penyelenggara Sistem Elektronik Untuk Pelayanan Publik"].
Ini adalah sebuah langkah ke depan yang sangat bagus dari pemerintah dengan
melakukan regulasi penggunaan standar format dokumen terbuka untuk setiap
@@ -87,8 +86,11 @@ Membeli produk Office yang baru atau terpaksa membajaknya.
FDB didukung sepenuhnya oleh komunitas Free & Open-source Software.
Aplikasi-aplikasi yang mendukung pemprosesan FDB umumnya adalah
aplikasi-aplikasi gratis dan dengan sumber-terbuka, salah satu yang terkenal
-yaitu LibreOffice [2] untuk memproses dokumen-dokumen FDB dan Evince [3] untuk
-membaca dokumen PDF.
+yaitu
+https://www.libreoffice.org[LibreOffice^]
+untuk memproses dokumen-dokumen FDB dan
+https://projects.gnome.org/evince/[Evince^]
+untuk membaca dokumen PDF.
Sangat miris bila melihat sebagian pajak yang telah kita bayar ke pemerintah
digunakan untuk membayar lisensi untuk aplikasi-aplikasi yang setiap beberapa
@@ -109,7 +111,8 @@ internasional.
FDB telah menjadi standar ISO/IEC 26300:2006 semenjak November 2006.
Di tingkat internasional, NATO mengharuskan anggota-anggotanya menggunakan FDB
-sebagai standar pertukaran dokumen [4].
+sebagai
+https://nhqc3s.hq.nato.int/Apps/Architecture/NISP/[standar pertukaran dokumen^].
Beberapa negara lain yang secara resmi telah menyetujui penerapan FDB adalah
Brazil, Kroasia, Denmark, Ekuador, Hungaria, Itali, Malaysia, Rusia, Korea
Selatan, Afrika Selatan, dan Swedia.
@@ -143,14 +146,3 @@ membacanya lebih banyak di,
bahan presentasi tentang interoperabilitas dokumen.
* https://www.opendocumentformat.org (Bahasa Inggris).
-
-
-== Referensi
-
-[1] https://jdih.ristek.go.id/?q=system/files/perundangan/113572658393.pdf
-
-[2] https://www.libreoffice.org
-
-[3] https://projects.gnome.org/evince/
-
-[4] https://nhqc3s.nato.int/architecture/_docs/NISPv2/volume2/ch03s04.html
diff --git a/_content/journal/2014/05/Dosa_Bersama/index.adoc b/_content/journal/2014/05/Dosa_Bersama/index.adoc
index 7d398c2..132c204 100644
--- a/_content/journal/2014/05/Dosa_Bersama/index.adoc
+++ b/_content/journal/2014/05/Dosa_Bersama/index.adoc
@@ -14,8 +14,9 @@ Sebagai gambaran saya akan memberi contoh dua "dosa bersama" dalam agama
Saya tidak akan bahas soal rokok, karena argumentasinya hanya berputar pada
masalah kesehatan, satu sisi mengharamkan karena membahayakan kesehatan dan
satu sisi lagi menganggap makruh.
-Bagi yang melihatnya makruh, harusnya baca "10 penyebab kematian di dunia"
-dari WHO [1].
+Bagi yang melihatnya makruh, harusnya baca
+https://www.who.int/news-room/fact-sheets/detail/the-top-10-causes-of-death["10 penyebab kematian di dunia"^]
+dari WHO.
Tapi saya yakin mereka yang mengatakan makruh tahu bahwa rokok itu tidak baik
bagi kesehatan tapi mereka sudah tidak bisa berhenti lagi dan sudah menjadi
kultur dan efeknya terlalu besar untuk diharamkan.
@@ -66,7 +67,8 @@ Kedua proses besar itu bisa terjadi berulang, butuh waktu dan orang juga.
Untuk satu perangkat lunak, bisa butuh satu atau ratusan orang, tergantung
kepada besarnya sebuah perangkat lunak.
Misalnya untuk sebuah sistem operasi yang terkenal dan paling dibajak yaitu
-Windows membutuhkan sekitar 1000 orang [2].
+Windows membutuhkan sekitar
+https://www.theguardian.com/technology/blog/2008/aug/19/howmanypeoplemakewindows7[1000 orang^].
Estimasi biayanya sekitar 100 juta dolar per tahun atau 1,135 triliun rupiah.
Sekarang kita lihat dalam perspektif agama.
@@ -142,8 +144,3 @@ Hukuman yang membuat orang lain tahu bahwa membajak sebaiknya tidak dilakukan
karena merugikan ekonomi, merugikan teman kita yang musisi, yang membuat film
indie, dan yang membuat perangkat lunak.
---
-
-[1] https://www.who.int/mediacentre/factsheets/fs310/en/index2.html
-
-[2] https://www.theguardian.com/technology/blog/2008/aug/19/howmanypeoplemakewindows7
diff --git a/_content/journal/2015/03/Bagaimana_mengurangi_KKN_di_Indonesia/index.adoc b/_content/journal/2015/03/Bagaimana_mengurangi_KKN_di_Indonesia/index.adoc
index 66ccf85..9d2625d 100644
--- a/_content/journal/2015/03/Bagaimana_mengurangi_KKN_di_Indonesia/index.adoc
+++ b/_content/journal/2015/03/Bagaimana_mengurangi_KKN_di_Indonesia/index.adoc
@@ -55,5 +55,5 @@ diantaranya yaitu kualitas pendidikan dan bentuk pemerintah yang "demokrasi".
== Tautan
-* Corruption Perceptions Index 2013,
- https://www.transparency.org/cpi2013/results. Transparency International.
+* https://www.transparency.org/cpi2013/results[Corruption Perceptions Index 2013^],
+ Transparency International.
diff --git a/_content/journal/2015/09/Bahasa_Pemrograman_Go/index.adoc b/_content/journal/2015/09/Bahasa_Pemrograman_Go/index.adoc
index 44b3bbb..186f056 100644
--- a/_content/journal/2015/09/Bahasa_Pemrograman_Go/index.adoc
+++ b/_content/journal/2015/09/Bahasa_Pemrograman_Go/index.adoc
@@ -1,15 +1,15 @@
= Bahasa Pemrograman Go
Untuk mempelajari bahasa pemrograman Go, saya telah menerjemahkan Go Tour ke
-Bahasa Indonesia, silahkan lihat di sini: https://tour.golang-id.org.
+Bahasa Indonesia, silahkan lihat di sini: https://tour.golang-id.org .
== Pemasangan
Artikel ini berisi catatan mengenai instalasi bahasa pemrograman
-https://go.dev/[Go] [1].
+https://go.dev[Go^].
Go memberikan kemudahan instalasi lewat
-https://go.dev/dl/[binari] [2],
+https://go.dev/dl[binari^],
tapi untuk instalasi dari sumber membutuhkan koneksi internet yang cukup
cepat, karena semua sumber kode, dokumentasi, dan tutorial diunduh lewat git.
Pada bagian ini saya akan menjelaskan bagaimana memasang Go toolkit dari
@@ -17,7 +17,7 @@ sumber kode langsung, Go-doc untuk melihat dokumentasi secara lokal, dan
Go-tour untuk tutorial belajar bahasa Go supaya dapat dibuka di lokal tanpa
harus terhubung ke internet.
Untuk artikel lebih lengkapnya bisa dilihat di
-https://go.dev/doc/install/source[sini] [3]
+https://go.dev/doc/install/source[sini^]
dalam bahasa Inggris.
Sebelumnya pengenalan terhadap variabel lingkungan yang digunakan oleh Go.
@@ -136,7 +136,7 @@ APPDIR = /home/ms/go/godoc-app
$ godoc -http=:6060 -index -index_files="$HOME/go/godoc-app/godoc.index"
----
-* Buka peramban anda dengan URL https://127.0.0.1:6060 untuk melihat hasilnya
+* Buka peramban anda dengan URL \http://127.0.0.1:6060 untuk melihat hasilnya
=== Pemasangan Tutorial Go (gotour)
@@ -145,12 +145,4 @@ $ go get golang.org/x/tour/gotour
----
Kemudian jalankan dengan perintah gotour, maka peramban akan terbuka secara
-otomatis sama seperti dengan membuka situs https://go.dev/tour.
-
-== Referensi
-
-[1] https://go.dev/
-
-[2] https://go.dev/dl/
-
-[3] https://go.dev/doc/install/source
+otomatis sama seperti dengan membuka situs https://go.dev/tour .
diff --git a/_content/journal/2015/10/Eksplorasi_Alat_Manajemen_Konfigurasi/index.adoc b/_content/journal/2015/10/Eksplorasi_Alat_Manajemen_Konfigurasi/index.adoc
index 431d04a..ed51de2 100644
--- a/_content/journal/2015/10/Eksplorasi_Alat_Manajemen_Konfigurasi/index.adoc
+++ b/_content/journal/2015/10/Eksplorasi_Alat_Manajemen_Konfigurasi/index.adoc
@@ -110,8 +110,10 @@ Eror tersebut disebabkan karena paket `ncurses` di- `compile` menggunakan GCC
5.2 sehingga ada beberapa macro yang "dianggap" salah oleh GCC.
Saya telah melaporkan bug tersebut di halaman isu mereka, baik di repository
-omnibus-chef [1] maupun chef [2], namun sampai sekarang (2015-10-08) belum ada
-jawaban.
+omnibus-chef
+(\https://github.com/chef/omnibus-chef/issues/524 --tautan mati)
+maupun di chef (https://github.com/chef/chef/issues/4035[issue 4035]).
+Namun sampai sekarang (2015-10-08) belum ada jawaban.
== SaltStack
@@ -203,10 +205,3 @@ node, sehingga membutuhkan waktu untuk menyiapkan node.
Artikel ini tidak sampai membandingkan bagaimana menjalankan ketiga aplikasi
di atas karena tidak semuanya bisa dipasang dan bekerja sesuai dengan
kebutuhan yang saya inginkan.
-
-
-== Referensi
-
-[1] https://github.com/chef/omnibus-chef/issues/524
-
-[2] https://github.com/chef/chef/issues/4035
diff --git a/_content/journal/2017/01/List_and_open_tmux_session_with_rofi/index.adoc b/_content/journal/2017/01/List_and_open_tmux_session_with_rofi/index.adoc
index 575d210..5ae7616 100644
--- a/_content/journal/2017/01/List_and_open_tmux_session_with_rofi/index.adoc
+++ b/_content/journal/2017/01/List_and_open_tmux_session_with_rofi/index.adoc
@@ -1,6 +1,9 @@
= List and open tmux session with rofi
-This article assume that you already know about rofi [1] and tmux [2].
+This article assume that you already know about
+https://wiki.archlinux.org/title/Rofi[rofi^]
+and
+https://tmux.github.io[tmux^].
In rofi you can list ssh client using command `rofi -show ssh`, and when
selecting one of it will create new terminal and start opening ssh connection
@@ -102,10 +105,3 @@ $TERMINAL -e tmux new -c $TMUXDIR -As $SELECTED >/dev/null &
----
Thats it.
-
-
-== References
-
-[1] https://davedavenport.github.io/rofi/
-
-[2] https://tmux.github.io/
diff --git a/_content/journal/2017/02/Protractor_tips_and_trick/index.adoc b/_content/journal/2017/02/Protractor_tips_and_trick/index.adoc
index 38adf2e..4530d63 100644
--- a/_content/journal/2017/02/Protractor_tips_and_trick/index.adoc
+++ b/_content/journal/2017/02/Protractor_tips_and_trick/index.adoc
@@ -391,7 +391,7 @@ Sure, its longer, but it get the job done.
== References
-[1] https://protractortest.org/
+[1] https://www.protractortest.org
[2] https://stackoverflow.com/questions/26584451/how-to-disable-animations-in-protractor-for-angular-js-application
diff --git a/_content/journal/2017/07/Integrating_Buildbot_and_Mattermost/index.adoc b/_content/journal/2017/07/Integrating_Buildbot_and_Mattermost/index.adoc
index f16f534..2dc7943 100644
--- a/_content/journal/2017/07/Integrating_Buildbot_and_Mattermost/index.adoc
+++ b/_content/journal/2017/07/Integrating_Buildbot_and_Mattermost/index.adoc
@@ -1,9 +1,12 @@
= Integrating Buildbot and Mattermost
+:github_my_mattermost: https://github.com/shuLhan/mattermost-integration/blob/v1.1.0/buildbot
-In this journal, I would like to explain how to integrate Mattermost [1] slash
-command to build, test, and deploy project on specific repository and branch
-on Buildbot [2] worker; and report the project build status back to
-Mattermost.
+In this journal, I would like to explain how to integrate
+https://mattermost.com[Mattermost^]
+slash command to build, test, and deploy project on specific repository and
+branch on
+https://buildbot.net[Buildbot^]
+worker; and report the project build status back to Mattermost.
The integration can be illustrated with the following graph,
@@ -101,10 +104,12 @@ Remember, it must be the same `http_auth` and `http_password` values as in
=== Add Reporter and Change Hook Script
In order for Buildbot to process the `/change_hook/mattermost` and report the
-status to Mattermost, you must copy my change hook [3] into Buildbot hooks (In
-CentOS 7, it was located in
-`/usr/lib/python2.7/site-packages/buildbot/www/hooks/`) and reporter script
-[4] to build master directory.
+status to Mattermost, you must copy
+{github_my_mattermost}/mattermost.py[my change hook^]
+into Buildbot hooks (In CentOS 7, it was located in
+`/usr/lib/python2.7/site-packages/buildbot/www/hooks/`) and
+{github_my_mattermost}/mattermost_reporter.py[reporter script^]
+to build master directory.
=== Update Master Config
@@ -187,18 +192,6 @@ processed.
== That's it
-If you still confused, see the full `master.cfg` as an example that can be
-found on my repository [5].
-
-
-== References
-
-[1] https://about.mattermost.com/
-
-[2] https://buildbot.net/
-
-[3] https://github.com/shuLhan/mattermost-integration/blob/master/buildbot/mattermost.py
-
-[4] https://github.com/shuLhan/mattermost-integration/blob/master/buildbot/mattermost_reporter.py
-
-[5] https://github.com/shuLhan/mattermost-integration/blob/master/buildbot/master.cfg
+If you still confused, see the full
+{github_my_mattermost}/master.cfg[`master.cfg`^]
+as an example that can be found on my repository.
diff --git a/_content/journal/2018/05/Beku__dependencies_management_should_be_simple/index.adoc b/_content/journal/2018/05/Beku__dependencies_management_should_be_simple/index.adoc
index 74d4c72..d386146 100644
--- a/_content/journal/2018/05/Beku__dependencies_management_should_be_simple/index.adoc
+++ b/_content/journal/2018/05/Beku__dependencies_management_should_be_simple/index.adoc
@@ -1,9 +1,11 @@
= beku: dependencies management should be simple
+:gobindata_deps_sh: https://github.com/shuLhan/go-bindata/blob/7080193fbcce91b4f8bdf21bb546696e80225bf3/scripts/deps.sh
In the heat of current discussion between dep vs vgo, it would be foolish to
create another tool to manage packages in Go.
-We would not called our tool beku [1], as package manager, we see it as
-extension for "go get" and "go clean".
+We would not called our tool
+https://github.com/shuLhan/beku[beku^],
+as package manager, we see it as extension for "go get" and "go clean".
In our unique case, which will we explain more later, we use GOPATH to manage
dependencies per project.
@@ -18,9 +20,10 @@ dependencies and why we should update frequently.
new features, etc.) on new version, to prevent build and running problems.
. Let developers focus on code, not dependencies.
-Before we got "official" package management, there are many tool that provide
-the same functionality [2], due to our unique case, non of the package
-management quite satisfactory.
+Before we got "official" package management, there are
+https://github.com/golang/go/wiki/PackageManagementTools[many tools^]
+that provide the same functionality, due to our unique case, non of the
+package management quite satisfactory.
To handle above case, we manage our dependencies using shell script, is not
perfect but it's provide enough functions to update repository based on tag
and commit hash.
@@ -43,7 +46,9 @@ program), and external package, i.e. package that downloaded by user.
When we talk about package on this article, mostly we reference to the second
meaning, which is "external package".
-Semver reference to semantic versioning [3].
+Semver reference to
+https://semver.org[semantic versioning^].
+
[#problems]
== Problems
@@ -129,14 +134,16 @@ Before we wrote beku, and before we have many choices of package management,
we manage dependencies with shell script.
Since the package is just a mapping between remote URL, version and
destination directory;
-we can write the dependencies down into the following format [4],
+we can write the dependencies down into the
+
+https://github.com/shuLhan/go-bindata/blob/7080193fbcce91b4f8bdf21bb546696e80225bf3/vendor.deps[following format^],
REMOTE_URL<space>IMPORT_PATH<space>VERSION
The shell script would read each line, do a git clone, and set the HEAD to
specific version.
-The simple version of those shell script can be seen at one of our github
-repository [5].
+The simple version of those shell script can be seen at one of our
+{gobindata_deps_sh}[github repository^].
If we don't need another package, we create another file with the above
format, and create another script that consume the file to cleaned.
There is also script to check for update using combination of git-fetch-all,
@@ -148,9 +155,9 @@ version to file.
== Workflow with beku
Maintaining shell script for our unique case is not simple, one of the problem
-is editing the dependendencies manually.
+is editing the dependencies manually.
That is one of reasons, beside all the problems that we mentioned above, why
-we wrote beku [5].
+we wrote beku.
The first thing that we need to know is what package is installed in our
GOPATH?
@@ -276,20 +283,5 @@ installing, updating, and/or removing package.
[#acknowledgment]
== Acknowledgment
-Beku command syntax is inspired by pacman [6].
-
-
-[#references]
-== References
-
-[1] https://github.com/shuLhan/beku
-
-[2] https://github.com/golang/go/wiki/PackageManagementTools
-
-[3] https://semver.org/
-
-[4] https://github.com/shuLhan/go-bindata/blob/7080193fbcce91b4f8bdf21bb546696e80225bf3/vendor.deps
-
-[5] https://github.com/shuLhan/go-bindata/blob/7080193fbcce91b4f8bdf21bb546696e80225bf3/scripts/deps.sh
-
-[6] https://www.archlinux.org/pacman
+Beku command syntax is inspired by
+https://wiki.archlinux.org/title/Pacman[pacman^].
diff --git a/_content/journal/2022/karajo-example-aur/index.adoc b/_content/journal/2022/karajo-example-aur/index.adoc
index 43c1a25..419a2d4 100644
--- a/_content/journal/2022/karajo-example-aur/index.adoc
+++ b/_content/journal/2022/karajo-example-aur/index.adoc
@@ -494,7 +494,7 @@ $ sudo systemctl start karajo.service
Open the browser and point it to your $REMOTE machine IP address (or 127.0.0.1
if you setup on your local machine) at port 31937, for example
-\http://127.0.0.1:31937 .
+http://127.0.0.1:31937[http://127.0.0.1:31937].
It should show the simple page that have link "View build status".
Click on that link, you will see the current Hook and Job status.
diff --git a/_content/journal/2022/things_i_dislike_from_github/index.adoc b/_content/journal/2022/things_i_dislike_from_github/index.adoc
index 5ef4aad..41f51c9 100644
--- a/_content/journal/2022/things_i_dislike_from_github/index.adoc
+++ b/_content/journal/2022/things_i_dislike_from_github/index.adoc
@@ -175,13 +175,12 @@ Another developer create pull request and assign you as the reviewer,
image:github_reviewer.png[Github reviewer,720]
But you cannot see it in the
-https://github.com/pulls[Pull requests]
-(require login) page,
+pull requests page: \https://github.com/pulls (require login),
image:github_review_request_empty.png[Github pull review request is empty,720].
Also, open the following links in your browser:
-https://github.com/pulls?q=is%3Aopen+is%3Apr
+\https://github.com/pulls?q=is%3Aopen+is%3Apr
(require login)
You will see all of the open PR from all repositories is listed.
diff --git a/_content/journal/2023/research_ssh_with_2fa/index.adoc b/_content/journal/2023/research_ssh_with_2fa/index.adoc
index f3fe879..90f3ae7 100644
--- a/_content/journal/2023/research_ssh_with_2fa/index.adoc
+++ b/_content/journal/2023/research_ssh_with_2fa/index.adoc
@@ -798,7 +798,7 @@ this issue.
== Teleport
//{{{
-Reference: https://goteleport.com/docs
+Reference: https://goteleport.com/docs/
Teleport is
@@ -1022,7 +1022,7 @@ commands.
=== Setup agent in other VM for SSH access
//{{{
-Reference: https://goteleport.com/docs/server-access/getting-started/
+Reference: https://goteleport.com/docs/
In this section we will add new VM, "test.internal", into our Teleport
cluster.
@@ -1212,7 +1212,7 @@ I am quite surprise when seeing how this works.
The Teleport agent does not bind (listen) any port at all.
They connect to Teleport proxy and provide the reverse tunnel.
See the
-https://goteleport.com/docs/architecture/nodes/#connecting-to-nodes[documentation]
+https://goteleport.com/docs/reference/architecture/agents/[documentation^]
for more information.
//}}}
diff --git a/_content/journal/2023/using_systemd_mkosi/index.adoc b/_content/journal/2023/using_systemd_mkosi/index.adoc
index 241fbba..2aafaf0 100644
--- a/_content/journal/2023/using_systemd_mkosi/index.adoc
+++ b/_content/journal/2023/using_systemd_mkosi/index.adoc
@@ -8,7 +8,7 @@ October, 2023
:mkosi_man: https://man.archlinux.org/man/mkosi.1
:mkosi_repo: https://github.com/systemd/mkosi
:systemd_nspawn_man_1: https://man.archlinux.org/man/systemd-nspawn.1
-:systemd_nspawn_man_5: https://man.archlinux.org/man/systemd-nspawn.5.en
+:systemd_nspawn_man_5: https://man.archlinux.org/man/systemd.nspawn.5.en
This journal is part of series,
@@ -260,8 +260,7 @@ image/
Next, lets found out how to chroot into this image.
The manual page of mkosi on
-https://man.archlinux.org/man/mkosi.1#Command_Line_Verbs["Command Line
-Verbs"^],
+{mkosi_man}#Command_Line_Verbs["Command Line Verbs"^],
provides two options, one is "shell" that invokes systemd-nspawn to
acquire an interactive shell prompt in it, but must be executed as root;
and "boot" to boots the image using systemd-nspawn.
@@ -397,7 +396,7 @@ We are in!
//{{{
From the
-https://man.archlinux.org/man/mkosi.1#Execution_Flow["Execution Flow"^]
+{mkosi_man}#Execution_Flow["Execution Flow"^]
section in the mkosi
manual{empty}footnote:mkosi_man[]
at step 10,
@@ -406,7 +405,7 @@ at step 10,
Run prepare scripts on image with the final argument (mkosi.prepare)
From the
-https://man.archlinux.org/man/mkosi.1#Scripts["Scripts"^]
+{mkosi_man}#Scripts["Scripts"^]
section in the manual page, the "mkosi.prepare" script is run "after all
software packages are installed but before the image is cached (if
incremental mode is enabled)."
@@ -511,7 +510,7 @@ Now, lets make the sudo works.
//{{{
Back to the mkosi manual page, in the
-https://man.archlinux.org/man/mkosi.1#Files["Files" section^],
+{mkosi_man}#Files["Files" section^],
[quote]
____
@@ -648,7 +647,7 @@ The sshd service enabled when "Running prepare script ..." but then
removed in "Applying presets...".
Not sure why.
So, we need to run the script after presets ... which, according to
-https://man.archlinux.org/man/mkosi.1#Execution_Flow["Execution Flow"^]
+{mkosi_man}#Execution_Flow["Execution Flow"^]
it should be inside "mkosi.finalize".
----
diff --git a/_content/journal/2023/using_systemd_mkosi_2/index.adoc b/_content/journal/2023/using_systemd_mkosi_2/index.adoc
index aaf9ba4..ff38fd3 100644
--- a/_content/journal/2023/using_systemd_mkosi_2/index.adoc
+++ b/_content/journal/2023/using_systemd_mkosi_2/index.adoc
@@ -7,7 +7,7 @@ October, 2023
:mkosi_man: https://man.archlinux.org/man/mkosi.1
:mkosi_repo: https://github.com/systemd/mkosi
:systemd_nspawn_man_1: https://man.archlinux.org/man/systemd-nspawn.1
-:systemd_nspawn_man_5: https://man.archlinux.org/man/systemd-nspawn.5.en
+:systemd_nspawn_man_5: https://man.archlinux.org/man/systemd.nspawn.5.en
//{{{ PREAMBLE.
diff --git a/_content/journal/2024/karajo_sourcehut_webhook/index.adoc b/_content/journal/2024/karajo_sourcehut_webhook/index.adoc
index fc70f8c..18762cc 100644
--- a/_content/journal/2024/karajo_sourcehut_webhook/index.adoc
+++ b/_content/journal/2024/karajo_sourcehut_webhook/index.adoc
@@ -73,7 +73,7 @@ https://build.kilabit.info/karajo/api/job_exec/run/webhook_kilabit-info .
== Registering webhook on SourceHut
For reference, the official SourceHut Webhook documentation is available
-https://man.sr.ht/api-conventions.md#webhooks[here].
+https://git.sr.ht/~sircmpwn/sr.ht-docs/tree/0bbfd511d98568b0d0114963ec6a90cf733f7db4/item/api-conventions.md#webhooks[here].
First, create new personal access token in SourceHut
https://meta.sr.ht/oauth/personal-token[here].
diff --git a/_content/journal/2025/2024_accomplishments/index.adoc b/_content/journal/2025/2024_accomplishments/index.adoc
index 1a09394..48dea2c 100644
--- a/_content/journal/2025/2024_accomplishments/index.adoc
+++ b/_content/journal/2025/2024_accomplishments/index.adoc
@@ -492,9 +492,11 @@ In the Target form, user can select to send body as "text/html".
** Add git.sr.ht APIs into example
+
-The APIs is created using https://man.sr.ht/git.sr.ht/api.md as
-reference. We also needs the API to create webhook since no other way
-to create it in current sourcehut web.
+The APIs is created using
+https://git.sr.ht/~sircmpwn/sr.ht-docs/tree/0bbfd511d98568b0d0114963ec6a90cf733f7db4/item/git.sr.ht/api.md
+as reference.
+We also needs the API to create webhook since no other way to create it in
+current SourceHut web.
** Fix save on null Headers and Vars
+
diff --git a/jarink_brokenlinks_fixed.json b/jarink_brokenlinks_fixed.json
new file mode 100644
index 0000000..eae72b7
--- /dev/null
+++ b/jarink_brokenlinks_fixed.json
@@ -0,0 +1,42 @@
+{
+ "page_links": {
+ "http://kilabit.home.local/journal/2016/03/Go_language__six_line_assert_without_any_library": [
+ {
+ "link": "https://www.reddit.com/r/golang/comments/44hufh/six_line_assert_for_testing_without_any_library",
+ "error": "",
+ "code": 403
+ }
+ ],
+ "http://kilabit.home.local/journal/2017/02/Protractor_tips_and_trick": [
+ {
+ "link": "https://stackoverflow.com/questions/26584451/how-to-disable-animations-in-protractor-for-angular-js-application",
+ "error": "",
+ "code": 403
+ },
+ {
+ "link": "https://www.reddit.com/r/angularjs/comments/5urymo/protractor_tips_and_trick",
+ "error": "",
+ "code": 403
+ }
+ ],
+ "http://kilabit.home.local/journal/2022/mysql_surprise": [
+ {
+ "link": "https://serverfault.com/questions/195221/how-to-rename-a-mysql-database",
+ "error": "",
+ "code": 403
+ },
+ {
+ "link": "https://stackoverflow.com/questions/13124632/how-to-set-default-value-of-a-mysql-column-as-unix-timestamp",
+ "error": "",
+ "code": 403
+ }
+ ],
+ "http://kilabit.home.local/journal/2022/things_i_dislike_from_github": [
+ {
+ "link": "https://www.reddit.com/r/programming/comments/tionj/linus_torvalds_doesnt_do_github_pull_requests",
+ "error": "",
+ "code": 403
+ }
+ ]
+ }
+}