Bayar Pajak Motor di SAMSAT Keliling ITC BSD

Ceritanya kemarin (Sabtu) saya mau bayar pajak motor. Seperti biasa, saya bayar pajak motor selalu di SAMSAT BSD yang dekat ITC BSD. Namun hari itu saya datang terlalu siang. Sampai di SAMSAT jam 11 lewat. Ternyata loket pendaftaran sudah ditutup ūüė¶

Lalu saya tanya ke salah satu grup WA kantor apakah ada tempat lain untuk bayar pajak motor. Ternyata ada. Yaitu di SAMSAT Keliling yang mangkal di parkiran motor ITC BSD.

Kata petugasnya SAMSAT Keliling ini sudah beroperasi 5 bulan di ITC BSD, dan belum ada rencana untuk pindah.

Jam operasionalnya:

Senin-sabtu 16.00-19.00
Minggu 11.00-14.00

Kemarin saya datang pas ngga ada antrian, 5 menit sudah selesai!

IMG_20190216_174458278

** Di belakangnya SAMSAT Keliling itu mobil SIM Keliling. Cuma saya ngga tanya jam operasional nya..

 

Advertisements

Mengurus SHGB menjadi SHM di Kabupaten Tangerang

img_20190123_083745499[1]

Artikel kali ini ditulis untuk sharing pengalaman sekaligus apresiasi terhadap pelayanan kantor Badan Pertanahan Nasional (BPN) Kabupaten Tangerang yang sangat baik. Saya mengurus Sertifikat Hak Guna Bangunan (SHGB, atau disingkat HGB) menjadi Sertifikat Hak Milik (SHM) secara mandiri tanpa menggunakan jasa notaris. Kalau pakai jasa notaris, harganya mungkin sampai sejuta atau lebih. Kalau bisa meluangkan waktu untuk mengurus sendiri, harganya jauh lebih murah. Prosesnya mudah dan cepat.

Kantor BPN Kabupaten Tangerang berlokasi di Tigaraksa. Kantor BPN ini berada di dalam kawasan kantor pemerintahan Kabupaten Tangerang. Kebetulan selain ke kantor BPN, saya juga mengurus dokumen di Kantor Disdukcapil. Jadi sekalian deh…

Tanggal 22 Januari 2019 saya datang ke kantor BPN. Saya tiba jam 09.00. Begitu buka pintu kaca, mata saya scanning isi sekeliling ruangan. Saat itu masih sepi. Hanya ada satu dua orang pengunjung. Layout ruangan cukup modern dengan sederet counter yang bernomer. Ruangan adem, nyaman, dan harum layaknya bank. Dekat pintu masuk ada bapak petugas yang jaga mesin antrian. Saya kasih tau keperluan saya untuk mengurus HGB menjadi SHM. Lalu si bapak dengan fasihnya menyebutkan syarat-syarat dokumen satu per satu. Sudah di luar kepala, pasti sudah biasa menghadapi orang yang mengurus HGB ke SHM. Saya lupa mencatat apa saja dokumen yang diperlukan, tapi seingat saya ini:

  1. Sertifikat HGB asli
  2. IMB dan fotocopy (IMB biasanya diberikan oleh developer)
  3. KTP asli dan fotocopy
  4. Bukti pembayaran PBB terakhir. Ingat bukan hanya lembar tagihan PBB yang warna ungu itu ya. Tapi juga bukti pembayaran yang dicetak oleh bank atau Alfamart saat kita melakukan pembayaran
  5. Materai 6000 satu lembar
  6. Untuk jaga-jaga jika ditanyakan, mungkin bawa juga Akta Jual Beli dan Kartu Keluarga

Setelah diperiksa kelengkapan dokumen, langsung diarahkan ke salah satu counter. Petugas di counter lakukan verifikasi dokumen-dokumen tersebut. Setelah itu, saya diberikan map dan formulir yang perlu diisi.  Nah agak gampang-gampang susah isi formulirnya karena ada isian nomer yang mengacu ke sertifikat. Untungnya si bapak yang jaga mesin antrian tersebut datang dan menawarkan bantuan mengisi formulir tersebut. 5 menit sudah selesai diisi. Kemudian saya dikasih nomer antrian. Saat itu nomer saya yang terdepan, jadi saya langsung ke counter lagi untuk menyerahkan map dan formulir yang telah diisi. Setelah itu saya diberikan lembar billing membayar sebesar Rp. 50.000. Pembayaran dilakukan di loket pembayaran dalam ruangan yang sama. Saat itu saya membayar menggunakan kartu Debit Mandiri. Di loket sudah tersedia mesin EDC, jadi tinggal gesek dan masukkan kode billing. Ini dibantu oleh petugas loket. Setelahnya, petugas memberikan bukti pembayaran yang saya serahkan ke counter sebelumnya. Kemudian petugas counter memberikan lembar tanda terima, yang akan ditunjukkan pada waktu pengambilan sertifikat. Petugas memberi tahu bahwa sertifikat akan selesai sekitar jam 3 sore. Tapi saya memutuskan untuk mengambil besok paginya saja.

Besok pagi saya tiba di kantor BPN sekitar pukul 08.30, dan memasukkan lembar tanda terima ke loket pengambilan. Setengah jam kemudian, nama saya dipanggil. Petugas minta saya tunjukkan KTP untuk memastikan benar-benar saya adalah pemilik sertifikat yang akan diambil. Jadi jangan lupa bawa KTP ya. 

Petugas kemudian menyodorkan sebuah sertifikat yang adalah SHM sayaaaaa.. ūüôā Petugasnya menjelaskan dengan pelan-pelan bahwa SHGB sudah diubah jadi SHM. Di situ saya baru tahu bahwa Sertifikatnya masih sama. Hanya tulisan HAK GUNA BANGUNAN dicoret dan diganti HAK MILIK. Nomer sertifikat juga dicoret dan ditambahkan nomer yang baru. HGB sudah jadi SHM.. Legaaaaa…!

img_20190123_083823720[1]

img_20190123_084358300[1]
Tersedia juga counter untuk disabilitas

ESP8266 painlessMesh Topology Visualizer in Python

A few months ago I have been experimenting with the ESP8266 painlessMesh network. The library provides a JSON string of the formed mesh topology, for example it looks like this:

[
    {
        "nodeId" : 2147321731,
        "subs" : [
            {
                "nodeId" : 2147319552,
                "subs" : [
                ]
            }
        ]
    },
    {
        "nodeId" : 2142436483,
        "subs" : [
            {
                "nodeId" : 2787708644,
                "subs" : [
                ]
            }
        ]
    },
    {
        "nodeId" : 2142436495,
        "subs" : [
            {
                "nodeId" : 2787708676,
                "subs" : [
                    {
                        "nodeId" : 2142436497,
                        "subs" : [
                        ]
                    },
                    {
                        "nodeId" : 2787708620,
                        "subs" : [
                        ]
                    }
                ]
            }
        ]
    }
]

At some points I think it would be very nice if I can immediately see how the mesh topology looks like. So I decide to write a simple GUI application that can visualize the mesh topology. For a rapid development I go for Python. I have not much prior experience in Python programming, and would like to use a nice and free IDE. I found one and really enjoyed using it. It is called PyCharm (v. 2017.2.3). It has editor, project viewer, debugger, runner, version control, etc. So it is quite a comprehensive IDE.

These videos demonstrate how the visualizer works:

Basically, the visualizer receives MeshTopology strings sent by a ESP8266 on serial port. The visualizer then parse the strings, build NetworkX graph, and draw the graph.  Graph drawing is based on the NetworkX (v.2.0) library. However, to make it work in this application, a little modification is made on the file networkx/drawing/nx_pylab.py. nx_pylab.py has a function called draw(). By default, draw() returns nothing. But to make it work in this application, I modify the draw() function to return cf (figure reference), node_collection.

return cf, node_collection

Higher version of NetworkX most likely will not work because the drawing function is discarded. NetworkX drawing functions depend on Qt5 library. So you need to install PyQt library as well.

Before running the codes, ensure the correct serial port number is provided matching to your setup. The line is in file top.py, function setupUi(self, MainWindow):

# init and open serial port
# SET COMxx to the corresponding serial port number used by the ESP
comPortNum ='COM31'<span data-mce-type="bookmark" id="mce_SELREST_start" data-mce-style="overflow:hidden;line-height:0" style="overflow:hidden;line-height:0;">&#65279;</span>

As you can see from the videos above, some of the application features are:

  • Visualize mesh topology. The figure is updated whenever the topology has changed. The draw() function distributes the node position based on some sort of random statistical formula, which results in most likely different node position every time the graph is updated
  • A click on node ‘Me’ will pop up ‘broadcast’ dialog box. Through this dialog, we can set parameters all of nodes.
  • A click on nodes other than ‘Me’ will pop up ‘single’ dialog box. We can set and read parameters on that particular node

On the ESP8266 side, the library painlessMesh v.1.0.1 is used. The ESP8266 regularly sends the MeshTopology to serial port. It can interpret commands from the visualizer application, such as:

  • Reading the node available heap memory
  • Forwarding messages to a single node
  • Forwarding messages to all nodes
  • Set and read parameters (i.e. ‘timer’ and ‘brightness’)

The Python mesh visualizer source codes are available at:

https://github.com/yoppy-tjhin/meshTopologyVisualizer

The app is started from main_window.py. It then loads a window from top.py. The top.py orchestrates all other functions, such as Serial thread, parsing MeshTopology, drawing graphs, etc.

And the Arduino ESP8266 painlessMesh codes can be found at:

https://github.com/yoppy-tjhin/espMesh

The following video shows a demo  of 10-node ESP8266 painlessMesh network:

Mengurus Visa Taiwan (Kedua Kalinya)

Tahun 2016 pertama kali saya mengurus visa Taiwan, seperti yang  pernah saya tuliskan di sini. Tahun 2018 ini saya akan berkunjung kembali ke Taiwan, dan saya mengurus visa secara mandiri lagi. Tapi kali ini, saya juga sekalian mengurus 3 visa keluarga saya.

Informasi tentang visa Taiwan bisa dilihat di sini.  Apa saja persyaratan yang harus disiapkan untuk membuat visa turis bisa dilihat di sini. Untuk pegawai, perlu menyertakan surat keterangan kerja dari kantor. Namun, dua anggota keluarga saya bukan pegawai kantor, tapi buka usaha sendiri. Jadi saya membawa SIUP (Surat Izin Usaha Perdagangan) mereka, dan ternyata dokumen ini memang diminta untuk disertakan. Sedangkan untuk booking tiket pesawat dan hotel tidak diminta, dan memang tidak tertulis dalam list persyaratan di atas.

Jam buka pendaftaran visa di kantor TETO adalah 08.30. Waktu itu saya datang hari Senin, tiba jam segituan, dan tidak ada antrian. Segera setelah dokumen diserahkan dan biaya dibayarkan, saya langsung pulang. Mungkin cuma 5-10 menit di kantor TETO. Kata petugasnya, hari Rabu (berarti 3 hari kerja ya) visa sudah bisa diambil. Hanya saja saya baru sempat datang hari Kamis. Untuk jadwal pengambilan, mulai buka jam 13.30.

Tak lupa, sebelum meninggalkan TETO, saya keluarkan handphone, buka app kamera, dan jepret…

IMG_20180604_085945544

(Terlihat ramai saudara-saudara kita yang akan bekerja sebagai TKI).

 

 

Scan and remove viruses using Clamav in Ubuntu

Recently my USB drive got infected. The virus duplicates existing files, but with an .exe extension. All of them are of 411,something kB in size. Later, this is scanned and identified as Trojan virus.

A short googling shows that clamav¬†is a popular antivirus in Ubuntu, Linux in general. Without further ado, I then proceed to sudo apt-install clamav. The version 0.99 is installed. Before scanning, first we need to update the virus databases. The sudo¬†freschclam¬†command,¬† which is used to accomplish the job, doesn’t work. Maybe I haven’t tried hard enough. But some people suggest that it might be due to old version problem. So then I decide to uninstall clamav 0.99, and reinstall to the new version 0.100.0.

This time I install the clamav from the sources. I am fully aware that is not the only way to get clamav working nor a comprehensive and thorough tutorial. But here I am just showing the steps I have taken which leads me to a success. Oh btw, my OS is Ubuntu 16.04.

  1. sudo apt-get remove clamav (uninstall the existing clamav)
  2. sudo apt-get autoremove (uninstall dependencies, just to make sure they don’t mix up with the new version and cause problems)
  3. Download the source from https://www.clamav.net/downloads/production/clamav-0.100.0.tar.gz. This is version 0.100.0.
  4. Then go to the containing directory, and unzip it.
  5. ./configure (for checking dependencies and prepare some other stuff before compilation). Fail at this stage due to missing openssl library
  6. sudo apt-get install libssl-dev
  7. ./configure (again)
  8. sudo make (building the executable from sources. Might take some time to finish)
  9. sudo make install (installing all the files built from previous step to the appropriate directories)
  10. sudo freshclam (to download the virus databases). But fail at this stage because unable to parse the freshclam.conf. Actually it does not exist yet, but the example configuration file is provided.
  11. cd /usr/local/etc/ (go to the directory containing example conf file)
  12. sudo cp freshclam.conf.sample freshclam.conf
  13. sudo nano freshclam.conf (edit the file)
  14. Comment out the word ‘Example’ and save it
    # Comment or remove the line below.
    #Example
  15. sudo freshclam (again. it works now. take some time to download the databases)
  16. sudo clamscan -r -i –move=/home/yoppy/virus /media/yoppy/USB-drive-path
    -r is for recursive scanning. -i for showing detected scan only. Now we are ready to scan dan move the virus to another folder. And, delete it afterward. We can also delete the virus immediately with¬†–remove option

clamscan virus detected

 

Programming ESP8266 using Visual Studio Code with Arduino Extension

So now I have used the official Arduino IDE for some time to program the ESP8266. It is a convenient and quick-to-get-started method (check here). But recently I plan to write an application that I feel it would be uncomfortable to write codes using the limited features of Arduino IDE. I find particularly two feature-rich IDEs out there, which are free and highly recommended by communities, namely Atom and Visual Studio Code. With Atom, we need to add the PlatformIO extension for programming embedded systems, including the ESP8266. While with VS Code, we need to install either PlatformIO or Arduino extension.

I had difficulties to get both Atom-PlatformIO and VS Code-PlatformIO working. Somehow the PlatformIO installation was not able to complete. I suspected it was caused by my office internet proxy. I spent quite some time to solve it but did not succeed, so I abandoned it and tried the Arduino extension.

Getting the VS Code with Arduino extension working was not that straight forward either. If you search for the Arduino extension, you will find two choices, either developed by Microsoft or Steve Yin. Initially I chose the one developed by Microsoft. Well, Arduino extension is just an extension that allows users to tell the VS Code where the tools for compiling and uploading code reside. So we must have the official Arduino IDE installed because its tools for compiling and uploading will be used by the VS Code. Then we need to specify the Arduino IDE path in the VS Code ‘User Settings’. Btw, my OS was Windows 8,¬†and I installed the official Arduino IDE version 1.8.2. For unknown reasons compiling sketch using VS Code was always fail with a message saying ‘[Error] Exit with code=undefined’.¬†Actually, I also had an Ubuntu machine, and I managed to get the Arduino extension working. I could compile and upload codes to the ESP8266. But for some reasons, I still preferred to work on my Windows 8 machine.

So, then I gave the Steve Yin’s Arduino extension a try on my Win 8. The compile and upload options in User Settings were more complicated than those of Microsoft one.¬† But happily I succeeded to compile and write bits of codes to the ESP8266 flash memory. The easiest way to specify the compile and upload options is by adapting them from the command list spat out from the Arduino IDE console output. Again, you can follow this instruction to program ESP8266 using Arduino IDE.

arduino ide compile - for vs code arduino ext

Here is my VS Code ‘User Settings’:

"arduino.uploader" : "C:\\Users\\User-pc\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\esptool\\0.4.9\\esptool.exe",
"arduino.uploadOptions": "-vv -cd nodemcu -cb 921600 -cp COM12 -ca 0x00000 -cf $TARGET.bin",
"arduino.compileOptions": "-compile -logger=machine -hardware D:/Master/arduino-1.8.2/hardware -hardware C:/Users/User-pc/AppData/Local/Arduino15/packages -tools D:/Master/arduino-1.8.2/tools-builder -tools D:/Master/arduino-1.8.2/hardware/tools/avr -tools C:/Users/User-pc/AppData/Local/Arduino15/packages -built-in-libraries D:/Master/arduino-1.8.2/libraries -libraries C:/Users/User-pc/Documents/Arduino/libraries -fqbn=esp8266:esp8266:nodemcuv2:CpuFrequency=80,UploadSpeed=115200,FlashSize=4M3M -vid-pid=0X2341_0X0043 -ide-version=10802 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool.path=C:/Users/User-pc/AppData/Local/Arduino15/packages/esp8266/tools/esptool/0.4.9 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:/Users/User-pc/AppData/Local/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2 -prefs=runtime.tools.mkspiffs.path=C:/Users/User-pc/AppData/Local/Arduino15/packages/esp8266/tools/mkspiffs/0.1.2 -verbose",
In the “arduino.compileOptions” I omitted the built-path and built-cache options since they caused compiling to fail. The Arduino extension had its own built-cache which worked fine. I had not looked further for the meaning of the other options. They might be fine to be deleted. However they seems didn’t do any harm, by now I just leave it there.
In the “arduino.uploadOptions” we could set the COM port and upload speed. By default, the upload speed is 115200, which was quite slow. I found it somewhere that says we can increase the speed by a factor of 8, so it becomes 921600. It was indeed much faster. But the reference I read also says that this high speed can sometimes be unstable. So, bear this in mind.¬†I did try other higher baud rates: 1500000, 1843200, 2000000. However the uploading time took longer than that of 921600.
vs code arduino ext compile
Initially I thought installing these tools for programming ESP8266 would be just some clicks away. But in fact I had spent a lot of time to get it done properly. I hope you have a nice and smooth installation. In case you face the same problem, hope my experience would help.
Happy coding!

Asal-usul kata pulsa pada ponsel

cellphone

Pagi ini sebelum mandi sempat terpikir bagaimana sebenarnya asal usul kata ‘pulsa’ pada ponsel. Hari ini pulsa pada ponsel berarti saldo yang bisa digunakan untuk telepon, sms, maupun streaming data. Menurut KBBI, salah satu arti kata pulsa adalah satuan dalam perhitungan biaya telepon. Pulsa, yang berasal dari bahasa Inggris pulse, memiliki arti asli: denyut atau detak.

Kalau ditanya ‘Kamu punya pulsa ngga?’, dalam sepersekian detik kita bisa langsung mengerti maksudnya. Tapi kalau pertanyaan yang sama diterjemahkan dalam bahasa Inggris ‘Do you have pulses?’, kita membutuhkan beberapa waktu untuk mengerti maksudnya. Yang terjadi dalam pikiran saya kira-kira begini:

“Hah? Dia tanya apakah saya punya denyutan? Apakah saya masih hidup? Tidak masuk akal. Pasti bukan itu maksudnya. Hmmmm, apalagi ya arti pulse yang lain nya? Oh mungkin maksudnya apakah saya punya pulsa untuk telepon. Tapi saya masih perlu bertanya balik untuk konfirmasi apakah benar maksudnya seperti itu.”

Pertanyaan di atas dijamin tidak akan dimengerti oleh orang selain orang Indonesia. Mengapa? Karena makna pulsa telah bergeser sedemikian jauh dari arti dasarnya sampai tidak ada hubungan nya lagi: dari denyut menjadi satuan biaya telepon. Lalu bagaimana perubahan ini terjadi?

Dulu zaman belum ada ponsel, dan di rumah saya belum ada sambungan telepon, malam-malam di atas jam 9 saya sering ikut ibu ke wartel di Nanga Pinoh untuk menelepon tante saya di Pontianak. Saya perhatikan display total biaya telepon nya akan bertambah setiap beberapa detik tertentu. Misalnya tiap 20 detik akan bertambah Rp.1.000,-. Interval ini berbeda-beda untuk setiap kota tujuan. Kalau tidak salah ingat (tercantum dalam struk), tiap interval inilah yang disebut pulsa. Jadi total biaya telepon adalah jumlah pulsa dikali dengan biaya per pulsa.

Ketika awal-awal ponsel GSM mulai populer, untuk menelepon dengan kartu prabayar kita harus mengisi ‘pulsa’ menggunakan voucher fisik yang digosok. Seingat saya, pulsa yang diisikan adalah dalam satuan rupiah. Mungkin karena waktu itu belum ada kata yang bisa dipakai untuk merujuk ke arti saldo telepon tersebut, jadi paling mudah dipakailah kata ‘pulsa’ yang sudah ada. Walaupun agak-agak kurang nyambung juga sih¬†ūüôā

Saya tidak tau apakah pernah pada awalnya pengisian pulsa tersebut dihitung literally dalam satuan pulsa (seperti halnya menelepon di wartel), dan bukan rupiah. Kalau betul begitu, maka sangat bisa dipahami mengapa kata pulsa terbawa sampai sekarang.

Entahlah kebenarannya. Begitulah kira-kira yang terpikir tadi pagi sebelum mandi