Friday, 30 December 2016

Awesome Jekyll

Status : Draft


Landing Page Themes

  1. Landing Page Jekyll theme, http://shaneweng.com/landing-page-theme/

Themes for Labs

  1. Allan Lab website, https://github.com/allanlab/allanlab

Optimalisasi

  1. Optimizing images for web with Google Page Speed and jpegoptim, https://jmperezperez.com/jpegoptim-optimize-jpg-page-speed/
  2. Trimage image compressor, https://trimage.org/

Thursday, 29 December 2016

Bersahabat dengan Emacs

Status : Draft


Referensi


  1. spacemacs, A community-driven Emacs distribution
  2. awesome-emacs, A community driven list of useful Emacs packages, libraries and others., https://github.com/emacs-tw/awesome-emacs

Saturday, 17 December 2016

Bersahabat dengan regex

Status : Draft


Referensi


  1. Regular-Expressions.info, The Premier website about Regular Expressions, http://www.regular-expressions.info/

Thursday, 15 December 2016

Berkenalan dengan Redis

Status : Draft


Redis Desktop


Install qtwebengine terlebih dahulu :

sudo apt-get install qt58webengine

Untuk instalasi dapat mengikuti : http://docs.redisdesktop.com/en/latest/install/#build-from-source

Referensi

  1. Redis, https://redis.io/
  2. Redis Desktop, https://redisdesktop.com/

Berkenalan dengan SSDB : A high performance NoSQL database supporting many data structures, an alternative to Redis.

Status : Draft

Referensi

  1. SSDB, A high performance NoSQL database supporting many data structures, an alternative to Redis., http://ssdb.io/

Saturday, 26 November 2016

Saturday, 19 November 2016

Atom : A Hackable Text Editor

Status : Draft

Berikut adalah beberapa plugin yang bisa penulis gunakan :

Thema :
Produktivitas :
  1. local-history, https://atom.io/packages/local-history
  2. php-fmt support for Atom, https://atom.io/packages/php-fmt
  3. symbols-tree-nav, https://atom.io/packages/symbols-tree-nav
  4. tab-switcher, https://atom.io/packages/tab-switcher
  5. language-elixir, https://atom.io/packages/language-elixir
  6. atom-elixir, https://atom.io/packages/atom-elixir
  7. linter-elixirc, https://atom.io/packages/linter-elixirc
  8. linter, https://atom.io/packages/linter
  9. language-r, https://atom.io/packages/language-r
  10. autocomplete-r, https://atom.io/packages/autocomplete-r
  11. language-rust, https://atom.io/packages/language-rust

Shorcut 

ctrl+t atau ctrl+p : Untuk mencari file secara cepat 
ctrl+alt+o : Untuk membuka symbol tree nav
ctrl+g : Untuk loncat menuju baris ke-

Referensi

  1. Atom Editor for Elixir Development (Revisited), https://brainlid.org/elixir/2017/02/20/atom-editor-and-elixir-revisited.html

Wednesday, 28 September 2016

Export/Import Data dari PostgreSQL Menggunakan PHP dengan Format XML

Status : Draft

Latar Balakang

Pada salah satu aplikasi yang kita kembangkan, Bank Soal [1], kita memerlukan proses export/import data custom, karena proses export/import data menggunakan database yang kita gunakan, PostgreSQL, sudah tidak memenuhi kebutuhan lagi. Oleh karena itu diperlukan utilitas export/import data yang custom menggunakan format data xml.

Solusi

Export

Untuk export, kita menggunakan solusi built-in postgresql query_to_xml(query text, nulls boolean, tableforest boolean, targetns text) [2].

Salah satu contoh SQL untuk exportnya seperti ini :

SELECT * FROM query_to_xml('SELECT * FROM jenis_soal  WHERE id_jenis_soal
                           IN(SELECT DISTINCT(id_jenis_soal)
                              FROM soal WHERE id_set_soal = '||$1||')',true,false,'') jenis_soal_xml;
Contoh Outputnya seperti berikut :

<table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
  <id_jenis_soal>1</id_jenis_soal>
  <nama>Pilihan Berganda</nama>
  <urut>1</urut>
</row>
<row>
  <id_jenis_soal>2</id_jenis_soal>
  <nama>Kombinasi Berganda</nama>
  <urut>3</urut>
</row>
</table>


Import

Untuk proses import kita menggunakan php dengan bantuan pustaka sabre/xml [5].

Contoh Implementasi Import :

  $service = new Sabre\Xml\Service();
  $service->elementMap = [
   '{}row' => function(Sabre\Xml\Reader $reader) {
return Sabre\Xml\Deserializer\keyValue($reader, '');
},
'table' => function(Sabre\Xml\Reader $reader) {
return Sabre\Xml\Deserializer\repeatingElements($reader, 'row');
},
  ];

  $data_xml   = $service->parse(file_get_contents($file_xml));

Outputnya akan berupa array, seperti berikut :

Array
(
    [0] => Array
        (
            [id_jenis_soal] => 1
            [nama] => Pilihan Berganda
            [urut] => 1
        )
    [1] => Array
        (
            [id_jenis_soal] => 2
            [nama] => Kombinasi Berganda
            [urut] => 3
        )
)

Referensi

  1. Sistem Informasi Bank Soal,Transformative Assesment : When Assesment is Not Only About Judging The Students But Developing Their Performance,  http://banksoal.openthinklabs.com
  2. PostrgreSQL : Export - Import Data, http://postgresql.openthinklabs.com/2016/08/postrgresql-export-import-data.html
  3. Export/Import Data dari MySQL Menggunakan PHP dengan Format XML, http://software.openthinklabs.com/2015/10/exportimport-data-dari-mysql.html
  4. An XML library for PHP you may not hate., http://evertpot.com/an-xml-library-you-may-not-hate/
  5. sabre/xml, http://sabre.io/xml/

Friday, 26 August 2016

Bedah APK Nurbaya Initiative

Status : Draft

Referensi





  1. 5 Aplikasi ini Siap Bantu Majukan Petani Negeri, https://www.goodnewsfromindonesia.org/2016/04/12/5-aplikasi-ini-siap-bantu-majukan-petani-negeri

Bedah APK PantauHarga

Status : Draft

Referensi





  1. 5 Aplikasi ini Siap Bantu Majukan Petani Negeri, https://www.goodnewsfromindonesia.org/2016/04/12/5-aplikasi-ini-siap-bantu-majukan-petani-negeri

Bedah APK LimaKilo

Status : Draft

Referensi





  1. 5 Aplikasi ini Siap Bantu Majukan Petani Negeri, https://www.goodnewsfromindonesia.org/2016/04/12/5-aplikasi-ini-siap-bantu-majukan-petani-negeri

Bedah APK TaniHub

Status : Draft

Referensi





  1. 5 Aplikasi ini Siap Bantu Majukan Petani Negeri, https://www.goodnewsfromindonesia.org/2016/04/12/5-aplikasi-ini-siap-bantu-majukan-petani-negeri

Bedah APK Petani

Status : Draft

Referensi


  1. 5 Aplikasi ini Siap Bantu Majukan Petani Negeri, https://www.goodnewsfromindonesia.org/2016/04/12/5-aplikasi-ini-siap-bantu-majukan-petani-negeri

Saturday, 6 August 2016

Bedah Data Pokok Pendidikan Dasar dan Menengah

Status : Draft 



Untuk saat ini sayangnya belum bisa banyak yang bisa dibedah. Aplikasi Dapodik ini dibangun menggunakan bahasa pemrograman PHP, kode nya diencrypt menggunakan ionCube [1] dan instalasi hanya mendukung Windows.

Karena belum memiliki akses ke Windows, sementara belum bisa ditelaah lebih jauh.

Tujuan utama membedah Aplikasi Dapodik adalah untuk melakukan integrasi dengan OpenThink SAS, Sistem Informasi Sekolah dengan semangat "Iqra Lingkungan" [3].

Referensi

  1. Data Pokok Pendidikan Dasar dan Menengah, Direktorat Jenderal Pendidikan Dasar dan Menengah, Kementerian Pendidikan dan Kebudayaan, http://dapo.dikdasmen.kemdikbud.go.id/
  2. ionCube, http://www.ioncube.com/
  3. OpenThink SAS, http://sas.openthinklabs.com

Thursday, 4 August 2016

Perbandingan Beberapa Solusi Payment Gateway di Indonesia

Status : Draft

Ketika ingin membuka  toko online atau loket pembayaran ataupun solusi custom lain, seperti pembayaran spp sekolah, tentu kita ingin menggunakan, mendapatkan solusi payment gateway yang handal tapi dengan biaya transaksi yang minim. Berikut adalah studi singkat perbandingan beberapa solusi payment gateway yang ada di Indonesia  :

1. Doku, http://doku.com

2. iPay88, http://www.ipay88.co.id/

3. Mandiri e-cash, http://mandiriecash.co.id

4. KasPay, https://www.kaspay.com/

5. Payza, https://www.payza.com/

6. Veritrans, https://veritrans.co.id/

7. FirstPay, http://firstpay.co.id/

8. Xendit, https://www.xendit.co


Referensi

  1. What are the leading payment gateway companies in Indonesia?, https://www.quora.com/What-are-the-leading-payment-gateway-companies-in-Indonesia
  2. Dukung Industri Digital Indonesia, Bank Mandiri Berencana Membuka Akses API e-cash, https://id.techinasia.com/ank-mandiri-berencana-buka-akses-api-e-cash

Tuesday, 2 August 2016

Software Stack Dibelakang PayPal


Berikut adalah Software Stack yang digunakan oleh PayPal :


  1. Dust.js, Asynchronous Javascript templating for the browser and server, http://www.dustjs.com/
  2. Bootstrap, The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web, http://getbootstrap.com/
  3. Bower, A package manager for the web, https://bower.io/
  4. Less, CSS pre-processor, http://lesscss.org/
  5. RequireJS, JavaScript file and module loader, http://requirejs.org/
  6. Backbone.js, Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface., http://backbonejs.org/
  7. Grunt, The JavaScript Task Runner, http://gruntjs.com/
  8. Mocha, feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases, https://mochajs.org/
  9. Krakenjs, Kraken is a secure and scalable layer that extends express by providing structure and convention, http://krakenjs.com/

Referensi

  1. PayPal Switches from Java to JavaScript, https://www.infoq.com/news/2013/11/paypal-java-javascript

Tuesday, 31 May 2016

Software Help Desk Open Sources

Status : Draft

Beberapa software help desk open sources

Diamante Desk

Berbasis symfony2 framework

ticketit

Berbasis Laravel framework

Taiga


Berbasis Django. Menerapkan konsep Scrum, Kanban


Berbasis Laravel framework


Berbasis PHP


Lebih spesifik untuk membantu manajamen pengembangan software, Bugzilla digunakan oleh Mozilla 


Berbasis PHP, lebih spesifik untuk membantu manajemen pengembangan software


Berbasis ruby

Sunday, 17 April 2016

Uji Coba Berbagai OCR OpenSource untuk Membaca Resep dalam Kemasan

Status : Draft

Baru mencoba 2, Tesseract dan Abbyy. Abbyy masih jauh lebih akurat daripada Tesseract, untuk sementara fokus menggunakan Abbyy sambil melihat-lihat jika ada library OCR lain yg menggunakan pendekatan yg lebih baik, sehingga hasilnya jauh lebih akurat

Referensi


  1. Perfect OCR scanning for Android, http://stackoverflow.com/questions/21552615/perfect-ocr-scanning-for-android
  2. Fork of Tesseract Tools for Android, https://github.com/rmtheis/tess-two
  3. Experimental optical character recognition app, https://github.com/rmtheis/android-ocr
  4. OCR on Android, https://solidgeargroup.com/ocr-on-android
  5. Compare Tesseract and deep learning techniques for Optical Character Recognition of license plates, http://christopher5106.github.io/computer/vision/2015/09/14/comparing-tesseract-and-deep-learning-for-ocr-optical-character-recognition.html
  6. FastAnnotationTool, https://github.com/christopher5106/FastAnnotationTool
  7. ScanHalal, http://scanhalal.com/
  8. How to find Halal Food Products?, https://medium.com/@dev.technerd/how-to-find-halal-food-products-5063f6c5210c

Thursday, 24 March 2016

Friday, 18 March 2016

AlisJK SmartScan - Linux

Posting ini merupakan log pengembangan AlisJK [1] SmartScan - Linux.

Jika AlisJK SmartScan - Windows [2], menggunakan bahasa C#, untuk versi Linux Kita akan menggunakan code simple-scan [3] sebagai basis awal pengembangan

simple-scan 

Instalasi, dari [3], dengan beberapa tambahan :

sudo apt-get build-dep simple-scan
sudo apt-get install libsqlite3-dev
sudo apt-get install valac-0.22 vala-0.22
sudo update-alternatives --config valac # select vala-0.22
sudo apt-get install libgusb-dev
sudo apt-get install libpackagekit-glib2-dev
# one of the follwing
./autogen.sh                           # system-wide installation
./autogen.sh --prefix=`pwd`/install    # for development purposes
make
make install
./install/bin/simple-scan
Ketika menginstall via github (18-Maret-2016), ketika proses make, mendapatkan pesan error :

  VALAC    simple_scan_vala.stamp
ui.vala:1815.27-1815.30: warning: Argument 1: Cannot pass null to non-null parameter type
            set_titlebar (null);
                          ^^^^
simple-scan.vala:68.13-68.36: error: The name `device_added' does not exist in the context of `GUsb.Context'
            usb_context.device_added.connect (() => { scanner.redetect (); });
            ^^^^^^^^^^^^^^^^^^^^^^^^
simple-scan.vala:69.13-69.38: error: The name `device_removed' does not exist in the context of `GUsb.Context'
            usb_context.device_removed.connect (() => { scanner.redetect (); });
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 2 error(s), 1 warning(s)
make[1]: *** [simple_scan_vala.stamp] Error 1
Error yang sama terjadi ketika melakukan build source dari bzr. 

Referensi


  1. Analisis Lembar Jawaban Komputer (AlisJK), http://negeripelangi.org/id/produk/alisjk
  2. Alisjk SmartScan, http://workshop.openthinklabs.com/resources/programming-language/csharp/studi-kasus/alisjk-smartscan
  3. simple-scan, https://github.com/mnagel/simple-scan

Wednesday, 2 March 2016

Chemical Markup Language (CML)

Status : Draft
Panduan Pertanyaan :

  1. Bagaimana cara konversi CML ke Image dengan command line ? 
  2. Lihat output ChemDraw ketika diembed ke word, apakah yang diembed itu CML nya ?
  3. Apakah memungkinkan mengkonversi CML ke Latex



Referensi

  1. Chemical Markup Language, https://web.chemdoodle.com/demos/chemical-markup-language-cml/
  2. ChemDraw Professional, http://www.cambridgesoft.com/Ensemble_for_Chemistry/ChemDraw/ChemDrawProfessional/
  3. Chemistry Add-in for Word, http://research.microsoft.com/en-us/projects/chem4word/
  4. chemfig – Draw molecules with easy syntax, https://www.ctan.org/pkg/chemfig