Friday, 17 May 2013

[Tutorial] Blender Render Farm + Java Webserver

Assalammualaikum dan selamat bercuti... sayangi diri anda, yakini merah jambu... hahaha

Untuk post kali ni aku nk share cara nk setup blender render farm menggunakan open source software LokiRender...

So ape fungsi dan motip dier nk wat render farm nih sbnrnya? Haaa ni aku copy paste dari report yg aku tulis untuk praktikal aku time kt UTP... 
" The main purpose of a Blender Cluster is for speeding up the process of rendering images or animations. I have found that the current built in NetRender in Blender is still quite buggy. I took the initiative to look at other alternatives and found LokiRender. LokiRender is easy to setup and are able to run on Linux, Windows or Mac, since it is written in Java but best of all, it is Open Source. Due to this, it would also make my task easier to modify the source codes and recompile Loki Render to meet the requirements and serve its purpose. "

So, sbnrnya motip ak guna render farm nih adalah untuk:
1. Mempercepatkan proses render animation/gambar
2. NetRender, iaitu satu plugin yg sedia ada dalam Blender tak cukup efektif.
3. Modify render farm dan tambah sendiri ape yg aku nak...

Ni pulak adalah antara software/tools yg aku guna untuk setup render farm nih...



SOFTWARE/TOOLS
PURPOSE
Java Runtime Environment 7
LokiRender
NetBeans IDE
Blender
XML Cooktop

 
Bawah ni plak adalah video sebagai demonstrasi selepas dah abis setup semua... :)
*ni adalah modified version yang aku buat untuk Intelligent Cities UTP... version nih aku dah letak skali Java Webserver untuk track progress rendering online... len kali aku update cara nk modify LokiRender...*



So berminat nk tawu cmne nk setup? Haaa ni guide dier mudah je:

1. Install Blender. (All of the clusters must be installed with the same version of Blender.)

2. Last known working Blender version: Blender 2.6x binaries.

3. Prepare your .blend file. (render settings, etc.)

4. Run the lokiRender_062b.jar file. (cmd: java –jar lokiRender_062b.jar)

5. Select 'Master and Grunt'.

6. Right click in the Job Queue and select New Job.

7. Fill in the Job form. Select your .blend file for the Project File.

8. Enable Tile rendering if you're rendering a still image. Leave it unchecked if you're rendering many frames.

9. Click Save.

10. Follow steps 1 and 4 above for each computer you want to add as a grunt (slave): select Grunt when asked.

11. Back on your master, click Start!

12. Enjoy.


Thursday, 16 May 2013

[Tutorial] Code dan compile C++ untuk beginner

Assalammualaikum dan selamat menjamu selera... sayangi diri anda, yakini merah jambu... hahaha

Untuk tutorial kali ni ak nk tunjuk cara nk compile aplikasi yg ditulis dalam C++...
Ni kiranya untuk beginner la ye.. seswai bagi mereka yg tak tahu nak start dari mana untuk belajar C++...

Ok first, korang kene install dlu ape semua yg patot... biasanya dalam coding2 nih.. ada 2 bende je yg korang perlukan... satu editor satu compiler...

Editor ni mcm notepad untuk korang tulis code2... compiler plak keje dier compile code yg korang tulis tadi... haaaa tapi lepas dah compile tu kene ada library/framework dier... mcm klo Java, kene ada JRE, klo .Net kene ade .Net framework dan kadang2 ada game kene install directx/visual c....

tapi slalunya klo korang da pernah men Dota kat PC insyaAllah runtime tu ade dah..  hihihi

Haaa kat mane nk dapat and nk install software2 nih semua? Haaa click kt bawah nih ... ak ada tulis arituh cara nk install CodeBlocks, Notepad++ dan MinGW.

Oraiit! so skarang ak harap korang da install lah ye paling2 pon Notepad++ ngan MinGW...


So, sekarang kita nk tulis code pertama korang dalam C++ ... jang jang~
Silalah copy paste code bawah nih letak dalam codeblock/notepad/notepad++ korang ...

#include <iostream> using namespace std; int main() { string nama; cout << endl; cout << "Hye awak comel lah..." << endl; cout << "Name awak sape? : " << endl; cin >> nama; cout << endl; cout << nama << "??? amboih cantek nye nama awak :D " << endl; cout << "Bye... www.resyntax.com" << endl; }

 Dah copy paste? Haaa save.. pastu compile lah~

Untuk Codeblock:
Tekan button yg rupe dier macam button PLAY... ataupon tekan button F9 kt keyboard...
Haa klo boleh RUN... setel.. TAHNIAH! anda dah berjaya menulis code C++ pertama anda! hahaha

Untuk MinGW panjang sikit jalan kerja dier.. tapi lagi ringan...
Ikut gambar rajah di bawah... bukak command prompt, pergi ke directory korang simpan file code korang tadi tu... tulis ni: g++ test.cpp

*test.cpp tu nama file korang save code tadi tu... ikut la korang nk save sebagai ape pon...


So lepas dah compile ada satu file baru akan di-create.. iaitu a.exe...
haaa type huruf nih kat command prompt: a

sepatotnya ada la keluar mcm dalam gambar rajah di bawah nih:




Klo ada.. TAHNIAH! reward diri anda dengan choki2... hahaha

Ok sekarang meh aku explain pebende code nih buat...

#include <iostream>
using namespace std;
// Cebisan code diatas nih kira stended.. iostream tu library untuk input output.. kalau tak include takleh la kita input dan output.. haaa gitu...
// namespace std tu plak maksud dier namespace standard... namespace nih mcm library gak la.. supaya compiler paham BAHASA/NAMESPACE code tu... contoh: 'cout' tu maksud dier output... 'cin' tu maksud dier input... dan sebagai nya...

int main()
{
 .... bla bla bla
} 

//Cebisan code ni plak adalah main function dier.. haaa bab function ni len kali aku tulis tutorial dier.. tapi kiranya bende ni stended la kene ada untuk run/execute...

string nama;
//Yang ni plak omputeh cakap variable declaration.. maksudnya kita nk memberitahu/declare ada satu variable or pemboleh ubah baru yg berdata-type string telah diperkenalkan.. iaitu 'nama'
//Data type nih ada byk.. cth: int, double, float, boolean...

cout << endl;
cout << "Hye awak comel lah..." << endl;
cout << nama;
//haaa cout ni korang akan pakai banyak.. ape yg korang nk output, korang kene guna cout...
//kalao korang perasan, kalau korang nk cout variable 'nama' korang tak perlu double quote " ...
double quote " ni guna dier klo korang nk cout string mcm "buah hensem..."
//endl tu plak maksud dier kita nk create paragraph/perenggan baru la lebih kurang hahaha

cout << "Name awak sape? : " << endl;
cin >> nama;
//Haa cin ni plak keje dier untuk ambik input... klo korang tgk code kat atas nih..
cin >> nama; tu maksud dier korang nk masukkan input/data ke dalam variable 'nama'...

So itulah sahaja tutorial saya kali nih.. 
Akhir kata... Ingatlah orang yg tersayang... sayangi diri sendiri, yakini merah jambu.. Assalammualaikum :D

Wednesday, 15 May 2013

[Tutorial] Cara decompile Android Package File (APK)

Assalammualaikum dan salam 1Malaysia, sayangi diri anda, yakini merah jambu... hahaha

Dah lama tak update blog, ye lah dulu masa time awal2 buat blog nih igtkan nk wat formal dengan author2 yg lain... tapi xpe lah jadikan blog ni personal blog aku hehehe..

So tutorial ni aku akan tunjukkan cara nk decompile android package file ataupon dalam bahasa bangladesh dier, .apk... hahaha

Tutorial ni sbnrnya aku tulis untuk report aku time praktikal kt Universiti Teknologi Petronas.. ataupon dalam loghat perak, UTP... hahaha

OK! Mula2 ni antara senarai software2 yg korang kene install terlebih dahulu... takdak software/tools ni susah den nk nolong... so utk memudahkan korang xyah penat2 mencari ni ak da serta link utk korang download... haa silalah... jgn malu...


SOFTWARE/TOOLS
MOTIF
APKTOOL
Decompile apk files
APKSIGNER
Sign the newly compiled apk
JAVA DEVELOPMENT KIT (JDK)
Generate keys for signing
JAR OF BEANS
Android emulator

Download: APKTOOL dan APKSINGER
Download: JDK
Download: Jar Of Beans

So lepas da abis menyedut..
1. Extract apk-buah-resyntax.zip
2. Install JDK
3. Install Jar Of Beans
klo korang dah ada android device (wooo anak org  kaye..) xyah install Jar of Beans ni pon tape... ni sbagai emulator je..



Step1: Install framework:
1. Bukak command prompt (cmd)
2. Pergi ke directory dimana anda extract file apk-buah-resyntax.zip tadi
3. Tulis ni kat command prompt apktool if framework-res.apk

Step 2: Decompile APK:

1. Tulis command ni kat dalam command prompt: apktool d *apk korang*.apk
2. Lepas tu ada satu folder nama *apk korang* akan di create...

Step 3: Modify APK:

1. Bukak folder *apk korang* tadi tu.
2. Bukak folder res.
3. Korang akan perasan dalam folder tu ada mcm2 gambar dan text yg berkaitan ngan apk korang tu..
4. Pandai2 la korang edit ikut ape korang nk modify... Daripada ape yg aku dah explore, folder values ada simpan text... kiranya mcm nama apk tu, welcome screen dan sebagainya...  folder drawable-hdpi ni plak simpan gambar2... korang silalah explore lagi ye.. hahaha

Step 4: Recompile APK:

1. Tulis command ni kat dalam command prompt untuk recompile balik apk korang:

apktool b *apk korang* *apk korangbaru*.apk

2. File apk baru akan dihasilkan dengan nama *apk korangbaru*.apk



Step 5: Sign APK

*apk korang baru* tu belum sign lagi... apk yg tidak di-sign takkan boleh di-run kat dalam android OS...
So jgn skip step nih...
1. Untuk sign apk tu... mula2 kita kene generate key dier dulu...
2. Bukak apksigner.jar dengan double-click ataupon dengan tulis command nih kat command prompt:
java –jar apksigner.jar
Pastu korang akan nmpak satu window mcm dalam gambar kat bawah nih:


 Haaa... JDK path tu korang letak directory dimana korang install JDK tadi... pastu direct ke folder bin...
klo mcm aku, path JDK aku kat sini: C:\Program Files\Java\jdk1.7.0_17\bin

Target File tu target nama file korang nk create key tu nnt.. sbagai contoh letak kt C:\kunci

Pastu yg lain2 tu korang bantai je la letak pape korang nk kat situ hahaha jgn lupa password tu sbb nnt korang nk sign kene pakai password tu balik...

Sikit lagi...


So lepas da berjaya create key tu.. time untuk sign plak apk korang tadi tu... haaa tekan je kat TAB atas tu.. instead of Key Generator, tekan APK Signer... Refer kt gambar rajah di bawah:


Load key file tu... pilih C:\kunci atau nama kunci korang tadi.. password sama yg korang create tadi.. alias, alias password pon ikut yg korang isi tadi.. pastu Load apk file.. pilih *apk korang baru*.apk tadi...pastu tekan la button Sign! tu...

TAHNIAH! apk korang da di-sign.. sekarang korang leh try install apk korang tu kat android device korang... ataupon guna emulator Jar Of Beans... klo korang takda android mcm aku.. (sian kan..)

Ni screenshot project time aku buat masa praktikal kat UTP arituh... mobile app HajjG nama dier...

Menu lama...


Menu lepas dah modified...


Kalau masih tak paham.. boleh lah tgk video di bawah.. hehe :)

https://www.youtube.com/watch?v=AGhbpB7IaHo



Good luck all the best... ade pape soalan comment je.. insyaAllah aku jawab...

Akhir kata... Ingatlah orang yg tersayang... sayangi diri sendiri, yakini merah jambu.. Assalammualaikum :D