Andri Yadi

A geeky technopreneur, trying to do something big with his startup
  • Office Development in Visual Studio 2010

    Here are some samples that demonstrate Office 2007 development projects using Visual Studio 2010 Beta 1

    Outlook Form Region RSS Reader Sample Demonstrates how to use Microsoft Office Outlook 2007 form regions to display the full content of articles from an RSS feed.
    Excel Master Detail Data Sample Demonstrates how to retrieve data from a relational database or XML file and use that data in Excel.
    Excel Document Protection Techniques Sample Demonstrates various techniques you can use to protect structural components of a worksheet to help to prevent users from accidentally deleting controls or otherwise changing important parts of your solution document.
    UI Manager Sample Demonstrates how to create a Ribbon customization, a custom task pane, and a custom form region for Outlook 2007 by implementing extensibility interfaces in an add-in. Each instance of the Ribbon, task pane, and form region can correctly communicate with each other.
    SharePoint 2007 Sequential Workflow Sample When a document is uploaded the workflow is automatically started and a task is immediately created. The workflow then goes into a wait state until the task is updated. If the task is marked completed the workflow then completes.

    Just grab the code at: http://code.msdn.microsoft.com/OfficeDevFuture

    Off course you need VS 2010 Beta 1 to open the solution.

    Share this post: | | | |
    Posted May 20 2009, 08:15 AM by andriyadi with 2 comment(s)
    Filed under:
  • The Baby is Two Years Old Now

    He was conceived about three years ago. On May 9, 2007, exactly two years ago, he was born into this world, delivered by originally six fathers, no mom. We named him DyCode, a nickname of a full name, Dycode Cominfotech Development. He was born with almost nothing, from scratch, with only faith and determination of his fathers.

    Memang nggak mudah membesarkan bayi jika nggak punya cukup uang. Bayi apapun itu. Ketika bayi itu adalah sebuah perusahaan, nggak sedikit orang tuanya yang memilih menyerah dan meninggalkannya ketika kondisi keuangan mulai parah. Ditambah ketika pekerjaan-pekerjaan sulit didapat, makin menghancurkan kemampuan dan niat untuk tetap mengurusnya.

    Tidak terkecuali DyCode. Masa-masa awal kelahirannya, cukup membawa penderitaan bagi orang tuanya. Orangtuanya harus rela nggak gajian sama sekali, nggak bisa beredar, hidup seadanya dari sisa-sisa tabungan masa lalu, dan mengencangkan ikat pinggang. Ditambah para orangtuanya nggak punya banyak modal uang dan aset tetap ketika melahirkannya, hanya modal konsep, niat, keberanian, dan keteguhan hati.

    Walaupun pada awal kelahiran DyCode, sudah banyak pekerjaan bagi orangtuanya, tapi itu nggak membuat kondisi menjadi lebih baik. Pekerjaan-pekerjaan yang disebut proyek itu nggak seketika mendatangkan uang. Harus menunggu 2-3 bulan untuk bisa mencairkan uang. Dan ketika uang itu cair, langsung habis untuk membayar kewajiban-kewajiban yang tertunda di bulan-bulan sebelumnya. Kondisi tsb berlangsung terus menerus sampai hampir setahun.

    Akibatnya, nggak semua orangtua DyCode bertahan. Satu persatu meninggalkannya, sampai akhirnya tinggal 3 bapak yang mengurus DyCode. Kami nggak menyalahkan orangtua lainnya yang memilih jalan lain, mereka berhak untuk melakukan itu. Kondisi saat itu memang sucks. Hampir tidak ada harapan.

    Setelah kurang lebih setahun, kondisi mulai membaik. Pekerjaan semakin banyak dan nilainya bisa semakin tinggi seiring peningkatan kualitas dan image DyCode. Cash flow bisa lebih lancar, kegiatan gali lubang tutup lubang (kayak lagu bang Roma aja :P) bertendensi mulai berkurang. Semua berkat kesabaran dan kerja keras founders yang tersisa, dan tentu didukung oleh DyCoders yang tetap loyal, keep dynamic, work hard, dan outstanding results.

    Selayaknya bayi berumur 2 tahun, saat ini DyCode sudah memiliki gigi, bisa berjalan dan mulai berdiri tegak di tengah persaingan bisnis IT di tanah air, khususnya software development. Dalam 2 tahun, DyCode sudah mengalami peningkatan 100% dari sisi resources, 100% dalam hal revenue, 200% pada peningkatan aset tetap. Sudah me-launch satu produk ke publik, dan saat ini sedang dibentuk new business division (more story about this later). Not good enough for a business, but we are still and keep on trying and trying.

    Today, 090509, is his two years birthday. Happy birthday our baby DyCode…This is a cake for you.
    IMG_5113

    And this is the party for you (more story about this later).
    IMG_5314

    Grow up fast my son, be a nice boy… Selamat menempuh tahun ketiga dalam hidupmu.

    Share this post: | | | |
    Posted May 09 2009, 09:05 PM by andriyadi with 8 comment(s)
    Filed under:
  • Indonesia Celebrates It

    9 April 2009 adalah hari bersejarah. Indonesia merayakan sesuatu yang luar biasa. Pada hari itu seluruh rakyat Indonesia, well...mungkin tidak seluruhnya tapi sebagian besar, berbondong-bondong menuju ke suatu tempat yang sama, kemanakah mereka? Mungkinkah bangsa Indonesia sedang merayakan Ulang Tahun seorang anak manusia sekaligus putra Indonesia? Mungkin saja, tapi yang pasti, pada hari itu Indonesia sedang merayakan sebuah pesta demokrasi, Pemilihan Umum Legislatif 2009. Suatu hari dimana rakyat Indonesia menggunakan hak pilihnya untuk memilih partai politik dan calon wakil rakyat, dan calon DPD.

    27 tahun lalu, tepatnya hari Jumat dini hari, lahir seorang Homo Sapiens di negeri Nusantara ini. Kicking, Crying, and Screaming ketika ia menembus alam dunia fana ini. Mungkin awalnya ia menangis dan bertanya, "why I have to be born to this world". Tapi selama 27 tahun hidupnya, tak sedikitpun ia menyesal, malah bersyukur. From his perspective, many great things he've done. Walaupun semuanya masih belum cukup, but still..ia bersyukur.

    He is Andri Yadi, a geeky technopreneur that trying to do something big with his startup and his life. Datang dari keluarga dengan ekonomi menengah dan dari kampung antah beranta (yang cukup lama dilupakan oleh negeri kita tercinta, sampai akhirnya menjadi Provinsi sendiri), tidak membuatnya merasa kecil hati dan patah semangat. Hampir selalu memperoleh peringkat pertama (dan hanya 2 kali peringkat kedua) sejak SD sampai SMA, dan ditutup dengan pencapaian Cumlaude sewaktu kuliah di sebuah kampus ternama, adalah pencapaian yang berharga dalam hidupnya. Walaupun lapangan pekerjaan terbuka lebar, ia memilih menjadi pengusaha sesaat setelah lulus. Walaupun awalnya berdarah-darah, but still he enjoys his life as an entrepreneur.

    Memilih antara hidup sebagai karyawan di perusahaan ternama dengan gaji besar, atau memulai usaha dari nol dengan awal yang berdarah-darah, tentunya sebagian besar orang akan memilih pilihan pertama. Tapi tidak baginya. Pernah hidup pas-pasan dan hilang dari peredaran di masa awal pendirian perusahaannya, tidak membuat semangatnya surut untuk tetap melanjutkan hidup sebagai pengusaha. To him, money (and all kind of rewards) is a consequence, not an objective. Hidup sebagai entrepreneur membuat seseorang menjadi lebih matang, tolerir, sabar, dan berkemampuan untuk problem solving yang lebih baik. Entrepreneurship is one of the hardest yet most rewarding personal journeys we can take.

    Salah satu pencapaian penting di umur 26 tahun adalah Microsoft MVP award, yang diterima pada bulan Juli 2008. Di-recognize dan diberikan award sebagai Microsoft MVP untuk teknologi VSTO, satu-satunya di Indonesia kala itu (dan sampai hari ini), adalah suatu kebanggaan yang luar biasa. Lihat cerita selengkapnya di sini.

    Jika kebayakan orang bersuka ria di hari ulang tahunnya, bagi Andri, ulang tahun kali ini lebih membawa kesedihan. Kenapa? Karena baginya, begitu banyak yang masih harus dilakukan, tapi semakin sedikit jatah umur yang ada. Lihat saja entrepreneur-entrepreneur besar dunia, yang sudah bisa dibilang berhasil di usia rata-rata 24-25 tahun. Di usianya sekarang, Andri merasa masih belum terlalu terarah dalam berkarya, masih banyak distraction dalam jalannya. But still, he's thankful for all achievements he had so far. Hopefully, he will find that true path in the near time. Mudah2an dalam waktu dekat, akan ada sesuatu yang "wow" darinya. Tunggu saja.

    Di ulang tahunnya yang ke-27 ini, Andri ingin berterima kasih kepada Tuhan untuk 27 tahun hidup yang luar biasa, mudah2an masih ada tahun-tahun mendatang baginya untuk tetap berkarya. Terima kasih kepada Bapak dan Ibu, sepasang orang tua yang luar biasa hebatnya, yang telah memberi kelahiran, memberi kasih sayang dan pelajaran hidup. Terima kasih juga kepada semua teman-teman yang telah menambahkan makna dalam kehidupan.

    Terima kasih yang luar biasa dan amat dalam atas semua ucapan, harapan, dan doa dari teman-teman di Facebook. Mohon maaf jika tidak bisa dibalas satu persatu. Untuk makan-makan, mudah2an kita bisa schedule-kan satu persatu :)





    Thanks to Facebook for a great wall :)

    And special thanks to someone special for this delicious cake and other presents. I love you.


    Terima kasih Indonesia, yang telah ikut merayakan Ulang Tahun kali ini.

     

    Share this post: | | | |
  • My First English ScreenCast: About Excel, Virtual Earth, VSTO, and WPF

    It’s a must-watch screencast if you’d like to know about the possibility of creating something useful using technologies: Excel, Virtual Earth, VSTO, and WPF.

    Yes, you read the post’s title right. Several days ago I made my first screen cast in English. I’ve already did some screencasts (here and here), but this is the first audible one in English. Before you judge it, I have to admit that my English is terrible, it is more Indonesia-English (Inglish). However, if you’re Indonesian and geeky enough, I’m sure you’ll understand the content. This screencast is just for fun, no sponsors that endorse me to do it. Anyway, any endorsements are welcome :)

    Here it is, have a nice watching..

    It’s a long screencast (49 minutes), so you better prepare a cup of coffee (or some cigarettes, if you’re smoker) before you watch it.

    If somehow you cannot watch it in this page, you can download the video file directly from this Link. If the video or link are unavailable on April 12, 2009, then screencast.com (where I host the file) is in maintenance.

    Let me explain the content. If you attended MSDN Day at Microsoft Indonesia on March 25, 2009 ago, you’ve seen the demo. In this long screencast, I talked about Excel, Virtual Earth, VSTO, and WPF in one demo. It’s all about:

    1. Binding SQL Server table data (sales data) to Excel’s ListObject using LINQ to SQL
    2. Customizing Excel Ribbon
    3. Adding and configuring chart to Excel’s Worksheet programmatically
    4. Accessing Virtual Earth (VE) from WPF user control
    5. Embedding WPF User Control to Excel’s Action Pane using ElementHost control
    6. Programmatically adding pushpins to Virtual Earth (based on sales persons location data)
    7. Displaying VE pushpins’ InfoBox (detail) programmatically when user click Excel ListObject rows by handling ListObject’s SelectedIndexChanged event

    The completed solution of the demo can be downloaded at: http://dycode.com/files/folders/msdnday/entry190.aspx

    Virtual Earth WPF Control
    For the demo, I use WPF user control that’s originally posted here: http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/10/03/10813.aspx

    For my demo purpose, I did some modification to:

    • Allow to display pushpin's InfoBox programmatically by calling ShowPushPinInfoBox() method. That method is added to PushPin class.
    • Allow to change Map mode to 3D. We add MapMode dependency property to VirtualEarth user control.
    • Add DetailsPushPinClicked event to VirtualEarth control. That event will be triggered when user click "Show Details" link located inside pushpin's InfoBox. The technique show how we can link JavaScript event with WPF.

    The modified control can be downloaded at: http://dycode.com/files/folders/codesamples/entry192.aspx

    That’s it. Have a nice watching and exploring.

    Links in this post:

    Share this post: | | | |
  • Windows 7 Build 7068 Successfully Installed

    [Updated] Yesterday (March 31, 2009), after 18 hours of downloading 3.23 gigs, finally I had Windows 7 Build 7068 x64 disk image. After burning the disk image, and ready to install it. Instead of doing fresh installation, I choose upgrade. After more or less 2 hours of upgrading my system, I finally had latest Windows 7 build. Well, actually it’s not latest build, since I just did searching and finding people talking about Windows 7 build 7072…that’s s**k.

    Anyway, this is my screen capture of Windows 7 build 7068 installed on my baby.

    image

    Few notes:

    1. Upgrading from Windows 7 beta build 7000 is successful

    Upgrading take more/less 2 hours. No error/warning messages during upgrading. It goes as smooth as Monica Belluci lips.

    Why I did upgrading instead of fresh installation you may ask. Well, I don’t wanna spend 10 hours that I usually spend to setup and configure all programs and environment for me to do my daily work. I can confirm that it’s safe to upgrade. All your settings and data are safe.

    2. All previous programs are running well

    Except:

    a. MacDrive 7.2.6
    if you have MacBook/MacBook Pro and use MacDrive to access Mac partition from Windows, you probably will have issue. After first time login, you probably will encounter MacDrive failed to start due to “File System Driver Did Not Start” error. To resolve the issue, use MacDrive 7.2.5 instead. So, uninstall MacDrive 7.2.6 and make sure to stay connected to internet so it will deactivate your serial no. Then install MacDrive 7.2.5 and activate using the same serial no. It works for me.

    By default, MacDrive cannot be installed on Windows 7 since the creator won’t support Windows 7 until its final release (RTM). So, you need to do a little hacking. Refer to this link: http://forums.macrumors.com/archive/index.php/t-632996.html or http://www.insanelymac.com/forum/index.php?showtopic=142438&st=60

    b. Windows Media Player
    WMP runs well except it does not retain previous library.

    c. Internet Explorer 8
    It also runs well. My concern is it has two icons on the taskbar. So, you need to remove one on the middle, not on the most left. Looks like it causes by the difference of Internet Explorer’s version. In this build, the include Internet Explorer 8 RTM. I can confirm that by openning http://geeks.netindonesia.net/ page and there is no “need to upgrade” message appears :)

    Beside all of those, Windows 7 runs well on my system…so far.

    Some fixes/improvements I notice and I thank for:

    1. LINQ to SQL Classes Designer of Visual Studio 2008

    I’d rather use Bahasa to explain this since many friends experience this. Di Windows 7 build 7000, ketika membuka file dbml (LINQ to SQL Classes), seperti biasa akan tampil tampilan designer. Anehnya, jika salah satu gambar model diklik maka segera dia akan hilang tanpa sebab. Coba designernya ditutup dan dibuka lagi, same result. Masalah tersebut dialami oleh banyak (bahkan mungkin semua) orang yang menggunakan build 7000.

    Fortunately, masalah itu gak terjadi lagi di build 7068.

    image

    2. No Blue Screen, so far

    Blue Screen on build 7000 has become a routine :) I usually encounter blue screen in many circumstances, such as: when I build my Visual Studio 2008 project/solution, when I close VS 2008, etc. Using build 7068, I do open and close VS 2008 several time, and still no blue screen. Thanks God.

    3. Nice login/shutting down screen

    logonandshutdownscreen1 

    4. Windows Experience Index

    Using build 7000, I only got 2.3 of Windows Experience Index due to lower score of primary hard disk that is only 2.3. Using build 7068, finally my system got what it deserves, 5.3.

    image

    What else? Hmmm… I think that’s all for now.

    So, to all Windows 7 (not patient and wanna be tester) users, I recommend you to upgrade to the latest build. I won’t tell where you can download disk image since it’s not released formally by Microsoft yet. You better start searching or waiting formal release from Microsoft.

    That’s all. Enjoy…

    Share this post: | | | |
  • Catatan Belajar Sore Ini

    March 31, 2009

    Button_FunViewController.h

    #import <UIKit/UIKit.h>

    @interface Button_FunViewController : UIViewController {
        IBOutlet UILabel *statusText;
    }

    @property (retain, nonatomic) UILabel *statusText;

    - (IBAction)buttonPressed:(id)sender;

    @end



    Button_FunViewController.m

    #import "Button_FunViewController.h"

    @implementation Button_FunViewController
    @synthesize statusText;

    -(IBAction)buttonPressed:(id)sender
    {
        NSString *title = [sender titleForState:UIControlStateNormal];
        NSString *newText = [[NSString alloc] initWithFormat:
                             @"%@ button pressed.", title];
        statusText.text = newText;
        [newText release];
    }

    -(BOOL)shouldAutorotateInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }

    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];    
    }

    - (void)dealloc {
        [statusText release];
        [super dealloc];
    }

    @end



    Ada yang tahu itu bahasa apa dan code di atas ngapain? Kalau ada, berarti sudah ada yang lebih dulu menguasai. And to whoever he/she is: "Master, I beg you to teach me!!. You Kung fu is very good."

    More post (about this) to come.


    Share this post: | | | |
    Posted Mar 31 2009, 04:46 PM by andriyadi with 5 comment(s)
    Filed under:
  • ScreenCast of IE 8 JSON Native Support

    This is very belated posting. This was a screen cast that was captured when I delivered a talk about Internet Explorer 8 for Developer on MSDN Day, Nov 29, 2008. I know it was a long time ago, just had time to convert and publish the screen cast :)

    This is my first screen cast that uses my voice as audio. Enjoy...

    The sample code used in this screencast can be downloaded at: http://dycode.com/files/folders/msdnday/entry174.aspx

    Share this post: | | | |
  • What is The Weirdest Thing You Do Using Excel?

    Another event, another presentation and demo, but still about VSTO. Yesterday, I delivered a talk about VSTO on an event entitled "Weekend with MUGI Seminar" at University of Pasundan (UNPAD), on March 15, 2009. This time, I opened my presentation with a question "What is the Weirdest Thing You Do using Microsoft Excel?". Unfortunately, no audiences answered the question. I expected somebody will raise hand and mention something wild/weird that he/she do using Excel or Office product.

    To show the audience the uncommon thing that can be done using Excel, I did a demo to simulate pendulum motion. Before I talk about the demo, let's squeeze some brains to understand how the simulation can be made.

    The illustration of pendulum motion:


    To be able to simulate the motion, all you need to have is the motion equation. More specifically, you need to know how amplitude (theta) change with time. Let's see how we can get the equation.
    Force diagram of simple gravity pendulum is


    Some mathematical derivations:
     


    Under the initial conditions θ(0) = θ0 and dθ/dt(0) = 0, the solution of differential equation is



    And the period is



    By knowing initial theta (θ0) and string/rod length (l), I can simulate the motion. Here's the screenshot:

    At the left side, we have the simulation. At the middle, there're some input fields. And at the right side, there's a chart plotting the theta against the time. As we see, the chart is sinusoidal means the motion is Simple Harmonic Motion.

    The crowd applause when the pendulum start to swing...

    The main part of code is:

                    double thetaT = theta0;
               
                do {
                    t += dt;

                    thetaT = theta * Math.Cos(t * Math.Sqrt(9.8/(stringLength/100)));

                    pendulumY = stringLength * Math.Cos(thetaT);
                    pendulumX = stringLength * Math.Sin(thetaT);

                    pendulum.Top = platformBelow +
                                   Convert.ToSingle(pendulumY);
                    pendulum.Left = referenceLeft +
                                    Convert.ToSingle(pendulumX) - (pendulum.Width / 2);

                    System.Windows.Forms.Application.DoEvents();

                } while (true);


    Where:
    • theta0: initial theta
    • thetaT: theta at a time t
    • stringLenght: String/Rod length
    • platformBelow: the position (from the top of the screen) of platform where string/rod hangs
    • referenceLeft: the position (from the left of the screen) of reference/equilibrium line
    That looping will go forever, so you need to create code to stop it.

    To get the full source code, just grab the code and presentation slide at: http://dycode.com/files/folders/mugi/entry189.aspx

    And here're some photos during the event:






    That's it. Enjoy.



    Share this post: | | | |
  • Enabling Apache and PHP on Leopard

    Gak seperti biasanya, kali ini gw akan bahas sesuatu yang tidak "berbau" Windows, .NET, and other Microsoft products. Bukan berarti gw Microsoft MVP "murtad" :) Gw tetap cinta .NET, and still write .NET code for living. Kebetulan aja gw lagi explore suatu teknologi di atas platform yang lain. Lagian, sayang banget nih MacBook Pro kalo gak dipakai buat coding on Mac :)

    Sebenarnya ini berawal dari kebutuhan training untuk implementasi produk Microsoft juga, yaitu Windows Live Services. Bos Naren ngajak gw sama-sama ngisi HOL dan training implementasi Windows Live Service on top of PHP. Karena saat menulis posting ini, gw sedang "berada" di Mac OS 10.5.6 (Leopard) dan sedang ingin meng-enable Apache dan PHP, jadilah gw bahas bagaimana meng-enable Apache dan PHP di Leopard.

    Di dalam Leopard, khususnya Leopard 10.5.6, sebenarnya sudah terinstall Apache 2.2.9 dan PHP 5.2.5. Hanya by default, keduanya tidak di-enabled.

    Berikut langkah-langkah untuk meng-enable keduanya:
    1. Buka aplikasi TextWrangler. Jika belum terinstal, download gratis dari http://www.barebones.com/products/textwrangler. Gw pakai TextWrangler 2.3. Dari menu File --> Open, dan navigate ke  Macintosh HD:private:etc:apache2:httpd.conf. Open file tersebut.
    2. Lalu editor akan menampilkan isi file httpd.conf. Jika diperhatikan, icon pencil pada toolbar masih tersilang yang berarti bahwa file tersebut sedang di-lock. Click icon tersebut, lalu ada pertanyaan apakah akan di-unlock. Click Unlock dan file siap di-edit. Ada baiknya Anda membuat backup just in case mau back to factory setting :)
    3. Scroll down ke baris 115, sampai Anda menemukan tampilan seperti ini.
    4. Uncomment baris 115 tersebut dengan cara membuat tanda pagar (#) untuk meng-enable PHP 5.
    5. Save file tersebut. Karena file ini di-own oleh "root", ketika mencoba menyimpan file akan muncul dialog untuk memasukkan password.
    6. Nah, sekarang saatnya men-start Apache Web Server. Buka System Preferences --> Sharing. Lalu centang checkbox Web Sharing (jika belum).

    7. Untuk memastikan PHP benar-benar sudah aktif, buatlah code simple yang basi' kayak gini:
      <?php phpinfo(); ?>

      Simpan code tersebut pada file dengan nama, misalnya: phpinfo.php. Simpan file tersebut di folder Macintosh HD:Library:WebServer:Documents. Lalu buka browser dan ketikkan alamat: http://localhost/phpinfo.php. Alhasil:
    Dengan langkah-langkah di atas sebenarnya kita pakai konfigurasi PHP yang default. Kalau mau enable PHP extensions, dll, perlu utak-atik php.ini. Untuk itu, perlu extra steps berikut.
    1. Buka Terminal (dari Application:Utilities), change directory (cd) ke etc, dengan mengetik: cd /etc
    2. Buat salinan file php.ini.default menjadi php.ini, dengan cara mengetik: sudo cp php.ini.default php.ini. Masukkan password root Anda
    3. Ya sudah...utak-atiklah file php.ini tersebut.
    Udah, gitu aja. Selamat coding PHP di Leopard :)

    Share this post: | | | |
  • Are You Familiar with Kinematics?

    That’s my opening slide when I delivered a talk about VSTO on an event “MSDN Day by MUGI Bandung”. The event was held at Universitas Suryakencana, Cianjur, on Valentine Day, Feb 14, 2009.

    What’s on earth the relation between Kinematics and VSTO? Before I answer that, I need to tell that I did many talks about VSTO for the last 2 years. In all talks I always gave demo about how VSTO can be used to develop business-related apps.

    Honestly, I’m quite bored with that kind of demo app. So, instead of giving demo of boring business app, I use VSTO to simulate simple motions in Kinematics. Since the audiences are mostly students, I think their minds are still fresh on this fundamental Physics kind of stuffs.

    For you who are not familiar with Kinematics, it is a branch of classical mechanics that studies the motion of objects with consideration of ideal environment. Some motions those we are familiar since high school are linear motion (free fall, parabolic projectile motion, etc), and rotational motion.

    For the demo, I develop simulation for free fall and parabolic projectile motion. Before I talk about code, lets squeeze some brains.

    General form of linear motion equation:

    \boldsymbol{v}(t) =\boldsymbol{v}_0+\  \int_0^t \ dt' \ \boldsymbol{a} (t')
    \boldsymbol{r}(t) =\boldsymbol{r}_0+\  \int_0^t \ dt' \ \boldsymbol{v} (t')

    For constant acceleration:

     \boldsymbol r = \boldsymbol r_0 + \int_0^t \boldsymbol v dt' =\boldsymbol r_0 + \int_0^t \left( \boldsymbol v_0 + \boldsymbol a t \right) dt' =\boldsymbol r_0 + \boldsymbol v_0 t + \frac{1}{2} \boldsymbol a t^2

    By that equation, we can determine the exact location of an object at certain time.

    By using above equations, we can determine the equations involved in parabolic motion.

    image

    In free fall motion, where initial rate is zero and the only acceleration involved is gravity, then simplified equations are:

    image

    Using all those equations, I can simulate the motion using software. Off course you can use Mathematica or MATLAB to do comprehensive simulation and calculation. Well, those tools are for grownups (read: enthusiasts). Since I haven’t get my hand on those tools since college and since we are talking about VSTO, I’m gonna use VSTO to simulate the motion.

    The simulation app of free fall motion will look like this. For this purpose, I code the app using Word 2007 Document project template in Visual Studio 2008.

    image

    When you click “Simulasi” button, the object will start to free fall. When it touch the ground, the needed time will be determined by using simulation and by calculating it using the formula.

    image

    The crowd applause when the object hit the ground. Thanks for the enthusiasm.

    As for Parabolic Motion, I use Excel 2007 Workbook project template. The running app in Excel will look like this.

    image

    This is the photo when I was explaining about Kinematics:

    I won’t explain how to develop the apps, you better download the code and try for your self. The code is really simple and won’t cause brain damage, I guarantee. Please download at:

    http://dycode.com/files/folders/mugi/entry187.aspx

    So, who says VSTO is only for business apps. Who says Microsoft Office can only be used for office workers. Physicists can leverage Microsoft Office for their job. They don’t need to learn FORTRAN, C++, MATLAB, only for doing simple simulation.

    That’s it. Enjoy.

    Share this post: | | | |
  • Kunjungan Mahasiswa Ilmu Komputer Universitas Lambung Mangkurat

    Sepanjang sejarah DyCode, belum pernah kedatangan tamu 20an orang. Baru kemarin siang, Jumat, 6 Feb 2009, sekitar jam 10, kami kedatangan tamu dari rombongan Studi Tour Mahasiswa Ilmu Komputer, Universitas Lambung Mangkurat. Kurang lebih 20 orang "menyerbu" gubuk kami dan berdesak-desakan masuk ke dalam kantor yang sebenarnya diperuntukan untuk maksimal penghuni 20 orang. Anyway, kami akan senang dikunjungi dan sangat welcome menerima mereka.

    Dipimpin oleh dosen baru yang sebenarnya sudah tidak asing lagi di komunitas .NET Indonesia, Bapak M. Reza Faisal ( ciee...Bapak euy ;), rombongan mahasiswa tingkat 3 tersebut berkunjung ke DyCode dengan maksud melihat kondisi real industri IT, khusunya Independent Software Vendor (ISV). Begitu datang, mereka langsung masuk ke ruangan developer untuk melihat langsung para DyCoders yang sedang asyik coding.

    Dengan suasana yang crowded di ruang meeting DyCode, obrolan santai tapi tetap serius pun dimulai. Beginilah suasana waktu itu:

    Serasa raja apa gitu yang dikelilingi mahasiswi-mahasiswi

    Sesi pertama gw isi dengan sharing pengalaman jadi tukang software sampai bisa mendirikan dan me-maintain company. Sedikit bernarsis ria tentang apa yang udah di-achieve dengan tujuan men-encourage mahasiswa-mahasiswa tersebut supaya termotivasi.

    Setelah jumatan, sesi selanjutnya diisi oleh Iman Harmaen, GM Tech. Dept., yang berbagi tentang teknologi-teknologi yang digunakan DyCode selama ini, gimana cara mengelola proyek, bekerja tim, dan show off software-software yang sudah dibangun DyCode.

    Semangat bener bos... :)

    Sebagai penutup acara kunjungan ini secara formal, terjadilah hal yang nggak pernah terpikirkan sebelumnya. Terjadi serah terima cinderamata antara gw dan Bapak M. Reza Faisal. Hmm...tak menyangka Bapak ini bakal jadi dosen dan kita akhirnya bersalaman dalam sebuah keformalan :)

    Benar-benar awkward :)

    Demikian acara kunjungan ini. Rombongan meninggalkan DyCode sekitar pukul 14. Dan suasanapun kembali sepi.
    Thanks sudah mengunjungi kantor kami, thanks juga buat Reza yang sudah mengusulkan ide dan memimpin rombongan tersebut. Semoga sharing kita tadi bisa bermanfaat buat kita semua.

    Share this post: | | | |
  • MSDN Library for Visual Studio 2008 SP1 Can’t Be Opened

    All this morning (Jan 8, 2009) I’ve been trying to solve an error that I never met in my life as .NET developer. It’s weird and waste my time. Here’s the story, I just reinstall Windows Vista on my laptop and start to install all needed software one by one. After installation of MSDN Library for Visual Studio 2008 SP1, and when I opened it, appear an error like this:

    image

    Did somebody meet that error?

    Seperti cara solving yang umum, reinstallation. OK, saatnya install ulang Visual Studio 2008, dan MSDN Library for Visual Studion 2008 SP1. Setelah kurang lebih setengah jam dan reinstalasi selesai, error di atas tetap muncul. S**k...

    Lalu gw mikir, mungkin karena MSDN Library SP1 ada masalah, entah ada file di DVD-nya yang corrupt or anything. Gw uninstall si doi, lalu install MSDN Library for Visual Studio 2008 Enu (versi sebelumnya). Setelah kurang lebih 15 menit dihabiskan untuk instalasi, still no luck. S**t..

    Ah mungkin juga karena DVD-nya yang nggak OK. Lalu gw teringat, di laptop sebelumnya kok semuanya lancar-lancar aja. Waktu gw install dari DVD image (*.iso) dari source DVD yang berbeda. Coba lagi install dari situ...Still no luck.

    Kurang lebih sudah 2 jam dihabiskan untuk uninstall dan install.

    Try to googling with the keyword: "MS.MSDNQTR.v90 invalid". Link by link I go, nothing worked. And finally I found this link: http://social.msdn.microsoft.com/Forums/en-US/devdocs/thread/e0361448-5b5f-4d8b-a9a9-8b93398e8890/

    In that link (link to a forum), somebody did a way that to me, it’s not make any sense. The point is, he login as Administrator (not regular/usual user, which is automatically created by Vista, which is indeed, also Administrator user). Then reinstall the MSDN Library using that Administrator user account. And you know what...IT WORKS.

    So, the workaround is:

    1. Activate Administrator user (if not yet activated).

    By default, this user is not active. Open Computer Management from Start Menu -> Control Panel -> Administrative Tools -> Computer Management. Then click Local Users and Groups > Users, and enable account Administrator.

    2. Logout from current user and re-login as Administrator.

    3. After Administrator’s desktop appear, re-install MSDN Library for Visual Studio 2008 SP1. After installation, try to open it. It Works, no more error like picture above. Then I think, it could be OK if only I login as Administrator.

    4. Then I logout and re-login as usual user (daily user). Then I open MSDN Library and turn out it’s is opened just fine.

    It wastes my time almost 3 hours. Imagine what I can do for 3 hours. Hopefully, this workaround can help anybody out there who experience the same error.

    Share this post: | | | |
  • DyCode Outing 2009 - Day 2

    Posting ini adalah lanjutan dari DyCode Outing 2009 - Day 1

    Acara hari kedua dimulai jam 9 pagi. Hampir aja kesiangan bangun karena tidur yang nyenyak setelah hari pertama yang melelahkan. Acara dimulai dengan olah raga pagi sekaligus buat stretching untuk acara selanjutnya...ARUNG JERAM...

    It's gonna be exciting since it's not happened every day. Pernah dulu ikut arung jeram di Dufan, tapi you know-lah sama sekali nggak menantang.

    Setelah olah raga pagi, mulailah bersiap-siap arung jeram. Nggak lupa arung jeram at a glance and safety procedure dulu. Sebagai informasi, jeram sungai Cisangkuy termasuk ke dalam grade 3, artinya cukup safe buat pemula tetapi tetap menantang. Baru tahu ada grading dalam arung jeram.

    24-1 

    Lalu berfoto bersama untuk terakhir kalinya...just in case terjadi apa-apa :P

    25-1

    Ada yang sempat-sempatnya ngambil foto ini. Binatang apa ya namanya?

    100_2730

    Dan pengarunganpun dimulai...

    25-2 26 27

    Setelah kurang lebih 1,5 jam dan menempuh jarak sekitar 9 km, sampailah kami di akhir pengarungan.

    28-1
    Alhamdulillah...akhirnya sampai dengan selamat

    Garis finish arung jeram ini adalah sebuah jembatan. Gw dan beberapa DyCoders lainnya menguji nyali untuk terjun dari jembatan tersebut yang tingginya sekitar 10m...Perasaan, lama banget nyampai ke airnya :)

    Dari pemberhentian arung jeram, kami naik angkot untuk kembali ke barak. Tentu saja bukan angkot untuk umum, tapi angkot yang memang udah disewa. Perjalanan sekitar 1 jam tersebut harus menempuh jalan aspal yang parah dan berdebu.

    Sesampainya di barak, langsung mandi. Nggak banyak basa-basi habis mandi langsung pada tidur. Rontok semua nih badan.

    Acara hari kedua inipun berakhir dan saatnya bersiap-siap pulang.

    29

    Dan kembalilah kami ke Bandung sekitar jam 15. Selamat tinggal Kampung Cisangkuy..It's been a great fun to spend holiday here.

    Sampai di tol Pasteur Bandung sekitar jam 16.30 dan makan bareng dulu di ikan bakar Indramayu.

    30

    Selesai sudah rangkaian DyCode Outing 2009. Selesai pula liburan panjang tahun ini. Puas bisa mengakhiri liburan dengan kegiatan Outing ini.

    It's time to get back to work...

    PS. Ternyata ada bedanya antara Outing dan Outbond, itu juga kata kang Uu', instruktur kami. Kalau Outbond, kegiatannya lebih terisolasi dari dunia luar, misalnya di hutan, dengan fasilitas yang sangat minim. Survivability adalah main objective dari Outbond. Kalau Outing, ya seperti yang udah gw ceritain di atas.

    Share this post: | | | |
  • DyCode Outing 2009 - Day 1

    Ahhh...liburan panjang telah berakhir. Dari tanggal 25 Desember 2008 sampai 4 Januari 2009, it's a very long holiday. Buat gw, most of my holidays gw isi dengan ngoprek "mainan baru". What about you guys?

    Di penghujung liburan kali ini, perusahaan gw, DyCode, akhirnya bisa ngadain kegiatan Outing bareng. Setelah lama direncanakan, baru liburan akhir tahun ini bisa dilaksanakan. Maklum perusahaan startup, gak mudah untuk mengumpulkan dana yang cukup besar untuk mengadakan kegiatan semacam Outing.

    Bertempat di sebuah camp yang sebenarnya belum di-launching, Kampung Cisangkuy, Banjaran, Outing kali ini diikuti oleh 13 DyCoders dari tanggal 3 - 4 Januari 2009. Berikut field report-nya. {Warning...a lot of photos}

    Berkumpul di kantor sekitar jam 7 pagi, tanggal 3 Januari. Hari ini baru berkumpul 11 DyCoders, dua lagi terpaksa nyusul nanti malam karena saat itu mereka sedang beresin kerjaan untuk ngejar deadline testing di tempat client. Kami berangkat dengan dua mobil sekitar jam 8.30 dan mulailah menempuh rute tol Pasteur, keluar di tol Buah Batu, dan melanjutkan ke daerah Banjaran. Setelah menempuh perjalanan sekitar 1 jam, sampailah kami di Kampung Cisangkuy. Nggak lupa berfoto dulu.

    02

    Kemudian kami dipandu menuju barak tempat kami menginap selama 2 hari. Ketika mendengar kata "barak", awalnya sempat terlintas barak tentara yang hanya ada tempat tidur dari kayu dan fasilitas minim ala tentara. Segera pikiran tersebut terbantahkan setelah melihat langsung "barak" yang akan kami tinggali.

    03

    Wuih....it's a nice place to stay. Adem dan bersih. Bersantai-santai dulu sebelum melakukan kegiatan.

    03-1


    Fun Games

    Kegiatan pertama diisi dengan Fun Games, yang dipandu oleh instruktur Kang Uu'. Awalnya agak awkward karena kami memang nggak pernah ngelakuin games semacam itu. Games yang kelihatannya cemen ternyata asyik juga untuk diikuti dan bermanfaat banget buat ngebangun team work. Bermacam-macam games seperti Samurai X, Kabayan Say, dan lain-lain bisa kami ikuti dengan asyik.

    04 05
    Pijet mang...                                            Lepas tangan....

    Setelah berpanas-panasan, akhirnya tiba makan siang.

    06 
    Makan siang nasi timbel di saung yang adem

    Setelah makan siang dan sempat tertidur sebentar karena tiupan angin sepoi-sepoi, acara masih dilanjutkan dengan fun games. Kali ini games lebih ditujukan untuk team building,  seperti Hula Hoop Tower, Tupai dan Pohon, Making Line, dan lain-lain.


    Flying Fox

    OK, it's time to pump some adrenaline. It's flying fox time.. Nggak ada dari kami yang pernah flying fox sebelumnya, so it's gonna be breath-taking experience.

    0909-1

    Dengan track melintasi sungai Cisangkuy yang banyak bebatuan, it's realy breath taking experience untuk sampai ke ujung.


    Paint Ball

    Setelah lepas dari terjangan adrenaline Flying Fox, it's a shooting time. Yeah...paint ball. Kami bersepuluh dibagi menjadi dua tim, tim loreng dan tim biru.

    12-c
    Sangaaaar....Yang ditengah bakal berangkat ke Palestina kayaknya :P

    13
    Hostage situation

    13-1 
    Total attack...

    Dengan medan tempur di sawah yang penuh lumpur, terpaksa berperang dengan kaki telanjang. Awalnya bisa tiarap dan berlari dengan gesit. Tapi karena jarang olah raga, makin lama daya tahan makin melemah dan akhirnya nyebur juga di lumpur.

    Karena udah bermandikan lumpur (mirip2 judul film zaman dulu, "Bercinta Dalam Lumpur"), sekalian aja nyebur di sungai Cisangkuy.

    15
    Ckckckck Sulton...kebanyakan nonton kartun nih anak :P

    Ternyata arus sungainya cukup deras, dan beberapa kali hampir terhanyut. Ah...jadi teringat masa kecil dulu, tiap hari mandi di sungai :)

    What a day...Selama beberapa tahun terakhir ini, gak pernah berkegiatan fisik seharian penuh seperti hari ini. Setelah mandi, tidur dulu.


    Makan Malam

    Setelah sempat tertidur sebentar, it's dinner time sekitar jam 20. Makan malam kali ini adalah salah satu makan malam terbaik gw sepanjang hidup. Betapa tidak, gw belum pernah makan nasi liwet dan lauk pauk di atas daun pisang, dan keroyokan 10 orang. Ditambah malam yang dingin banget dan perut yang luar biasa lapar, makin mantap aja makannya.

    16
    Hajar bleh...

    18 
    Dua kontestan tersisa

    Karaoke

    Ternyata di ruang makan ada TV, VCD, dan sound system yang bisa dipakai buat karaoke dan terjadilah sebuah acara yang gak direncanain, karaokean...Baru tahu ternyata ada vokalis d'Massive di DyCode. Inilah, Ujang d'Massive :)

    19-2

    Makin malam makin menggila. Dari aliran pop, rock, beranjak menjadi slow rock Malaysia, Sunda, dan tidak lupa...dangdut.

    20
    Organ tunggal yeuh...

    Dan semuanyapun meredup pada jam 2.30. Saatnya kembali ke peraduan.

    23
    Ada mummy...

    Menutup cerita hari pertama ini, gw sempat ngelakuin night photography.

    21
    A slow mo dengan shutter speed 30". Mantap gak airnya tuh.

    07 
    Kalau difoto dengan shutter speed tinggi

    Demikian cerita DyCode outing hari pertama. As you guess, posting berikutnya akan cerita tentang hari kedua. Stay tune!

    Share this post: | | | |
  • Posting "Berdarah"

    I know it's been a while since my last posting...Busy busy busy...Setelah lama nggak nge-blog, kali ini gw kembali dengan sebuah posting "berdarah". Bagi yang takut lihat darah, coba pikir-pikir dulu sebelum melihat detail posting ini :) Gw bahkan gak yakin apa posting ini legal :)

    Tanpa bermaksud pamer, kebetulan Alhamdulillah kantor gw bisa ber-qurban tahun ini. Karena diminta oleh panitia untuk hadir pas acara penyembelihan, sekalian aja bawa gears untuk foto-foto. Dan beginilah hasilnya:

    IMG_2681-r
    Tetap tersenyum walaupun menjelang ajal. Teman-teman pada kemana ya?

    IMG_2689-r 
    Dan terjadilah...

    IMG_2704-r 
    Tempat pertumpahan darah

    IMG_2712-r 
    Sebelum distribusi

    Sekian field report dari acara qurban hari raya Idul Adha 1429H. Mudah2an nggak ada yang muntah setelah lihat posting ini :)

    Share this post: | | | |
    Posted Dec 08 2008, 01:34 PM by andriyadi with 5 comment(s)
    Filed under: ,
More Posts Next page »