Ronald Rajagukguk

just another newbie in .NET
See also: Other Geeks@INDC
My First Look on Visual Studio 2010 Beta 1

Kemarin sore akhirnya kiriman paket DVD dari bang Wely yang berisikan VS 2010 dan Win 7 x64 RC datang juga ke rumah. Ho3x beres ujian tanpa basa-basi langsung nyalain laptop dan bersiin Win 7 beta 7000 untuk segera diganti dengan Win 7 RC + VSTS 2010. Kebetulan saya belum pernah mencicipi VSTS 2010 karena edisi CTP yang lalu harus dijalankan diatas VPC. Setelah menunggu hampir 43 menit (17 menit untuk Win 7 dan 26 untuk VSTS) untuk install 2 benda tersebut maka hadirlah layar seperti ini :

First

ho3x ada yang menari yaitu by default F# udah ada di VSTS 2010 (kemarin2x nampaknya bung rudy pernah bahas dimilis). karena gua programmer C# so langsung aja tancap ‘Visual C# Development Settings’. Okeh tampilan awal di 2008 tampak aga2x berbeda dan bertema biru2x (jadi aga inget IDE sebelah yang biru2x juga).

second

Okeh saatnya kita coba2x bikin sebuah proyek. ketika sedang jendela new proyek tentunya ada satu hal yang menarik yaitu sekarang telah ditambahkan .net 4.0. Kemudian karena di 2010 fitur multi targeting tetap dipertahankan maka .net 2.0, 3.0 dan 3.5 pun tetap tersedia.

third

Kebetulan karena sedang oprek2x win 7 maka proyek yang dibuat akan coba memanfaatkan taskbar baru yang ada di win 7. Untuk memanfaatkan taskbar ini dari managed code (C#/VB .net/F#?) maka kita perlu mengunduh wrappernya disini (sebagai catatan ini belum stabil, bahkan saya harus mengubah2x beberapa baris codenya agar dapat dipakai di WPF). okeh code pertama yang saya ketikkan di VS 2010 adalah sebuah kode sederhana untuk memanfaatkan progress bar yang ditampilkan di taskbar. Mungkin karena  ukuran taskbar yang relatif besar sehingga Microsoft memutuskan untuk menambahkan sebuah fungsi untuk menampilkan progress bar didalam taskbar. Hasil dari eksekusi program ini adalah :

empat

Terlihat bahwa progress bar berjalan dengan cara menambahkan warna merah dibelakang icon program kita di taskbar. Sebuah fitur yang menarik dalam Windows 7. he3x ada mainan baru nih selama masa liburan semester.

PS:maap gua gak publish sourcenya karena acak-acakan banget :D

cheers…

Share this post: | | | |
10 minutes journey on Surface SDK

Berhubung blog geeks ini baru ganti tema, saya kepikiran untuk posting sesuatu disini. Jadi gua muter2x isi hardisk untuk mencari2x sesuatu yang asik dioprek dan diposting di blog. Nah setelah ngubek2x isi hardisk ternyata ada sebuah SDK yang udah saya donlot tapi belon sama sekali dioprek2x yaitu Surface SDK. Semua udah tau surface kan? meja mahal buatan MS yang bisa disentuh2x dan sempet muncul di berbagai pelem. Okeh langsung aja

Surface SDK ini bisa anda download di sini, namun perlu dicatat bahwa untuk masuk situs ini perlu undangan. Mungkin sebagian dari anda berfikir bahwa untuk mengembangkan aplikasi surface kita memerlukan sebuah meja surface, namun hal tersebut tidak 100% benar. Karena dalam SDK ini pun telah terdapat sebuah emulator. Namun perlu dicatat bahwa untuk menjalankan emulator ini kita perlu sebuah monitor dengan resolusi yang cukup besar (minimal 1440x900) he3x tapi gak masalah lah kalo anda memiliki layar dengan resolusi Full HD. Contoh emulatornya seperti ini :

image image

Oke kita mulai aja dengan ngoprek SDK-nya. Seperti yang telah diprediksi SDK ini ternyata banyak mengandalkan penambahan pada sisi UI yang tentunya banyak menggunakan komponen2x WPF. hal ini tentunya terlihat pada dokumentasinya dimana sebagian besar API yang disediakan berbasiskan presentasi:

image

atau jika anda melihat di toolbox VS tentunya terlihat beberapa kontrol WPF tambahan yang disediakan oleh Surface SDK :

image

okeh karena udah gak tahan coding hore2x maka buka2x dikit dokumentasinya dan tambahin sebuah komponen bernama scatterview. komponen ini adalah komponen yang sangat menarik, fungsinya seperti container kayak Canvas, Grid atau stack panel di WPF. Mengapa saya bilang menarik karena hampir sebagaian besar aplikasi surface menggunakan kontrol ini, dengan menggunakan kontrol ini maka semua semua isi dalamnya akan dapat dipindah-pindah, diatur2x besarnya dan lainnya. Contoh aplikasi yang saya buat dan jalankan di emulatornya adalah seperti ini  :

surface2 surface3

he3x untuk menirukan 2 buah jari saya pake 2 buah mouse (kebetulan di rumah ada beberapa mouse yang dipake untuk proyek multipoint). he3x SDK yang cukup menarik terutama dari komponen-komponennya yang aneh2x, bahkan ada komponen yang memanfaatkan kamera juga, sayang waktu saya yang 10 menit telah habis dan berarti perjalanan ngoprek surface SDK ini harus segera berakhir. he3x kalo ada perusahaan Indonesia yang beli surface dan butuh developernya kontak2x saya yah , he3x

 

cheers

Share this post: | | | |
Weekend with MUGI @ Institut Teknologi Telkom

Pada tanggal 21 Februari 2009, kami para gang MUGI Bandung kembali beraksi . Kali ini kampus yang kami goyang adalah STT Telkom. Acara ini menurut saya pribadi sangat menarik. Mengapa menarik? selain karena pembicaranya menarik2x baik secara presentasi maupun secara tampang.  Konsep dari acara ini pun cukup menarik dimana pada akhir acara ada penampilan dari band lokal yang memeriahkan suasana (jadi inget acara launching Windows Server 2008 yang menghadirkan Dewa pada akhir acara).

Acara ini  dibuka tentunya oleh pengenalan dari MUGI bandung oleh pak firstman marpaung.

 

IMG_3495

yang dilanjutkan oleh pak Julius Fenata (ADE Microsoft Indonesia) yang membawakan materi tentang MSDN AA dan Dreamspark dan Imagine Cup (maap bos, ane dateng telah jadi kagak ada potonya).

Yang juga menarik adalah rekan2x saya dari HMIF ITB pun turut memeriahkan acara ini dengan kampanye sebuah acara bernama Arkavidia. Acara ini terdiri dari lomba dan juga pameran IT. Sebuah acara yang cukup menarik dan saya rasa akan cukup menambah gairah dunia IT Indonesia.

IMG_3418

Setelah itu giliran bapak Narenda Wicaksono yang menggoyang IT Telkom dengan Windows 7

IMG_3444

(*ren kok elo keringatan sih?*)

Beres naren, maka giliran om Hendra Eka Putra yang membakar semangat anak2x IT Telkom dengan memberikan wejangan-wejangan tentang dunia IT dan bagaimana perjalanan beliau hingga mendapat award MVP.

IMG_3494

Saya sendiri pada akhirnya membawakan materi tentang WPF dan Silverlight.IMG_3545

Seperti telah dibahas, pada akhir acara ada penampilan khusus dari band.

IMG_3625

pada akhir acara peserta terlihat sedang mengambil DVD Windows 7 dan juga Dreamspark

IMG_4537

{kayak ngantri sembako yah?}

cheers….

Share this post: | | | |
WPF & Silverlight Talk @ UPI Bandung
DSC00725

Sabtu 24 Januari 2008 kemarin saya bareng-bareng geng MUGI Bandung kebetulan sempat menjadi pengisi acara di kampus Universitas Pendidikan Indonesia. Acara kampus roadshow ini adalah acara rutin MUGI Bandung yang bisa dibilang hampir tiap bulan ada. Sayang acara ini bertepatan dengan pelatihan TTT Parallel yang diadakan di MIC ITB, jadi saya gak bisa mengikuti secara total acara TTT tersebut, (maaf ya pak kunto, bapak lagi asik2x ngejelasin, saya malah ninggalin :( )

Okeh dalam acara ini saya mem bawakan materi favorit saya yaitu pengenalan akan WPF dan Silverlight. Namun sayang karena keterbatasan waktu saya gak bisa jelasin terlalu banyak, bahkan demo streaming pake Silverligth juga agak2x gagal, he3x, tapi minimal para peserta udah bisa nangkep konsep yang ditawarkan oleh WPF dan juga Silverlight.

Acara ini pun sedikit banyak cukup berkesan karena dalam acara tersebut dihadiri oleh para calon guru dan beberapa guru senior. Sebuah pengalaman yang luar biasa untuk dapat berpresentasi mengenalkan teknologi kepada para tenaga pendidik. Karena tentunya apa yang mereka dapatkan dihari itu akan dibagi-bagi kepada siswa-siswa di tempat sekolahnya, sehingga siswa-siswa ditempat sekolahnya dapat juga mengenal teknologi tersebut.

Beres presentasi maka gang MUGI Bandung sempet foto-foto dulu di venue acara. Venue ini memiliki arsitektur yang sangat menarik, konon gedung ini dibangun total oleh Jepang. Jadi arsitekturnya mirip dengan sekolah-sekolah di jepang.

 IMG_8597 IMG_3661

Kemudian bagi rekan-rekan yang tertarik untuk datang namun tidak sempat, dapat mengunduh slide presentasi saya disini

cheers

Share this post: | | | |
Using Office OCR and Touchless SDK

He3x weekend ini karena gak ada kerjaan maka buka2x blog dan tertarik ngoprek ketika membaca posting dari bapak calon orang kaya di sini. Maka saya langsung tertarik untuk ngoprek2x Office OCR dan memadukannya dengan Touchless SDK yang baru tadi malem diunduh. Jadi intinya saya ingin memadukan kedua buah SDK tersebut untuk membuat sebuah pemindai tulisan yang memanfaatkan webcam. Jadi kalo di contoh bapak Fuady input  dari OCR adalah sebuah gambar maka sekarang input dari OCR tersebut adalah gambar yang ditanggap dari webcam. Jadi dalam posting ini saya hanya akan menambahkan bagaimana cara menggunakan .NEt untuk mengambil gambar dari WebCam.

Baiklah caranya cukup mudah, pertama-tama pastikan 2 buah SDK ini adalah di komputer anda :

1. Office OCR (ikuti langkah bapak fuady disini).

2. Touchless SDK (silahkan download disini)

Setelah 2 buah SDK tersebut terinstall di dalam komputer anda maka silahkan ikuti langkah-langkah berikut :

1. Buka Visual Studio 2008 dan buat sebuah aplikasi WPF.

2. Tambahkan 2 buah reference. Pertama adalah reference ke OCR di Microsoft Office Document Imaging 12.0 Type Library

 image

3. Tambahkan ke dll kedua yang berfungsi untuk membaca gambar dari WebCam yaitu Touchless.dll yang dapat anda peroleh ketika telah mengekstrack Touchless SDK.

image

4. Buka berkas Windows.xaml anda dan tambahkan 2 buah kontrol image, 1 textbox dan 1 button atau silahkan ketikkan kode berikut pada windows.xaml anda :

<Window x:Class="CobainOCR.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="421" Width="624">
    <Grid>
        <Image Margin="30,53,0,119" Name="imageHolder" Stretch="Fill" 
               HorizontalAlignment="Left" Width="260" />
        <Image HorizontalAlignment="Right" Margin="0,52,29,116" 
               Name="photoHolder" Stretch="Fill" Width="261" />
        <Button Height="48" HorizontalAlignment="Left" 
                Margin="84,0,0,36" Name="button1" 
                VerticalAlignment="Bottom" Width="165" 
                Click="button1_Click">Button
        </Button>
        <TextBox Height="90" Margin="0,0,22,8" 
                 Name="textBox1" VerticalAlignment="Bottom" 
                 HorizontalAlignment="Right" Width="286" />
    </Grid>
</Window>

5. Buka windows.xaml.cs dan tambahkan kode berikut :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using TouchlessLib;
using System.Windows.Threading;
using System.Drawing;
using MODI;
using System.IO;

namespace CobainOCR
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        TouchlessMgr TM;
        public Window1()
        {
            InitializeComponent();
            TM = new TouchlessMgr();
            TM.CurrentCamera = TM.Cameras[0];
            var cm = TM.CurrentCamera.GetCurrentImage();
            TM.CurrentCamera.OnImageCaptured += new EventHandler<CameraEventArgs>(CurrentCamera_OnImageCaptured);          
        }
        void CurrentCamera_OnImageCaptured(object sender, CameraEventArgs e)
        {
            Dispatcher.Invoke(DispatcherPriority.Normal, new Action<Bitmap>(setImage), e.Image);
        }
        void setImage(Bitmap b)
        {
            imageHolder.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                 b.GetHbitmap(),
                 IntPtr.Zero,
                 Int32Rect.Empty,
                 System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()
                 );
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Bitmap capturedBitmap = TM.CurrentCamera.GetCurrentImage();
            photoHolder.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                 capturedBitmap.GetHbitmap(),
                 IntPtr.Zero,
                 Int32Rect.Empty,
                 System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()
                 );
            string fileLoc = Directory.GetCurrentDirectory() + "\\temp.bmp";
            capturedBitmap.Save(fileLoc);
            textBox1.Text = "";
            Document md = new Document();
            try
            {
                md.Create(fileLoc);
                md.OCR(MiLANGUAGES.miLANG_ENGLISH, false, false);
                MODI.Image image = (MODI.Image)md.Images[0];
                MODI.Layout layout = image.Layout;

                for (int i = 0; i < layout.Words.Count; i++)
                {
                    MODI.Word word = (MODI.Word)layout.WordsIdea;
                    textBox1.Text += (" " + word.Text);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                md.Close(false);
            }
        }
    }
}
6. sebelum menjalankan aplikasi ini pastikan bahwa anda telah mengkopi file WebCamLib.dll (file ini didapat dari touchless SDK) ke directory tempat file exe ini akan berada, trik saya adalah dengan mengkopinya ke directory bin\debug dalam proyek anda

7. Tekan F5 dan silahkan coba-coba aplikasi ini

image

CATATAN : OCR dari office berdasarkan percobaan kurang baik dalam mencari tulisan, sebagai contoh gambar diatas pun OCR gagal menerjemahkannya. Mungkin OCR ini lebih diarahkan untuk tulisan yang lebih teratur seperti berkas fax, atau berkas gambar seperti yang dicontohkan oleh saudara Fuady.

PS : donlot projectnya disini

cheers.

Share this post: | | | |
Intellisense for Expression Blend 2.0 SP1

Untuk rekan-rekan developer yang senang bermain-main dengan WPF/Silverlight dan menggunakan Expression Blend 2.0 tentunya merasa sedikit kehilangan ketika berurusan dengan kode2x XAML. kehilangan disini dalam artian kehilangan salah satu fitur andalan yang sering ditemui dalam produk2x Microsoft khusus developer yaitu Intellisense. Expression memang bukan dirancang untuk developer sehingga tentunya fitur intellisense oleh pengembangnya tidak dimasukkan ke dalam produk ini. Sehingga untuk para developer yang mendambakan penggunaan intellisense harus tetap menggunakan Visual Studio 2008.

Namun untungnya telah ada sebuah plugin untuk Expression Blend 2.0 SP1 yang membuat expression dapat memiliki fitur Intellisense. Anda dapat mengunduh codenya disini ikuti instruksinya disini dan voila! expression blend anda telah memiliki intellisense.

 

ciao, see you all in 2009.

ronald rajagukguk 

 

Share this post: | | | |
Persiapan tahun baru : update software

he3x untuk menyambut tahun yang baru ini maka saya menyempatkan waktu untuk mengupdate software2x yang ada. Baik di gadget maupun di komputer. Hi3x biar gak keliatan out off date jadi harus rajin2x update software. Oke apa aja yang gua update, ada 3 yang gua update yaitu :

1. Windows Mobile 6.1

Yang ini gua update karena terpaksa, I-mate gua jadi lelet banget. Sehingga tiap hari ini henpon harus gua restart biar memorinya agak lega dan gak lelet2x amat. Kemudian yang memaksa banget untuk update adalah karena tiba2x ini henpon gak bisa dipake nelpon dan setelah chat dengan customer servicenya dia nyaranin untuk upgrade ke WM 6.1, ya setelah diupdate semua masalah hilang. WM 6.1 lebih hemat memory, kalo tingkat responsifness-nya sih sama2x aja. Jadi kalo ada rekan2x yang punya henpon berbasis WM silahkan donlot update WM6.1-nya di situs manufaktur henpon masing, lebih hemat RAM.

DSC00491

2. Windows Live Writer 2009

Yang ini gua update karena ntah kenapa WLW yang 2008 kemaren jadi gak bisa dipake. Overall keliatannya UI-nya jauh lebih baik. Kalo dari sisi plugin sih malah ada beberapa plug in yang jadi gak bisa dipake, mungkin ama programmernya belon diupdate.

3. Zune 3.1

Sebenarnya gak ada perbedaan yang significant sih antara update yang 3.0 dan 3.1, tapi yang paling menarik adalah adanya tambahan beberapa game (btw dah pada tau kan kalo di Zune bisa develop game?), jadi cocok lah buat nemenin kalo lagi nunggu atau lagi di travel.

DSC00496 DSC00499

he3x updatenya cuma 3 software aja sih dan untuk menyambut tahun 2009 ini gua kemaren sempet ngeborong beberapa buku pas diskon 30% di gramed, mayan lah buat ngisi waktu liburan.

DSC00500

Cheers and merry X-mast

Share this post: | | | |
How-To : Implement IE8 Webslices in Wordpress

Seringkali saya menghadapi percakapan seperti ini :

Mr. X : Nald, IE 8 cool yah? fitur Webslicesnya itu loh, keren abis.

Mr. ronald : iya emang cool, jago bener yang bikinnya.

Mr. X : Tapi sayang ah cuma bisa jalan kalo pake ASP .NET aja yah? padahal kebanyakan situs kan pake LAMP (Linux, Apache, My SQL, PHP)

Mr. ronald : ah ngak ah, bisa juga kok jalan disitu

Mr. X: ah masak sih? (*dengan muka terbengong2x tak percaya*)

he3x percakapan diatas sebenarnya fiktif saja, tapi melalui posting ini saya ingin menunjukkan bahwa Webslices dapat pula digunakan untuk situs2x yang tidak berbasiskan teknologi MS pada server sidenya. Sehingga saya ingin menunjukkan bagaimana cara membuat sebuah situs wordpress dapat memanfaatkan fitur ini. karena sebenarnya untuk memanfaatkan fitur ini kita hanya perlu menambahkan beberapa baris html saja.

1. Buka file utama dari skin wordpress yang anda gunakan (sebagai contoh saya disini membuka skin default yang ada pada setiap instalasi wordpress)

2. tampilan kode skin default adalah sebagai berikut :

<?php get_header(); ?>

    <div id="content" class="narrowcolumn">

    <?php if (have_posts()) : ?>

        <?php while (have_posts()) : the_post(); ?>

            <div class="post" id="post-&lt;?php the_ID(); ?>">
                <h2><a href="&lt;?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
                <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>

                <div class="entry">
                    <?php the_content('Read the rest of this entry &raquo;'); ?>
                </div>

                <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
            </div>

        <?php endwhile; ?>

        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
            <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
        </div>

    <?php else : ?>

        <h2 class="center">Not Found</h2>
        <p class="center">Sorry, but you are looking for something that isn't here.</p>
        <?php include (TEMPLATEPATH . "/searchform.php"); ?>

    <?php endif; ?>

    </div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

3. modifikasi kode tersebut sehingga menjadi seperti dibawah ini

<?php get_header(); ?>
     <div id="content" class="narrowcolumn">
        <!--kode tambahan!-->
        <div class="hslice" id="1"> 
       <p class="entry-title" style="visibility:collapse">My Blogs</p> 
        <div class="entry-content">
        <!--akhir penambahan !-->
    <?php if (have_posts()) : ?>


        <?php while (have_posts()) : the_post(); ?>

            <div class="post" id="post-&lt;?php the_ID(); ?>">
                <h2><a href="&lt;?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
                <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>

                <div class="entry">
                    <?php the_content('Read the rest of this entry &raquo;'); ?>
                </div>

                <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
            </div>

        <?php endwhile; ?>
        <!--kode tambahan!-->
    </div>
    </div>
    <!--akhir penambahan !-->
        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
            <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
        </div>

    <?php else : ?>

        <h2 class="center">Not Found</h2>
        <p class="center">Sorry, but you are looking for something that isn't here.</p>
        <?php include (TEMPLATEPATH . "/searchform.php"); ?>

    <?php endif; ?>

    </div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

 

4. Done, sekarang anda tinggal menavigasi ke situs wordpress anda dan dukungan untuk weblices IE8 telah tersedia seperti gambar dibawah ini

image

mudah bukan? nanti pada MSDN Day saya akan mendemokan bagaimana trik2x untuk mengembangkan webslices secara lebih menarik...

 

cheers....

Share this post: | | | |
Posted: Nov 21 2008, 04:49 PM by ronald | with 1 comment(s)
Filed under: ,
Blender | Free 3D editor for your WPF 3D object

Rekan2x yang telah banyak berurusan dengan model 3D dalam WPF mungkin telah mengenal produk editor untuk modelnya yang bernama Zam 3d. Zam 3D merupakan editor model 3Dimensi yang paling yahud dalam urusan menghasilkan XAML. Memang produk ini tidak sepowerful kakas2x modeler lainnya seperti Maya atau 3ds Max. Namun produk ini secara langsung telah dapat menghasilkan output dari modelnya dalam bentuk XAML. Sehingga tentunya dapat secara langsung digunakan dalam aplikasi WPF.

Namun tentunya untuk menggunakan Zam 3D anda perlu merogoh kocek untuk membayar lisensinya. Nah jika kocek anda kurang dalam atau tidak ingin merogoh kocek untuk membeli sebuah aplikasi modeler maka anda dapat menggunakan Blender. Blender adalah sebuah aplikasi modeler open source yang gratis. Tampilan Blender dapat anda lihat pada gambar dibawah ini:

image

Nah secara standar Blender tidak mendukung output dalam format XAML. Namun jangan khawatir, sekarang telah ada modul yang ditulis dalam phyton yang dapat ditempelkan ke blender, sehingga Blender dapat menghasilan output dalam XAML. Anda dapat mengunduh modul tersebut disini dan jangan lupa untuk mengunduh python edisi terbaru dari sini. Install modul tersebut dan perhatikan pada bagian exporter telah ada pilihan XAML.

image

semoga informasi ini dapat membantu anda dalam membuat sebuah model 3D. <catatan: dalam implementasi yang ini blender tidak membuat objek light sehingga anda perlu menambahkannya sendiri sesuai kebutuha. Jika anda membutuhkan tutorial sederhana tentang light yang saya buat disini>

 

cheers

Share this post: | | | |
3D windowsless in WPF

Tertarik dengan postingan pak Lutfie disini dan pak cipto disini maka saya pun tertarik untuk menggabungkan kedua buah posting tersebut untuk membuat sebuah aplikasi 3Dimensi yang windowless. Caranya ternyata cukup mudah yaitu anda hanya tinggal memasukkan model 3Dnya pada bagian yang saya highlight kuning.

image

karena contoh kodenya cukup banyak maka tentunya anda dapat mengunduhnya dilink bawah ini.

sebagai teaser berikut adalah contoh tampilannya

image 

dan ketika di resize dan dirotasi dengan menggunakan mouse (fitur bawaan dari 3DTools) maka bentuknya akan menjadi berikut:

image

jika anda tidak percaya bahwa bentuk dari window ini bukan kotak anda dapat melihat potongan gambar taskbar vista ini.

image

sebuah fitur WPF yang menurut saya pribadi sangat menarik. Saya terinpirasi setelah melihat demoom David Teitlebaum disini

 

cheers

Share this post: | | | |
InkCanvas in WPF

Salah satu kontrol dalam WPF yang cukup menarik menurut saya adalah InkCanvas. InkCanvas adalah sebuah kontrol yang dapat digunakan untuk menangkap gerakan mouse dan menggambar gerakan tersebut diatasnya. Sehingga tentunya jika menggunakan kontrol ini anda dapat seolah-olah memiliki sebuah "whiteboard" dalam aplikasi anda. Cara menggunakannya cukup mudah, anda hanya tinggal menambahkan kontrol ini kedalam aplikasi anda. seperti kode XAML sederhana dibawah ini :

<Window x:Class="inkCanvasLesson.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <InkCanvas x:Name="inkCanvas">        
    </InkCanvas>
</Window>

hasil dari kode diatas jika dikompile adalah sebuah jendela putih biasa yang dapat anda tulis-tulis dengan cara menggerakkan mouse sambil menekan tombol kiri-mouse anda. contoh hasilnya adalah pada gambar berikut :

image

namun yang menarik dari kontrol ini adalah dia dapat mengenali gerakan dari mouse anda, sehingga misalnya anda menggerakkan mouse anda ke atas sembari menekan tombol kiri, InkCanvas akan mengenali gerakan tersebut sebagai gerakan keatas. hal ini tentunya sangat menarik untuk menunjang desain iteraksi jika anda pandai memanfaatkannya. Secara lebih detail proses pengenalan gerakan tersebut dapat diaktifkan dengan mengisi atribut EditingMode pada InkCanvas dengan nilai InkAndGesture atau GestureOnly. Perbedaannya adalah jika menggunakan InkAndGesture maka hasil guratan dari mouse anda akan digambarkan dikanvas tersebut dan sebaliknya berlaku untuk mode GestureOnly.

Kemudian untuk menangkap gerakan tersebut maka anda perlu menambah sebuah event handler pada event Gesture. Salah satu contohnya adalah potongan kode berikut :

private void InkCanvas_Gesture(object sender, InkCanvasGestureEventArgs e)
    {
        if (e.GetGestureRecognitionResults().First().ApplicationGesture != ApplicationGesture.NoGesture)
        {
            MessageBox.Show(e.GetGestureRecognitionResults().First().ApplicationGesture.ToString());
            inkCanvas.Strokes.Add(e.Strokes);
        }
    }

kode diatas akan menangkap gerakan dari mouse dan menuliskan tipe gerakannya di kotak pesan, selain itu jika tipe gerakannya dikenali maka gerakan tersebut akan digambarkan diatas kanvas. Hal ini perlu dilakukan mengingat perilaku dari komponen InkCanvas dengan tipe gesture yang tidak akan menggambarkan gerakan dari mouse tersebut ke kanvas jika gerakan terebut dikenali.

jika anda ingin melihat lebih lanjut bagaimana tampilan dari inkCanvas ini anda dapat mengunduh kode sederhananya dibawah ini.

saya pun melampirkan contoh kode yang menggunakan InkCanvas ketika saya presentasi di unpad beberapa bulan yang lalu. aplikasi ini memanfaatkan InkCanvas, sehingga jika anda secara terurut mengerakkan mouse untuk menggambar garis ke bawah, kanan, atas dan kiri maka sebuah animasi akan ditampilkan.

cheers..

Share this post: | | | |
Free C# book Review : C# yellow book

Tadi siang ketika sedang menjelajah web untuk mencari-cari bahan untuk tugas saya menemukan tautan yang cukup menarik. Tautan tersebut membawa saya untuk mengunduh sebuah ebook gratis yang dibuat oleh Rob Miles dari Hull University (kampus yang ada di kota yang sama dengan klub bola peringkat 3 premier league). Buku setebal 185 halaman ini akan mengajarkan bagaimana dasar pemrograman dengan menggunakan C# mulai dari sintaks hingga sedikit materi tentang OOP. Sekilas buku ini cocok untuk para mahasiswa/professional yang ingin mulai mempelajari C# dari dasar. Namun sebagai catatan disini sintaks yang digunakan masih C# 2.0 sehingga belum ada dibahas mengenai anonymous method, kata kunci var dan lainnya.

image

Jadi untuk yang ingin mulai belajar C# dari dasar bisa segera memperolehnya disini

cheers...

Share this post: | | | |
Posted: Oct 27 2008, 09:34 PM by ronald | with 4 comment(s)
Filed under: ,
Quake in Silverlight 2?

yep, buat anda para gamers tentunya akrab dengan kata2x Quake. Ini adalah sebuah game FPS tembak-tembakan yang cukup legendaris. Bahkan sampai sekarang edisi ke 3-nya masih dipakai sebagai salah satu benchmark untuk pengujian kartu grafis. Nah yang menarik adalah ada orang yang namanya Julien Frelat yang bikin porting engine Quake ini pake C# dan ditampilin di Silverlight 2. Yep, cukup menarik dan bahkan anda dapat melihat previewnya di sini atau kalo mau yang lebih valid lagi bisa cek di Continumm shownya si adam kidney di sini (ini salah satu show tontonan wajib gua ).

image  image

Sekilas terlihat bahwa hasil portingnya sangat manis dan hasilnya adalah 60 FPS, he3x pasti banyak yang gak percaya deh liat demonya. Karena saya pribadi pun agak ragu kalo liat demonya. tapi menarik untuk menunggu versi releasenya. Kalo emang bener2x bisa berarti kedepannya mungkin akan banyak game2x 3D yang akan diporting ke Silverlight 2.0.

 

cheers...

Share this post: | | | |
Posted: Oct 23 2008, 06:33 PM by ronald | with 3 comment(s)
Filed under: ,
WPF Hearing Apps

Jika pada posting sebelumnya saya telah sedikit membahas tentang kelas SpeechSysthesizer yang dapat anda gunakan untuk mengubah string menjadi suara. Nah sekarang saya akan menunjukkan bagaimana menggunakan kelas SpeechRecognizer untuk mengenali suara anda dan mengubahnya menjadi string. Caranya cukup mudah, anda hanya perlu membuat objek  dari kelas tersebut dan menambahkan sebuah event handler pada event SpeechRecognized, seperti pada potongan kode dibawah ini:

SpeechRecognizer SR = new SpeechRecognizer();
SR.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SR_SpeechRecognized);

lalu misalkan anda ingin menampilkan tulisan yang dikenali tersebut pada sebuah textbox maka pada event handlernya anda dapat menuliskan kode berikut :

void SR_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
    textBox1.Text = e.Result.Text;
}
Done! dengan dua langkah diatas anda dapat membuat aplikasi anda untuk mengenali suara yang pengguna anda ucapkan. Namun ada beberapa perilaku tambahan yang mungkin terjadi yaitu jika anda menjalankan aplikasi ini pada saat pertama Windows akan secara otomatis menjalankan aplikasi Speech Recognition. Aplikasi ini lah yang akan menangkap suara anda dan menerjemahkannya, contohnya adalah seperti cuplikan gambar berikut :
image
nah yang juga menarik adalah jika ini saat pertama kali anda menggunakan Speech Recognition, sebuah jendela untuk mengatur Speech Recognition akan muncul seperti dibawah ini.

image

jendela ini pada intinya akan memandu anda pada sebuah wizard untuk mengatur bagaimana pengenalan suara dapat dilakukan, sebagai informasi dalam sistem pengenalan suara ini ada fitur pembelajaran, sehingga semakin sering anda menggukan speech recognition maka dia akan semakin baik dalam mengenali suara anda. Jika anda tertarik maka anda dapat mengunduh source sederhana untuk aplikasi ini.

cheers.

Share this post: | | | |
WPF Speaking Apps

Selain interaksi visual, pengalaman dari seorang pengguna pun dapat diperkaya dengan adanya dukuagan audio/suara dari aplikasi anda. Karena tentunya dengan mengunakan suara maka indera pendengaran dari si pengguna pun dapat turut digunakan. Mungkin sekarang hal ini masih merupakan mimpi yang hampir jadi kenyataan tapi bayangkanlah bagaimana indahnya interaksi anda dengan sebuah aplikasi jika anda dapat mengendalikan aplikasi tersebut lewat suara anda dan aplikasi tersebut pun dapat menjawab dengan suara pula. Hal ini sebenarnya telah ada pada windows vista dengan fitur voice recognitionnya, namun anda pun sebagai developer dapat turut memanfaatkan fitur ini dalam rangka meningkatkan usability dari aplikasi anda. Anda dapat menggunakan Speech API yang dapat anda unduh disini.

Baiklah saya akan sedikit mencontohkan bagaimana cara membuat aplikasi WPF yang memanfaatkan Speech API. Pertama-tama anda perlu membuat sebuah kotak TextBox yang akan menerima masukan tulisan yang akan diucapkan dan sebuah tombol yang akan menjadi pemicu pengucapan tulisan tersebut. Sehingga kira-kira tampilan dari aplikasi sederhana anda adalah sebagai berikut :

image

Nah kemudian sekarang kita akan bermain-main dengan SAPI, silahkan tambahkan referensi ke System.Speech. Kemudian silahkan tambahkan sebuah event handler untuk event click pada button anda dan tuliskan kode berikut :

SpeechSynthesizer synthesizer = new SpeechSynthesizer();
synthesizer.Speak(textBox1.Text);

lalu jalankan aplikasi anda dan ketikkan sembaran kata dalam kotak masukan textbox dan tekan tombol Speak. Maka komputer akan segera mengucapkan kata yang anda tulis. Sebuah interaksi yang menarik bukan? namun mungkin logat pengucapannya masih akan terdengar sangat aneh, hal ini wajar mengingat SAPI dilatih untuk mengucapkan kata-kata dalam bahasa inggris dan intonasinya pun masih belum terlalu baik. silahkan unduh contoh kodenya pada tautan dibawah ini.

cheers

Share this post: | | | |
More Posts Next page »