Sunday, January 12, 2025

Trik Untuk Cherry-Picking Fitur Dari Cabang Tertentu

 
Terkadang, kita butuh melakukan pindah base untuk cabang fitur. Misalnya, tadinya kita membuat fitur dari base dev tetapi kemudian diputuskan semua fitur harus dimulai dari base main. Maka mau tak mau kita harus melakukan cherry-pick atas fitur-fitur itu dari base dev dan dipindah ke base main.


Pertama, project manager atau developer harus selalu mencatat / melacak cabang-cabang dan commit-commit terkait fitur tersebut;


Kedua,  dari git log, lacak saat cabang fitur digabung (merge) dengan branch.

git log --first-parent


Saya biasanya lebih suka menyimpannya dalam bentuk file.

git --no-pager --first-parent > nama_git_log_sesuka_hati.log 


Ketiga, catat commit-commit saat merge dan catat pula merge sebelumnya.


Keempat, buat salinan direktori project untuk referensi. Karena terkadang saat cherry-picking, ada konflik di mana kita terpaksa melihat referensi perbedaan antara commit merge dengan commit sebelumnya.


Kelima, buat cabang baru dari base baru yang akan dijadikan cabang fitur.

Misalnya, untuk bikin branch baru dengan main sebagai base:

git checkout main

git checkout -b feature/new-feature



Kelima, lakukan cherry-pick

git cherry-pick -m 1 <nomor commit>

Umumnya, kita cherry-pick dari parent pertama sehingga biasanya parameter -m selalu 1.


Keenam, jika terjadi konflik, lakukan merge dengan teliti. Saya biasanya pakai tools meld ( https://meldmerge.org/ ).

git mergetool -t meld


Jika ragu, lihat referensi dari  salinan direktori yang kita buat di langkah keempat.

cd copy-project
git difftool -t meld <commit merge> <commit sebelumnya> -- <nama file>


Ketujuh, coba compile dan jalankan semua unit test untuk memastikan semua berjalan baik-baik saja.


Kedelapan, jika ada file yang kurang, lacak dari branch merge mana file tersebut ditambahkan.

Kesembilan, jika yakin, silakan commit untuk menuntaskan cherry-pick.

git commit

jika tak yakin, silakan abort

git cherry-pick --abort


Selamat mencoba.




Tuesday, December 31, 2024

Ratu Shima dan Kerajaan Kalingga Menurut Catatan Dinasti Tang

 Berikut adalah kutipan tentang Kalingga menurut Catatan Dinasti Tang ( 新唐书 Xīn táng shū). Mengenai catatan Dinasti Tang sendiri, sebenarnya ini catatan dinasti Tang yang diperbaharui di masa Song. 

Pertama-tama, berikut paragraf lengkapnya (tanpa diterjemahkan). Penerjemahan akan dilakukan baris per baris.

訶陵,亦曰社婆,曰闍婆,在南海中。東距婆利,西墮婆登,南瀕海,北真臘。木為城,雖大屋亦覆以栟櫚。象牙為床若席。出玳瑁、黃白金、犀、象,國最富。有穴自湧鹽。以柳花、椰子為酒,飲之輒醉,宿昔壞。有文字,知星歷。食無匕筋。有毒女,與接輒苦瘡,人死尸不腐。王居闍婆城。其祖吉延東遷於婆露伽斯城,旁小國二十八,莫不臣服。其官有三十二大夫,而大坐敢兄為最貴。山上有郎卑野州,王常登以望海。夏至立八尺表,景在表南二尺四寸。貞觀中,與墮和羅、墮婆登皆遣使者入貢,太宗以璽詔優答。墮和羅丐良馬,帝與之。至上元間,國人推女子為王,號「悉莫」,威令整肅,道不舉遺。大食君聞之,齎金一囊置其郊,行者輒避,如是三年。太子過,以足躪金,悉莫怒,將斬之,群臣固請。悉莫曰:「而罪實本於足,可斷趾。」群臣復為請,乃斬指以徇。大食聞而畏之,不敢加兵。大歷中,訶陵使者三至。元和八年,獻僧只奴四、五色鸚鵡、頻伽鳥等。憲宗拜內四門府左果毅。使者讓其弟,帝嘉美,並官之。訖大和,再朝貢。咸通中,遣使獻女樂。


Berikut terjemahan baris per baris. Yang ditandai tanda tanya berarti saya tak yakin terjemahannya.


訶陵,亦曰社婆,曰闍婆,在南海中。 Heling (Kalingga), juga disebut Shepo atau Chapo (Jawa), terletak di tengah-tengah Laut Selatan (Laut Cina Selatan). 東距婆利,西墮婆登,南瀕海,北真臘。 Di timurnya ada Brunei (Kalimantan). Di Barat ada Duopodeng (?). Di Selatannya laut. Di utara ada Chenla (kerajaan di Kamboja sebelum masa Khmer)

木為城,雖大屋亦覆以栟櫚。象牙為床若席。

Kotanya terbuat dari kayu, bahkan rumah-rumah besarnya pun ditumbuhi pohon palem. Gading adalah tempat tidur dan tikar

出玳瑁、黃白金、犀、象,國最富。

Negara terkaya jika menghasilkan kulit penyu, emas kuning dan putih, badak, dan gajah.

有穴自湧鹽。 

Ada goa yang mengeluarkan garam. 以柳花、椰子為酒,飲之輒醉,宿昔壞。

(mereka) menggunakan bunga willow dan kelapa sebagai arak. Meminumnya akan membuat Anda mabuk, dan berdampak buruk bagi Anda.


有文字,知星歷。

Memiliki tulisan. Mengenal bintang sebagai kalender.

食無匕筋。

Tidak makan dengan sendok tetapi tangan (?). 有毒女,與接輒苦瘡,人死尸不腐。 Wanitanya beracun, akrab dengan luka, mayatnya tak membusuk (?). 王居闍婆城。 Rajanya tinggal di kota Jawa (?). 其祖吉延東遷於婆露伽斯城,旁小國二十八,莫不臣服。

Nenek moyangnya Jiyan pindah ke timur menuju kota Polugas, selain kerajaan kecil 28, tak pernah menyerah (?).

其官有三十二大夫,而大坐敢兄為最貴。 Kerajaan ini memiliki 32 pejabat, dan yang paling penting diduduki oleh saudara raja tertua (?). 山上有郎卑野州,王常登以望海。 Di atas gunung adalah daerah untuk kaum miskin (?), raja terdahulu biasa mendaki untuk melihat laut. 夏至立八尺表,景在表南二尺四寸。

???????????? 貞觀中,與墮和羅、墮婆登皆遣使者入貢,太宗以璽詔優答。

Setia ????? di tengah, Dukhara, Dupodeng membayar upeti. Dan ibukota membalas dengan segel (?). 墮和羅丐良馬,帝與之。 Dukhara meminta kuda yang bagus, dan maharaja memberinya. 至上元間,國人推女子為王,號「悉莫」,威令整肅,道不舉遺。 Di masa Shangyuan (Kaisar Gaozong 674–676), rakyat memilih perempuan sebagai raja, bernama Ximo (Shima), yang tegas dalam membersihkan moral, sehingga tiada barang hilang di jalan. 大食君聞之,齎金一囊置其郊,行者輒避,如是三年。 

Pemimpin Dashi (Arab) mendengarnya, menaruh sekantong emas dan meletakkan di pinggir jalan. Orang-orang yang menggunakan jalan menghindari kantong tersebut hingga tiga tahun lamanya. catatan: Dashi = Arab, dari bahasa Persia Tayyi طيء.  太子過,以足躪金,悉莫怒,將斬之,群臣固請。 Pangeran lewat, kakinya menyentuh emas. Ratu Shima marah, menginginkan putranya dipenggal. Para menteri berusaha mencegahnya. 悉莫曰:「而罪實本於足,可斷趾。」群臣復為請,乃斬指以徇。 Shima bertitah: "karena kejahatan dari kaki, maka potong kakinya". Para menteri masih berusaha mencegah tetapi pangeran memotong jari kaki sebagai bentuk dukungan. 大食聞而畏之,不敢加兵。 Pemimpin Dashi (Arab) mendengar peristiwa itu dan segan. Ia tak berani mengerahkan pasukan.

大歷中,訶陵使者三至。 Pada kalender besar, datang tiga utusan dari Kalingga. 元和八年,獻僧只奴四、五色鸚鵡、頻伽鳥等。 Pada tahun ke-8 Yuanhe Kaisar Xianzong (806-820), mereka menawarkan kepada para biksu empat budak, burung beo lima warna, burung binga, dll (?). 憲宗拜內四門府左果毅。 Xianzong memberi penghorman ke dalam empat gerbang para pejabat yang lebih rendah (?) 使者讓其弟,帝嘉美,並官之。 Para utusan bertanya kepada sesamanya, kaisar berperilaku baik, dengan posisinya (?). 訖大和,再朝貢。 di akhir kunjungan yang damai, mereka memberi penghormatan lagi (?). 咸通中,遣使獻女樂。
Setelah saling mengerti, mereka menawarkan musik dan penari wanita (?).


Sumber: 
1. tentang catatan dinasti Tang. https://en.wikipedia.org/wiki/New_Book_of_Tang. Terakhir diakses tanggal 31 Desember 2024

2. arsip digital catatan dinasti Tang di CText. https://ctext.org/wiki.pl?if=gb&chapter=759911. Diakses terakhir tanggal 31 Desember 2024

Wednesday, November 06, 2024

Bagaimana Sejarawan Tiongkok Masa Lalu Menulis Nama Jawa

 

Tiba-tiba penasaran bagaimana cara sejarawan Tiongkok menulis Jawa. 
下港 Xiagang -- Banten (?)
順塔 Shunta -- Sunda (?)
闍婆 Chapo/Shepo --  Jawa 
katanya singkatan dari  闍婆婆達 Chapopoda/Shepopoda (Jawapada)
訶陵 Heling -- Kalingga 
社婆 She po -- Jawa 
爪哇 Zhaowa -- Jawa 
Keterangan, Google Translate membaca  闍 sesuai cara Mandarin "Du", jadi terpaksa intip Wiktionary cara bacanya. Yang menarik Kalau ditelusuri unsur cara baca 者, di Mandarin harusnya dibaca Zhe sementara di Hakka dibaca Cha, di Hokkien dibaca Chia. 
Sementara varian lanjut, 社, Mandarin dibaca She, Hokkien dibaca Sia, Hakka dibaca Sa.
Sumber: 
海國圖志  Haiguo Tuzhi dari abad 19.
tambahan:

Kriteria Falsifikasi (Terbuka untuk Disanggah / Refutability)

 


Catatan: artikel ini pertama kali ditulis sebagai status Facebook.

Keterbukaan untuk bisa disanggah (falsifiability/refutability) adalah salah satu syarat sains modern. Pertama kali diajukan oleh Karl Popper  pada tahun 1959 di The Logic of Scientific Discovery. Pada dasarnya, syarat sebuah hipotesis atau teori sains yang bagus adalah jika terbuka untuk disanggah.

Contoh teori yang bisa disanggah: semua angsa berwarna putih.  Penguji bisa mencari angsa yang tidak berwarna putih untuk menyanggah teori ini misalnya dengan menemukan angsa berwarna hitam.

Contoh teori yang tak bisa disanggah: ada angsa berwarna pink. Walaupun sudah menjelajahi bumi dan tak menemukan angsa berwarna pink, teori ini tidak terbuka untuk disanggah karena yang mengajukan teori dapat berkilah, "sudah mencari di planet lain yang ada kehidupan?"

Contoh teori lain yang memiliki kemampuan untuk disanggah: Gravitasi adalah interaksi tarik menarik antara dua zat yang ditentukan oleh massa -- Ya, ini teori gravitasi Newton. Penguji bisa menguji teori ini dengan mencari interaksi antara dua zat yang satu di antaranya tidak memiliki massa. Kebetulan sanggahan ini sudah diamati oleh Eddington pada tahun 1919, yang menunjukkan cahaya (zat tanpa massa) dipengaruhi oleh gravitasi.

Kadang ada orang-orang awam yang tidak paham cara menyanggah. Misalnya ada orang awam yang menunjukkan sedikit kasus seperti manusia piltdown untuk menyanggah teori evolusi. Ada juga orang awam yang menunjukkan beberapa fosil yang ternyata lebih tua. Namun hal-hal semacam itu bukan sanggahan untuk teori keseluruhan tetapi membantu mengoreksi detail. 

Jadi apa bukti yang bisa membantu untuk menyanggah teori evolusi? Jika ada fosil hewan kompleks seperti mamalia kecil seperti kelinci, yang sudah hidup ketika kehidupan seharusnya masih sangat sederhana, misalnya di zaman sebelum ledakan kambrium.  

Beberapa teori atau hipotesis sains saat ini masih belum memenuhi kriteria terbuka untuk disanggah. Salah satu yang terkenal adalah Teori Dawai (String Theory). Setiap penemuan yang berbeda akan ditanggapi dengan modifikasi teori sebelumnya. 

Apakah teologi-teologi agama memenuhi kriteria terbuka untuk disanggah? Sebagian besar teologi agama tidak memenuhi kriteria terbuka untuk disanggah. Setiap penemuan sains yang bertentangan hanya melahirkan koreksi pemahaman atas teologi agama tersebut.

Sejujurnya, saya baru menemukan satu agama yang salah satu pemeluknya berani mengajukan kriteria terbuka untuk disanggah. Ia menulis: buktikan saja bahwa reinkarnasi tidak mungkin ada maka agama saya salah. Namun kepercayaan terhadap reinkarnasi itu sendiri bukanlah teori yang terbuka untuk disanggah.

Lepas dari semua itu, kriteria terbuka untuk disanggah sebenarnya juga diperdebatkan. Apakah sebuah model tafsir atas hasil eksperimen harus dibuang hanya karena tidak memiliki kriteria terbuka untuk disanggah? 

Contoh paling mudah, seorang koki bikin resep membuat kue yang bagus. Resep ini tidak memiliki kriteria terbuka untuk disanggah karena setiap kegagalan saat menggunakan resep akan disanggah adanya faktor lain yang menyebabkan kegagalan. Apakah berarti resep tersebut tidak berguna?

Ilustrasi: angsa hitam dari artikel wikipedia tentang falsifiability. 

https://en.wikipedia.org/wiki/Falsifiability

Salah satu angsa hitam adalah Cygnus atratus dari Australia.

Tuesday, November 05, 2024

ANEKA RAGAM MEDITASI

 


Di beranda Facebook sedang ramai orang bahas meditasi karena ada ustadz yang konon ikut meditasi. Ramailah orang membahas dari perkara tasyabbuh sampai perkara apakah shalat itu meditasi.

Sebelum menyamaratakan meditasi, pahami dahulu bahwa meditasi itu ada banyak macamnya dan banyak motivasinya.

Dari segi postur tubuh, ada yang duduk, ada yang berdiri, ada yang sambil berjalan, dan bahkan ada yang dengan berbaring. 

Ada meditasi yang pakai mantra, ada yang meditasi pakai model renungan -- misal mengingat kematian, ada juga meditasi yang mengamati sensasi yang dialami. Benar, tidak semua meditasi itu pakai mantra.

Ada yang pakai alat bantu seperti manik-manik, genta, suara dengan frekuensi tertentu. Ada juga yang tidak pakai alat bantu sama sekali. 

Dari sisi motivasi pelaku, ada yang keagamaan, ada yang ingin dapat kesaktian, ada yang ingin membuat diri lebih sehat, ada yang ingin dapat pencerahan, ada yang ingin lebih kreatif, ada yang ingin menenangkan emosi, ada juga yang ingin mendisiplinkan pikiran. Bahkan ada juga yang meditasi untuk dapat  pinjaman kuliah sekaligus peluang bekerja.

Keanekaragaman praktik meditasi ini kadang juga membuat praktisi berbeda pendapat. Misalnya saya pernah menjumpai seorang praktisi meditasi dari sebuah agama di Asia berdebat dengan praktisi meditasi sekuler di Barat terkait apa yang harus dicapai oleh meditasi.


Terkait ilustrasi: Pernah ada kawan Ethiopia di Amerika yang bertanya, "Nar, do you understand what would we get when we meditate?". Saya jawab dengan bercanda, "Do you know Star Wars? Do you see the Jedi meditate? Yes, they want us to be part of Jedi temple". Ia terkejut, "Holy sh**. Like Skywalker!".

Tentu saja saya bercanda. Bagaimana lagi saya harus menjelaskan sesuatu yang sangat Asia ke orang Afrika selain lewat film. Ya, saat itu kami meditasi agar dapat pinjaman dana untuk kuliah.


Friday, August 02, 2024

Perdebatan Definisi Laki-Laki dan Perempuan dalam bidang Olahraga


 

Kalau dirangkum dalam bentuk gambar, tema perdebatan cowok vs cewek vs transgender di bidang olahraga itu seperti ini.

Pertama, gen itu tidak harus terekspresikan. Jadi ada kondisi XY yang ternyata alat reproduksinya perempuan. Sebaliknya ada kondisi kromosom XX tetapi ada gen SRY nyelip dan aktif. 

Kedua, testosteron itu ada di perempuan dan laki-laki. Umumnya, kadar testosteron pada laki-laki itu lebih tinggi karena dipicu oleh gen SRY. Namun tanpa gen SRY pun, ada kondisi-kondisi di mana perempuan punya kadar testosteron yang lebih tinggi dari wanita lain. Penyebabnya antara lain Congenital adrenal hyperplasia (CAH). 

Ketiga, bahkan hubungan antara hormon testosterone dengan kinerja olahraga masih bisa diperdebatkan. Sejauh ini, salah satu yang aktif riset adalah atletik dan korelasinya terlihat saat lari 400 m, lari rintang 400 m, lari 800 m, loncat galah, lontar martil. Di luar itu, tidak ditemukan korelasi antara kemampuan olahraga dengan testosterone.

Anda bisa melihat riwayat pengaturan di cabang olahraga atletik beserta kontroversialnya di Wikipedia.
Artikel Peraturan Tentang Testoteron Di Atletik

Ini diagram penyederhanaan. Masih banyak kondisi-kondisi yang tidak disebutkan.

Monday, July 29, 2024

The Different between Indonesian language, Betawi Language, and Jakarta Language

People who were born and grew up in Jakarta would notice that there are different between Betawi Language, Jakarta dialect, and Indonesian language. Most people would think Jakarta dialect and Betawi language are the same but they are actually different.


Before discussing the language, let's define who are Betawi and who are Jakarta people.

Betawi, an ethnic group who lived in Batavia, Netherland Indies who started defined themselves in the late of 19th century. Their culture were mixed between Chinese, Arab, Portuguese, and local. 

There are two opinion who this Betawi people are:
1. those who believed they are descendant of Malay people who have lived in Jakarta-Bogor-Bekasi-Tangerang area since 9th era. There was Kebon Kopi II inscription;

2. those who concluded that Betawi people are descendant of slaves and merchant who were either forced or invited to live in Batavia by VOC/Dutch. They were originally came from different background: Portuguese slaves, Bali slaves, Makassar warrior, Javanese slaves and warrior, Arab preacher, Chinese merchants, etc. The Dutch originally put them in separate location and yet, some people escape the Dutch control, mixed with other ethnic and eventually, they made new identity in 19th century.


Jakarta people, people who were born or grew, and lived in Jakarta after Indonesia gain independence.. Since December 1949, Jakarta became the capital of Indonesia and attracted people from different ethnic. Their children still retained their parents' original ethnic identity.


So basically:
1. Betawi language is a dialect of Malay, mixed with Chinese loan words and locals (Sunda and Javanese). There are two Betawi dialect: Betawi Kota and Betawi Pinggiran or some of them named them as Betawi A and Betawi E.

Some of Betawi words who are not part of Indonesian words:
- jingkrik - jumping like monkey jump

- ndeprok - sit on the floor

- ngentot -> entot - copulation

- ngewe -> ewe - copulation


2. Indonesian language is a constructed language based on Malay -- it was said to be based on Riau Malay. At first, the proposal retained the name 'Malay' but Tabrani from Madura ethnic argued that it should be renamed so every ethnic would accept the language. In 1928, it was agreed that all ethnic in Netherland Indies would communicate with unifying language: Indonesian language. The more detail discussion about Indonesian language was discussed in 1938, in the first Indonesian Language Congress (Kongres Baahasa Indonesia).


3. Jakarta dialect is an informal dialect of Indonesian language by Jakarta people. 

The affixes in Jakarta dialect was heavily influenced by Betawi Language:

a. nge-in  instead of me-i or me-kan .
For Example: 

- ngeluarin instead of mengeluarkan;

- ngelemparin instead of melempari or melemparkan

- ngurusin instead of mengurusi or menguruskan.

Yes, as you can see, sometimes we have ambiguity in Jakarta dialect. The word ngurusin can stem from either kurus (thin) or urus (maintain or solving).

- Saya sedang ngurusin (mengurusi) persoalannya. I am solving his problem.  

- Saya sedang ngurusin (menguruskan) badan. I am on diet.

b. prefix ke- instead of ter-.

For example:

- kepukul instead of terpukul

- kelindas instead of terlindas


Jakarta dialect also use some of Betawi words:

- gue  instead of  saya/aku - first person singular pronoun;

- lo instead of kamu - second person singular pronoun;

- cepek instead of seratus

- ceban instead of sepuluh ribu

 

However, not all of Betawi words is used in Jakarta dialect. Some of Malay or Indonesian words used by Jakarta instead of Betawi words. For example, Jakarta people prefer to say nggak or gak instead of Betawi's kagak

And since the speaker of Jakarta dialect mostly came from other ethnic, they don't use Betawi words for their family member. They would use either Indonesian words or their ethnic words for family member. For example:
- Mother:  Ibu / Bunda / Mama instead of Enyak;

- Father: Ayah / Bapak / Abah (Sunda) instead of Babeh;

- Big Sister: Kakak / Uni (Minang) / Mbak (Javanese) instead of Mpok;

- Grandfather: Kakek instead of Engkong

- Older Uncle: Pakdhe (Javanese)  instead of Encang;

- Younger Uncle: Pakle (Javanese) instead of Encing.