waltuh

Reader

What's on the waltuh user's mind?

from Yonle

I have one funny reason that still keeps me up doing it despite being a bit lazy.

I encountered a problem that has no optional fix around it that i wanted so i had to create one to solve the damn problem in any way myself. To be frank, i moved on and had a burnout a lot, but even so, i still began to create another kind of tool for myself, and if that still interests me, i often try to maintain it.

the thing is that, open source or foss stuff is not really my first passion to begin with when the first time i managed to code stuff by myself (that was before chatgpt even existed, god lord!)

and to this day, even though it seems like that i contribute to the open source / foss spaces with my own code being published for free, i wasn't here to contribute to the environment actually. i simply made a tool, once found it usable for myself, i simply share it as both archival/preservation and for other to be able to use my thing. because i do not like it when the thing that i code wasn't being used by anyone other than myself.

i might looked like helping some project by sending PR to them to fix certain bug, I might do helping them, yes. But the initial idea is still pretty much because i use their thing, and their thing is problematic, then finally it's technically resolveable, and somehow that's the healthier position for me.

Thing is, i liked creating and then expecting people to use it.

Because i do not like making a project that had no user.

and because i want to have people use my tools, i tend to make some of my projects flexible and controllable while still being easy to use.

for example, vsink, a project of mine that does some stuff with virtual pulseaudio sink, have these options:

$ vsink -help
Usage of vsink:
  -bypass string
    	Comma-separated application names to bypass capture
  -defaultSinkMode
    	Set the virtual sink as default sink. May help with some apps, but can cause issues with volume control.
  -monitor string
    	Comma-separated application names whose recordings should use the capture sink monitor
  -noLoopback
    	Disable loopback. Any app in the virtual sink will not be played back to the main speaker (except bypassed apps)
  -onlyCapture string
    	Comma-separated application names to exclusively capture into the capture sink
  -vSinkName string
    	The name of the virtual sink (default "SystemCaptureSink")

also, go-bwhero, an image compressor/thumbnailer proxy have these options:

$ ./go-bwhero -help
2026/08/20 13:28:14 bwhero, rewritten backend.
Usage of ./go-bwhero:
  -animSizeLimit int
    	Original animation size limit in bytes (default -1)
  -imgSizeLimit int
    	Original image size limit in bytes (default -1)
  -listen string
    	Listen address (default "localhost:8080")
  -userAgent string
    	User agent that go-bwhero should use. (default "Mozilla/5.0; go-bwhero [https://github.com/Yonle/bwhero]")
  -videoSizeLimit int
    	Original video size limit in bytes (default -1)
  -vipsConcurrencyLevel int
    	libvips concurrency level to use
  -workers int
    	Amount of workers to spawn (default 8)

and the most obvious one, unlockata, a tool for doing ATA security on ATA storage drives, have these options too:

$ unlockata -help
Usage of unlockata:
  -device string
    	ATA device ("list" to list ATA devices)
  -master
    	use the ATA master password instead of the user password
  -maximum
    	use maximum security level
  -noreadpart
    	do not reread the partition table after the ATA command
  -op string
    	ATA security operation ("help" to list supported operations) (default "unlock")
  -passwd string
    	Path to 32-byte binary password file
  -serial string
    	ATA device serial number ("list" to list ATA devices)
  -verbose
    	show CDB and Payload bytes being transmitted to the ATA drive.

$ unlockata -device test -op help
Available ATA security operations:
  set              SECURITY SET PASSWORD (0xf1)
  unlock           SECURITY UNLOCK (0xf2)
  freeze           SECURITY FREEZE LOCK (0xf5)
  erase            SECURITY ERASE UNIT (0xf4)
  erase-prepare    SECURITY ERASE PREPARE (0xf3)
  disable          SECURITY DISABLE PASSWORD (0xf6)

from there you can really see which part i really tried my best to convince people to use it in the most indirect way possible.


despite all of that, i do have one very common problem though. if the tool that i create already has a perfect code that then i had no idea what to add or what to fix let alone improve, most of the times, these became pretty much a stall,

which is funnily what happened with most of my go projects. but i don't think i should worry these though given how safe go already is (compared to javascript, heh)

well. with all that being said, now you know why i'm still around and still interested experimenting random things.

but yes. the fact that i use go is deadly for everyone.

cuz i have no longer need to suffer through python, node, c, c++, c##, lua, perl, java, erlang, or even rust problems just to fight one problem

 
Read more...

from Yonle

I do not like to be forced to explain something that i'm personally not comfortable to talk about. And when that happens, I always hung up the phone immediately. That's exactly what happened to me this week.

My Mum dialed me and asked whenever the tuition has been paid. It has been a week, But it hasn't. I told her that, and then hung up immediately as i knew that she will ask me many thousands of times and then teach me how to “scold my Dad to do it immediately”.

And as i guessed, She called me back. But the moment i hear the first 3 words of the same thing, I hung up immediately, again. Several minutes after i write this, She dialed. Again. Was about to ask the same question again, Which then i hung up again. Immediately.

I did tell her several weeks ago, Or many times that i do not like to be forced to answer some of his questions. But she doesn't like that answer and then said that i'm basically the same as my Dad, and “his Big Son doesn't like her”.

So that's basically another reason on why i always hung up my phone immediately and always reconsider myself every time i was planning to go back to my hometown. Because if i did so, She will go with that same darn heavy set of lines once again. That includes when i refuse his solution. too.

Well. It's always been like that. At some other day, His instict to always corner my Dad to send her money (which is normal, basically. I can't blame her) nearly everyday 3 times a day basically led my Dad to literally block his number immediately.

He wasn't really refusing to send money to my Mum. I did send some sum of money that my Dad told me to sent to my Mom via my Uncle's Bank account (since we're in remote town), But when she heard that i'm the one that send it to her, She's very dead picky and refuse to accept the money and insisted that i should keep it for myself (while that money is actually reserved for her. Not me).

Speaking of which, The same situation that she already led into already causes me to block her 2 times for 2 straight months before. And that's me being called “dark-minded”, “disobedient”, and then the most legendary “why should you even exists if i knew you will grow like this” and finally “if i were reborn once again, I swear to myself that i do not want to have a husband and a child”.

From there, You can see why i hung up my phone on her immediately.

and there you have it.

This is basically the everyday life of mine. But whenever i accept myself to become some kind of beggar is something else.

 
Read more...

from Hiki's Lifelog

Berikut merupakan 20 hal yang membuat saya senang (setelah saya pikir-pikir):

  • Dapat makan makanan yang disuka

Entah itu kebab, nasi goreng, sushi, ramen, atau curry, makan makanan yang disuka dapat menenangkan saya.

  • Stabil secara finansial

Walau saya masih memperjuangkan hal yang satu ini, namun punya tabungan yang cukup untuk bertahan hidup (serta dapat membeli barang kapanpun dibutuhkan), serta tak punya hutang pada siapapun, membuat hati tenang.

  • Baca novel

Tinggalkan smartphone, dan bacalah novel. Buat saya, baca novel jauh lebih menarik daripada doomscrolling sosial media, karena interaksi antar tokoh di novel banyak yang menarik perhatian, bahkan dapat membuat saya merenung dan mengubah hidup saya sebaagai pembaca.

  • Keluarga

Keluarga adalah tempat saya kembali setelah lelah beraktivitas, serta selalu menemani dan support saya di kala senang dan susah.

  • Rumah

Rumah bukan hanya sekedar tembok, atap, dengan furnitur-furniturnya. Rumah adalah tempat untuk beristirahat, berkumpul bersama keluarga, dan juga tempat di mana saya bisa menjadi diri saya sendiri sepenuhnya.

  • Khusyuk dalam beribadah

Bisa khusyuk dalam beribadah, dengan mengesampingkan (atau tanpa memikirkan) hal-hal duniawi dan hanya mengingat Tuhan adalah sebuah kenikmatan.

  • Mendengarkan lagu

Dapat mendengarkan lagu atau album yang disuka, sesuai dengan suasana hati, sangatlah menyenangkan.

  • Tidur tanpa set alarm

Adalah sebuah kenikmatan tersendiri bisa tidur tanpa mengatur alarm, jadi bisa tidur selama apa pun yang diinginkan dan bangun kalau memang tubuh betul-betul sudah merasa segar.

  • Mandi dengan air hangat

Setelah melakukan banyak aktivitas, dengan mandi air hangat rasa lelah tubuh jadi berkurang dan tidur jadi lebih enak.

  • Menghabiskan waktu sendirian

Saya adalah orang yang suka dengan kesendirian, entah itu nonton ke bioskop sendiri, atau makan di restoran sendirian. Saya malah tak nyaman kalau harus pergi berkelompok.

  • Suara rintik hujan

Konteksnya di sini adalah saat saya berada di rumah, hujan yang tidak begitu deras (jadi tak perlu khawatir banjir), tanpa suara petir yang menggelegar. Mendengarkan suara hujan, apalagi ditambah dengan membaca novel sambil minum kopi hangat sangatlah nikmat.

  • Bersepeda

Sedari kecil saya senang bersepeda. Mengayuh pedal dengan kekuatan kaki sendiri, serta menikmati pemandangan sekitar sudah membuat saya senang (walau saya hanya pergi ke minimarket).

  • Menginap di resort dengan pantai yang cantik

Walaupun saya baru beberapa kali ke resort dengan pemandangan pantainya yang cantik, namun menikmati semua itu saya sangat senang sekali, bahkan saat saya kembali ke rumah sekalipun.

  • Menyeduh (dan minum) kopi

Tools saya buat kopi di rumah simpel saja: perangkat coffee drip beserta filternya (yang saya beli di Daiso), serta kopi yang saya beli di supermarket. Lalu, kopi saya minum sebelum mengawali hari. Enaknya.

  • Kamar yang bersih

Siapa yang tak senang dengan kamar yang bersih? Barang-barang tersusun rapih, debu-debu yang menempel dibersihkan, serta kabel-kabel tak lagi terlihat acak-acakan.

  • Bepergian, sendirian

Berhubungan juga dengan poin ke-10, di poin ini bepergian yang saya maksud adalah melakukan perjalanan jauh, baik di dalam negeri maupun ke luar negeri. Saya tak suka bepergian dalam grup. Bepergian sendiri jauh lebih asik buat saya, karena tak ada yang perlu mengatur-atur saya ke mana saya harus pergi.

  • Punya teman yang dapat menerima saya

Untungnya, saya punya beberapa teman yang dapat menerima saya sepenuhnya, walau saya sudah melakukan banyak hal yang menurut saya tak baik pada mereka. Dan sebagai rasa terima kasih, saya pun sebisa mungkin juga support mereka dan menerima mereka, baik itu di kala senang maupun susah.

  • Bermain gim

Entah itu main gim di laptop, maupun di NDS, bisa main gim tanpa berpikir kalau apa yang saya lakukan hanyalah buang-buang waktu adalah sebuah kenikmantan.

  • Mendengarkan radio

Hal yang membuat saya senang saat dengar radio adalah menemukan lagu terbaru dan saya langsung suka, terlebih lagi saat penyiar memberitahukan lagu yang baru saja ia putar, jadi saya bisa cari lagu tersebut (dan bahkan membelinya).

  • Berolahraga

Berolahraga di sini adalah berolahraga dengan intensitas ringan, paling tidak 15-30 menit. Awalnya memang terasa berat, tetapi sejak membuahkan hasil, seperti jarang merasa lelah saat melakukan kegiatan harian, olahraga jadi terasa menyenangkan. Saat ini, saya melakukan olahraga ringan selama lima hari seminggu, dan dua hari sisanya saya pakai untuk beristirahat.

Sekian, dan sampai jumpa di tulisan berikutnya.

#Note #100DaysToOffload #D003Y2026

 
Read more...

from Hiki's Lifelog

Minggu ini terasa biasa-biasa saja buat saya. Setelah World Cup berakhir (selamat, Spanyol!), jam tidur saya belum kembali seperti biasanya. Saya baru tertidur pukul 2 atau 3 pagi, bangun sejenak untuk solat subuh di pukul 5-6 pagi, dan baru benar-benar terbangun di pukul 13 atau 14 siang hari.

Di hari Jumat dan Sabtu, saya datang ke kelas Engineering yang sudah berjalan lebih dari tiga bulan. Sejauh ini, saya merasa tak paham apa-apa tentang apa yang sudah saya pelajari. Materi yang disampaikan terlalu advanced buat saya yang otaknya pas-pasan ini. Tak ada satupun ilmu yang nyangkut di kepala saya. Saya ragu bisa lulus dari kelas Engineering ini. Jangankan lulus, mid-test yang rencananya diadakan minggu depan pun saya ragu bisa dapat nilai memuaskan.

Saat ini, saya masih melanjutkan baca buku The City and Its Uncertain Walls Karya Haruki Murakami, buku yang saya pinjam di perpustakaan umum. Buku yang cukup tebal, sekitar 430 halaman. Di hari saya tak datang ke kelas Engineering, saya menyempatkan baca buku ini dengan pace 50 halaman per hari. Dan sampai dengan saat ini, saya telah membaca kurang lebih setengah dari isi keseluruhan buku ini.

Selain datang ke kelas serta baca buku, di minggu ini saya menonton beberapa dokumenter dari NHK yang berjudul A Century on Film, salah satu dokumenter yang saya suka dari NHK, bukan karena saya suka dengan sejarah, namun lebih karena saya ingin tahu lebih mendalam mengenai apa yang terjadi seabad yang lalu, terutama pada zaman Perang Dunia kedua, yang menurutku adalah tragedi terbesar dalam sejarah umat manusia. Dan dengan menonton dokumenter ini pula saya berharap para pemimpin dunia tak melakukan hal yang sama atau bahkan lebih parah di masa yang akan datang.

Sekian Weeknotes di minggu ke-30, tahun 2026.

Sampai jumpa di Weeknotes selanjutnya.

#Weeknotes #100DaysToOffload #D002Y2026

 
Read more...

from Hiki's Lifelog

Secara tak sengaja (melihat federated timeline di Fedi), saya menemukan seseorang berhasil menyelesaikan 100 Days To Offload challenge-nya di tahun ini, dan share pencapaiannya. Buat yang belum tahu apa 100 Days To Offload challenge, di challenge ini, seorang blogger menantang dirinya sendiri untuk menulis 100 blog post dalam kurun waktu setahun. Saya pertama kali melihat challenge ini saat saya masih menulis blog di write.as beberapa tahun yang lalu, dan baru tahu detailnya saat membaca situs ini di awal minggu ini.

Sebetulnya, challenge ini bisa dikatakan cukup mudah. Anggaplah begini: dalam satu tahun ada 52 minggu. Dengan menulis blog dua kali seminggu saja, sudah bisa menghasilkan setidaknya 104 blog post (jika konsisten dan tak malas).

Dan entah kenapa saya tertarik untuk ikut challenge ini, di tahun 2026 yang kurang dari enam bulan lagi akan berakhir. Kalau dihitung secara kasarnya, untuk menyelesaikan challenge ini di tahun ini, saya harus menulis setidaknya lima tulisan setiap minggunya.

Kemudian, saya berpikir: “Apakah saya bisa menyelesaikannya?”, atau “Apakah saya punya ide tulisan setiap harinya hingga akhir tahun?”

Lalu, saya pun kembali membaca deskripsi dari situs https://100daystooffload.com berikut:

Posts don't need to be long-form, deep, meaningful, or even that well written. If there are spelling and grammar mistakes, or even if there's no real point to the post, so what? What's important is that you're writing about the things you want to write about.

Your posts could be how-to guides, or links to another post you have found interesting. They could include your own thoughts about that post, or a response to it. It could be a simple update about what you have done that day. Tell us about your dog, your cat, your fish tank, or whatever hobbies you have. Someone will find it interesting.

Tak apa menulis pendek, tanpa makna, bahkan jelek sekalipun. Tak perlu menulis sempurna selama 100 hari berturut-turut. Yang penting: Just.Write.

Sampai saat ini, yang terpikir adalah saya akan kembali menulis Week Notes setiap minggunya di akhir pekan, serta empat post lainnya dengan tema sedapatnya saat itu juga, atau dapat di tempat lain, seperti Pinterest atau Revospring.

Melalui tulisan ini, 100 Days To Offload challenge untuk tahun 2026 buat saya pun dimulai.

Berjuang!

#Note #100DaysToOffload #D001Y2026

 
Read more...

from Hiki's Lifelog

Di awal bulan April, saya mendapatkan kabar kalau saya mendapatkan beasiswa penuh untuk sekolah spesialis. Singkat cerita, saya tak perlu mengeluarkan biaya sepersenpun selama menjalani sekolah spesialis ini hingga selesai di akhir tahun.

Lalu, di bulan April kondisi Ayah makin memburuk. Ayah hanya bisa tidur di kasur sambil menahan rasa sakit yang dialaminya. Di awal bulan Mei, Ayah kembali dirawat di rumah sakit setelah mengalami sesak napas.

Dan di tanggal 12 Mei, pagi hari, Ayah menghembuskan nafas terakhirnya.

Sebelum Ayah wafat, saya, Ibu, beserta adik saya berada di sampingnya. Ayah menghembuskan nafas terakhirnya dengan sangat tenang sekali. Saat diberitahu suster kalau bapak dinyatakan wafat, kami semua hanya bisa menangis.

Dari pertengahan Mei hingga pertengahan bulan Juni, kami semua menjalani aktivitas seperti biasanya, tanpa Ayah. Tanpa Ayah, keadaan rumah menjadi sangat sepi. Kadang kami dapat menjalani aktivitas dengan baik, dan ada kalanya kami merasa sangat berduka.

Saat saya menulis ini, saya masih merasakan duka. Mungkin duka ini tak akan sepenuhnya hilang dalam diri saya. Saya ingin terus mengenang Ayah serta kebaikan-kebaikannya selama ia hidup selama-lamanya.

Terima kasih, Ayah.

#LifeUpdate

 
Read more...

from Hiki's Lifelog

This is a list of stores in Indonesia to get postcards, organized by region and city. I also put online shops and Indonesian postcards from outside the country. Please message me if you want to recommend a store (or online shop) in your city that sell postcards, so I can add it here. Thank you!

Jabodetabek (Jakarta, Bogor, Depok, Tangerang, Bekasi)

Jakarta

  • Kinokuniya Grand Indonesia (Grand Indonesia West Mall, LG Floor, Jl. M.H. Thamrin No. 1, Jakarta 10310). ±Rp10,000-Rp20,000 each. Sell view cards and illustrated cards. Maps
  • Gramedia Bookstore. Mostly view cards. Available in some stores.
  • Sarinah Mall (Jl. M.H. Thamrin No.11, Jakarta). Reasonable price, ±Rp5,000-Rp15,000 each each.
  • Filateli Corner in Central Post Office Pasar Baru, Jakarta. ±Rp3,000 each. ✅
  • Pasaraya Department Store, Jakarta, on souvenir floor. ±Rp20,000 each, unreasonable price but some cards have real batik cloth.
  • Periplus. ±Rp10,000-Rp20,000 each. Available in some stores. ✅
  • Scoop and Scoop Ideas. Sell art cards. Available in some stores. ✅
  • Post Kantoor – Koffie . Art . Kultur (Jl. Cikini Raya No. 1, Jakarta). Sell illustrated cards. ±Rp15,000 each. Maps
  • Galeri Nasional Indonesia (National Gallery of Indonesia), Jakarta. Sell view and illustrated cards. ±Rp50,000 per set (2-3 postcards). Maps

Bandung

  • Pos Indonesia (Jl. Asia Afrika No. 49). Rp3,000 each.
  • Filateli Corner (Graha Pos Jl. Banda No. 30). Rp3,000 each.
  • Periplus (Jl. Dr.Setiabudi No. 42). Rp7,000 each, mostly tourist cards.
  • Books & Beyond (Bandung Indah Plaza 1st Floor, Jl. Merdeka No. 56). ±Rp10,000 each, mostly illustrated map cards from lestari_id.
  • Omuniuum (Jl. Ciumbuleuit No. 151B 2nd Floor). ±Rp10,000 each, usually small art cards probably from postcard box.
  • Kineruku (Jl. Hegarmanah No. 52). ±Rp12,000 each, usually art cards from various local artists.

Yogyakarta

Kantor Pos Besar Yogyakarta (Central Post Office)

  • Loket Filateli / Philatelic counter. Open: Mon-Sat 08.00-14.30. Selling official postcards from Pos Indonesia, but sometimes not available. Price: Rp3,000.
  • Koperasi Kantor Pos Yogyakarta (north entrance of the building). Touristic postcards,Batik postcards. Price: Rp5,000.
  • Some street vendors on the west of the post office are also selling postcard.

Around Malioboro

  • The Lucky Boomerang Bookshop (Sosrowijayan Wetan Gang 1). Touristic, black & white, real batik postcards. Price: Rp5,000.
  • Sari Ilmu Bookstore (opposite to Mall Malioboro). Touristic (Yogyakarta), there are some old ones. Price: Rp3,000.
  • Hamzah Batik. Touristic (Indonesia), vintage ad postcards. Price: Rp6,500.
  • Prapanca (near Museum Sonobudoyo). Touristic, black & white. Price: Rp6,000.
  • Toko Kembang Gulo.

Other Places in Yogyakarta

  • Togamas Bookstore (in Kotabaru & Jalan Affandi). Touristic, black & white, illustration postcards. Price: Rp5,000.
  • Yogyatourium Dagadu Djokdja. Historic transportation series postcards; great illustrations but on thin paper. Price: Rp10,000.
  • Museum Affandi. Affandi paintings. Price: Rp5,000.
  • Artlinx Store. Illustration postcards. Maps

Note: places and prices in Yogyakarta was updated in February 2020. For more information, you can visit this blog.

Denpasar

  • Tourist shops in Sanur, Bali.
  • Nacivet Art Photography Gallery Ubud.

Makassar

  • Street-vendors right outside the post office in Jl. Selamet Riyadi No.10 (selling view cards).
  • Bookstore at Sultan Hasanuddin International Airport (UPG). ✅

Online Shops

Local Shops

Online Printing

Indonesian Postcards from Outside the Country

Others

Unexpected Postcards

Events

  • Comic Frontier or Comifuro, typically held on Saturday and Sunday, bi-annually each year. Some local artists/illustrators sell their illustrated postcards in this event.
  • Artket or Art & Illustration Market. Held in Jakarta. Some local artists/illustrators sell their illustrated postcards in this event.
  • Kira Kira Art Market, also held in Jakarta. Some local artists/illustrators sell their illustrated postcards in this event.
  • Biggle or Biggle Creative Market, also held in Jakarta. Some local artists/illustrators sell their illustrated postcards in this event.
  • Semasa Piknik, held in Lapangan Banteng, Jakarta once a year. Some local artists/illustrators sell their illustrated postcards in this event.

Note:
NEW → Recently added (!) → This store has been inactive in the past 30 days or temporarily closed ✅ → Verified, I visited myself

Last updated: 24 June 2026

#Postcrossing #Postcards

 
Read more...

from Jim's Personal Blog

Detox social network

After I am shocked and asking help to my close friend, I decided to detox myself from using any social media, both centralised and decentralised. With exception, I keep my accounts on Peertube under MakerTube, Funkwhale under Funkwhale Italia, YouTube (with new account), and some podcast platform both for consuming good content and content creation.

I was already told people on Facebook that I am stopping to use fediverse due to the unstable behaviour behalf on myself. Until then, I just make them as “newspaper” rather than communicating with them. Sometimes, I have too much consuming the inappropiate content like what my friend Yonle told me. History stuff, geopolitics, government stuff, hot news, and more. Those have effect to my brain and affects how I am communicating with people.

Also, my friend Runa told me to do what she was doing to make detox effective. She told me to getting back to old style communication modes such as emails and IRCs (I was there, and still registered at Libera Chat), and also reducing to follow the trends. Well, it seems not complicated at theories, but for practices, I am trying hard. Well, since I have joined bunch of communities that suits with my job both as Software Developer and SysAdmin, I am getting new insight and I decide to put my times into more reasonable hobbies such as making programs and learn about developer experiences (DX).

The thing is, detoxing is quite hard at first, but this is the requirments that I should face to prevent more damages on my mental health. Also, as people with bipolar, I am really need to control my neuronic environment and manage the stress to prevent unstable behaviour breaks out. That's why I choose to detox both on centralised and decentralised, except for content distribution. I am nearly compared to Lain Iwakura from SE Lain, but worse.

During my detox time, I am just communicating with close relative and few communities that I trusted. Also, I am keep writing the post when I needed to on this instances and start over from zero for content comsumption by making new Google account and subscribe some insightful channels about vintage computers, tech stuff, and more on YouTube in new accounts. For my presence on Facebook and Instagram, I want to abandon again in my detox time.

How's my future as VTuber? Since I cannot follow their culture, I decided to be hybrid content creator and start over from zero. I want take the inspiration from my friend Faiz Intifada and do my own. Not because VTuber culture is niche, but because it won't fit in my behave.

So, I'll start over my life from zero again and if you want to communicate with me, just email me or find me in communities such as IMPHNEN, The openSUSE Project, Cursor Bandung Community, and GNU/Weeb. I am there and open for you to communicate.

 
Read more...

from Jim's Personal Blog

KVM logo

As a person with sysadmin skills, sometimes I need to test the program that I made without thinking about looking for another computer hardware (unless for ARM, that I need hardware for testing), and I have been familiar with VMware for nearly 2 years, and somehow VMware isn't fit for me because it's really obese, and sometimes it cannot interoperate like what VirtIOFS does. I don't want to run a Docker-based container because it wastes my storage, and I don't necessarily need it for now. After a few months trying QEMU/KVM, I guess we finally have a virtualised environment that we can tweak whatever we want without the limitations that VMware and VirtualBox didn't offer.

Basically, when I want to run the subsystem that could integrate like what WSL2 did, I am trying to learn how to utilise the KVM by reading some docs that exist so much on the Internet, even on openSUSE Docs regarding KVM, I would give an try for this one, since I want to be less dependent on VMware, and it's amazing. They did have running under libvirtd with some other components that were required for running the VMs. The performance I faced when running is really great since the module is built into the Linux kernel.

For management, I am using virt-manager, which is a program made by Red Hat for managing virtual machines. Since QEMU is a free and open source emulation program, and they require you to understand the commands and have comfort using the terminal, I guess these management tools like virt-manager really help. KVM only accelerate the architecture that you're using on your computer. If you have x86_64, then it only accelerates on Intel/AMD's 64-bit architecture. But if you're on ARM64 or aarch64, it could be the same as what Intel/AMD's 64-bit does. I even think of running the first Intel-based Mac OS X using QEMU/KVM if I could.

Well, I guess this is just the beginning of using QEMU/KVM in my daily computing. Should you use QEMU/KVM? If you want to learn and use it on your Linux computer for your daily work, then you should try it. For beginners? If you want, take it.

 
Read more...

from Jim's Personal Blog

Setiap orang terkadang mengalami rasa sakit yang dialami saat menggunakan sosial media umum ataupun fediverse, khususnya ketika mereka sedang tertekan atau terlalu lama melihat postingan orang lain yang dirasa tidak relevan dan menjijikan bagi yang melihat, disanalah muncul rasa sakit yang terpicu dari siklus stress yang dialami. Muncul rasa sakit hati yang benar-benar sakit (sakit ulu hati), sakit kepala karena kompleks nya kinerja otak ketika menangkap informasi yang sekiranya menjatuhkan, sakit perut dan diare dari dehidrasi ketika melihat sesuatu yang bukan ingin dilihat terlalu lama, dan masih banyak lagi.

Itulah psikosomatik. Aku bukan dokter, tetapi aku penyintas. Dengan kondisi disabilitas yang aku miliki, psikosomatik dari efek samping jaringan sosial memang membuat aku menjadi mudah sakit-sakit dan sering ke Puskesmas. Di sisi lain, aku memang memiliki ADHD dan impulsif, yang dimana itu penyakit lama sejak lahir. Dari sejak kecil, psikosomatik ini sudah lama ada sejak mulai berkembang dan sering menerima trauma dari orang tua karena kinerja otak aku yang lamban dan terkadang liar.

Berbeda dengan anak lain yang menikmati masa kecil dengan bermain di luar, aku lebih sering berada di rumah dan diberikan handphone untuk bermain, Disaat itu aku mulai mengenal benda elektronik. Rasa ingin tahu aku terhadap benda elektronik masih muncul hingga sekarang, bahkan pernah sampai merusak karena rasa ingin tahu yang ada di pribadi aku waktu masih balita.

Masa balita aku yakni masa emas karena pertama kali mengakses dunia internet yang belum banyak dikunjungi orang-orang saat itu, dan aku juga memiliki minat untuk bermain dengan komputer saat itu. Ini masa yang masih jauh dari jaringan sosial seperti Facebook atau Kaskus yang populer saat itu. Masa awal memiliki psikosomatik dimulai ketika aku dididik orang tua secara kasar, bahkan hingga melarang untuk mendekati minat yang justru merusak tujuan mereka mendidik aku, tetapi sejak mereka sudah tau jika aku bukan anak biasa, orang tua aku terkadang mengizinkan untuk bermain dengan hal tersebut.

Masa aku mengenal sosial media atau jaringan sosial ini yakni 2013, ketika semua masih baru masuk, aku saat itu baru mengenal dan belum bermain banyak. 2015 merupakan tahun pertama aku bermain jaringan sosial, dan saat itu masa awal aku mempelajari dunia luar. Waktu itulah yang berawal aku memulai halusinasi yang terkadang membuat misinformasi atau hal aneh lain. Internet saat itu sudah mulai ramai dan aku pun tersesat saat itu.

Halusinasi ini masih ada dan menghantui hingga sekarang, ketika aku membuat asumsi liar atau misinformasi, itu di trigger dari halusinasi yang sudah ada sejak masa lalu. Kurang lebih sudah 11 tahun memiliki hal ini. Aku jadi ingat ketika 4 tahun lalu ketika mengalami psikosomatik hebat dari terkena drama yang menyakitkan bagi aku dan aku saat itu memutuskan menjadi anonim. Saat aku mengenali fediverse, aku rasa aku menemukan dunia yang asing dan terasa sepi saat awal, tetapi sejak mendalaminya, masalah halusinasi tersebut masih ada. Banyak yang bilang jika itu merupakan perilaku yang disadarkan, padahal bagi aku yang lumpuh secara sosial bukan seperti itu, melainkan dari halusinasi yang tidak terkontrol.

Disana pun aku mengalami sakit kepala hebat dan sempai diperiksa di RSUD Welas Asih, tetapi hasil MRI dari otak aku tidak menampilkan kecacatan yang aneh di otak. Berarti aku mengalami disabilitas mental, bukan fisik. Disanalah aku merasa aku harus mengurangi frekuensi. Aku sempat berkutik mengenai kehadiran seseorang dan selalu memaksa, itu berasal dari halusinasi aku yang tidak terkontrol dan aku pun meminta maaf dan ia ingin aku menjadi orang yang lebih baik. Aku tidak bilang kalau aku disabilitas, demi menghindari drama.

Apa ada solusi untuk hal ini? Aku tidak tahu.

 
Read more...

from Yonle

sepucuk pendapat pribadi: siswa, dan sekolah

jika kamu pikir-pikir, keadaan siswa-siswi Indonesia yang kebanyakan tidak dapat menyerap banyak ilmu maupun pengetahuan dari sekolahnya cenderung akan lebih tolol lagi jika pemblokiran wikipedia benar-benar terjadi. kamu lihat:

kurikulum yang tidak jelas, tidak realistis

saat aku pegang kedua buku yang berbeda, satu dari berbasis kurikulum 2013, dan satunya dari kurikulum merdeka, perbedaannya sangat menonjol:

dalam buku kurikulum k13 tersebut, penjelasan materi cenderung lebih luas daripada sebuah tugas per bab. Setiap tugas yang diberikan di dalam buku itu mereferensikan dengan apa yang sudah dijabarkan kepada siswa, Mau itu telah dijelaskan oleh guru maupun tidak, semua jawaban dan pengetahuan dapat didapatkan dari satu buku ini secara otodidak oleh siswa.

perhatikan lampiran 2 halaman ini, lalu simpulkan sendiri: gambar gambar

sedangkan pada buku kurikulum merdeka, penjelasan pada sebuah materi hampir cenderung nihil pada buku mata pelajaran masing-masing. jika tugas-tugas ini dijelaskan oleh guru terlebih dahulu, mungkin masuk akal, namun jika orang tua yang menjelaskan kepada anaknya, maka kenapa siswa harus masuk sekolah dari awal?

kejadian di lapangan menunjukkan bahwa kebanyakan guru cenderung jarang memberikan penjelasan pada jam kelas dan terkadang hanya dijelaskan pada saat les, dan walaupun itu dibantu dengan memperpanjang waktu sekolah siswa yang awalnya dari jam 6 pagi sampai jam 12 (atau 1 siang) menjadi jam 6 pagi (lebih awal) sampai jam 3:45.

masalahnya, begini: – penyampaian materi pada buku-buku ini cenderung kompleks, dan bahkan demikian saat lapangan menunjukkan bahwa di Sekolah Dasar pun memiliki masalah seperti ini. – guru di lapangan yang baru terjun di mata pelajaran ini justru kewalahan dengan kompleksitivitas metode penyampaian materi yang disampaikan. ini seharusnya sudah tidak terjadi di beberapa wilayah, namun hasil di lapangan pun menunjukkan bahwa guru baru pun tetap memiliki masalah serupa. – kebanyakan guru di lapangan cenderung tidak melakukan penjelasan, dan justru memberikan tugas lalu kemudian, begitu saja (keluar dari kelas saat belum istirahat, memberikan siswa jam kosong). – siswa yang tidak mengerti dengan materi yang disampaikan cenderung terjebak dengan materi yang diberikan jika tidak ada semacam les, atau pengajaran di rumah – orang tua terbebankan oleh tugas-tugas anaknya yang dimana seharusnya sudah dijelaskan oleh guru

dan sebenarnya? beberapa sekolah cenderung mengkeep beberapa mata pelajaran agar tetap mengajarkan beberapa dari kurikulum 2013.

kita sudah melihatnya di lapangan, dan konsenkuensinya, bukan main

perhatikan, lalu buka peramban internetmu sendiri: – beberapa murid-murid SMA pun tidak dapat membaca, atau bahkan menghitung aritmatika dasar (tambah, kurang, kali, bagi) yang dimana seharusnya sudah bisa – masih sma, tidak dapat baca jam dinding?? apa kabar dengan gurunya sebelumnya? apakah di lingkungannya tidak pernah ajari cara membaca jam dinding sama sekali??

lalu, begini masalahnya: – jika kita sebut guru-guru molor pada tugasnya di lapangan, sebenarnya ada faktor yang memperjelaskan keadaan guru:

guru kita underpaid. serius.

jika kita lihat keadaan di lapangan, beberapa guru hanya digaji sekitaran 200 ribu ataupun hanya 150 ribu perbulan.

iya. sebanyak uang kas yang kita keluarkan setiap 4 hari.

sebenarnya, beberapa pihak sudah mendesak pemerintah untuk menaikkan gaji guru, namun pemerintah condong ke MBG yang secara bersamaan menyebabkan inflasi harga sembako di beberapa kota beserta tutupnya beberapa UMKM di wilayah sekolah. dan secara bersamaan, gaji guru dipotong di situasi yang bersamaan.

sekarang, sudah lihat kan?


mungkin itu saja dariku.

jika terdapat kesalahan, buatlah pos yang mengkoreksi artikelku ini.

sekian,

seorang mantan siswa yang melihat transisi k13 ke kurikulum merdeka.

 
Read more...

from Yonle

Well, Look. Since i've said this before in the VC, So i might wanna make things clear a bit since i spoke all of that during my little jogging that i can't really focus on my words.

Caution to reader: This might sounded misogynistic at first, But it's actually not. If you still thought so, Close this tab.


To begin with, I literally didn't care if you're a male or female to begin with. If one completely acted like a cunt to the point i can't even hold my fury, then so be it.

Like any usual middle high schoolers, There's always that one person that literally despise you for no reason but then will need you for something else, and that kind of person is always here. I would like to say this, though. I really don't want to have debates to begin with, But given the amount of volumes of BS that i get everyday from these individuals, That same exact incident changed exactly who i am since that very day.

Please remember: I talk about one specific person. It doesn't even mean that i will treat everyone exactly the same treatment. There's a reason for why the following happens.

There's that one girl who since the last year of middle school will always cut me off everytime i talk to teacher or my close friend (rare, but it occurs), or during group discussion. These cuts are not even polite or anything, but rather pure disrespect.

There are time where i literally had enough to that girl that i literally slam my hands onto the table to shut that one person off due to constant cutting off and the disrespect that she put,

When she fight back with words, This time i snapped and shouted back at her, It's all going on back and forth until a classmate stop both of us.


Well, This is basically a messy rambling that i try to recall on my brain that then ended up being messy.

To be frank, I do not really want to be a debater to begin with, But i guess there's so many factors to the point that I literally became one.

 
Read more...

from autumn

The Social Web Foundation Adds End-to-End-Encryption to Mastodon and Why This Is Probably Not a Great Idea


As gregarious as people are, they also love their privacy. Eavesdropping, reading over the shoulder, going through personal affects? Everyone can agree, it is egregious behavior when your privacy is violated, even when justified. Thusly, it is in one's nature – innocent or otherwise – to engage in the right of privacy. What people do not have the right to, is to demand provision of this privacy from external sources. Historically, you learn to wear your own mask, to bury your own secrets.

Simultaneously, we continue to see that people are contrarian. As much as the people love their anonymity, they equally love their identity, expressing themselves in both private and public spaces such as bars, clubs, boardwalks, or even Social Networking Services (SNS) like Mastodon. Within these spaces people hold a reasonable expectation to both privacy and respect, i.e. not to be harassed, mocked, doxxed, stalked, have their personal space, or likeness violated, etc. Unfortunately, this cannot always be guaranteed in public or even in private spaces, leading us to the necessity of moderation, which we will touch on later.

Considering these facts, you are likely to enjoy the idea of secure and private conversations with your associates. If this is the case, you are probably looking for a service that offers End-to-End-Encryption (E2EE). There are many services to choose from, some more secure than others. Whatsapp for example offers convenient but highly insecure E2EE, while Signal Messenger offers a less convenient, but more secure implementation.


E2EE explained simply is when everyone has two keys and a signature. You generate these keys, one public, one private, then start trading public keys and signatures with known associates. When you send a message to anyone, it will be encrypted using their public key & decrypted only by their private key. Your message stays secure in transit. Seal that letter with your signature we mentioned and you've proven yourself as the origin, avoiding impersonation.

Note: E2EE doesn’t stop the network from seeing who talks to who, when, or how often – “privacy” is leaky even if message content is encrypted.

Many individuals – including myself – have recommended using PGP's key generation, signing & message encryption/ decryption capabilities to send encrypted messages “anywhere”... this is less than ideal in 2026. The author of The PGP Problem – lvh – stated that if you want to talk,

Use Signal. Or Wire, or WhatsApp, or some other Signal-protocol-based secure messenger.

Modern secure messengers are purpose-built around messaging. They use privacy-preserving authentication handshakes, repudiable messages, cryptographic ratchets that rekey on every message exchange, and, of course, modern encryption primitives. Messengers are trivially easy to use and there’s no fussing over keys and subkeys. If you use Signal, you get even more than that: you get a system so paranoid about keeping private metadata off servers that it tunnels Giphy searches to avoid traffic analysis attacks, and until relatively recently didn’t even support user profiles.

As for email?

Don't.


Now that we have explained what E2EE is, 'The PGP Problem', and the use of dedicated tools, let us take a look at this – From the Social Web Foundation, Implementing Encrypted Messaging over ActivityPub:

“Encrypted messaging has become a common feature on many social networks since ActivityPub was created, and its lack has inhibited Social Web adoption and public trust in the network.”

Do you genuinely believe the lack of E2EE is keeping the masses at bay? The grandmas and grandpas who just want to message their grandchildren? The mothers who just want to know when the next soccer meet is? I assure you, not a single “normie” is worried about E2EE unless they have swallowed marketing material. Perceived low conversion rates are because these people are literally addicted to their dopamine apps. The “Social Web” is fundamentally not Facebook, that is what you're observing.


Everyone has some expectation of privacy, particularly in regards to federated SNS. Many users are tired of service providers like Facebook “harvesting their data points for actionable business insights” leading them to options that provide a semblance of self agency and sovereignty. On one hand, these services do not traditionally track users, on the other hand, ActivityProtocol (AP) is running behind the scenes as the language of many of your favorite services, i.e. Mastodon. This type of protocol and the way it behaves is referred to as a broadcast protocol. Everyone, everywhere can see you and what you do, who you talk to, and when.

This is especially true when the other server is not fully respecting the protocol, when disrespected, “private” accounts and posts requiring follower approval may not be entirely private. This can lead to confusion and anger between users and operators for being followed by people who shouldn't have access, bots, or tracking services, each of which are disrespecting wishes, consent, or the protocol.

Because of these quirks, there are some nuanced avenues for harassment I will not outline here. Actively processing, investigating, and remediating the deluge of reports in the attempt to promptly moderate against rule breakers, abuse, harassment, exploitation, scams, etc. is already a Herculean and Sisyphean task. Due to abuse by both network users and operators, there are now regulations around the world regarding data retention or lack thereof, along with legal obligations and potential demand.


Everything so far leads the question with E2EE & SNS to quickly become: How do we deploy this at scale, without breaking moderation, without confusing users, & without inviting legal or security failure?

If an operator offers E2EE on an SNS like Mastodon – due to the nature of the protocol being comparable to a public space – suddenly we see the landscape become exponentially difficult, if not impossible to moderate. Operators will place themselves into the unfortunate position where they cannot properly serve and protect their users, or their legal obligations. Additionally, if you offer a secure service and it is not secure or your implementation is bad, what will you do if a litigious troll attempts to sue?

To introduce E2EE into public‑facing SNS while simultaneously trying to “solve” abuse, moderation, & legal exposure, the path of least resistance is likely to be “just verify everyone”, pushing identity‑linked, KYC‑style identity checks as a way to “anchor” trust & accountability. The loudest users and largest operators may start demanding identity verification to ease this friction.


This appears in the long run to be potentially bad for privacy, and it’s exactly why I strongly believe E2EE should be kept out of the core social layer & kept within dedicated tools instead. If people want to hide themselves, they have many options – third party clients, applications, and tools – as they have always had the ability and right to do/ use. It is not the operators responsibility to provide their users the ability to hide. Don't know how to encrypt your own messages? Talk on Signal. Mastodon is a public space, take your private conversation elsewhere. Don't forget, people were writing encrypted messages by hand before computers.

The cost outweighs the benefit. Please, make the sane decision, don't over complicate the backend and keep the public social layer unencrypted. Mastodon is a public space, use purpose built tools like Signal for your private conversations.


P.S. You do not need E2EE everywhere. If you indiscriminately E2EE with everyone across your personal, business, and social life, then a single impersonation can spread everywhere. At that point, the question becomes: how do you prove an imposter is not you?


Yes, at the moment these are optional features, but we ultimately teach our users unsafe and unsanitary practices by telling them it is alright to shit where they eat. Once it is the social norm, even if optional, it will be hard to offer a service that doesn't let users shit where they eat. In the long run this idea appears horrible. As the user, why are you putting the burden of your secrecy on the operator? As the operator, what will you do when users start placing the burden of their secrecy on you?

Source: https://socialwebfoundation.org/2025/12/19/implementing-encrypted-messaging-over-activitypub/


Update: Was informed of and removed mention of GPG as it is insecure, that same friend just provided this article as well, it is a wonderful read, and I will be updating this piece accordingly:

https://www.lvh.io/posts/the-pgp-problem/

Second Update: Removed this following section and updated due to old/ misinformation -

If you want to send encrypted messages anywhere, regardless of service, you could do-it-yourself by using PGP's key generation & message encryption/ decryption capabilities, alongside something like openBSD's Signify for signing and verification. There is also terminology like key rotation and key recovery but these over-complicate things for a simple chat between known associates.

Trade public keys, treat private-key leaks as full identity compromise, and keep circles small to foster high-trust networks.

 
Read more...

from Yonle

screenshot of a windows 11 vm guest with gpu hardware acceleration screenshot of a windows 11 vm guest with gpu hardware acceleration

the first thing that came to my mind when you need to have a gpu passthrough, Often it requires another secondary dedicated graphics card that's unused by the host. if not that, then paravirtualization solution such as virtualbox/vmware/spice guest tools, or virgl3d.

but then we have sr-iov which specially targets a intel processor computer that let us create a virtual function (VF) of Intel UHD Graphics iGPU. This lets us to be able to do gpu passthrough to our VM without needing to have it being unused. in this blog, i will talk on how i set this up

disclaimer: sriov is still considered experimental. things might break here if you're unlucky, but it shouldn't be.

setting up

you will need to ensure that the intel processor that you are using is Gen 9.5 and newer for the best experience as possible. Ensure that both VT-x and VT-d are enabled on the bios settings so you can use IOMMU for hardware passthrough, otherwise you will still limited in paravirtualization.

the operating system that i use at the time of this writing is arch linux. kernel is the default arch kernel. since sriov hasn't getting mainstreamed yet, so we just install the i915-sriov dkms module via aur:

yay -S i915-sriov-dkms

or manually install it from source:

git clone --depth=1 https://github.com/strongtz/i915-sriov-dkms
doas dkms add ./i915-sriov-dkms

# install the module
doas dkms install i915-sriov-dkms/2026.05.06

# then rebuild your initramfs

replace 2026.05.06 with the current version of the module

just to make it compatible with other kernel, i will use the dkms variant since it's easier to maintain and switch kernel back and forth just in case.

for your convenience, please add yourself to kvm group: usermod -aG kvm you

kernel

continuing, we begin by explicitly making the kernel to enable intel iommu by adding this to the kernel boot param. 1 VFs is generally enough. you can pick which driver you will want to use in between the two:

i915:

intel_iommu=on i915.enable_guc=3 i915.max_vfs=1 module_blacklist=xe

xe (the new experimental driver. you will need it if you have for like, Intel Arc/Iris):

intel_iommu=on xe.max_vfs=1 xe.force_probe=device-id module_blacklist=i915

You can also try to use xe on iGPU, however given how new this driver is, it might be unstable

To get device-id, You can obtain it by executing lspci -nn | grep -i vga and then obtain the 16 bit hexadecimal digit of the iGPU id:

[yonle@yonle ~]$ lspci -nn | grep -i vga
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-UP3 GT1 [UHD Graphics] [8086:46b3] (rev 0c)

as you see here, the device id of my iGPU is 46b3, which then you will use this for the boot param above and later on.

now reboot, and then check dmesg to see whenever SR-IOV is actually loaded properly:

[yonle@yonle ~]$ doas dmesg | grep -i sriov
[    5.169765] i915: You are using the i915-sriov-dkms module, a ported version of the i915/xe module with SR-IOV support.
[    5.169767] i915: Please file any bug report at https://github.com/strongtz/i915-sriov-dkms/issues/new.
[    5.169768] i915: Module Homepage: https://github.com/strongtz/i915-sriov-dkms
[    5.289502] intel_sriov_compat: loaded

replace “doas” as “sudo” if you use sudo.

if you saw intel_sriov_compat: loaded, you're good to go.

making the virtual function

technically, you can manually load it via command line. but for some reason it might give you more works than necessary to get your things working.

so, assuming you're on arch linux, make a systemd-tmpfiles config specifically to make just 1 vf. edit /etc/tmpfiles.d/i915-set-sriov-numvfs.conf:

#Path                                              Mode UID  GID  Age Argument
#Uncomment the next line and change the argument to the number of VFs you want
w /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs -    -    -    -   1

and then, make a udev rules to block vf (except host) to be used as a main by host (eg, your main de/wm). edit /etc/udev/rules.d/99-i915-vf-vfio.rules:

ACTION=="add", SUBSYSTEM=="pci", KERNEL=="0000:00:02.1", ATTR{vendor}=="0x8086", ATTR{device}=="0x46b3", DRIVER!="vfio-pci", RUN+="/bin/sh -c 'echo \$kernel > /sys/bus/pci/devices/\$kernel/driver/unbind; echo vfio-pci > /sys/bus/pci/devices/\$kernel/driver_override; modprobe vfio-pci; echo \$kernel > /sys/bus/pci/drivers/vfio-pci/bind'"

note: replace 46b3 with your gpu device id that you obtained above.

then, reboot.

you must see 2 iGPU now when running lspci now:

[yonle@yonle module]$ lspci | grep -i vga
0000:00:02.0 VGA compatible controller: Intel Corporation Alder Lake-UP3 GT1 [UHD Graphics] (rev 0c)
0000:00:02.1 VGA compatible controller: Intel Corporation Alder Lake-UP3 GT1 [UHD Graphics] (rev 0c)

remember: your guest must only use the vf one, in this case, it's 0000:00:02.1

kvmfr

as we're also going to use looking glass, let's prepare kvmfr for the shared memory.

first, ensure that your kernel header has been installed properly before installing the dkms module.

installing manually

obtain the source code tarball from here, and then extract module folder, and then,

cd module
doas dkms install .

caution: you must rebuild the DKMS on each kernel update / when you switch to different kernel.

installing via AUR

yay -S looking-glass-module-dkms

👍

configuring kvmfr

you should be able to load kvmfr now:

doas modprobe kvmfr static_size_mb=32

the looking glass docs has a fantastic explanation on how do you determine a shared memory for your DMA, which you should read.

now, let's make this module gets loaded automatically on boot. First we need to set the default kvmfr load param by editing /etc/modprobe.d/kvmfr.conf, then putting this:

options kvmfr static_size_mb=32

then edit /etc/modules-load.d/kvmfr.conf and add this:

kvmfr

now, we make a udev rule to ensure that the device got a proper permission. edit /etc/udev/rules.d/99-kvmfr.rules:

SUBSYSTEM=="kvmfr", OWNER="user", GROUP="kvm", MODE="0660"

replace user with your username.

to apply the udev permission immediately, do

doas chown you:kvm /dev/kvmfr0
doas chmod 660 /dev/kvmfr0

now edit /etc/libvirt/qemu.conf, and uncomment cgroup_device_acl and add /dev/kvmfr0 in it:

cgroup_device_acl = [
    "/dev/null", "/dev/full", "/dev/zero",
    "/dev/random", "/dev/urandom",
    "/dev/ptmx", "/dev/userfaultfd",
    "/dev/kvmfr0"
]

then restart libvirtd daemon.

make a vm

we will use libvirt with virt-manager as the client.

the vm that we will create will be a Microsoft Windows 11 VM.

before you begin your installation, Do a customization first. On [Overview]'s XML, Replace the following top:

<domain type="kvm">

with this:

<domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">

and then, add the following inside the <domain> field:

  <qemu:commandline>
    <qemu:arg value="-device"/>
    <qemu:arg value="{'driver':'ivshmem-plain','id':'lg','memdev':'looking-glass'}"/>
    <qemu:arg value="-object"/>
    <qemu:arg value="{'qom-type':'memory-backend-file','id':'looking-glass','mem-path':'/dev/kvmfr0','size':33554432,'share':true}"/>
  </qemu:commandline>

replace 33554432 with your calculated shared memory.

then, [Add Hardware] –> [PCI Host Device], Look for your VF iGPU (from the previous lspci, it must be 0000:00:02.1)

remove the existing keyboard and tablet input, and make new inputs for both things with virtio bus in it. Additionally, If there's “EvTouch” or anything outside of “ps2” and “virtio” inputs, you may also want to attach it too.

and then proceed installation with vga as usual until you finished installing the OS with Intel Graphics Driver and Windows Virtio Drivers installed.

Since i'm in Gen 12th alder lake, I installed the ones with version 32.0.101.7085 as of the time of this writing (or, “Intel® 11th – 14th Gen Processor Graphics – Windows*“).

you should only need to install Intel Graphics Driver and that's all it takes to work. after installation, reboot to ensure that the driver is actually being loaded properly and then check via device manager (right click on the start button and then go from here). it should look like this:

device manager note: i will guide you on setting up Virtual Display Driver from here

until looking glass and VDD has been configured, you must not turn VGA to None until you finished following the steps below

Virtual Display Driver (VDD)

usually, you use a dummy HDMI or DP adapter to make GPU start drawing a screen. Since we can't do that via VF, We basically make a screen of our own here.

open your terminal, and execute

winget install --id=VirtualDrivers.Virtual-Display-Driver -e --source winget

once succesfully installing it, open new terminal tab, and type

& 'VDD Control.exe'

It will launch new window looking like this:

virtual display driver window

Press [Install Driver] and proceed driver installation. If succeed, The OS will make an animation as if a secondary monitor has got plugged in.

Looking Glass

Now, Install looking glass on your host machine:

yay -S looking-glass

and then on your VM, Install the Looking Glass Host, which you can obtain from here,

after getting looking glass host started in VM, try connecting it on the host machine by just typing looking-glass.

if you saw the virtual display monitor from here, then congrats. your setup works properly.

looking glass

now, power off your VM, and then set VGA to None. and then start the VM. The console display won't be visible, then launch Looking Glass on your host machine again.

after you finished configuring the display here, it should look like this now:

looking glass, after configuring

audio enhancement

the default ich9 sound driver suffer through latency issues if got bombarded with a lot of things all at once, especially rhythm games that requires low latency.

we can use scream audio driver here. but do the following first: – ensure that the network card is virtio, if not, switch to it – remove ich9 audio card

for arch linux, you can get scream receiver via aur:

yay -S scream-git

and then just launch the receiver in the background:

scream -u -i virbr0 -o jack

the command above should be enough for everyday usage. the audio latency is low and is fairly balanced enough for daily usecase.

if you wanna go to the lowest possible latency:

scream -u -i virbr0 -o raw | pw-cat --playback --format=s32 --rate=48000 --channels=2 --raw --latency 128 -

you may adjust the latency flag value if 128 wasn't doing well. ensure that the samplerate, channels, and pcm format matches to what you are configuring in the Windows VM.

you can check the latency by checking pw-top.

note: this assumes that your setup is using pipewire.

while it's chilling in the background, let's set up the windows driver for it.

first, turn on test mode. open terminal as administrator (right click start –> Terminal (Admin)), run:

bcdedit /set testsigning on

then restart the vm. You must see [Test Mode] on the bottom-right corner of your wallpaper.

download the non-source zip (Usually named in ScreamX.X.zip) from here, extract it, Navigate to <scream folder>/Install/driver/x64/ and open terminal as an admin here, then run:

pnputil /add-driver .\Scream.inf /install

before we finally disable test mode:

bcdedit /set testsigning off

configure the scream audio driver via registry editor. in this case, it can be done via command line below:

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Scream\Options /v UnicastIPv4 /t REG_SZ /d "192.168.122.1" /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Scream\Options /v UnicastPort /t REG_DWORD /d 4010 /f

Replace 192.168.122.1 to your local address of your host that's being assigned by your virtual bridge, eg virbr0.

and then reboot.

caveats

  • if you only loaded i915 with xe blacklisted, any activities on the host (except the guest) that has involvement of vulkan may start slowly / temporarily stall the entire drm. this can be fixed by trying to use the xe driver instead, however
  • xe can get both OpenGL and Vulkan properly, but might stall the entire drm once the vm finished booting

loading both drivers simultaneously does not currently resolve these problems.

if these issues become annoying, consider adding a separate bootloader entry that disables SR-IOV and IOMMU entirely. This allows you to boot into a normal configuration when you don't plan to run a VM.

extra

my windows 11 VM desktop with task manager

if necessary, you can try debloat your windows VM by using these tools: – raphire/Win11Debloat to remove most of the bloats – es3n1n/defendnot to disable windows defender by pretending there's other antivirus in order to reduce load

cpu usage: cpu usage

ram usage: ram usage

extra note: if at some point you plan to do gaming here, including low latency gaming, consider attaching your input devices (keyboard, mouse) into your VM via passthrough, as the existing input grabber is meant for a normal workstation purpose.

extra note2: given that you have installed virtio drivers above, switch your VM network card to virtio for best performance.

extra note3: if you're still overwhelmed by both visual and audio latency even with solutions above, consider using dGPU passing and passing external soundcard into VM instead.


if you need to see how the config looks like on the system, you can check on my dotfiles to see what has been configured here and there.

troubleshooting

looking glass suddenly stuck on [The host application seems to not be running]

the VF of your iGPU could have been overwhelmed probably due to multiple reusage (eg, constant reboot, you suspended your laptop while VF is still in effect, etc). to fix this, try reboot your host. if this still didn't fix the problem, then try reinstalling the intel graphics driver inside the VM.

mouse sensitivity is way too high on looking glass

trying to navigate the display without capturing your mouse will have this kind of behavior by default. enable capture mode by pressing the looking glass's escape key (the default is scrolllock. you can change this by setting -m KEY_<KEY> when launching looking glass via command line).

error code 43

try disable “memory isolation” in windows security: screenshot of windows security on "Memory Isolation" part, disabled

and reboot.

if error 43 still occurs, try check the intel driver. The suggested version is above v32. if it goes below that (especially windows update default, 31), It might not be able to recognize the hw properly, so try reinstall the intel driver and try again.


aand that's it.

for references: – Looking Glass B7 Installation Documentationi915-sriov-dkms docsLibvirt: Domain XML Format documentationGithub: Scream audio driver README

honorable mention: My best friend RionWijaya for informing me with his experiments and then help me a bit

happy VM-ing once again.

p.s.: you can try to apply the same logic if you have a spare dGPU by skipping the intel sr-iov & iommu step

 
Read more...

from Misa

In physics, we basically do measurement on all things that can measured. We see a phenomenon or an object, we observe it, take a measurement, and make a mathematical model for describe and predict the behavior of those things.

Since ancient times, Human love to compare things. Imagine if we want to take a free pizza from a party, we would try to see which one is bigger or smaller piece, and of course we will take a bigger piece, right? but how do we know it is bigger that the other piece? simple, just compare it with other piece and you can tell by just looking at it. hey it is a bigger pizza.

Then, there is a question, if something is big, how big is it? If something is long, how long is it compared to another one? Which one is actually bigger? We cannot just say “big” or “small” without knowing how much, right? So we need a way to compare a quantity with another quantity of the same kind. From there, math number is introduced to define and express that quantity clearly.

lets take an example, there is a book and there are identical pens. how we can define how long that book is? we can put pens in row along book and we can tell

“Hey, the book is two pens long”. The length of the book, which is what we measure, is called a quantity. The pen is the object we use as a comparison, which we call a unit, and 2 is the measurement value. With this, we know the length of the book equals the length of 2 pens.

That is measurement. Measurement is the process of comparing a object quantity with another object as a unit. We only can do measurement with comparing quantity with same quantity. length book with length pen, weight with weight, and much more.

The Systeme International (SI) of Units

Imagine we take a measurement like in the example before. Lets say our friend measures the same book using his own pen as a unit of comparison. There is a problem here are the length of his pen might be different from ours, right? If that happens, the measurement value can change. The book might be measured as 3 pens long simply because his pen is smaller. This can lead to confusion.

Now, let’s say another friend measures the same book, but instead of using a pen, he uses a marker, which is a totally different unit. He might find that the length of the book is one and a half markers, while we got a result of 2 pens. This means we can try to convert our unit (length of pen) into his unit (length of marker), which sounds great. However, there is a problem, the conversion process can lead to inaccuracy.

This problem actually happened in the real world. Since ancient times, humans traded using different units from different cultures and regions, which made conversion and price determination difficult. The inconsistency of units often led to fraud and unfairness in trade. This also happened in Ancien Régime, where until 1795, France used many different systems of measurement without a unified standard. There was even widespread abuse of measurement standards for taxation and trade.

The solution to this problem was the creation of a standardized and universal system called the metric system. Thanks to the French Revolution, this system was introduced and later became the foundation of the system are used today. Not go too deep into the history here.

The International System of Units (SI), which consists of 7 base units and its quantity that are widely used by many countries around the world

Quantity Unit Name Symbol Dimension
Length meter m [L]
Mass kilogram kg [M]
Time second s [T]
Electric Current ampere A [I]
Temperature kelvin K [Θ]
Amount of Substance mole mol [N]
Luminous Intensity candela cd [J]

Each unit has its own definition and history. For example, for mass, it is used a physical prototype made of a platinum–iridium cylinder called the kilogram. One kilogram was defined as the mass of that cylinder. This prototype was copied and distributed to many countries as the international standard of mass.

Of course, each definition has been updated over time as technology advances. The more of history of these developments on the official website of the International Bureau of Weights and Measures, the international organization responsible for maintaining these standards

https://www.bipm.org/en/history-si

 
Read more...

from Jim's Personal Blog

Well, I am back soon in early April this year because during my dormant time, I was thinking of rebranding and reshape the goal that I made before. Also, since I am leaving X, I feel that I don't think my existence there are made me famous or something. In another side, I am already give Elon Musk an big middle finger which that means I'll quit soon on his Twitter and finally I did it. Even I feel some disconnection at the time, I take the risk rather than my mental gonna be cooked and made me thinking of going to Psychiatric Hospital again.

I was thinking that I am in wrong community, and it's true. I was on wrong community at the time. As people who cannot made people entertain and I am always take anything seriously, I think I need to reshape anything and start again from zero. Also as disabled person, I need to stay away from society that harms me in any way that occurs. Also, using terms like “VTuber” or “VCaster”, it made me being minorities who have different vision. In global terms, “VTuber” are mostly entertain people by their live stream or any on-demand content that they made for entertainment purposes. Meanwhile, since I can't entertain people, I choose different path. Some few virtual content creator has taken different path and their goal seems running perfectly.

The challenge in Social way

Some of them could engage people to follow them are utilizing algorithm by active on centralized social network like Meta's Empire (Facebook, Instagram, etc.), Elon's Kingdom (X/Twitter), Bytedance's Garbage (TikTok), and more. Well, some how I couldn't survive there due to limitation that I am facing it. Also, when I realized that I have ADHD and since in real life also disconnected with current society, I don't know how to grow there and I have no idea.

Since then, I am trying to adapt with fediverse, which is combination of federated social network due to decentralization and another universe, finally I found the right place for myself to grow. Since they don't have an algorithm and any posts could be seen by everyone on fediverse, I am feel lucky that I found the right place. To understand the place that I feel like home, I learn about how ActivityPub protocol works and how difference between centralized and decentralized social network works, both from their infrastructure, ownership of the server, and social side that much different on biggest centralized social network.

I know fediverse currently have a few million active users and nearly 12 to 14 million people registered and a thousand of servers active on the network that no one owned it, but as minorities I feel safe and I could adapt there rather than on centralized social network where their black algorithm made me sick and insane. Got more following rather than followers? Not a problem. I want to build the relationship with people to people, not with masked bot.

How's my rebrand plan going on?

Yeah the older name “Everything with Jim” I decide to be an legal business name and I changed it as “Learn with Jim” where it have same goal as previous, but I decide to serve the content in English and publishing first on fediverse, before I share on YouTube for video content, Spotify and YT Music for Audiocast. I made the priorities where it called “fedi-first” where I publish the content on fediverse via Peertube under MakerTube instances for video and Funkwhale under Funkwhale Italia for audiocast (another name of podcast in audio format). Also, I want to share to anyone about FOSS, GNU/Linux, SysAdmin stuff, and anything that related to my hobbies.

That's it from me for now.

 
Read more...