• Komputer,  Programming,  Software

    CLBK

    To the point aja, CLBK yang saya tulis ini tentang bahasa pemrograman yang pertama kali saya pelajari, yang karena tuntutan pekerjaan akhirnya saya tinggalkan, tapi karena dasarnya memang cukup kuat akhirnya saya pakai kembali: Pascal.

    Awal kenal komputer, saya langsung belajar pemrograman: Turbo Pascal. Waktu itu yang saya pake Turbo Pascal versi 7, dan berlanjut ke Borland Delphi v1, 2, 3, 4, 5, 6, 7, Turbo Delphi, dan terakhir saya pakai adalah Delphi 2009 (RAD Studio 2009).

    Memang sudah lama sekali saya gak sentuh keluarga pascal ini sampai pada suatu ketika saya mau bikin program desktop yang pakai ribbon dan akses data ke MySQL.

    Visual Studio 2017 (yg community edition) udah terinstall di komputer saya, otomatis saya langsung cari cara untuk connect ke MySQL. Dari info di internet ternyata cukup gampang, tapi ternyata berbeda kenyataannya: Ribet.

    Akhirnya saya ngalah, karena pernah bikin aplikasi database desktop pake C# ke Ms SQL Server, saya putusin untuk pake SQL Server aja, biar gampang. Tapi ternyata migrasinya susah: ribet. Karena contoh data udah ada di MySQL, saya pikir pake import lewat koneksi ODBC pasti dengan mudah dilakukan. Ternyata Ms SQL Server versi community cuma bisa import dari flat-file (csv, dkk).

    Akhirnya saya coba iseng2, cari tau tentang Delphi. Ternyata Delphi punya versi community juga, mantap! Dengan semangat 45, saya download file instalasinya yang sekitar 100MB lebih. Saya install, register pake community license, lancar. Tapi di langkah terakhir waktu mau download platform ternyata servernya error. Delphi yang udah diinstall gak bisa dipake untuk bikin project apapun karena servernya down.

    Dan setelah beberapa hari nyoba2 servernya belum idup2 juga, saya iseng lagi nyari segala sesuatu yang berkaitan dengan bahasa Pascal dan dapet program bagus yang namanya Pascal XE, tools yang bagus banget untuk belajar bahasa Pascal.

    Sesudah itu, otomatis ujung2nya saya install Lazarus, IDE bahasa Pascal yang Open Source. Dan begitu nyoba koneksi ke MySQL, dengan sangat cepat dan mudah program terhubung ke server. Mantap. Saya coba cari komponen untuk bikin ribbon toolbar langsung dapet, dan semua dipermudah dengan Online Package Manager.

    Sesudah mulai bikin program dan mentok kiri kanan, saya simpulkan Lazarus itu bagus banget walau dengan satu kekurangan: dokumentasi kurang lengkap, terutama dokumentasi dari komponen tambahan yang ada di Online Package Manager. Memang saya akhirnya bisa belajar dari contoh project, tapi kaya’nya gak ada yg ngalahin informasi dari dokumentasi yang lengkap.

    Waktu cari2 info tentang Lazarus, saya nemu juga fork dari Lazarus: New Pascal, tapi gak jadi saya download karena terakhir updatenya (versi Windows) 28 Juni 2018, udah setahun lebih gak update sementara Lazarus aja udah ada yg rilis tahun 2019.

    Selain itu saya juga nemu CodeTyphon yang juga bersumber dari Lazarus, cuma yang saya lihat CodeTyphon ini langsung masang banyak sekali komponen tambahan dan tampilan visualnya bisa jadi docking dengan mudah melalui menu.

    Dan karena itu pula akhirnya saya cari2 cara supaya Lazarus juga punya tampilan docking yang mirip, akhirnya, Lazarus saya tampilannya di permak jadi lebih keren, kaya IDE Delphi yang berbayar.

    Sesudah beberapa hari berpetualang di dunia Pascal, hari ini saya coba lagi itu Delphi, eh ternyata servernya udah bener, bisa lanjut ngubek Delphi lagi nih. Uhuy.

  • Komputer,  OS

    Virtualisasi: Sebuah Misteri

    Waktu dapet notebook dengan prosesor intel i7 dengan ram 8GB, saya kira saya bisa dengan santai menjalankan virtual sistem, karena saya pernah menjalankan Ubuntu dalam VirtualBox di notebook dengan prosesor intel i5 + ram 4GB dengan lancar jaya. Bahkan bikin program pake mono develop biarpun compilenya agak lama, tapi masih oke2 aja.

    Setelah saya pasang, ternyata jalanin Ubuntu di VirtualBox dengan resolusi layar yang rendah, begitu lama dan tersendat, saya gak tau dimana salahnya, padahal di bios udah diaktifkan opsi untuk virtualisasi. Akhirnya saya cuma bisa pasang Ubuntu Server tanpa gui yang lebih nyaman saya akses pake ssh client daripada langsung ngetik di servernya.

    Karena instalasi VirtualBox dan BlueStacks saling “membunuh”, maka saya ganti pake Qemu. Sesudah saya aktifkan tweak untuk Intel Haxm, Ubuntu Server saya lumayan lebih cepat jalannya, biarpun tetap aja berasa lambat banget, gak bisa dipake kerja.

    Akhirnya saya tinggalin itu virtualisasi, sampai pada suatu ketika saya nyari utility untuk nge-mount virtual disk yang saya buat (vmdk), saya dapet keterangan bahwa file vmdk bisa dibuka pake VMware disk manager. Saya baru inget ada virtualisasi lagi selain VirtualBox dan Qemu: VMware. Kalo gak salah inget dulu ada yang dari microsoft, tapi saya udah gak denger kabarnya lagi. Dan WSL (Windows Subsystem for Linux) gak bisa dipasang di notebook saya karena versi Windows yang gak memenuhi syarat.

    Sesudah saya coba VMware, ternyata hasilnya sangat memuaskan. Ubuntu Server booting dengan cukup cepat, walaupun ada yang aneh: setiap eksekusi perintah pake “sudo” pasti awalnya ada delay beberapa detik baru jalan. Akhirnya sesudah instalasi Ubuntu Server saya buat berantakan, saya hapus itu mesin virtual dan saya install Ubuntu Desktop yang berjalan dengan amat lancar, bahkan pada resolusi layar yang cukup tinggi.

    Tau gitu saya pake VMware dari awal.

  • Komputer,  Networking

    Iseng-iseng Berhadiah: Networking

    Saya langganan internet kabel: FirstMedia, selama ini sih gak pernah utak-atik selain ganti password wifi, dan setting ACL (Access Control List) biar daftarin mac address device yang boleh masuk wifi, jadi kalo mac addressnya gak terdaftar biarpun tau password wifinya gak bakal bisa connect (saya dapet router D-Link, bisa di setting di Wireless->Advanced Wireless->ACL Setup).

    Dan baru-baru ini iseng, nyoba2 lihat2 yg lain dan ternyata saya baru tau kalo FirstMedia ngasih IP Address Public ke pelanggannya, emang nggak fixed (tiap kali modem mati terus nyala lagi dapet IP Address yg beda). Untuk ngeceknya tinggal masuk ke menu Status->Device Info, di bagian “WAN Configuration” ada IP Address, coba cocokin kalo liat IP Public di website WhatIsMyIp.com, kalo sama berarti kita dapet IP Public.

    IP Router
    IP Public, cek lewat whatismyip.com

    Nah, di router adminnya bagian Advanced ada macem2 fungsi, dan fungsi yang saya utak-atik adalah “Virtual Server”. Virtual Server ini sebenernya cuma nge-routing kalo ada yang connect ke IP Address routernya di port tertentu, mau dilempar ke IP Address local yg mana dan port berapa. Nah, kalo saya mau bikin web server pribadi di rumah, tinggal pake fasilitas ini. Misalnya di control panel domain temang.ga saya assign bahwa temang.ga itu IP Addressnya 1xx.xxx.xxx.x5 (ip public router saya), terus di router saya di bagian “Virtual Server” saya pasang kalo ada yg connect ke router di port 80 dialihkan ke notebook saya yg punya IP Address local 192.168.0.7 port 80 juga. Jadi nanti kalo ada yg buka http://temang.ga yang kebuka adalah website di komputer saya (yg 192.168.0.7) itu.

    Nah, ini sebenernya membuka banyak “mainan” (he-he-he). Yang kedua saya pasang (yg pertama web server) adalah VNC. Saya sering nge-remote komputer di rumah, tapi nge-remote-nya pake Remote Admin. Pake Remote Admin emang gampang, gak susah, tapi karena konsepnya MITM (Man In The Middle) jadi gak privat. Kalo digambarin kira-kira kaya gini:

    [Notebook saya di luar] <--> [RA Server/MITM] <--> [Komputer di rumah]

    Data yang saya kirim (termasuk password login) itu lewat server Remote Admin dulu, kalo ada pegawai Remote Admin yang iseng jadi bahaya kan.

    Akhirnya saya pasang VNC Server di komputer rumah, dan saya daftarin portnya 5900 dan 5800. Saya coba dan berhasil. Tapi masih ada masalah lagi, karena ternyata koneksi VNC pun gak di-encrypt, jadi tetep aja password dikirim sebagai plain-text dan kalo lagi di kantor dan admin kantor iseng, bisa ketahuan password komputer di rumah saya.

    Sesudah nyari2 pake google, dapet info bisa bikin aman VNC pake ssh, jadi di komputer yg ada VNC-nya (atau komputer lain dlm 1 jaringan) dipasangin SSH Server (saya pake Bitvise SSH Server). Jadi di komputer saya yg di rumah selain saya pasangin VNC saya pasang juga SSH Server. Sesudah itu di settingan router saya disable port VNC, saya tambahin open port SSH (biar bisa ssh dari luar). Terus di notebook saya saya pasangin SSH Client yang bisa port forwarding dengan listen di local port 5900 yang nantinya di forward ke IP local di rumah saya di port 5900 juga. Jadi nanti saya login ssh dulu dari notebook ke komputer di rumah, sesudah connect baru saya jalanin VNC client yang diarahkan ke local notebook saya.

    +----------------------------+------------------+----------------------------+
    | NOTEBOOK                   | ROUTER           | KOMPUTER RUMAH             |
    | VNC Client<-->SSH Client<--|-->Router@Rumah<--|-->SSH Server<-->VNC Server |
    +----------------------------+------------------+----------------------------+

    Akhirnya jadi juga. Mantap.

  • Komputer,  Software

    Crazy About Console

    Saya suka yang berbau retro, karena waktu pake DOS dulu, semua berjalan dengan sangat cepat, kalo buka sesuatu udah agak lambat, berarti ada sesuatu yang salah. Mungkin virus, atau sektor harddisk yang rusak. Yang saya sebut disini bukan program dengan tampilan grafis, tapi yang text murni. Emang sih, sebenernya gak semua berjalan cepat, ada proses-proses yang lambat. Tapi minimal, untuk tampilan biasanya langsung keluar. Biasanya gak ada splash screen, begitu program dijalanin langsung kebuka.

    Awalnya saya bikin catetan yang perlu identasi, jadi ada beberapa teks yang saya tulis mulai posisi kolom tertentu. Masalahnya, di Notepad bener-bener gak ada info apa-apa, jadi ngelurusinnya pake mata aja, nah disinilah saya inget waktu pake DOS, bikin catetan-catetan yang butuh identasi gampang banget, ngelurusinnya juga gampang, soalnya biasanya udah ada informasi baris keberapa, kolom keberapa, dll.

    Akhirnya saya cari2 teks editor console, ada gak sih yg masih bikin? Berburu deh pake google, dan nemu halaman web dengan judul: Wanted: Console Text Editor for Windows. Pas banget! Ternyata di dunia luar sana ada juga yang kepingin teks editor versi console, dan yang lebih kerennya lagi, bukan cuma kepingin tapi ada juga yang bikin. Uhuy!

    Menilai dari screenshot yang disediakan, saya nyoba beberapa yang akhirnya saya pakai sendiri: KIT, FTE, TDE, OSPlus Text Editor. Dan ada dua file manager yang saya ambil: FAR Manager dan Midnight Commander. Entri blog ini saya compose pake TDE. Dan berdasarkan info dari task managernya Windows, Notepad yang baru dibuka (tanpa buka dokumen) menghabiskan memori 1.5 MB, sedangkan TDE yang lagi saya pake cuma make memori 0.4 MB.

    Asik euy!