Making Dooitkoo – Bagian 3

Lanjutan dari Bagian 2

Server udah sip, local udah siap. Jadi sekarang waktunya coding. Fun time!

Setup Laravel

Karena baru pertama kali pake Laravel … oh, maksudnya baru pertama kali bikin full-blown web app sejak 2005, banyak yang harus dibaca-baca dulu, manual PHP, dokumentasi JavaScript di Mozilla, dll. Dan yang paling penting sekarang, seting local server ngikutin petunjuk yang ada di dokumentasinya.

Karena ada 3 konfigurasi yg berbeda, saya edit file paths.php & masukin path untuk konfigurasi local, staging, dan production server.

$environments = array(

	'dev' => array('http://localhost*', '*.dev'),
	'staging'=>array('http://staging.dooitkoo.com','web127.webfaction.com'),
	'production'=>array('https://dooitkoo.com','https://www.dooitkoo.com','web127.webfaction.com')

);

Kode di atas artinya, untuk domain localhost dan semua yg berakhiran .dev, pake konfigurasi yang ada di direktori /dev/, untuk domain staging.dooitkoo.com pake yang ada di /staging/, dan seterusnya. Continue reading →

Making Dooitkoo – bagian 2

Lanjutan dari Bagian 1

Tahap berikutnya setelah seting domain dsb adalah mempersiapkan application server dan local development environment, plus alat pendukung lainnya. Karena servernya pake linux, untuk development saya pake Mac yang juga berbasis Linux. Jadi sementara komputer windowsnya dipake utk buka dokumentasi & ngegame aja …

Server

Webfaction pake custom control panel di mana setiap website harus memiliki application dan domain. Application adalah tempat di mana saya nanti meletakkan file-file yang akan di-publish oleh Apache. Website adalah semacam container untuk application, fungsinya kurang lebih seperti file *.conf yand dipake Apache untuk ngeload website. Domain fungsinya seperti DNS manager.

Jadi pertama saya buat 2 application yaitu dooitkoo dan dooitkoo_staging, masing-masing untuk versi live/production dan testing. Kemudian saya bikin 2 database, yg namanya juga dooitkoo & dooitkoo_staging & saya bikin 2 website yang namanya sama.

Saya ga mau semua file & folder application server berada di lokasi yang bisa diakses lewat web. Jadi saya bikin 2 aplikasi tambahan bernama dooitkoo_public & dooitkoo_staging_public yang berupa symbolic link. Kedua aplikasi tambahan nantinya akan menjadi pointer ke direktori “/public” yang ada di Laravel. Website “app” saya atur supaya pake symlink dooitkoo_public, website “staging” saya arahkan ke dooitkoo_staging.

Apps

Continue reading →

Making Dooitkoo.com – bagian 1

Setelah lebih dari 10 tahun bekerja sebagai contract developer & bikin produk buat orang lain, saya pikir udah waktunya saya punya produk sendiri yang punya nilai komersial. Awalnya saya ingin membuat mobile game atau menjual web template tapi setelah dipikir masak-masak, saya lebih condong ke pembuatan aplikasi yang benar-benar memiliki value dan bisa membantu banyak orang.

Berdasar pengalaman pribadi, saya bukan orang yang bisa mengatur keuangan, timbul ide untuk membuat aplikasi semacam financial assistant untuk membantu mencatat segala macam transaksi dan merencanakan keuangan. Saya yakin bukan hanya saya yang sering sembrono dalam masalah keuangan jadi saya pikir aplikasi ini punya prospek. Apalagi di Indonesia belum banyak aplikasi sejenis, artinya pangsa pasar masih terbuka lebar.

Artikel ini & artikel-artikel lanjutannya saya tulis dan update selama saya mengembangkan aplikasi ini. Jadi semacam developer note yang saya harap bisa bermanfaat buat developer lain.

Planning

Fail to plan, plan to fail

Ide dasar udah ada. Sebelum lanjutin, riset dulu fitur umum yang biasanya ada di aplikasi finansial. Liat-liat Less Accounting, Mint, dan Freshbooks. Bikin daftar fitur yang bisa diaplikasikan di Dooitkoo & cocok untuk orang Indonesia.

Selanjutnya, apa bentuk deliverable-nya.

Continue reading →

AS3Isolib Game : Veer

I’ve been working on a facebook game called Veer (launched on January, 4th, 2012) for my client, Handson Entertainment . In this game, you play as a reporter, like Lois Lane, working for a news station, Veer. You begin your journey in a remote island called “Tuto Island” where you learn the basics of the game and then, as you level up, you will be taken to cities/places such as Paris, Monaco, Zanzibar, Beijing, etc. to hunt for interesting news. Based on your locations and levels/experience, you will have different missions/tasks from finding a missing colleague, locating a run-away celebrity, and so on. Also, you get to visit famous landmarks like The Eiffel and Louvre Museum in Paris.

Continue reading →

IRS, US tax Confusion: Offshore freelancers don’t need ITIN

I had been trying to get my individual tax id from IRS since January because the company i’m working for told me that I needed it in order to get full payments, otherwise they had to withhold 30% of my monthly fees according to IRS regulation. People said it would be a long process, and they are right!

After months exchanging emails with a tax consultant, getting the required papers from the company & from SSA office in the US embassy in Manila, sending my passport to a friend in the US to get a notarized copy, etc., I received a letter from IRS saying that my application was rejected because my passport copy was not properly notarized. I was puzzled so I asked my manager in the US to call IRS to get a clarification. After about an hour of getting transferred from one IRS agent to another (it would cost me a serious amount of $ if I called them myself), he finally got to talk to someone who could answer our inquiry. The answer is … I don’t need/qualify for ITIN because I perform my work in Indonesia, not in the US. The agent referred to this IRS publication, specifically the part that reads:

[box title=”Quote” color=”#333333″]Services performed outside the United States. Compensation paid to a nonresident alien (other than a resident of Puerto Rico, discussed later) for [highlight]services performed outside the United States is not considered wages and is not subject to withholding[/highlight].[/box]

So if you’re working remotely for a US company and the company asks for your ITIN, show them the publication.