• Komputer,  Software,  Teknologi

    Screenshot

    Untuk saat ini, mengambil screenshot dari layar amat sangat mudah. Untuk OS Windows, tinggal tekan tombol “Print Screen”, layar sudah masuk ke clipboard, siap di-paste dimanapun. Tapi dulu, saat multi tasking belum umum, mengambil gambar layar tidak semudah yang dibayangkan.

    Di DOS, program yang sedang aktif yang bertanggung jawab me-“monitor” tombol apa yang ditekan oleh user di keyboard, dan program itu juga yang nantinya melakukan aksi atas event keyboard tersebut. Dan normalnya, hanya ada 1 program yang aktif pada suatu saat.

    Terus gimana kalo mau ngambil tampilan layar? Saat handphone belum ada, dan tidak efektif mengambil foto dari layar komputer untuk sekadar screenshot, sementara tombol print-screen hanya akan mengirim tampilan layar ke printer.

    Disinilah program penangkap layar (screenshot) berperan. Ya, satu program khusus yang tugasnya menangkap layar dan menyimpannya sebagai file gambar di harddisk, salah satu yang terkenal adalah Pizzaz Plus (PZP).

    Terus gimana tuh caranya? Bukannya tadi dibilang cuma 1 program aktif yang bisa ngontrol keyboard?

    Karena saya pernah bikin program yang kerjanya seperti PZP, makanya saya secara umum bisa menggambarkan prosesnya:

    • Saat berjalan, program mendaftarkan dirinya sebagai program TSR (Terminate and Stay Resident) yang akan aktif apabila keyboard ditekan dengan kombinasi tombol tertentu (keyboard hook). Lalu program keluar (kembali ke DOS prompt).
    • Saat shortcutkey yang sesuai ditekan, maka program akan mengakses memori layar. Pada mode text, tiap karakter pada layar bisa diakses kode ascii serta properti warnanya. Pada mode grafik, program bisa mengakses nilai RGB dari tiap pixel.
    • Program akan menyimpan dalam file gambar sesuai yang sudah dikonfigurasi.
    • Biasanya ada suara “beep” sesudah program berhasil menyimpan screenshot layar.

    Lumayan ribet kan?

  • Hiburan,  Software

    2048

    2048 bukan ramalan tahun berapa Indonesia jaya (atau bubar), bukan juga cerita fiksi (ilmiah maupun tidak). Ini tidak ada sangkut pautnya dengan Indonesia, ini adalah permainan yang bikin ketagihan. Berawal dari nyari informasi tentang PWA, eh malah dapet 2048game.com.

  • Programming,  Software

    A little new project

    Seperti program-program saya yang lain, saya biasanya remake program yang pernah saya buat sebelumnya dengan versi yang lebih baik lagi. Kali ini yang saya sedang remake adalah PaKe atawa Password Keeper. Versi sebelumnya dibuat dengan php tanpa ada javascript 1 baris pun.

    Bentuknya lebih mirip dengan encrypted note taking app dengan konsep struktur folder dan file, jadi bikin folder nanti foldernya bisa diisi file atau folder lain, jadi  infinite folder depth, maksudnya bisa bikin folder di dalam folder di dalam folder, dst.

    Kemarin waktu nyari semut dapet gajah, saya dapet Joplin yang editornya enak banget. Akhirnya saya mau bikin Note-Taking App yang benar-benar fleksibel dan agak unik. Featurnya kurang-lebih begini:

    1. Seperti Joplin, note terdiri dari struktur Notebook -> Notes (Caption) -> Content.
    2. Data disimpan dalam variabel JSON.
    3. Data disimpan di local storage (jadi bisa offline) unencrypted.
    4. Data bisa di-eksport ke file text dengan keadaan terenkripsi.
    5. Bisa import data dari file text.
    6. Bisa upload ke cloud (next release).

    Tiga poin pertama sudah selesai. Poin 4 dan 5 harusnya bisa selesai cepat, dan selanjutnya tinggal poin ke-6. Untuk project ini saya pake beberapa 3rd party: Pen, Alertify, Stanford Javascript Crypto Library. Untuk project ini saya coba menghindari penggunaan JQuery.

    Dan seperti project lainnya, selalu diselingi saya nyari-nyari program penunjang. Dan saya akhirnya dapet teks editor reliable yang cukup kecil dan ringan: CudaText. Btw, nama projectnya NoteJS.

  • Software

    Mau Semut Dapat Gajah

    Awalnya seperti biasa, iseng-iseng aja, nyari-nyari informasi text editor yang ringan tapi powerful. Niatnya untuk pendamping teks editor utama saya: Notepad++. Pendamping maksudnya kalo yang Notepad++ udah buka 1 project, terus mau buka project lain yang unrelated baru saya pake teks editor kedua. Sebenernya udah ada beberapa yang saya install, saya udah punya keluarganya Joe Editor: joe, jstar, jpico, jmacs, cjoe. Ada juga Visual Studio Code, Atom, Komodo Edit, PSPad, Aptana Studio, dll.

    Berbagai macam IDE atau text editor udah pernah saya coba, tapi yang bener-bener ringan dan cukup powerfull cuma Notepad++. Dalam pencarian, saya nemu yang namanya ICEcoder, text editor dalam browser. Kerennya, teks editor ini bisa dipasang di web hosting, biar bisa edit text file langsung di server.

    Nemu cloud text editor, saya jadi inget program pencatat yang biasa saya pakai, yang menurut saya program pencatat paling mantap. Karena semua fasilitas yang saya bayangkan ada di program itu, namanya: cherrytree. Program pencatat yang menyimpan tree (hirarki), bisa nyimpen data richtext, code snippet, pokoknya macem-macem deh. Nah saya mau program pencatat seperti cherrytree, tapi versi cloud.

    Saya coba install program php yang seperti Pastebin, dapet namanya Stikked. Programnya bagus dan solid, tapi sayangnya program pencatat ini memang bukan dibuat untuk koleksi catatan, tapi lebih ke sharing” catatan. Lanjut pencarian dapet lagi namanya Joplin, yang di potongan deskripsinya ada kata-kata: “The notes can be synchronised with various cloud services“.

    Begitu saya buka homepagenya Joplin disitu ada keterangan bahwa catatan bisa disinkronisasi antara desktop dan android melalui cloud service seperti Nextcloud, Dropbox, OneDrive, WebDav, atau file system (share network). Saya tau Dropbox, saya juga tau OneDrive dari Microsoft, WebDav juga pernah masang di hosting sendiri. Diantara service yang disebutin, yang ada linknya cuma Nextcloud.

    Saya klik link Nextcloud, hover ke menu “Get Nextcloud” ada pilihan: Download for self-hosting on your server. Ini dia yang pengen saya coba. Langsung masuk control panel hostinger, bikin sub-domain baru, install ssh dari letsencrypt, buka putty, login ssh, download Nextcloud langsung di server pake wget, exrtact, baru deh baca-baca manual instalasinya.

    Nextcloud pake PHP versi 7, sementara di hosting saya cuma pakai yang versi 5.6, coba ganti versi ke 7.0 berhasil, sesudah itu cek semua ekstension php yang dibutuhkan dan gagal di satu ekstension: pdo_mysql. Padahal hampir semua program php saya yang pake database mysql menggunakan ekstensi ini. Yang saya langsung cek adalah blog yang pake wordpress, ternyata masih bisa jalan normal, ya udah, karena Nextcloud bisa pake database SQLite, saya lanjut tanpa masang ekstensi pdo_mysql.

    Berhasil masang Nextcloud, yang ternyata mirip OwnCloud yang sebelumnya pernah saya pasang di notebook. Bagi yang gak tau, program ini mirip Google Drive atau yang sejenis (cloud storage). Sesudah itu saya download Joplin untuk desktop dan pasang juga di handphone android saya.

    Joplin mendukung format markdown yang sederhana, catatan disimpan dalam “folder” yang disebut Notebook, jadi pertama bikin Notebook, sesudah itu di dalam notebook bisa bikin entri banyak. Joplin versi desktop berhasil melakukan sinkronisasi melalui https dengan mengaktifkan opsi “Bypass SSL authentication” yang sayangnya tidak tersedia di versi android. Jadi versi android sinkronisasi lewat http aja. Saya harus cari tahu kenapa sertifikat ssl pakai letsencrypt selalu bermasalah (download pake wget juga error).

    Nah, sampai di ujung entri blog baru saya mau ngasih tau, sebenernya catetan yang mau saya simpen itu adalah web-novel, buatan orang lain ataupun buatan sendiri (lagi proses, banyak ide tapi miskin waktu). Jadi untuk sesuatu yang sederhana dan kecil, saya masang program jumbo. Yaaah… itung-itung pengalaman.