Latest Event Updates

Hack by the Beach in Jakarta

Posted on

On the past weekend, we participated in the BCA Finhacks 2016 Hackathon. It was a hackathon event at the Segarra in Jakarta Ancol beach.
There atmosphere was very very hot and humid at the day time, but they prepared for a free flow food and drinks for every participants.

Anyway.. we were creating an App called AngpaO. It’s basically an app similar to eventbrite, but 2 extra main feature which is “live streaming” of the event and a “donation” feature using BCA E-Wallet integration. If you would like to know more about the app we have our presentation slide deck uploaded here.

Our team were called “Opcode” and consisted by 3 people:
Ihsan Fauzi Rahman (Cermati.com)
Firman Gautama (ADSKOM)
Supardi (Lippo X)

What our team have done in 24 hours time frame.

1. Reverse Engineered the PHP BCA Finhacks SDK.
– Extract bca (composer phar) file into raw php.
– Implement code hook to cache ‘access_token’ from Oauth2 class from bca sdk.
— Why? Because on the briefing yesterday morning (the 1st day), we only have limit to 5 access_token request/min, and the bca sdk didn’t cache it. We were worry that during the development we could be throttled.

2. Created PHP http Wrapper for BCA API.
– Our main apps is written in NodeJS, at the present time, bca only provide sdk for php and java, so that’s why we created an internal http wrapper for our NodeJS apps.
– We implemented these following bca api on our php http wrapper:
— User Registration
— User Update
— Topup
— Payment
— History Transaction

3. Created NodeJS Frontend + API for our Web and Android App.

– We implemented these following features:
— login & register for web (+integrated with facebook account)
— user profile update
— implemented feature to create new AngpaO event.
— implemented feature to list events for other users/guest.
— implemented feature of “donation” history for event owner.
– for this, we didn’t just use bca api, because the bca api have limitation up to the last 10 transaction only. So we re-implement our own transaction history.

4. Created Android Apps (Native)

– We created a smartphone as AngpaO wallet in mind. (So every transaction should only happen via a smartphone)
– We implemented these following features:
— login & register feature from android that integrated with Facebook account
— Implemented Angpao feed events list
— Implemented Angpao event view with video live stream
— Implemented Top-up feature.
— Implemented Donate feature.
— Implemented QR code read for AngpaO event.
— Import user profile from facebook.

5. Created live streaming video+audio for our AngpaO event.
– backend: Using Wowza with RTMP & HLS protocol.
– frontend: Using jwplayer to play on the browser (we also embed this on our android apps)
– broadcaster : Using Open Broadcaster Studio and the webcam as video and audio source (for demo)

 

======
BONUS Thoughts😀
======

1. The first version of BCA PHP SDK was broken. (On 18th April 2016 they gave everyone the SDK to download and test)
– How it broke? After we “reverse engineered the sdk” we found out that there are no getter for OAuth2Client dan JsonParser in their sdk main class loader.
(This was fixed at 23 April 2016 by BCA) (but to be prepared, we also have fixed the sdk our self, but at the 1st day of hackathon they told us if there is a new version of the sdk).
2. BCA API untuk fungsi payment-nya sempat error?
– format tanggal dibilang salah, padahal udah pake seperti yg di contoh: https://finhacks.id/api/?php#payment. (Fixed?)
–> Seems (some) of bca api server/endpoint have different timezone (GMT+5 instead of GMT+7) (how do we know this? we looked at the transaction date from bca server response)
–> We use a work around:
– Untuk payment, make sure ‘request date’ yg dikirimkan ke server < dari current datetime di server api bca, or else bakal dianggap invalid request.
– Jadinya kita sengaja mengirimkan waktu ‘request date’ yg beberapa waktu lebih lambat untuk menghindari race condition yang menyebabkan gagal nya request ‘payment’.
3. Access point wifi nya overloaded. Karena mungkin banyak-nya device peserta yang connect ke sana. Jadinya koneksi internet nya kurang stabil.
4. The bca api sandbox suddenly disappear like 12 hours before the event start😦
5. Not every team treated equally. 
I don’t want to point out who is who, but you can ask many other people/team that participated in the event to confirm  :)

Always Backup Your Files in Multiple Places

Posted on Updated on

I use some cheap backup servers from backupsy.com, and last week one of my server suddenly being inaccessible.

After several days, the server came back online BUT with a new username and password and all my backup files on that particular server are gone :))

And today they sent me an email like this:

Please do not reply to this email. This mailbox is not maintained. Please use our ticket system instead.
———————-

Hello,

We are writing you because you have active service on our node18 server.

As you’re aware, we experienced a silent failure of a disk in this system, which corrupted some of the disk files for some VMs beyond repair.

We replaced the disk and have discontinued the use of WD SE drives in our servers. We then let the server run for two weeks and have not experienced further instability of the server. We are confident that the situation has been resolved but will continue to monitor as usual.

If your VM is not online, please get in touch with us to investigate further,

Due to the extended outage because of this situation, we have applied a credit to your account equivalent to two month’s worth of service. You can check and confirm this credit in the client area under your address information on the “main” page of the client area.

We apologize for the inconvenience you’ve experienced due to this problem. We appreciate your patronage and are committed to keeping your data safe.

If you have any questions or comments, please don’t hesitate to open a support ticket to discuss further. Please do not reply to this email as it is being sent from an outgoing-only account.

Thank you,
-Backupsy Team

Luckily, I put my backup in more than one places so I’m still good🙂

HDFS Balancer and HBase Data Locality

Posted on Updated on

HBase blocks file locality and HDFS Balancer could post some problems😦

There are 3 facts that I’ve learned from this stackoverflow post.

  1. The Hadoop (HDFS) balancer moves blocks around from one node to another to try to make it so each datanode has the same amount of data (within a configurable threshold). This messes up HBases’s data locality, meaning that a particular region may be serving a file that is no longer on it’s local host.
  2. HBase’s balance_switch balances the cluster so that each regionserver hosts the same number of regions (or close to). This is separate from Hadoop’s (HDFS) balancer.
  3. If you are running only HBase, I recommend not running Hadoop’s (HDFS) balancer as it will cause certain regions to lose their data locality. This causes any request to that region to have to go over the network to one of the datanodes that is serving it’s HFile.

HBase’s data locality is recovered though. Whenever compaction occurs, all the blocks are copied locally to the regionserver serving that region and merged. At that point, data locality is recovered for that region. With that, all you really need to do to add new nodes to the cluster is add them. Hbase will take care of rebalancing the regions, and once these regions compact data locality will be restored.

Go-Jek.com website hosted on shared hosting?

Posted on Updated on

Updated: (2016-06-12). Baru sempet ngecek lagi nih, sekarang website go-jek udah pindah rumah ternyata ke google cloud hosting :))

root@uk:~$ dig http://www.go-jek.com

; <<>> DiG 9.10.3-P4-Debian <<>> http://www.go-jek.com

;; ANSWER SECTION:
http://www.go-jek.com. 1399 IN CNAME go-jek.com.
go-jek.com. 14399 IN A 104.155.199.9

NetRange: 104.154.0.0 – 104.155.255.255
CIDR: 104.154.0.0/15
NetName: GOOGLE-CLOUD

Hmmm.. ngga disangka aja, startup yang saat ini lagi berkembang sangat pesat tapi masih menggunakan shared hosting untuk hosting website-nya. Ngga sengaja ngintip, ternyata hanya subdomain www nya aja yang dilewatin cloudflare, untuk domain go-jek.com nya masih langsung di point ke server hosting asli nya🙂

Baca Juga: Situs Web GoJek Bermasalah, Belum Bayar? (Kompas.com)

root@vlb01:~|⇒ dig http://www.go-jek.com

; <<>> DiG 9.9.5-3-Ubuntu <<>> http://www.go-jek.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29185
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;www.go-jek.com. IN A

;; ANSWER SECTION:
http://www.go-jek.com. 86400 IN CNAME http://www.go-jek.com.cdn.cloudflare.net.
http://www.go-jek.com.cdn.cloudflare.net. 300 IN A 104.31.82.142
http://www.go-jek.com.cdn.cloudflare.net. 300 IN A 104.31.83.142

—–

root@vlb01:~|⇒ dig go-jek.com | grep A
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28689
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;go-jek.com. IN A
;; ANSWER SECTION:
go-jek.com. 3264 IN A 198.50.154.48

—– Hosted by KiosDomain.com

Reverse IP results for 198.50.154.48
==============
agarhamilcepat.com 2015-11-14
agiafra.com 2015-11-14
agungherbal.com 2015-11-14
al-nizham.com 2015-11-14
alfamotoshop.com 2015-01-20
amaruindonesia.com 2015-11-14
ampm-hi.com 2015-11-14
anekatool.com 2015-11-14
anekawebsite.com 2015-11-14
angris.com 2015-11-14
ariefrahmansyah.com 2015-11-14
arifkisnadi.com 2015-11-14
arisanhosting.com 2015-11-14
artsphere-gallery.com 2015-11-14
aurarempah.com 2014-11-17
automoesliem.com 2015-09-19
automutiara.com 2015-11-14
babychaz.com 2015-11-14
baligifter.org 2015-11-20
balittas.info 2015-03-31
barcode-id.com 2015-09-19
barunabosara.com 2015-11-14
barunaprasetya.com 2015-11-14
bataviapolymers.com 2015-11-14
batikbogortradisiku.com 2015-11-14
belajarpublicspeaking.com 2015-11-14
bernaridho.com 2015-11-14
bernaridho.net 2015-11-16
bfcminifarm.com 2015-11-14
bhumyala.com 2015-11-14
bigidea89.com 2014-07-05
bimacipta.com 2015-11-14
binainsanmulia.org 2015-11-20
binesqo.com 2015-11-14
bingkisanbayisebulanan.com 2015-11-14
bkpgsk.com 2015-11-14
bkpjakarta.com 2015-11-14
brd-design.com 2015-11-14
buanabarujaya.com 2015-11-14
bukutokoonline.com 2015-11-14
caturdaya-ep.com 2015-09-19
cphronline.com 2015-09-19
creythone.com 2015-09-19
daftardomain.net 2015-11-16
dapetinfo.com 2014-07-05
dayacitra-rom.com 2015-09-19
destinationnongsa.com 2015-09-19
dianasari.com 2015-09-19
digitalhyperstore.com 2015-09-19
discoverystyles.com 2015-09-19
discoverystyles.org 2015-11-20
dumautama.com 2015-09-19
ekaciptakarya.com 2015-09-19
emeraldeducationcentre.com 2015-01-20
famili.org 2015-11-20
familyheritance.com 2014-07-05
finesouvenir.net 2015-11-16
forceone-consultant.com 2015-09-19
foto-kanvas.com 2015-01-20
furnilac.com 2015-09-19
gamissunnah.com 2015-11-20
gamistaqwa.com 2015-09-19
gartia.com 2015-03-23
geotracemadyapada.com 2015-09-19
globalsolusi.com 2015-09-19
go-jek.com 2015-11-20
goldwellplastic.com 2015-09-19
gostore.us 2015-11-17
grindingantarindo.com 2015-09-19
haji-umroh-banisaleh.com 2015-09-19
halimteknik.com 2015-09-19
haltek-didactic.com 2015-09-19
hirudoclinic.com 2015-09-19
hollywoodislamicschool.com 2015-09-19
homycake.com 2015-06-21
hosting3g.com 2015-09-19
iaytrans.com 2015-09-19
iconstm.com 2015-09-19
ideator.biz 2015-08-29
indonesiaairpower.com 2014-07-05
indosteger.com 2015-09-19
infissindojaya.com 2015-09-19
inspiratorsukses.com 2015-09-19
instaft.com 2014-07-05
internetsuccessacademy.com 2015-09-19
inti-developer.com 2015-09-19
intravisnet.com 2015-09-19
isdisnormal.com 2015-09-19
ish-indonesia.com 2014-07-05
isyaatjakbar.org 2015-11-13
it-jti.com 2015-09-19
jajanhalal.com 2015-09-19
jasawebserpong.com 2015-01-20
jatidirimandiri.com 2015-09-19
jilbabtaqwa.com 2015-09-19
jmconstrindo.com 2015-09-19
kaluku-asia.com 2015-09-19
kayuputihstudio.com 2015-03-23
kedai-ibu.biz 2015-11-21
kelincimini.com 2015-09-19
klikcoklat.com 2014-07-05
klinikgigijakarta.com 2015-09-19
kliniktehmayang.com 2015-09-19
knockershardware.com 2015-09-19
konveksipembuatanseragam.com 2015-09-19
ksupt.com 2014-07-05
landakmini.com 2015-09-19
lautan-property.com 2015-09-19
lazzardi-bags.com 2015-09-19
lignoadhesive.com 2015-09-19
lilytour.com 2015-09-19
lobsterairtawar.com 2015-09-19
lobsterkriuk.com 2015-09-19
lobsterlaut.com 2015-09-19
lotusindonesia.com 2015-09-19
majalahfarmasi.com 2014-11-17
malindofm.com 2015-09-19
marisqueiraterramar.com 2015-09-19
markoek.com 2015-09-19
maskerantipolusi.com 2015-09-19
matahariemas.org 2015-11-13
mediainovasi.com 2015-09-19
megochi.com 2015-09-19
mimitostore.com 2015-09-19
mitochi-led.com 2015-09-19
moritaindonesia.com 2015-09-19
muhipro.com 2015-09-19
multikomservis.com 2015-09-19
multimedilab.com 2015-09-19
my-love-privacy.com 2015-09-19
ndlcreation.com 2015-09-19
neutralera-net.com 2015-09-19
onguards.com 2015-09-19
oraclebtm.com 2014-11-17
organolabs.com 2015-09-19
origise.com 2015-09-19
pamulangku.com 2015-09-19
panca-jm.com 2015-09-19
paramakastara.com 2015-09-19
pavingbloc.com 2015-09-19
pblstrategis.org 2015-11-13
pekanbarushop.com 2015-09-19
penyewaanscaffolding.com 2015-09-19
persiba.net 2015-11-16
platogayocoffee.com 2015-03-23
polressanggau.com 2015-09-19
poster-kanvas.com 2015-01-20
pranus.com 2015-09-19
ptbhl.com 2015-09-19
ptpnm.com 2015-09-19
ptreka.com 2015-09-19
ptsupl.com 2015-01-26
publicspeakingacademy.info 2015-11-17
pukspf-takedaid.com 2015-09-19
purnamajaya.com 2015-09-19
pusatsitus.com 2015-09-19
qisthas.com 2015-09-19
quantumhamil.com 2015-09-19
rainbowsportclub.com 2015-06-21
rekatama-tehnik.com 2015-09-19
rendangdeswita.com 2014-11-17
renzustudios.com 2015-09-19
risollaku.com 2015-09-19
rkctoys.com 2015-01-20
robertodesignsea.com 2015-09-19
rotary-snack.com 2015-09-19
rudihuang.com 2015-03-23
rumahbatikdiana.com 2015-03-23
rumahjambubogor.com 2015-01-26
rutansanggau.com 2015-09-19
samudra-pondasi.com 2015-09-19
scc-subang.com 2015-09-19
sekenhen.com 2015-09-19
sentraljob.com 2014-07-05
senyumceria.com 2015-09-19
serverfirm.com 2015-09-19
sewanotebook.com 2015-09-19
shinkobe-eng.com 2015-09-19
sinergiutama.com 2015-11-20
sino-mining-group.com 2014-07-05
smartdataglobal.com 2015-09-19
spectaeducation.com 2015-09-19
spnibabca.org 2015-11-13
sriwijayapustaka.com 2015-09-19
stemcellku.com 2015-01-20
syahruzzaman.com 2015-09-19
syailendra-group.com 2015-09-19
tanchu-kids.com 2015-01-20
tanjungbunga.com 2015-09-19
tanjungsari.net 2015-11-09
terapizona.com 2015-09-19
tgeleather.com 2015-06-21
tokoper.com 2015-09-19
tokotower.com 2015-09-19
toolbardigital.com 2015-09-19
triggerproduction.com 2015-09-19
trinitiekspres.com 2015-09-19
triomacanofficial.com 2015-11-20
unsub.ac.id 2015-11-20
waralabahalal.com 2015-09-19
wartajurnalis.com 2015-09-19
warungmadu.com 2015-09-19
wijayapanelgenset.com 2015-09-19
wisataedukasi.com 2015-09-19
wisatahalal.com 2015-09-19
yasindojaya.com 2015-09-19
zomozhaenterprise.com 2015-09-19

Startup Lokal: YesBoss vs Diana

Posted on

YesBoss vs Diana

Saat ini lagi banyak orang yang ngomongin tentang YesBoss vs Diana. Kenapa? Ya karena service jasa virtual assistant lagi banyak digemari di Indonesia (mungkin khusus nya Jakarta ya?).

Seperti yang dikutip dari Dailysocial

Keduanya disambut positif oleh masyarakat Indonesia, yang secara budaya suka jika setiap urusannya dibantu. Bagaimana tidak, dengan bermodalkan nomor telepon seluler dan alamat email, Anda bisa memperoleh asisten yang siap membantu memesan tiket perjalanan, hotel, makanan, belanja, dan masih banyak lagi hanya dengan mengirim SMS. Sejauh ini, kedua pihak menawarkan layanan yang sangat serupa. Meski begitu, ada beberapa catatan menarik yang bisa disimak.

Nah terus kira2 siapa yang menang yah diantara YesBoss dan Diana?

Hmmm.. kalau menurut gue sih saat ini belum ketahuan. Tetapi nanti nya in the future yang menang pastinya yang sistem Machine Learning dan NLP nya paling canggih yang menang! Karena semakin banyak user base nya maka pasti akan makin sedikit human interaction nya🙂

Anyway.. Kalau sistem mereka nanti-nya memang bener2 canggih, mungkin salah satu dari mereka (or mungkin dua2nya) akan di akusisi oleh pemain besar lain-nya seperti Cortana, Google Now dan Siri.