Ngoprek IoT

Kata IoT – Internet of Things – sedang ngetop sekarang. Dimana-mana saya melihat kata ini sebagai bagian dari seminar, kompetisi, startup, dan seterusnya. Pokoknya seru saja. Nah, sayapun tidak mau ketinggalan.

Saya mencoba menggunakan Arduino UNO dan board buatan DycodeX untuk kode IoT ini. (Sebetulnya saya punya banyak board lainnya, tapi itu untuk cerita terpisah.) Selain board ini saya juga menggunakan LED board buatan ProcodeCG. Berikut ini adalah beberapa video yang saya buat untuk menunjukkan demo / contoh kode dengan board-board di atas.

Dalam dunia hardware, IoT, salah satu cara memulai atau mencoba adalah membuat demo “blinking LED”. Kalau di dunia software, ini adalah “Hello World” versi hardware. Biasanya sih blinking LED-nya hanya satu LED. Kali ini saya mencoba menggunakan beberapa LED biar lebih seru.

Video di bawah ini menunjukkan demo Knight Rider, yaitu LED yang bergerak dari kiri ke kanan dan sebaliknya. Nama ini diambil dari film seri Knight Rider (jaman dahulu dan versi barunya). Dalam film tersebut ada mobil cerdas yang bernama KITT. Kalau dia aktif, maka ada LED yang bergerak-gerak seperti ini.

Dalam video di bawah ini, saya membuat Knight Rider LED juga tetapi dengan menggunakan board Arduino UNO.

Video di bawah adalah demo untuk membuat LED seperti meter yang ada di radio (equalizer). Board yang digunakan adalah DycodeX ESpectro.

Oh ya, kode-kode untuk demo di atas dapat dilihat dan diunduh dari koleksi saya di github.com yaitu di: https://github.com/rahard/BRiot-stuff. Selamat ngoprek.


Filed under: design, programming, teknologi, Teknologi Informasi Tagged: arduino, ESP8266, hardware, IoT, postaday2016, programming, software, teknologi, Teknologi Informasi

Core Identity Issuers (Part II)

Continuing from the previous post (Part I of the Core Identity series), the goal of a Core Identity Issuer (CoreID Issuer) is to collate sufficient data – aggregate data and non-PII data — from members of a given Circle of Trust in order to create a Core Identity and Core Identifier for a given user (see Figure).

The Issuer performs this task as a trusted member of the Circle of Trust, governed by rules of operations (i.e. legal contract) and with the consent of the user. Architectures and techniques such as MIT OPAL/Enigma can be used here in order for the CoreID Issuer to obtain privacy-preserving aggregate data from the various sources who are members of the Circle of Trust.

 

coreid-issuer-v03png

The goals of the Core-ID Issuer within a Circle of Trust are as follows:

  • Onboard a member-user: The Issuer’s primary function is to on-board users who are known to the CoT community, and who have requested and consented to the creation of a Core Identity.
  • Collate PII-free data into a Core Identity: The Issuer obtains aggregate data and other PII-free data regarding the user from members of the CoT. This becomes the core identity for the user, which is retained by the Issuer for the duration selected by the user. The Issuer must keep the core identity as secret, accessible only to the user.
  • Generate Core Identifier (unlinkable): For a given user and their core identity, the Issuer generates a core identifier (e.g. random number) that must be unlikable to the core identity. Note that a core identifier must not be used in a transaction. The core identifier value may be contained as a signed certificate or other signed data structure, with the Persona Provider as its intended audience (see Figure).
  • Issue Core Assertions regarding the Core Identifier: The purpose of the Issuer generating a core identifier is to allow PII-free core-assertions regarding the user to be created. These signed core assertions must retain the privacy of the user, and must declare assertions about the core identifier.
  • Interface with Persona Providers: The Issuer’s main audience is the Persona Provider, who must operate with the Issuer under legal trust framework that calls-out user privacy as a strict requirement. The Issuer must make available the necessary issuance end-points (i.e. APIs) as well as validation end-points to the Persona Provider. In some cases, from an operational deployment view the Issuer and Persona Provider may be co-located or even tightly coupled under the same provider entity, although the functional difference and boundaries are clear.

APWCS 2016

APWCS (Asia Pacific Wireless Communications Symposium) adalah konferensi regional Asia Pasifik yang dikelola oleh IEEE VTS (Vehicular Technology Society) dari chapter-chapter Tokyo, Seoul, Taipei, dan Singapore. Tak bisa disalahkan jika kita membandingkan dengan APCC yang dikelola IEEE bersama dengan IEICE, KICS, CICS. Tahun ini APWCS diselenggarakan di Tokyo City University, Tokyo; 25–26 Agustus 2016. Aku hadir ke simposium ini dalam misi untuk mengaktifkan VTS di Indonesia, termasuk mengajukan kesiapan Indonesia sebagai host APWCS berikutnya.

Kebetulan aku masih punya 76000 Garuda Miles, dan 70000-nya langsung dikonversikan jadi tiket Garuda Cengkareng–Haneda p.p. Berangkat tanggal 23 Agustus menjelang tengah malam, Garuda mendarat di Haneda tanggal 24 pagi. Mandi di airport, dan langsung menjelajah Tokyo. Kuliner pertama adalah sushi segar yang langsung dibuatkan di depan kita. Wow :). Tentu, didahului sop miso yang khas itu.

img_2016-09-30-222311

Kamis pagi, 25 Agustus, barulah mengarah ke Tokyo City University, di kawasan Setagaya, Tokyo. Khawatir dengan gaya Jepang yang seringkali formil, aku pakai suite dengan gaya yang klasik tapi tetap santai. Di sana, Prof Mamoru Sawahashi, General Chair dari APWCS 2016 siap menyambut. Eh, baru sadar, suite kami matching sekali. Prof Sawahashi menceritakan scope simposium, sebaran pesertanya, dan nature dari penyelenggaraan simposium ini. Setiap konferensi memiliki sifat yang berbeda, dan kadang hanya dapat dipahami dengan langsung mengikuti seluruh kegiatan di dalamnya.

img_2016-09-30-222333

Tak lama, Prof Sawahashi harus memutus percakapan, untuk secara resmi membuka APWCS 2016. Berderet keynote speakers dari kalangan akademisi dan industri bergantian memberikan paparan tentang filosofi dan rencana implementasi Jaringan 5G dengan berbagai aspeknya. Ini selalu jadi saat yang mendebarkan, saat kita memiliki kesempatan mendengarkan update terbaru dari researcher senior yang merupakan para inventor & innovator kelas dunia. VTS memiliki sifat yang lebih spesifik dan fokus daripada society yang besar, semisal Comsoc (IEEE Communications Society)  atau IEEE Computer Society. Jadi paparan para researcher ini betul-betul fokus di cutting-edge teknologi 5G.

img_2016-09-30-222346

Tengah hari, Prof Sawahashi mengajak makan siang ke ruang VIP. Di sini, sekaligus dilakukan General Meeting dari APWCS Board of Governor. Anggotanya bukan hanya dari Jepang, tapi dari berbagai negara stakeholder, dengan gaya masing-masing.

img_2016-09-30-222328

Di BoG meeting inilah, aku memaparkan situasi riset & industri mobile di Indonesia, kapabilitas dan peluangnya, serta kemudian mengajukan Indonesia sebagai host dari APWCS berikutnya. Berikutnya itu bukan 2017, karena simposium semacam ini memerlukan persiapan sangat panjang, dan unik. Jadi mereka membuka kesempatan Indonesia menjadi host pada 2019, jika Indonesia memang dapat meyakinkan komitmen & kapabilitasnya.

img_2016-09-30-222322

Cukup banyak masukan yang diberikan bagi Indonesia dalam meeting ini; terutama bahwa Indonesia belum memiliki VTS Chapter. Selain periset dan akademisi serius, mereka sebenarnya sekumpulan macan. Tapi aku semacam macan lokal juga sih. Dan aku bisa menunjukkan bahwa IEEE Indonesia Section memiliki leadership kuat untuk memastikan keberhasilan program ini. Jadi akhirnya mereka secara prinsip menyetujui Indonesia menjadi host. Namun dalam jangka waktu itu, kita harus menunjukkan langkah-langkah kesiapan.

Lepas presentasi, beberapa anggota BoG mengajak berbincang. Sebagian untuk lebih kenal, sebagian lagi untuk meneruskan assessment :). Experience dari Section dan representative-nya pun (yours truly) dieksplorasi. Beberapa nama penting disebut. Entah kebetulan atau keberuntungan, nama-nama yang disebut itu punya hubungan baik dalam perjalanan networking di IEEE, termasuk incoming Director of IEEE Region 10, Prof Kukjin Chun, dan former Director of IEEE Comsoc Prof Byeong Gi Lee. So far so good.

Usai BoG meeting, aku masuk ke sesi-sesi paralel di simposium ini; menyimak beberapa hasil riset para researcher dan mahasiswa. Namun saat break, aku jumpa lagi dengan Chairman of APWCS BoG, Prof Li-Chun Wang. Kami berbincang cukup panjang di meja kecil. Di sini Prof Wang menyampaikan  concern sesungguhnya dari banyak anggota BoG. Fokus BoG sebenarnya bukan simposium atau conference; melainkan memastikan VTS tumbuh di region ini, dengan kegiatan yang terus bertumbuh. Simposium hanyalah sebuah cara untuk memastikan pertumbuhan kegiatan ini. Prof Wang juga menceritakan bagaimana akhirnya BoG bisa yakin untuk tetap mendukung Indonesia di 2019. OK, deal.

img_2016-09-30-222339

Selesai tugas, masih ada waktu untuk meneruskan belajar berbagai aspek dari vehicular technology, khususnya perkembangan 5G network yang menjadi fokus utama tahun ini. Menarik bahwa IoT masuk ke frame ini bukan sebagai requirement yang harus didukung dengan 5G, melainkan benar-benar merupakan bagian terpadu dari 5G itu sendiri.

Dan masih ada waktu juga untuk beristirahat dan berlibur beberapa hari. OK, yang ini kita sambung di blog lain. Aku masih punya travelling blog loh :).

img_2016-09-30-222316

Cloud & Keamanan Data

:: Pagi ini saya mendapatkan kisah sedih sebuah startup, yang kehilangan semua datanya di salah satu provider Cloud yang terkenal, yaitu Digital Ocean : http://istofani.com/wp/digital-ocean-sebuah-mimpi-buruk/ , dan kemudian solusinya adalah pindah ke provider Cloud lainnya. Namun, jika begini saja, maka ybs musti siap-siap untuk kehilangan datanya, lagi :O

Ini adalah akibat dari terlalu gembar-gembor tentang teknologi Cloud, sehingga, orang awam jadi salah paham 🙁
Pada mengira bahwa Cloud itu seperti semacam solusi super tanpa masalah sama sekali. Padahal, kadang justru masalahnya bisa lebih banyak lagi.

=====
KONSEP BACKUP DATA

Faktanya simpel : tidak ada perangkat komputer yang reliable 100%

Semua perangkat komputer itu pasti suatu hari akan rusak 🙂 Komputer itu cuma alat buatan manusia, dia bukan Tuhan yang Maha Kuasa 🙂

Karena ini adalah suatu kepastian, maka, kita musti siap untuk itu.
Failure to plan is planning to fail.

——
Konsep backup / pengamanan data itu mudah, walaupun pelaksanaannya memang tidak selalu demikian & cenderung membosankan 🙂 namun ya musti dilakukan jika ingin data kita aman :

(1) There's no such thing as "too many backup" : pernah ada sebuah institusi yang membackup datanya dengan 5 cara.

Suatu hari, servernya rusak. Maka mereka kemudian berusaha mengembalikan data mereka dari backup.

Ternyata, 4 buah backup mereka bermasalah :V karena berbagai sebab. Perusahaan ini diselamatkan oleh backup mereka yang nomor 5 🙂 (y)

(2) Check the backup : pastikan bahwa backup dari data Anda itu memang bisa digunakan untuk memulihkan data Anda 🙂 menilik kasus yang dibahas di poin 1 diatas, salah satu masalahnya adalah data backup ternyata disimpan di cartridge tape yang sebetulnya sudah rusak – cuma bisa ditulis, namun, tidak bisa dibaca :V tidak disangka sama sekali.

Kasus lainnya juga cukup mengenaskan, seperti backup otomatis yang terus berjalan setiap hari – namun sebetulnya tidak menyimpan apapun, karena ternyata lokasi penyimpanannya sudah penuh :V

Dan berbagai kasus lainnya – selalu periksa backup data Anda.

(3) Offsite backup : ada orang yang melakukan backup data di laptopnya ke #sdcard di laptop itu juga 🙂 dan lalu suatu hari laptop tersebut dicuri 🙁 habislah sudah.

Offsite backup, cadangan data di lokasi yang berbeda, itu bukan paranoid. Ini adalah kebutuhan, hal yang perlu dilakukan, jika Anda ingin memastikan keamanan data Anda.

Sama juga dengan perusahaan, jika server Anda ada di DigitalOcean, dan lalu Anda backup datanya di DigitalOcean juga – dan suatu hari DigitalOcean mengalami masalah 🙂 apakah kira-kira data Anda selamat ? 🙁 tentu saja tidak.

Pastikan bahwa backup data Anda sudah berada di lokasi yang berbeda dan aman.

========
Cloud bukan silver bullet, solusi seperti sihir yang serba bisa. Cloud itu adalah solusi untuk beberapa hal, namun, Anda tetap perlu memahami cara kerjanya. Jika ingin selamat selama penggunaannya.

Semoga bermanfaat.

========
BAHAN BACAAN :

http://www.hanselman.com/blog/TheComputerBackupRuleOfThree.aspx


The Computer Backup Rule of Three
I’m ALWAYS pounding people to backup. I will continue. BACKUP YOUR STUFF. If you care about it, back it up. Let’s talk. …

Post imported by Google+Blog for WordPress.

Sholat & Anak-anak Kita

:: Siang ini sholat Jum'at diramaikan oleh tangisan balita di belakang saya 🙂 terdengar dia menangis minta digendong oleh bapaknya. Namun, bapaknya terus sholat, sehingga tidak lama kemudian, tangisannya berubah menjadi #histeris :O haduh, kasihan sekali saya mendengarnya. Terus demikian, sampai akhirnya sholat Jumat pun selesai.

Alhamdulillah saya sih tidak pusing mendengar tangisan balita ini, namun, orang lain belum tentu. Dan tentu saja kasihan anak kecil yang belum paham, kenapa bapaknya tidak mengacuhkan dia ? Kenapa dia dibiarkan begitu saja…. :O

Padahal sebetulnya bergerak dalam sholat itu tidak apa dalam kondisi tertentu 🙂 Saat darurat, misalnya mendadak ada ular masuk; maka kita musti bunuh / amankan dulu – lalu lanjut lagi sholat (tanpa perlu mengulang dari awal). Dan termasuk yang dibolehkan bergerak dalam sholat itu adalah untuk mengurus anak 🙂 seperti menggendongnya.

Rasulullah saw itu terkenal sebagai lelaki yang amat penyayang, dan terlebih lagi pada anak-anak kecil.

Suatu hari pernah beliau sholat berjamaah di masjid, bersama cucunya juga; dan kemudian para sahabat kebingungan 🙂 karena salah satu sujudnya amat, sangat lama. Selesai sholat, mereka pun menanyakan tentang itu kepada beliau :

Rasulullah saw bersabda, "Bukan begitu… Hanya saja, cucuku ini naik ke atas punggungku. Dan aku tidak ingin menurunkannya dengan segera hingga dia merasa puas (bermain / berada di atas punggungku)" 😀 <3 (HR Ahmad, Nasai, dan Hakim)

Ya, Nabi Muhammad saw adalah idola & teladan saya dalam soal menyayangi anak-anak 🙂

Mudah-mudahan makin banyak para bapak (dan ibu) yang mengetahui tentang ini, sehingga tidak lagi cemas & khawatir untuk mengurus anaknya bahkan ketika sedang sholat 🙂 (y)

=====
Kejadian siang ini sekaligus adalah peringatan kepada para Imam, bahwa ketika memimpin sholat, dia musti ingat dengan jamaah nya juga dan berbagai kebutuhan mereka. Dan bukannya cuma asyik menikmati merdu suaranya sendiri. :v

Nabi Muhammad saw terkenal sebagai sosok yang ramah & penyabar, sangat jarang marah. Salah satu kejadian yang menyebabkan kemarahan beliau, dan marah besar pula, adalah hal ini ; Imam yang #zalim dalam memimpin sholat :

Abu Al Mas'ud Al Anshari meriwayatkan, bahwa seorang sahabat berkata: "Wahai Rasulullah, aku hampir tidak sanggup shalat yang dipimpin seseorang dengan bacaannya yang panjang."

Maka aku belum pernah melihat Nabi shallallahu 'alaihi wasallam memberi peringatan dengan lebih #marah dari yang disampaikannya hari itu seraya bersabda:

"Wahai manusia, kalian membuat orang lari menjauh. Maka barangsiapa shalat mengimami orang-orang, ringankanlah ! Karena diantara mereka ada orang sakit, orang lemah dan orang yang punya keperluan" (HR Bukhari)

Semoga kita semua bisa menjadi Imam / pemimpin yang baik, peduli & menyayangi jamaah / bawahan kita, amin.

=====
Rujukan :

Dari Abu Qatâdah al-Anshari Radhiyallahu anhu , ia berkata : saya melihat Rasûlullâh Shallallahu ‘alaihi wa sallam shalat mengimami para Sahabat sambil menggendong Umamah bin Abi al-Ash, anak Zaenab puteri Beliau Shallallahu ‘alaihi wa sallam, di atas bahunya, maka apabila ruku Beliau meletakkannya dan apabila selesai sujud Beliau menggendongnya kembali." (HR Bukhari & Muslim)

https://upload.wikimedia.org/wikipedia/commons/e/e4/Dark_vignette_Al-Masjid_AL-Nabawi_Door800x600x300.jpg

upload.wikimedia.org/wikipedia/commons/e/e4/Dark_vignette_Al-Masjid_AL-Nabawi_Door800x600x300.jpg

Post imported by Google+Blog for WordPress.

Sholat & Anak-anak Kita

 

:: Siang ini sholat Jum’at diramaikan oleh tangisan balita di belakang saya 🙂 terdengar dia menangis minta digendong oleh bapaknya. Namun, bapaknya terus sholat, sehingga tidak lama kemudian, tangisannya berubah menjadi #histeris :O haduh, kasihan sekali saya mendengarnya. Terus demikian, sampai akhirnya sholat Jumat pun selesai.

Alhamdulillah saya sih tidak pusing mendengar tangisan balita ini, namun, orang lain belum tentu. Dan tentu saja kasihan anak kecil yang belum paham, kenapa bapaknya tidak mengacuhkan dia ? Kenapa dia dibiarkan begitu saja…. :O

Padahal sebetulnya bergerak dalam sholat itu tidak apa dalam kondisi tertentu 🙂 Saat darurat, misalnya mendadak ada ular masuk; maka kita musti bunuh / amankan dulu – lalu lanjut lagi sholat (tanpa perlu mengulang dari awal). Dan termasuk yang dibolehkan bergerak dalam sholat itu adalah untuk mengurus anak 🙂 seperti menggendongnya.

Rasulullah saw itu terkenal sebagai lelaki yang amat penyayang, dan terlebih lagi pada anak-anak kecil.

Suatu hari pernah beliau sholat berjamaah di masjid, bersama cucunya juga; dan kemudian para sahabat kebingungan 🙂 karena salah satu sujudnya amat, sangat lama. Selesai sholat, mereka pun menanyakan tentang itu kepada beliau :

Rasulullah saw bersabda, “Bukan begitu… Hanya saja, cucuku ini naik ke atas punggungku. Dan aku tidak ingin menurunkannya dengan segera hingga dia merasa puas (bermain / berada di atas punggungku)” 😀 <3 (HR Ahmad, Nasai, dan Hakim)

Ya, Nabi Muhammad saw adalah idola & teladan saya dalam soal menyayangi anak-anak 🙂

Mudah-mudahan makin banyak para bapak (dan ibu) yang mengetahui tentang ini, sehingga tidak lagi cemas & khawatir untuk mengurus anaknya bahkan ketika sedang sholat 🙂 (y)

===
Kejadian siang ini sekaligus adalah peringatan kepada para Imam, bahwa ketika memimpin sholat, dia musti ingat dengan jamaah nya juga dan berbagai kebutuhan mereka. Dan bukannya cuma asyik menikmati merdu suaranya sendiri. :v

Nabi Muhammad saw terkenal sebagai sosok yang ramah & penyabar, sangat jarang marah. Salah satu kejadian yang menyebabkan kemarahan beliau, dan marah besar pula, adalah hal ini ; Imam yang #zalim dalam memimpin sholat :

Abu Al Mas’ud Al Anshari meriwayatkan, bahwa seorang sahabat berkata: “Wahai Rasulullah, aku hampir tidak sanggup shalat yang dipimpin seseorang dengan bacaannya yang panjang.”

Maka aku belum pernah melihat Nabi shallallahu ‘alaihi wasallam memberi peringatan dengan lebih #marah dari yang disampaikannya hari itu seraya bersabda:

“Wahai manusia, kalian membuat orang lari menjauh. Maka barangsiapa shalat mengimami orang-orang, ringankanlah ! Karena diantara mereka ada orang sakit, orang lemah dan orang yang punya keperluan” (HR Bukhari)

Semoga kita semua bisa menjadi Imam / pemimpin yang baik, peduli & menyayangi jamaah / bawahan kita, amin.

===
Rujukan :

Dari Abu Qatâdah al-Anshari Radhiyallahu anhu , ia berkata : saya melihat Rasûlullâh Shallallahu ‘alaihi wa sallam shalat mengimami para Sahabat sambil menggendong Umamah bin Abi al-Ash, anak Zaenab puteri Beliau Shallallahu ‘alaihi wa sallam, di atas bahunya, maka apabila ruku Beliau meletakkannya dan apabila selesai sujud Beliau menggendongnya kembali.” (HR Bukhari & Muslim)

Post imported by Google+Blog for WordPress.

Core Identities and Transaction Identifiers for Blockchains

Etymology: Middle French identité, from Late Latin identitat-, identitas, probably from Latin identidem repeatedly, contraction of idem et idem, literally, same and same (Merriam-Webster Dictionary).

Identity is about trusted data — trusted personal data. Human beings live within social constructs and communities. People who know me can vouch for me. Organizations that know me can issue assertions or attestations about me.

At the heart of all this is the notion of the core identity, something that is inherent as part of me and inalienable from me.

There are a number of key concepts and principles underlying the notion of core identities, core identifiers and personas (see Figure).

coreid-persona-concept-v04png

 

A fundamental concept is that of derived identities and derived identifiers which provides not only privacy to its user (the person or organization that it represents) but also a degree of defense in the case of attacks against identity providers (e.g. identity theft) and for a safety net in the rare case of weaknesses within the underlying cryptographic implementations.

I would argue that transaction identities and transaction identifiers are the forms of identities that should be used on the Internet and that they must be derived (e.g. cryptographically) from a core identity which itself must be kept as private or secret. Should a transaction identity be compromised or stolen, it can be placed on a public “blacklist” and a new one be derived for the user. The derivation process or algorithms must maintain the privacy of the user and the secrecy of the user’s core identity.

Some definitions:

We define identity as the collective aspect of the set of characteristic or features by which a thing (e.g. human; device; organization) is recognizable and distinguishable one from another.  In the context of a human person, individuality of a person plays an important role in that it allows a community of people to recognize the distinct characteristics of an individual person and consider the person as a persisting entity.

  • Core identity: The collective aspect of the set of characteristics (as represented by personal data) by which a person is uniquely recognizable, and from which a unique core identifier may be generated based on the set of relevant personal data.

Thus, for example, the set of transaction data associated with a person can be collated and be used to create a core identity that distinguishes that person from others. Out of this set of transaction data, a core identifier may be generated and be held as a joint secret by its issuer and the person. The core identity pertaining to a person must be kept secret, and not be used in transactions.

  • Core Identifier: A secret data (e.g. string) or secret mechanism (e.g. crypto function) that uniquely identifies a person or entity. The core identifier must be immutable, must be kept secret, and never be used directly in transactions.
  • Persona: A persona is defined by and created based on a collection of attributes used in a given context or a given relationship. Thus, a person may have a work-persona, home-persona, social-persona, and others.  Each of these personas is context-dependent and involves only the relevant subset of the core identity characteristics of that person. A person may have one or more personas.
  • Transaction Identity and Identifier: When an individual seeks to perform a transaction (e.g. on the Internet, on a blockchain or other transacting mediums) he or she chooses a relevant persona and derives from that persona a transaction identity (and corresponding digital identifier) to be used in the transaction. A transaction identity maybe short-lived and may even be created only for that single transaction instance. A useful analogy is that of credit card numbers, which may be used at a Point of Sale (POS) locations without the user needing to provide any additional identifiers (i.e. reveal data from their core identity such as Social Security Number) and which may be replaced at any time without impacting the user’s core identity.

zstd – kompres data dengan cepat

:: Salah satu cara paling mudah untuk meningkatkan performa website adalah dengan mengaktifkan fitur kompresi di server.

Maka bisa didapat peningkatan performa sampai 4x lipat, dan tentu saja penggunaan bandwidth juga turun drastis 🙂 karena dikompres.

Algoritma kompresi yang paling sering digunakan adalah deflate, ini memang cukup cepat & hasilnya cukup kecil. Serba cukup 🙂
Namun, di situs yang populer, tetap saja masih terasa berat.

Karena itu Facebook membuat zstandard, sebuah kompresi baru, yang sangat cepat : https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compression-with-zstandard/

Terlampir gambar hasil test yang saya lakukan dengan menggunakan data dari Silesia Corpus. Nampak jelas kelebihannya, apalagi untuk situs yang sibuk, tentu akan makin terasa lagi.

Di Debian 9, instalasi zstandard ini sangat mudah, cukup 1 perintah saja : apt-get install zstd

Selamat mencoba 🙂

====
RUJUKAN :

benchmark (format Libreoffice) : https://drive.google.com/open?id=0B1hIcH1WUQecczU5cU9hblJDcnc

benchmark (format PDF) : https://drive.google.com/open?id=0B1hIcH1WUQecZGxpTFY0dDVCVjg

Silesia Corpus : http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia

zstd from Facebook : https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compression-with-zstandard/

====
CARA BENCHMARK

time gzip -k silesia.tar ; ls -l silesia.tar.gz
rm -f silesia.tar.gz
time pigz -k silesia.tar ; ls -l silesia.tar.gz
time bzip2 -k silesia.tar ; ls -l silesia.tar.bz2
rm -f silesia.tar.bz2
time pbzip2 -k silesia.tar ; ls -l silesia.tar.bz2
time xz -k silesia.tar ; ls -l silesia.tar.xz
time zstd -k silesia.tar ; ls -l silesia.tar.zst

time gzip -dkf silesia.tar.gz
time pigz -dkf silesia.tar.gz
time bzip2 -dkf silesia.tar.bz2
time pbzip2 -dkf silesia.tar.bz2
time xz -dkf silesia.tar.xz
time zstd -dkf silesia.tar.zst


Post imported by Google+Blog for WordPress.