Thursday 21 December 2017

Membedah e-Rapor Dit. PSMP Ditjen Dikdasmen Kemendikbud

Status : Draft

Untuk dapat menggunakan e-Rapor [1], pastikan Dapodik  [2] telah diinstall di komputer yang sama.

Referensi


  1. e-Rapor Dit. PSMP Ditjen Dikdasmen Kemendikbud, http://ditpsmp.kemdikbud.go.id/erapor/
  2. Dapodik, http://dapo.dikdasmen.kemdikbud.go.id/unduhan

Wednesday 13 December 2017

Menggunakan Highcharts

Status : Draft

Menggunakan Highcharts Node.js export server

[1]

Clickable Highcharts 


[3]

Referensi
  1. Highcharts Node.js export server, https://github.com/highcharts/node-export-server
  2. Can't input when yarn installing dependencies #4061, https://github.com/yarnpkg/yarn/issues/4061
  3. Highcharts Demos › Ajax loaded data, clickable points, https://www.highcharts.com/demo/line-ajax
  4. Highcharts samples listing, http://118.174.1.163/eclaim_report/assets/lib/highcharts/samples/

Saturday 9 December 2017

Plagiarism Checker Open Source

Status : Draft

Di Github cukup banyak ..., insyaAllah kita akan coba dan mencari yg terbaik

Referensi

  1. Plagiarism detection, https://en.wikipedia.org/wiki/Plagiarism_detection
  2.  A System for Detecting Software Similarity, http://theory.stanford.edu/~aiken/moss/
  3. Does anyone know a free plagiarism detection software I can use for a PhD thesis?, https://www.researchgate.net/post/Does_anyone_know_a_free_plagiarism_detection_software_I_can_use_for_a_PhD_thesis 
  4. How to check plagiarism?, https://www.researchgate.net/post/How_to_check_plagiarism
  5. A System for Detecting Software Similarity, http://theory.stanford.edu/~aiken/moss/

Thursday 12 October 2017

MIaS : Menggunakan MIas Untuk Indexing dan Pencarian Persamaan Matematika

Status : Draft

MIaS

MIaS adalah salah satu tool untuk indexing, jika kita ingin menggunakan command line. Contoh perintahnya, seperti dijelaskan di [2] adalah :

/home/MIaS$ java -jar MIaS.jar -conf /home/MIaS/conf/mias.properties -add /home/MIaS/doc/ /home/MIaS/

Referensi

  1. MIaS (Math Indexer and Searcher), https://mir.fi.muni.cz/mias/
  2. MathMLCan, MathMLCan is a tool which performs canonicalization of mathematical expressions written in MathML (Mathematical Markup Language), https://github.com/OpenThink-Labs/MathMLCan
  3. MathML Unificator, MathML Unificator is a tool which performs simple MathML (Mathematical Markup Language) unification, https://github.com/OpenThink-Labs/MathMLUnificator
  4. MIaSMath, MIaSMath is a math processing plugin for Lucene or Solr, https://github.com/OpenThink-Labs/MIaSMath
  5. MIaS, Indexing util for indexing mathematical documents. Uses Lucene, https://github.com/martinliska/MIaS
  6. WebMIaS, https://github.com/OpenThink-Labs/WebMIaS

Berkenalan Dengan Apache Superset : Solusi Aplikasi Web Business Intelligence dari Apache

Apache superset ini bisa menjadi pertimbangan sebagai pengganti solusi yang ditawarkan dari software seperti Tableu. 

Untuk instalasi, bisa menggunakan docker, atau paling mudah pip. Tapi, terkadang ketika membutuhkan fitur terbaru, seperti menyimpan chart sebagai gambar, kita perlu menginstall dari source. Untuk instalasi source, dapat mengikuti howto yang telah ditulis oleh Kartik Khare [2]

Menambahkan Country Map Indonesia 

Baca [3]

ogr2ogr, bisa diganti menggunakan script python berikut : 

import geopandas as gpd

file = gpd.read_file("IDN_adm0.shp")
file.to_file("IDN_adm0.json", driver="GeoJSON")

file = gpd.read_file("IDN_adm1.shp")
file.to_file("IDN_adm1.json", driver="GeoJSON")

file = gpd.read_file("IDN_adm2.shp")
file.to_file("IDN_adm2.json", driver="GeoJSON")

File hasil generate geopandas diatas terlalu besar, akhirnya saya menggunakan file [5], kolom yang harus ada pada .geojson adalah ISO, NAME_0 (nama negara) dan NAME_1 (nama propinsi). 

Setiap kali melakukan perubahan pada .geojson, superset-frontend harus di build ulang. 

Referensi

  1. Apache Superset, https://superset.incubator.apache.org
  2. A Better Guide to Build Apache Superset From source, https://medium.com/@kharekartik/a-better-guide-to-building-apache-superset-from-source-2c8dbad38b2b
  3. Visualization Tools, Need to add a new Country?, https://superset.apache.org/visualization.html#need-to-add-a-new-country
  4. How to add a new Country Map when using Docker? #8429, https://github.com/apache/incubator-superset/issues/8429
  5. indonesia.geojson, https://gist.github.com/wildanm/70f629133b4698b32cf64e2839b145e0

Saturday 7 October 2017

Wednesday 12 July 2017

Sistem Informasi Desa Nol Sampah serta Mandiri Pangan dan Energi

Status : Draft

Kenapa Sistem Informasi Desa nya dibuat spesifik menjadi Sistem Informasi Desa Nol Sampah serta Mandiri Pangan dan Energi ?, karena fokus awalnya adalah nol sampah serta mandiri pangan dan energi.

Referensi

  1. OpenSID, https://github.com/OpenThink-Labs/OpenSID
  2. Data Provinsi, Kota/Kabupaten, Kecamatan, dan Kelurahan/Desa di Indonesia, https://github.com/OpenThink-Labs/Wilayah-Administratif-Indonesia
  3. Package Laravel yang berisi data Provinsi, Kabupaten/Kota, dan Kecamatan/Desa di seluruh Indonesia., https://github.com/laravolt/indonesia

Thursday 15 June 2017

Open Source Marketing Automation

Status : Draft


Referensi

  1. Mautic, marketing automation software (email, social & more), https://www.mautic.org/
  2. Rambox Free, Open Source and Cross Platform messaging and emailing app that combines common web applications into one, https://rambox.pro

Wednesday 14 June 2017

Workflow Kolaborasi dengan Git

Status : Draft


Ringkasan workflow kolaborasi dengan Git, Oleh : Endy Muhardin

Referensi


  1. Learn Git Branching, https://learngitbranching.js.org/

Saturday 10 June 2017

Open Source Dashboard

Status : Draft

Referensi

  1. Six Open Source Dashboards to Organize Your Data, https://www.astronomer.io/blog/six-open-source-dashboards
  2. 5 open source dashboard tools for visualizing data, https://opensource.com/business/16/11/open-source-dashboard-tools-visualizing-data
  3. Tabler, Admin panel made simple Premium and Open Source dashboard template with responsive and high quality UI. For Free!, https://tabler.github.io
  4. Clean UI Pro, https://docs.sellpixels.com/

Tuesday 23 May 2017

Open Data Kit : ODK Scan

Status : Draft


Build

Ketika melakukan kompilasi ODKScanCore, Anda harus menggunakan OpenCV 2.3.1, download disini : https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.3.1/  (harus melakukan proses kompilasi dari source), ketika melakukan kompilasi, nonaktifkan opsi ffmpeg :

Untuk Mac OS X, penulis menggunakan Mojave, maka sebelumnya perlu menginstall OpenCV 2 dengan perintah :

brew install opencv@2

lalu edit src/Aligner.cpp dan tambahkan baris berikut :

#include <opencv2/nonfree/features2d.hpp>

Lalu untuk Makefile ubah bagian berikut :

INCLUDES := $(OPENCV_INCLUDES)\
-I./jsoncpp-src-0.5.0/include\
-I./src -I./\
-L/usr/lib
-I./zxing/core/src -I./zxing/cli/src

menjadi : 

INCLUDES := -I/usr/local/Cellar/opencv\@2/2.4.13.7_3/include/\
-L/usr/local/Cellar/opencv\@2/2.4.13.7_3/lib\
-lopencv_core\
-lopencv_imgproc\
-lopencv_highgui\
-lopencv_ml\
-lopencv_video\
-lopencv_features2d\
-lopencv_calib3d\
-lopencv_objdetect\
-lopencv_contrib\
-lopencv_legacy\
-lopencv_flann\
-lopencv_nonfree\
-liconv\
-I./jsoncpp-src-0.5.0/include\
-I./src -I./\
-lboost_filesystem -lboost_system\
-I./zxing/core/src -I./zxing/cli/src

Berikutnya berlaku untuk Linux dan Mac

cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON \
      -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=OFF \
      -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON \
      -D WITH_FFMPEG=OFF ..

Error 1 :

OpenCV-2.3.1/share/OpenCV/../../include/opencv2/flann/any.h:88:67: error: call to function 'operator<<' that is neither visible in the template
      definition nor found by argument-dependent lookup

Solusi, terapkan patch berikut [sumber]:

diff --git a/modules/flann/include/opencv2/flann/any.h b/modules/flann/include/opencv2/flann/any.h
index 46e1116..06db1b2 100644
--- a/modules/flann/include/opencv2/flann/any.h
+++ b/modules/flann/include/opencv2/flann/any.h
@@ -30,6 +30,12 @@ struct empty_any
 {
 };
 
+inline std::ostream& operator <<(std::ostream& out, const empty_any&)
+{
+    out << "[empty_any]";
+    return out;
+}
+
 struct base_any_policy
 {
     virtual void static_delete(void** x) = 0;
diff --git a/modules/flann/include/opencv2/flann/lsh_index.h b/modules/flann/include/opencv2/flann/lsh_index.h
index a777990..6ed5740 100644
--- a/modules/flann/include/opencv2/flann/lsh_index.h
+++ b/modules/flann/include/opencv2/flann/lsh_index.h
@@ -56,7 +56,7 @@ namespace cvflann
 
 struct LshIndexParams : public IndexParams
 {
-    LshIndexParams(unsigned int table_number, unsigned int key_size, unsigned int multi_probe_level)
+    LshIndexParams(unsigned int table_number = 12, unsigned int key_size = 20, unsigned int multi_probe_level = 2)
     {
         (* this)["algorithm"] = FLANN_INDEX_LSH;
         // The number of hash tables to use

Error 2

armeabi] SharedLibrary  : libbubblebot.so
/home/wildan/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4'
/home/wildan/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4'
/home/wildan/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4'
/home/wildan/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4

Solusi : 

Edit : 

bubblebot_lib/jni/Android.mk

Tambahkan -latomic di LOCAL_LDLIBS :

LOCAL_LDLIBS += $(OPENCV_LIBS) $(ANDROID_OPENCV_LIBS) -llog -ldl -lGLESv2 -latomic                                                                   
 
OSX Mojave

cd OpenCV-2.3.1
mkdir build
cd build
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON       -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON       -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=OFF       -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON       -D WITH_FFMPEG=OFF ..

Error 3 

/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/core/src/persistence.cpp:3437:36: error: ordered comparison
      between pointer and zero ('const char *' and 'int')
    if( rows < 0 || cols < 0 || dt < 0 )
                                ~~ ^ ~
/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/core/src/persistence.cpp:4503:16: error: ordered comparison
      between pointer and zero ('const char *' and 'int')
    if( vtx_dt > 0 )
        ~~~~~~ ^ ~
2 errors generated.
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/persistence.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

Perbaikan, ubah :

if( rows < 0 || cols < 0 || dt < 0 ) menjadi : if( rows < 0 || cols < 0 || dt != nullptr )

dan

if( vtx_dt > 0 ) nenjadi if( vtx_dt  != nullptr )

Error 4 

/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/highgui/src/window_QT.cpp:316:5: error: use of undeclared
      identifier 'usleep'
                                usleep(1000);
                                ^
1 error generated.
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_QT.o] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2

Solusi :

tambahkan :

#include <unistd.h>

di OpenCV-2.3.1/modules/highgui/src/window_QT.cpp

Error 5

/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/highgui/src/cap_qtkit.mm:34:9: fatal error: 'QTKit/QTKit.h'
      file not found
#import <QTKit/QTKit.h>
        ^~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_qtkit.o] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2

Solusi :

Here is a workaround solution to fix the issue:

  1. Download MACOSX SDK https://codeload.github.com/phracker/MacOSX-SDKs/zip/MacOSX10.11.sdk
  2. extract head files from MacOSX10.11.sdk/MacOSX10.11.sdk/System/Library/Frameworks/QTKit.framework/Headers/
  3. Create a folder under opencv source file folder: opencv-2.3.1/modules/highgui/src/QTKit, and copy all header files into the folder.

Error 6

Scanning dependencies of target opencv_ts
[ 28%] Building CXX object modules/ts/CMakeFiles/opencv_ts.dir/src/precomp.o
In file included from /Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/ts/src/precomp.cpp:1:
In file included from /Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/ts/src/precomp.hpp:7:
In file included from /Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/ts/include/opencv2/ts/ts.hpp:10:
/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/ts/include/opencv2/ts/ts_gtest.h:1511:10: fatal error:
      'tr1/tuple' file not found
#include <tr1/tuple>  // NOLINT
         ^~~~~~~~~~~
1 error generated.
make[2]: *** [modules/ts/CMakeFiles/opencv_ts.dir/src/precomp.o] Error 1
make[1]: *** [modules/ts/CMakeFiles/opencv_ts.dir/all] Error 2
make: *** [all] Error 2

Solusi

Aktifkan opsi GTEST_USE_OWN_TR1_TUPLE 1 di  ts_gtest.h

Error 7

OPENCV_CONFIG =
PROJECT_PATH defaulting to this directory
/Users/earth/Library/Android/sdk/ndk-bundle/ndk-build NDK_LIBS_OUT=./../scan_app/src/main/jniLibs OPENCV_CONFIG= PROJECT_PATH=. V=  ARM_TARGETS="armeabi armeabi-v6 armeabi-v7a"
make[1]: Entering directory `/Users/earth/jobstuff/software/OpenDataKit/scan/bubblebot_lib'
[armeabi-v7a] Install        : libbubblebot.so => ../scan_app/src/main/jniLibs/armeabi-v7a/libbubblebot.so
[armeabi] SharedLibrary  : libbubblebot.so
/Users/earth/Library/Android/sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4'
/Users/earth/Library/Android/sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4'
/Users/earth/Library/Android/sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4'
/Users/earth/Library/Android/sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/ext/atomicity.h:49: error: undefined reference to '__atomic_fetch_add_4'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [obj/local/armeabi/libbubblebot.so] Error 1
make[1]: Leaving directory `/Users/earth/jobstuff/software/OpenDataKit/scan/bubblebot_lib'
make: *** [libs/armeabi-v7a/libbubblebot.so] Error 2

Solusi :  untuk masalah ini bisa dibaca di : Error migrating from GCC to Clang - undefined reference to atomic #104.

yaitu di : bubblebot_lib/jni/Android.mk

LOCAL_LDLIBS += $(OPENCV_LIBS) $(ANDROID_OPENCV_LIBS) -llog -ldl -lGLESv2

ditambah -latomic menjadi :

LOCAL_LDLIBS += $(OPENCV_LIBS) $(ANDROID_OPENCV_LIBS) -llog -ldl -lGLESv2 -latomic

Error 8 

[ 64%] Building CXX object modules/legacy/CMakeFiles/opencv_legacy.dir/src/texture.o
/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/legacy/src/texture.cpp:138:32: warning: 'memset' call
      operates on objects of type 'CvGLCM' while the size is based on a different type 'CvGLCM *'
      [-Wsizeof-pointer-memaccess]
    memset( newGLCM, 0, sizeof(newGLCM) );
            ~~~~~~~            ^~~~~~~
/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/legacy/src/texture.cpp:138:32: note: did you mean to
      dereference the argument to 'sizeof' (and multiply it by the number of elements)?
    memset( newGLCM, 0, sizeof(newGLCM) );
                               ^~~~~~~
/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/legacy/src/texture.cpp:472:32: error: ordered comparison
      between pointer and zero ('double *' and 'int')
        if( marginalProbability>0 )
            ~~~~~~~~~~~~~~~~~~~^~
/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/legacy/src/texture.cpp:518:10: warning: use of unary
      operator that may be intended as compound assignment (-=)
    HXY1 =- HXY1;
         ^~
/Users/earth/jobstuff/software/OpenCV/OpenCV-2.3.1/modules/legacy/src/texture.cpp:519:10: warning: use of unary
      operator that may be intended as compound assignment (-=)
    HXY2 =- HXY2;
         ^~
3 warnings and 1 error generated.
make[2]: *** [modules/legacy/CMakeFiles/opencv_legacy.dir/src/texture.o] Error 1
make[1]: *** [modules/legacy/CMakeFiles/opencv_legacy.dir/all] Error 2
make: *** [all] Error 2

Solusi

ubah

if( marginalProbability>0 )

menjadi

if( marginalProbability > (void *)0 )

Referensi


  1. ODK Scan Wiki and Issues, https://github.com/opendatakit/scan

Monday 22 May 2017

Open edX : the open source platform that powers edX courses.

Status : Draft


Instalasi


Untuk instalasinya mudah, di dokumentasinya cukup jelas, singkatnya :

1. mkdir devstack && cd devstack
2. set environment variables di .bashrc , sehingga output nya:

echo $OPENEDX_RELEASE
open-release/ficus.3

3. curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh

4.  chmod +x install_stack.sh

5. ./install_stack.sh

6. Nyalakan VM dan masuk ke VM dengan perintah vragrant up && vragrant ssh

Selanjutnya bisa membaca [2]

Referensi

  1. Open edX, https://open.edx.org/
  2. Running Devstack, https://openedx.atlassian.net/wiki/display/OpenOPS/Running+Devstack

Thursday 18 May 2017

Solusi E-Commerce Open Source

Status : Draft

Sylius 

Sylius, versi standar open source, ada yang sudah membuat versi PWA nya [4]

Konektifa

Konektifa [3] tidak open source, hanya konsepnya sepertinya menarik.

Referensi

  1. OpenShop.io, Open-source mobile E-commerce platform, http://openshop.io/
  2. Sylius, First eCommerce framework that grows with your business, http://sylius.org/
  3. Konektifa, https://konektifa.com/
  4. Check out the open-source integration between Sylius and Vue Storefront, https://blog.vuestorefront.io/check-out-the-open-source-integration-between-sylius-and-vue-storefront/

Wednesday 17 May 2017

Sunday 14 May 2017

LaTeXML : A LaTeX to XML/HTML/MathML Converter

Status : Draft

Prasyarat Kompilasi 

Agar make test semuanya terlewati, berikut adalah paket-paket yang perlu diinstall

sudo apt-get install   \
  libarchive-zip-perl libfile-which-perl libimage-size-perl  \
  libio-string-perl libjson-xs-perl libtext-unidecode-perl \
  libparse-recdescent-perl liburi-perl libuuid-tiny-perl libwww-perl \
  libxml2 libxml-libxml-perl libxslt1.1 libxml-libxslt-perl  \
  texlive-latex-base texlive-full imagemagick libimage-magick-perl

Untuk cara kompilasi bisa lihat di [2]


Referensi

  1. LaTeXML, http://dlmf.nist.gov/LaTeXML/
  2. LaTeXML: a TeX and LaTeX to XML/HTML/ePub/MathML translator, https://github.com/brucemiller/LaTeXML, https://github.com/brucemiller/LaTeXML

Tangent : Salah Satu Tool untuk Maths Information Retrieval

Status : Draft


Requirement


Tangent menggunakan Pyhton 3, beberapa library  yang diperlukan :

  1. Beautiful Soup, pip3 install beautifulsoup4

Instalasi 


Untuk instalasi sudah jelas, tinggal jalankan make all. Misal kita setelah mendownload Tangent, menempatkannya di direktori :

/home/wildan/jobstuff/openthinklabs/eksperimen/tangent/tangent.0.3.1

Maka di .bashrc kita perlu menambahkan variabel PYTHONPATH, agar kode tangent bisa kita jalankan :

export PYTHONPATH=/home/wildan/jobstuff/openthinklabs/eksperimen/tangent/tangent.0.3.1/tangent_code:$PYTHONPATH                                       
Jika ketika running masih terjadi error seperti : https://github.com/OpenThink-Labs/Tangent/blob/master/log1.txt 

Langkah yang dilakukan untuk mengatasinya adalah :

  1.  menguninstall latexml bawaan sistem, dan melakukan kompilasi ulang LaTeXML terbaru, http://software.openthinklabs.com/2017/05/latexml-latex-to-xmlhtmlmathml-converter.html 
  2. dan sedikit perbaikan https://github.com/OpenThink-Labs/Tangent/commit/3e7807ae52fa38ca0a523e288432f271b97f2ba4
Seharusnya, jika semua sudah Ok, output python2 index.py akan seperti ini :

https://github.com/OpenThink-Labs/Tangent/blob/master/log4.txt

Referensi


  1. Kemiripan Persamaan Matematika, http://software.openthinklabs.com/2015/11/kemiripan-persamaan-matematika.html

Friday 12 May 2017

Apache Fineract untuk E-Koperasi

Status : Draft


Apache Fineract 


Dari situs nya Fineract didefinidikan sebagai [1] :

Apache Fineract (\’fÄ«n-,Ó™-,rakt\) is an open source system for core banking as a platform. Fineract provides a reliable, robust, and affordable solution for entrepreneurs, financial institutions, and service providers to offer financial services to the world’s 2 billion underbanked and unbanked.

Fineract Provider


Untuk instalasi Fineract Provider dapat mengikut petunjuk di [2].

MifosX Community App


Fineract-provider hanya memiliki APIs, untuk itu kita memerlukan aplikasi untuk memanfaatkan,
salah satu user interface, yang dapat kita  gunakan adalah, commuity app Mifos X [3]


Referensi

  1. Apache Fineract, http://fineract.apache.org/
  2. Apache Fineract: A Platform for Microfinance, https://github.com/apache/incubator-fineract
  3. MifosX Community App, https://github.com/openmf/community-app
  4. Apache Fineract untuk E-Koperasi, https://github.com/OpenThink-Labs/ApacheFineract

Sunday 30 April 2017

Friday 7 April 2017

Indico : The effortless open source tool for event organization, archival and collaboration

Status : Draft


Instalasi 

Melalui pip 

Install dengan pip masih gagal.

Melalui Git Repository

clone repo indico seperti di dokumentasi. 


#untuk postgrsql-9.6-dev, sesuaikan dengan versi yang digunakan
sudo apt-get install libpq-dev postgresql-9.6-dev
sudo apt-get install python-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt1-dev
sudo apt-get install zlib1g-dev
sudo apt-get install npm
sudo -H pip install -r requirements.dev.txt
sudo -H pip install -r requirements.txt
sudo -H pip install -r requirements.zodb.txt
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo npm install grunt
sudo apt install node-grunt-cli
sudo npm install findup-sync -g





Ketika install requirement muncul error : 

...
Found existing installation: blinker 1.3                                                                                             [38/439]
    DEPRECATION: Uninstalling a distutils installed project (blinker) has been deprecated and will be removed in a future version. This is due 
to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling blinker-1.3:
      Successfully uninstalled blinker-1.3
...
  Found existing installation: PyYAML 3.11
    DEPRECATION: Uninstalling a distutils installed project (PyYAML) has been deprecated and will be removed in a future version. This is due t
o the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling PyYAML-3.11:
      Successfully uninstalled PyYAML-3.11
...
Successfully installed Flask-0.11.1 Flask-BabelEx-0.9.3 Flask-Migrate-1.2.0 Flask-Multipass-0.0.dev0 Flask-OAuthlib-0.9.1 Flask-PluginEngine-0.
2.2.dev0 Flask-SQLAlchemy-2.1 Flask-Script-2.0.5 Flask-WTF-0.13 Jinja2-2.8 Pillow-2.7.0 PyYAML-3.12 SQLAlchemy-1.1.4 WTForms-2.1 WTForms-Compon
ents-0.10.0 alembic-0.6.7 amqp-1.4.9 bcrypt-3.1.0 beautifulsoup4-4.5.1 billiard-3.3.0.23 blinker-1.4 celery-3.1.23 certifi-2017.1.23 click-6.6 
colorclass-2.2.0 contextlib2-0.5.4 decorator-4.0.11 flask-marshmallow-0.7.0 functools32-3.2.3.post2 hiredis-0.2.0 html2text-2016.5.29 infinity-
1.4 intervals-0.8.0 jsonschema-2.5.1 kombu-3.0.37 marshmallow-2.10.3 marshmallow-enum-1.0 marshmallow-sqlalchemy-0.12.0 pathlib-1.0.1 psycopg2-
2.6.2 pyScss-1.3.5 pytest-3.0.1 pytest-catchlog-1.2.2 pytest-cov-2.3.1 pytest-localserver-0.3.6 pytest-mock-0.11.0 redis-2.10.5 reportlab-3.2.0
 requests-2.12.1 requests-oauthlib-0.8.0 speaklater-1.3 terminaltables-3.0.0 translitcodec-0.4.0 validators-0.11.3 xlsxwriter-0.9.3 zope.sqlalc
hemy-0.7.7
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 9, in <module>
    load_entry_point('pip==9.0.1', 'console_scripts', 'pip')()
  File "/usr/local/lib/python2.7/dist-packages/pip/__init__.py", line 233, in main
    return command.main(cmd_args)
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 252, in main
    pip_version_check(session)
 File "/usr/local/lib/python2.7/dist-packages/pip/utils/outdated.py", line 102, in pip_version_check
    installed_version = get_installed_version("pip")
  File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 838, in get_installed_version
    working_set = pkg_resources.WorkingSet()
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 644, in __init__
    self.add_entry(entry)
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 700, in add_entry
    for dist in find_distributions(entry, True):
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 1949, in find_eggs_in_zip
    if metadata.has_metadata('PKG-INFO'):
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 1463, in has_metadata
    return self.egg_info and self._has(self._fn(self.egg_info, name))
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 1823, in _has
    return zip_path in self.zipinfo or zip_path in self._index()
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 1703, in zipinfo
    return self._zip_manifests.load(self.loader.archive)
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 1643, in load
    mtime = os.stat(path).st_mtime
OSError: [Errno 2] No such file or directory: '/usr/local/lib/python2.7/dist-packages/hiredis-0.1.3-py2.7-linux-x86_64.egg'

Solusi, uninstall kemudian install kembali redis dan hiredis :

sudo -H  pip uninstall redis
sudo -H  pip uninstall hiredis
sudo -H  pip install redis
sudo -H  pip install hiredis

Jalankan perintah :

fab setup_deps

Jika muncul error :

Error: Cannot find module 'findup-sync'

indico>>sudo rm node_modules/findup-sync
indico>>sudo npm install -g grunt-cli


Muncul error :

...
 SOLINK_MODULE(target) Release/obj.target/encode.node
  COPY Release/encode.node
make: Leaving directory '/home/wildan/jobstuff/openthinklabs/investor/UNHAS/software/indico/ext_modules/fullcalendar/node_modules/grunt-contrib-compress/node_modules/iltorb/build'
npm ERR! Linux 4.4.0-67-generic
npm ERR! argv "/home/wildan/jobstuff/openthinklabs/investor/UNHAS/software/indico/ext_modules/node_env/bin/node" "/home/wildan/jobstuff/openthinklabs/investor/UNHAS/software/indico/ext_modules/node_env/bin/npm" "install"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! phantomjs-prebuilt@2.1.14 install: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the phantomjs-prebuilt@2.1.14 install script 'node install.js'.
npm ERR! This is most likely a problem with the phantomjs-prebuilt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node install.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls phantomjs-prebuilt
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/wildan/jobstuff/openthinklabs/investor/UNHAS/software/indico/ext_modules/fullcalendar/npm-debug.log

Fatal error: local() encountered an error (return code 1) while executing 'npm install'

Aborting.

Error ini sepertinya akibat tidak menggunakan phantojs terbaru, setelah menginstall phantomjs terbaru (2.1.1) error ini tidak terjadi. 

sudo apt-get remove --purge  phantomjs
sudo apt-get install  phantomjs

Lalu jalankan :

sudo python setup.py install

Jika ingin setup development environtment untuk indico, bisa menjalankan juga :

sudo python setup.py develop_config

Lalu :

sudo indico_initial_setup

Setelah selesai, akan ada informasi :

Congratulations!
Indico has been installed correctly.

    indico.conf:      /opt/indico/etc/indico.conf

    BinDir:           /opt/indico/bin
    DocumentationDir: /opt/indico/doc
    ConfigurationDir: /opt/indico/etc
    HtdocsDir:        /opt/indico/htdocs

For information on how to configure Apache HTTPD, take a look at:

http://indico.readthedocs.org/en/latest/installation/#configuring-the-web-server


Please do not forget to start the Celery worker in order to use background tasks
such as event reminders and periodic cleanups. You can run it using this command:
$ indico celery worker -B

If you are running ZODB on this host:
 - Review /opt/indico/etc/zodb.conf and /opt/indico/etc/zdctl.conf to make sure everything is ok.
 - To start the database run: zdaemon -C /opt/indico/etc/zdctl.conf start

Sesudah mensetup virtual host, dan merestart apache muncul error : 

[Sat Apr 08 07:22:28.208705 2017] [core:error] [pid 23613] [client 127.0.0.1:53164] AH00037: Symbolic link not allowed or link target not accessible: /opt/indico/htdocs/indico.wsgi

Ketika diperiksa ternyata symlink nya salah. Setelah diperbaiki, Alhamdulillah, bisa, berikut adalah konfigurasi virtual host yang digunakan untuk development : 

#/etc/apache2/sites-available/indico.conf 

AddDefaultCharset UTF-8

<VirtualHost *:8080>
    ServerName indico.np
    ErrorLog /var/log/apache2/indico_error.log
    LogLevel warn

    Alias /indico/images "/opt/indico/htdocs/images"
    Alias /indico/css "/opt/indico/htdocs/css"
    Alias /indico/js "/opt/indico/htdocs/js"
    Alias /indico/ihelp "/opt/indico/htdocs/ihelp"

    WSGIDaemonProcess WSGIDAEMON processes=8 threads=1 inactivity-timeout=3600 maximum-requests=10000 \
            python-eggs=/opt/indico/tmp/egg-cache

    WSGIScriptAlias /indico "/opt/indico/htdocs/indico.wsgi"

    <Directory "/opt/indico">
        WSGIProcessGroup WSGIDAEMON
        WSGIApplicationGroup %{GLOBAL}
        AllowOverride None
        Options Indexes FollowSymLinks MultiViews
        Order deny,allow
        Allow from all
Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    ServerName indico.np
    ErrorLog /var/log/apache2/indico_error.log
    LogLevel warn

    Alias /indico/images "/opt/indico/htdocs/images"
    Alias /indico/css "/opt/indico/htdocs/css"
    Alias /indico/js "/opt/indico/htdocs/js"
    Alias /indico/ihelp "/opt/indico/htdocs/ihelp"

    WSGIScriptAlias /indico "/opt/indico/htdocs/indico.wsgi"

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>

Setelah restart Apache, masih muncul error : 

[Sat Apr 08 07:41:09.459898 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393] mod_wsgi (pid=8875): Target WSGI script '/opt/indico/htdocs/indico.wsgi' cannot be loaded as Python module.
[Sat Apr 08 07:41:09.460172 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393] mod_wsgi (pid=8875): Exception occurred processing WSGI script '/opt/indico/htdocs/indico.wsgi'.
[Sat Apr 08 07:41:09.460382 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393] Traceback (most recent call last):
[Sat Apr 08 07:41:09.460569 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393]   File "/opt/indico/htdocs/indico.wsgi", line 18, in <module>
[Sat Apr 08 07:41:09.461446 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393]     application = make_app()
[Sat Apr 08 07:41:09.461581 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393]   File "/usr/local/lib/python2.7/dist-packages/indico-1.9.9-py2.7.egg/indico/web/flask/app.py", line 353, in make_app
[Sat Apr 08 07:41:09.462408 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393]     configure_app(app, set_path)
[Sat Apr 08 07:41:09.462516 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393]   File "/usr/local/lib/python2.7/dist-packages/indico-1.9.9-py2.7.egg/indico/web/flask/app.py", line 88, in configure_app
[Sat Apr 08 07:41:09.462703 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393]     raise ValueError('SecretKey must be set to a random secret of at least 16 characters. '
[Sat Apr 08 07:41:09.462831 2017] [wsgi:error] [pid 8875] [remote 127.0.0.1:26393] ValueError: SecretKey must be set to a random secret of at least 16 characters. You can generate one using os.urandom(32) in Python shell.

Sepertinya, konfigurasinya belum diisi semua.

Lengkapi dulu konfigurasinya : /opt/indico/etc/indico.conf 

Populate Database Indico 

Populate database indico [2].
 wildan@openthinklabs002:/tmp⟫ sudo -E indico  db prepare
Setting the alembic version to HEAD
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
INFO  [alembic.runtime.migration] Running stamp_revision  -> bc4e7682e7df
Required Postgres extensions missing: pg_trgm, unaccent
Create them using these SQL commands (as a Postgres superuser):
  CREATE EXTENSION pg_trgm;
  CREATE EXTENSION unaccent;


Studi Kasus


  1. Indico di CERN, https://indico.cern.ch/
  2. Fermi National Accelerator Laboratory, https://indico.fnal.gov/index.py

Referensi


  1. Indico Documentation, http://indico.readthedocs.io/en/latest/
  2. Tips for developers, https://github.com/indico/indico/blob/master/DEVELOPMENT.md
  3. Indico’s documentation, http://conf.istu.edu/ihelp/html/index.html#

Wednesday 5 April 2017

Software Konferensi Online berbasis Web Open Source

Starus : Draft

Berikut ada beberapa pilihan sofware Konferensi Online berbasis Web Open Source yang cukup populer :

Indico

Software yang dibuat oleh CERN

Untuk informasi lebih lanjut dapat mengunjungi http://indico-software.org

Apache OpenMeeting

Software Konferensi Online  besutan Apache.

Untuk informasi lebih lanjut dapat mengunjungi http://openmeetings.apache.org/

Jitsi 

Untuk informasi lebih lanjut dapat mengunjungi https://jitsi.org/

BigBlueButton


Untuk informasi lebih lanjut dapat mengunjungi http://bigbluebutton.org/

Mconf


Untuk informasi lebih lanjut dapat mengunjungi http://mconf.org/

WebHuddle


Untuk informasi lebih lanjut dapat mengunjungi, https://www.webhuddle.com/

Tuesday 7 February 2017

OCS ( Open Conference Systems ) : Themes

Status : Draft

Berikut adalah themes-themes defaul yang ada di OCS 2.3.6 :

Vanilla



Steel



ClassicBrown


ClassicRed


Lilac


ClassicNavy


Night


Desert


Uncommon


Redbar


ClassicBlue


ClassicGreen

Pengembangan Theme Baru 

Untuk theme pertama kita akan mencoba theme conference, yang berbasis dari https://github.com/technext/conference

Selain itu, ada beberapa lagi themes yang bisa diintegrasikan : https://graygrids.com/best-event-coming-soon-bootstrap-templates/

Baca juga : OCS : Open Conference Systems

Friday 20 January 2017

OCS : Open Conference Systems

Status : Draft


Instalasi via Git 

git clone https://github.com/OpenThink-Labs/ocs.git ocs
git pull && git submodule init && git submodule update && git submodule status

karena yang aktif dikembangkan adalah ocs-openthinklabs-2_3 , maka kita checkout versi ini :

git checkout ocs-openthinklabs-2_3
git pull && git submodule init && git submodule update && git submodule status

Nginx dengan php5.6-fpm


Untuk tutorial singkat setting nginx dengan php 5.6 dapat membaca [2]

Install paket yang diperlukan :

sudo apt-get install php5.6-xml
sudo apt-get install php5.6-mysql

Studi Kasus

  1. FMIPA IPB, http://ocs.fmipa.ipb.ac.id/
  2. Universitas Lampung (Unila), http://conference.unila.ac.id/
  3. Fakultas Ilmu Komputer, UI, http://icacsis.cs.ui.ac.id/ocs/
  4. University of Indonesia, http://conference.ui.ac.id/
  5. UNPAR, http://conference.unpar.ac.id/
  6. USU, http://ocs.usu.ac.id/
  7. UNDIP, http://econference.undip.ac.id/
  8. UNS, https://ibc.uns.ac.id
  9. Himpunan Kimia Indonesia, http://icics.kimiawan.org/
  10. Universitas Mulawarman, http://ocs.unmul.ac.id/
  11. MIPA UGM, http://pdm-mipa.ugm.ac.id/ocs
  12. Universitas Terbuka, http://conference.ut.ac.id/
  13. North Carolina State University Conference Systems, https://www.ncsu.edu/conferences/
  14. University of Toronto (status : sedang dievaluasi ulang, apakah masih akan digunakan), http://ocs.library.utoronto.ca/index.php/index/
  15. University of Kent, http://www.creem.st-and.ac.uk/ocs/
  16. International Federation of Classification Societies (IFCS), https://ifcs.boku.ac.at/_conference/
  17. University of South Bohemia, http://ocs.ef.jcu.cz/
  18. University of Botswana Conferences, http://conferences.ub.bw/
  19. Universitat Politècnica de València, http://ocs.editorial.upv.es/
  20. University of Victoria, http://conferences.uvic.ca/
  21. Klaipeda University, http://journals.ku.lt/conferences/

Theme Default yang Tersedia di OCS 2.3.6

Github  


Modifikasi OCS agar menggunakan bootstrap, https://github.com/OpenThink-Labs/ocs/tree/ocs-openthinklabs-2_3


Referensi


  1. Open Conference System, https://github.com/pkp/ocs
  2. nginx Dengan Beberapa Versi PHP, http://nginx.openthinklabs.com/2017/01/nginx-dengan-beberapa-versi-php.html
  3. OCS Documentation, https://pkp.sfu.ca/ocs/ocs_documentation/