Dear rekan-rekan Komunitas sekalian,
Saya excited sekali ingin berbagi pengalaman dengan rekan-rekan sekalian,
Kebetulan kemarin saya berkesempatan untuk diundang menjadi salah satu pembicara di diskusi panel dalam Developer Conference tentang WP7 di Taipei, Taiwan. (Terima kasih banyak buat Pak Irving dari Microsoft Indonesia and also Mr. Chris Chin from Microsoft SIngapore for the opportunity :), very happy and excited could be there and shared our experience building ISV).

The event itself terbagi dalam 2 hari, hari pertama berisi seminar dengan pembicara dari berbagai belahan negara, dan hari kedua ditutup dengan workshop tentang silverlight dan XNA development di atas WP7. Saya sendiri hadirnya di hari pertama. Di hari pertama keberangkatan dari hotel diwarnai sedikit kebingungan, ternyata mostly people in Taiwan bener bener ga ngertin english, lebih parah lagi ternyata tulisan latin pun belum tentu mereka ngerti, especially ketika tulisan itu nama jalan >.<... Akibatnya harus balik lagi ke hotel, minta concierge buat tulisin alamatnya in Mandarin... (after kejadian ini, selalu bawa-bawa tulisan mandarinnya untuk ke alamat yg mau dituju, tampaknya rekan-rekan kalau maw ke Taiwan dan tidak mengerti mandarin disarankan membawa kertas berisi tujuan dalam mandarin :P, it very helpful).
Begitu saya sampai ada Stanley dan Timothy from Hongkong speaking about 3D XNA Development on WP7, cool stuff indeed. Lalu ada Eric Chan dari Hongkong juga yang membahas akan Cloud Computing dan WP7 in depth, termasuk fitur notification yg brutal di WP7 :D. Lalu ada sesi dari Sen Wang, Microsoft Taiwan yang memberikan pertanyaan-pertanyaan dan meminta audience sharing aplikasi yang mereka bangun di atas WP7, dan hadiah dari pertanyaan itu adalah HTC version dr WP7 Phone yg terbaru.... (*baru inget juga pas itu kalo HTC dari Taiwan... dibagiinnya kaya kacang goreng >.<*)... And then masih tetap tergiur dngn HTC terbaru tadi, kita break dulu untuk istirahat makan siang. Saya pergi makan siang bersama para speaker sesi awal.

Lanjut, ada pembicara dari China (RRC), Alex Wang, tentang publishing magazine on Mobile, dimana sudah dilakukan di China dan it proves pretty successful. Setelah itu ada speaker dari ex-google-employee, Ken Law, tentang company yang dia build dan platform yang dia buat, namanya MotherApp. The very interesting things about this platform, MotherApp mampu mengkonversi HTML + special tag yang dia buat menjadi sebuah executeable di berbagai platform, and the Windows Phone 7 version is coming on March, so code once easily (coz it use HTML, very general and simple lang), and publish it anywhere, only $1000/apps :D. Lalu dilanjutkan dngan Gao Jing Lian, yang mana dibawakan full in chinese >.<, slidenya juga chinese, jadi totally ga mudeng... Tapi kira-kira overall Gao Jing Lian ini adalah manufaktur hardware (Nexiannya Taiwan lah, merknya G-Fly) dan dia membuat appstore sendiri, dengan rev model 50:50. jadi kalau mau publish aplikasi movile di Taiwan bisa lewat dia. Hohoho.
Nahh, last but not least, ada sesi saya dan seorang rekan panelis juga bernama JC Xu, dari Thailand... (Dia run bisnis di Thailand untuk develop aplikasi mobile secara cross platform, klien2nya juga udah besar2. Kita cukup akrab kok, sampai skr masih kontak via social media... tapi malamnya saya ga berani singgung2 tentang sepakbola >.<... - itu pas hari Indonesia vs Thailand XDDD), Ok balik ke diskusi panel, disitu kita kebagian untuk memberikan diskusi panel tentang "What is needed for ISVs to be successful in WP7?". Dibuka oleh Chris Chin yang menjadi moderator dalam panel kita. Lalu dilanjutkan oleh JC yang menceritakan akan perusahannya HLP, kemudian diakhiri oleh saya yang menceritakan tentang Agate Studio.

Yang menarik dari sesi terakhir ini, ternyata audience juga sangat bersemangat, mereka mengajukan berbagai pertanyaan dan komentar yang membuat seisi ruangan aktif, sampai2 Chris Chin yang memoderasi sangat bersemangat dan akhirnya kita kena time limit... bahkan lewat XDDD. Akhirnya acara ditutup oleh Chris Chin, kemudian bubar, ada bbrp audience yg menghampiri para panelis untuk pertanyaan tambahan. Ok... That's Day 1, the seminars... Actually di Day 2 lebih ke arah workshop technical dan menggunakan bahasa mandarin >.<, jadi kami-kami yang tidak mengeri bahasa mandarin total, tidak mengikuti event di hari ke-2.
Oh iya di malam hari pertama, Chris Chin mengundang kita makan malam, bersama para pembicara hari pertama tadi, banyak hal menarik yang dibicarakan di meja makan. Kebanyakan tentang teknologi update dan bisnis. Yang paling menarik dari sesi malam itu adalah ketika Alex Wang menceritakan tentang kondisi mobile user di China. Ternyata kondisinya sangat-sangat mirip dengan Indonesia, habit dari para pemakai handphonenya yang lebih suka barang free. tidak mau spending untuk barang virtual. Sehingga untuk masuk ke pasar harus menggunakan model bisnis yang unik.

That's the end dari Windows Phone 7 Developer Summit kemarin, ada beberapa hal menarik yang saya catat dari event tersebut dan the whole trip of Taipei kemarin, yaitu:
- Pertama ttg WP7nya sendiri, jujur sejak pertama kali diannounce, saya pribadi masih belum terlalu tertarik ke WP7 ini. Di Agate sendiri hanya ada sebuah tim kecil yang membuat game porting dari sebuah game di web yagn terkenal bekerja sama dengan pemilik IPnya. Namun sejak hadir di Event ini dan mendapat banyak informasi serta melihat se-sophisticated apa WP7, saya jadi super optimis :D, sekarang di Agate ada tim khusus buat WP7. Hehehe.
- Kedua masih ttg WP7, dari event tersebut kelihatan juga bahwa banyak developer juga yang sudah mulai start untuk masuk ke pasar WP7, dan ini menurut saya masih merupakan early stage yangmana kalau kita konsisten dan terus berkarya disini, ketika pasarnya booming, kita berada di posisi yang pas untuk bisa panen yang baik :D
- Hari kerja di Korea itu senin-sabtu loh ternyata (sabtunya setengah hari, selesai sekitar jam 1 atau 2 siang), kenapa ini menarik? karena di Agate kita pake hari kerja yang sama, kupikir cuma kita aja yg gila hari sabtu dipake kerja, tapi ternyat banyak juga teman-teman dari berbagai belahan dunia yg lain. :D
- Orang sana super tertib, pemakai jalan yg tertib, biasanya selalu ngalah duluan, ga maen serobot. alangkah damainya lalu lintas disana :P
Terima kasih banyak yah semuanya :)
Salam Sukses buat rekan rekan komunitas!
Hi everyone ^ ^
It's been a while since my last post here.
I've been quite busy on starting up a company with my friends here.
*the pic above shows our company logo.. did you realize the word 'a' 'g' and 't' on thad image? :P *
Well, following the path of my mentor here,
I gathered friends with the same dream and vision and form Agate Studio.
Actually, there are 15 co-founders of this Studio (quite a lot isn’t it?). Now there are already 23 talented people in Agate Studio and we strive to do
our best here.
Nowadays, the creative industry already becomes the
most developed industry all around the world. On modern countries, this
industry even beats big industries such as oil industry; mining etc. Agate Studio tries to takes part in the creative industry, especially focused
on game development. We want to gives colors to Indonesia’s creative industry by focusing on the fun
& interactive products. And also to push even more game development in
Indonesia, so we’re not behind the others.
This game development fields was our desire from
childhood (of course, we are gamers, what about you? :D), and we are very happy
to be here and fulfilling our dream. Well, there is something interesting about ‘dream’. We always want to chase dream, but dream itself is unreachable (you won’t
called it dream if it’s between your grasp). So are we chasing impossible thing? Bad news, the answer is yes, but the good
news is, by chasing impossible thing, it forces us to do impossible things too.
Right now, there are two big titles are under
development.
1. Twilight
: Altercation
Platform:
PC (or maybe next gen console)

Twilight:
Altercation is a 3D tactical role playing game for the PC set in a rich,
futuristic galaxy of Athreltus.Command your troops, use field-altering
abilities and outmaneuver your enemies while unmasking intriguing mysteries in
this story-driven game. This game tries to simulate real world physic so
environment in this game will be very interactive. Turn the tide of battles by manipulating your
battlefield: drop boulders on enemies, cut down trees for bridges, destroy
walls for shortcuts, and even solve puzzle for prizes.
2. Ponporon!
Platform:
XBOX360

Ponporon! Is a
collection of pick-up-and-play minigames set in a colorful, absurd world
inhabited by Porons. It is designed for multi player experience, though it also
has a fully playable single player story mode. We’ve also
already show playable demo of this game at Indonesia Game Show 2008. Thank you
very much for Mr. Zeddy (MVP Xbox) to lend us his Xbox360 for about 5 days. And thanks to
everyone, we’ve got great responses of this game. There are also
some media reports for our booth: detik, kotakgame, and also some personal blog
Well, I will describe more about those two titles in
later post.
Besides these two titles, we’re also open for any creative projects,
especially
in game development or any creative product in which focused on the user’s fun
interaction and of course cutting-edge technology and great art (concept/2D/3D)
will tag along.
I think that’s for our intro here.
Since we’re new
in the industry here,
We hope you don’t mind to teach us, and support us.
Please visit our development blog here.
Thank you very much.
Well, I'm very sorry for this very late post.. I think I spend too much time sleeping lately (got fever lately.. side effects of 3 weeks non-stop working..)
In this oppurtunity I (on behalf of Team Antarmuka) want to say thank you very much, especially for (random order..):
- Pak Dwi (as our mentor he did the best for us)
- Pak Iping (thanks for the notebook that we borrowed at Regional Final)
- Bung Naren (he gives us many support, suggestion, and also we borrowed his 3G Modem and notebook at Regional Final)
- Bung Zeddy & Bung Umar (they did a great job in the imagine cup this year, I think it's the best ever, thank you very much)
- All the Judges - Mr.Risman, Mr. Norman, Mr. Rene, Mr. Tahir (thanks for choosing us, we will give our best in the world finals..)
- Octa cs (From the beginning we asked their help so much, thank you for everything..)
- Kak Igor (we borrowed his PDA for about a week... Thank you very much)
- Khoirush (we borrowed his 3G also for the Regional Final)
- Omnya Ella - Pak Direkta (Thank for borrowing us notebook :D)
- Fajar (we held captive this guy to help us set up our hardware >:D, thank you very much bro..)
- Ronald (our Boss @MIC ITB, which very willingly to accompany us on every step we made, we also borrowed MIC for about 3 weeks XD)
- MIC Crews (thank you for your continous support, and also special thanks to our lead safety division, Heryanto Totot :D)
- Temen2 IF (we don't know we will make it or not without your support to our team.. thanks everyone..)
- Dosen2 IF (please forgive us for not attending college for about three weeks XD..)
- Supporter team (especially to Mbak Desy who coordinates all the supporters)
- Kementrian Lingkungan Hidup (thank for the cooperation with our team)
- WALHI (thank for your support and time for us from the very begining)
And also many more that we can't describe one by one here.. Thank you very much everyone...
[english version]
Butterfly is an integrated system for reporting, documentation, and publication of environmental problems. Butterfly can receive a report from public through sms, phone calls, Butterfly website, and Butterfly mobile application. After Butterfly receives a report, it will classify the problem according to the category and priority through report keyword analysis. Therefore, a report would have a priority value and category, which determine where it would be sent. After that, the report would be forwarded to the proper authority that can handle the problem. The authority has to decide what to do with the report, whether it would be processed, postponed, or ignored. Whatever he decides, he has to put a reason why he decides that. The report then would be published on the Internet through Butterfly website, so the society can see the environmental that is currently happening, and how the responsible authority handles it.
[indonesian version]
Butterfly adalah sistem terintegrasi yang berfungsi menerima, mendokumentasikan, dan menampilkan laporan mengenai masalah lingkungan. Butterfly dapat menerima laporan dari masyarakat melalui sms, telepon, website, maupun aplikasi mobile yang diinstal di PDA. Setelah laporan diterima, Butterfly akan menentukan kategori dan prioritas masalah melalui analisis kata kunci yang terdapat pada laporan. Dengan demikian, sebuah laporan akan memiliki nilai prioritas dan kategori jenis laporan, yang menentukan ke mana laporan tersebut akan sampaikan. Setelah itu, laporan akan disampaikan ke pihak yang berwenang dalam menangani masalah yang dilaporkan. Pihak penerima laporan harus memutuskan penanganan terhadap laporan tersebut, apakah segera diproses, ditunda, atau diabaikan. Apapun penanganan yang dilakukan, pihak penerima harus memberikan alasan pilihannya. Laporan yang telah diproses akan ditampilkan di internet, sehingga masyarakat dapat mengetahui masalah lingkungan yang terjadi beserta penanganan yang telah dilakukan oleh pihak yang bertanggung jawab.
As we know, .NET CF doesn't have standard routine to resize Bitmap (Don't know why...). I'm looking for a tutorial online, but it seems noone already wrote this. So I decide to do it by myself (that's why I wrote this post in English. I hope I can help everyone in need). Actually I need this code for my Butterfly Project (Imagine Cup 2008 - Software Design)
Well, let's get started..
The basic (and silly) idea of resizing image is by mapping pixel one by one based on the width and height ratio. So if we defined originalBitmap is a Bitmap file referencing to the original bitmap to be resized, and resultBitmap is a Bitmap reference where we should write it, the code should look like this: (assuming resultBitmap already referenced to an instance with a defined width and height)
for (int y = 0; y < resultBitmap.Height; ++y) {
for (int x = 0; x < resultBitmap.Width; ++x) {
resultBitmap.SetPixel(x, y, originalBitmap.GetPixel( (int)Math.Round(x * originalBitmap.Width / resultBitmap.Width), (int)Math.Round(y * originalBitmap.Height / resultBitmap.Height) ));
}
}
But we should forget the above code as soon as possible. We mustn't implement those kind of code. It looks like O(n*m) with n = height and m = width, but let's see... In every loop pass it calls SetPixel and GetPixel which will iterate the bitmap to get the pixel value we need (this was done every pass), and also there are many redundant value which is can be pre-computed to increase effectivity. Let's assume a setPixel and GetPixel pass consume O(n*m) too so the total will be O(n^3 * m^3).... -______- (it still use so many mathematical function inside..)
To decrease any redundant value, let's just use a temporary variable which stores the precomputed value (and also do this also for class parameter that was accessed badly every loop pass. It will be much efficient fecthing a value from stack than from calling an method.. Properties is a method too.)
And for the SetPixel and GetPixel issue, I think we should go back using the traditional way, POINTER :D (I don't know why but I love pointer :P). Before we start using pointer in C# we should use unsafe tag in code containing the pointer and then use /unsafe when building or check the unsafe build in build properties when using visual studio.
The Final Code should looks like this:
public static void ResizeImage(Bitmap originalBitmap, Bitmap resultBitmap) {
int newWidth = resultBitmap.Width;
int newHeight = resultBitmap.Height;
int originalWidth = originalBitmap.Width;
int originalHeight = originalBitmap.Height;
BitmapData originalData = originalBitmap.LockBits(
new Rectangle(0, 0, originalWidth, originalHeight),
ImageLockMode.ReadOnly,
PixelFormat.Format32bppRgb);
BitmapData resultData = resultBitmap.LockBits(
new Rectangle(0, 0, resultBitmap.Width, resultBitmap.Height),
ImageLockMode.WriteOnly,
PixelFormat.Format32bppRgb);
double xFactor = originalWidth / newWidth;
double yFactor = originalHeight / newHeight * originalWidth;
unsafe
{
int* originalPointer = (int*)originalData.Scan0.ToPointer();
int* resultPointer = (int*)resultData.Scan0.ToPointer();
for (int y = 0; y < newHeight; ++y) {
for (int x =0; x < newWidth; ++x) {
int sourcePosition = (int)(Math.Round(x * xFactor) + Math.Round(y * yFactor));
int destinationPosition = (x + y * newWidth);
resultPointer[destinationPosition] =
originalPointer[sourcePosition];
}
}
originalBitmap.UnlockBits(originalData);
resultBitmap.UnlockBits(resultData);
}
}
Well, I don't think this was the optimal code.But I think I don't have any time to develop it further (its 6 AM... limit of zombie skills.. time to have 2-3 hours of sleep). Besides I think I'm a bit lazy to deploy this code to PDA (Thanks for Igor IF2004 for borrowing me the PDA..) every time I want to debug it.. So I hope all of you can improve this silly code :P. Let's see... Look at the line contain "int destinationPosition = (x + y * newWidth);". Do you think it's neccessary? We could just use a temp variable to contain the value and increase the value every pass, OR we could just increase the pointer every pass (its very efficient) :D.
Thanks for reading :D :D :D
P.S. Just Curious, Is there any tag to post code? like <code> in phpBB?
Menyambung postingan Bung Hakim di sini. Mengenai Google Summer of Code, Ogre3D juga merupakan salah satu mentoring organization untuk Google Summer of Code (jadi kita bisa ambil kerjaan yg ditawarin si Ogre3D :P).
Ogre3D merupakan salah satu 3D Engine Open Source yang cukup digemari dalam game development (kebetulan saya juga pakai ini buat wrapper directX 9.0 di proyek game saya XD). Fitur yang dimilikinya cukup lengkap dan sudah bisa langsung digunakan dalam proses game development (untuk urusan 3d rendering). Nah berhubung sekarang udah keluar DirectX10, salah satu target dari Ogre3D buat GSoC itu adalah melengkapi implementasi directX 10 di Ogre3D sehingga menggunakan segala keunggulan performa dari si dx termasuk geometry shader dan stream rendering. Prasyaratnya sih applicant mesti udah punya vista capable machine (minimal memory 2GB <-- ini spek tambahan dari saya, kalo ga bisa stress bikinnya), sama Dx10 capable VGA (keluarga 8 dari Nvidia sama 2** dari ATI, kalo bisa sih 8600++ en 2800++ ato 3*** juga boleh). Lengkapnya sih bisa dilihat di sini.
Ayo pada ikutan :D :D :D, lumayan loh duitnya ($4500 kalo dinilai baik sama mentor), sekalian asah2 sekill juga :D.
Sekedar ingin membagi file. File ini saya dapatkan dari salah seorang member di gamedevid.org (original thread). Presentasi XNA ini ada 13 biji, dan sebagian besar masih perkenalan. tapi materinya rada advance sih XD. Tapi sangat bagus bagi yang ingin mengetahui lebih dalam tentang XNA. Filenya bisa di-unduh di sini, ukurannya 12.4 MB.
NB:
Filenya .pptx jadi bukanya mesti pake 2007.
Btw, iseng2 mo tanya ada yang punya informasi internship di bidang gamedev ga? :D (kepengen nih XD, mumpung bentar lagi di kampus harus internship)
First of all, I want to introduce myself here.. (this is my first post though XD)
My name is Arief Widhiyasa and I always using a nickname Clawford in the internet. My mainly interest is in gamedev (game development) and I hope I'll start writing about gamedev here as soon as I finished my first big game (I hope for a lot of support for all of you XD). I also interested in med-level programming (usually using C++) and development using win32-API, MFC, directX, etc (old way though XD XD XD, but I still don't like using high level lang very much :P)
A long intro though (phew...). This time I want to share my last night experience when following IT Pro quiz 2 ICup 2008. And unbelieveable result coming this morning... The portal said that I'm allowed to follow round 2, with a round 2 score 22 out of 30 with rank 39 (many people with the same score here), and here is the halfway result of round 1 with me in rank 40.
Nahh.. what I want to say is that I really don't have any knowledge in IT pro (literally I means XD), I just using few tricks for answering that kind of multiple choice questions and optimizing google and wikipedia helps. The reason why I write these things bcoz I want for the real master in IT pro (coz I'm real noobz in IT Pro, and most of my time spent playing minesweeper when following IT Pro training :P, *I'm still hearing of course XD*) to be able to past this round (coz I think this round really doesn't show our skill at all) easilly and bow the name of Indonesia to France :D.
OK. let's get started, most of all, these are the requirements needed :
- a fast internet connection (fast in this statement means that you can open google searh result first page in less than 5 seconds)
- a messenger with so many IT friends in it :P (better ask than sorry :D)
- (optional) a one click button to search a query (I find it really helpfull bcoz we're racing with time)
For a single question, there are many ways to solve it, such as :
- just answer, coz we already know the answer (as I remember I only answered 2 questions this way XD)
- use few tricks to reduce the possibility of answer (assuming you don't have knowledge related to the answer), such as :
+ contradictive choice, ex. i remember a question like this, 'which of this statement is correct about universal groups?' CMIIW, and in the choice bellow, there are two contradictive choices. e.x. 'this allowed members from all domains' and 'this only allow members from specific domains', so we can reduced the possibility to this 2 choice and after that instinct work :P (atm, my instinct is bcoz of the word of 'universal', the first choice fits best :D)
+ I don't really know how the best way to describe this. but it's just a ad-hoc method of multiple choice answering where you analyze choices relationship and reduce the possible answer. for example.... still don't know how to explain this XD... If I come up with a good way I'll update this post... (hope I don't forget XD)
- use the help of google and wikipedia :D
this is the most effective way to answer a question. these are some step that I do when using google and wikipedia.
The way i'm using google :P :
- First, i ussualy choose all the question, click the one button search and slighly view the result. After that if i don't get any helpful result (most of the time), optimize the query as necessary and view the result (usually i will get some clue here), and if you need a spesific answer (e.x. how many days, or what is blablbla), simply add the word days in the query and the magic works.... *ta daaa* i found the answer :P. Most of the time I really didn't need to go to the page resulted by google. Play with the query, and answers will come :P
- And if that really doesn;t work, try to combine the choice with the query :D. And to optimize time, if i already try to combine 3 choice and the result is very far from expected, i just choose the last choice :D (time is money XD)
- If two ways above really don't work, where i get confusing result, this is the time to ask my friends :D (and hope they come with an answer XD)
The way i'm using wiki :
wiki is useful only when i want to know a description or (*'kepanjangan' in english XD*) of abbreviation. Other than that needs, reading wiki will spend a lot of our competition time.
(phew** writing for about 40 minutes) I think that's all i can share rite now XD, I hope this post can help everyone when following IT pro, or generally when answering multiple choice question :P. And I hope for your comments and if there is something i could add or change i will be very thankful ^ ^