{heroes}... i wish, i was

June 2009 - Posts

  • GeekDad, Raising Geek Generation 2.0

    Untuk geeks yang ingin sang anak mengikuti jejaknya, atau untuk Anda yang memiliki anak yang bercita-cita menjadi geek (sungguh mulia sekali cita-citamu nak), atau untuk Anda yang butuh referensi tentang cara mendidik anak , gak ada salahnya buat mengunjungi blog yang satu ini.

    Isinya memang gak ada hubungannya dengan .NET, tapi cukup buat mengisi waktu luang di weekend seperti sekarang ini. Enjoy!

    Share this post: | | | |
  • Custom SSIS Component: The Installer

    download sample code

    Inilah bagian terakhir dari tetralogi (duh, kayak novel aja) pembuatan Custom SSIS Component, yaitu Installer.

    Sebelum installer-nya dibuat, pertama-tama sign dulu assembly-nya dengan cara meambahkan strong name ke dalam project TopData. Untuk me-sign assembly, klik kanan pada project TopData, lalu pilih properties. Pada tab Signing beri centang pada opsi Sign the Assembly, lalu pilih New dan isi TopData.snk pada Key file name, hapus centang Protect my key file name lalu klik OK.

    Setelah selesai, tambahkan Setup Project ke dalam solution dengan nama TopDataInstaller.

    Buka File System Editor dengan cara meng-klik kanan pada project TopdataInstaller > View > File System

    Ganti path Application Folder dengan membuka property window Application Folder, isi Default Location-nya dengan [ProgramFilesFolder]\Microsoft SQL Server\100\DTS\PipelineComponents agar file TopData.dll disimpan pada folder tersebut.

    Tambahkan output dari TopData ke dalam Application Folder dengan meng-klik kanan Application Folder > Add > Project Output, pilih Primary Output, lalu klik OK.

    Tambahkan Global Assembly Cache Folder dengan meng-klik kanan File System On Target Machine > Add Special Folder > Global Assembly Cache Folder

    Tambahkan output dari TopData ke dalam Global Assembly Cache dengan meng-klik kanan Global Assembly Cache Folder > Add > Project Output, pilih Primary Output, lalu klik OK

    Build project TopDataInstaller.

     

    Baca juga:

    Creating Custom SSIS Component

    Custom SSIS Component: The Engine

    Custom SSIS Component: The UI

    Custom SSIS Component: The Icon

    Share this post: | | | |
  • A Postcard from Bing

    Apakah Anda sering memperhatikan background di homepage-nya bing? Benar-bebar bagus bukan? Setiap kali melihatnya seperti melihat sebuah postcard yang sering dipajang di toko buku atau tempat wisata. Salah satu alasan yang membuat saya selalu rajin mengunjungi bing adalah background tadi. Dan apabila diperhatikan, background tersebut selalu berganti setiap hari. Jadi penasaran sebetulnya ada berapa banyak koleksi gambar yang dimiliki Microsoft, dan dimana gambar tersebut diambil.
    Hari ini saya menemukan beberapa hal menarik dari background tersebut. Apabila pada bagian kanan atas homepage region Anda masih tertera Indonesia, terlebih dulu ganti menjadi United States - English dengan cara mengklik link Indonesia.

    image
    Dan bing... pada bagian kanan bawah background muncul ikon navigasi untuk melihat background dalah tujuh hari terakhir. Selalu ada cerita dalam setiap background tersebut, seperti pada hari ini yang menampilkan singa dan anaknya untuk menyambut Father's Day. Apabila Anda me-roll over mouse pada background tadi, akan muncul empat buah link pada posisi yang acak yang berhubungan dengan cerita tadi.

    image 

    Yang terakhir, coba Anda klik link Images pada bagian kiri halaman, Anda akan menemukan keseluruhan cerita menariknya. Benar-benar terasa seperti postcard.

    image

    Share this post: | | | |
    Posted Jun 21 2009, 09:16 PM by si_hendrik with 1 comment(s)
    Filed under:
  • Custom SSIS Component: The Icon

    download sample code

    Inilah bagian tersulit dari pembuatan component SSIS, terutama untuk orang yang gak punya bakat seni seperti saya. Pembuatan icon. Walaupun SSIS akan memberi icon default apabila kita tidak menambahkannya pada component yang dibuat, namun akan menyenangkan rasanya apabila memiliki satu. Terlebih apabila jika terdapat banyak custom component dalam SSIS package yang kita buat. Hal ini akan memudahkan para developer untuk mengenali component dengan cepat.

    Dan akhirnya, dengan bantuan PowerPoint (loh kok PowerPoint sih? Hehe, inilah satu-satunya tools untuk menggambar yang saya kuasai) selesai juga sebuah icon yang sesuai dengan visi (halah…) saya.

    image

    Segitiga besar menggambarkan keseluruhan data, dan segitiga kecilnya menggambarkan top data. Setelah selesai, gambar pun di-convert menjadi icon dengan menggunakan Axialis (thanks to Bos Z untuk sharing nya beberapa waktu lalu) dengan ukuran 256 x 256, 48 x 48, 32 x 32, dan 16 x 16 dengan nama TopData.ico lalu menambahkannya ke dalam project. Lalu property Build Action TopData.ico pun diatur dengan nilai Embeded Resource.

    Terakhir menambahkan atribut IconResource di TopData.cs

        [DtsPipelineComponent(
    DisplayName="Top Data",
    UITypeName = "TopData.TopDataUI,TopData,Version=1.0.0.0,Culture=neutral,PublicKeyToken=55f5b994dc70eb69",
    IconResource = "TopData.TopData.ico",
    ComponentType=ComponentType.Transform)]

     

    Baca juga:

    Creating Custom SSIS Component

    Custom SSIS Component: The Engine

    Custom SSIS Component: The UI

    Custom SSIS Component: The Installer

    Share this post: | | | |
  • Virtual Earth is Bing Map Now

    Sebenernya pengen kasih judul Virtual Earth is Dead, tapi kesannya nyari sensasi banget. Padahal kan cuman namanya aja yang berubah.
    Anyway, back to the topic. Beberapa hari lalu saya mendapat Newsletter dari Microsoft yang berisi perubahan nama Virtual Earth menjadi Bing Maps for Enterprise. Dan berikut adalah cuplikan Newsletter-nya.

    Virtual Earth is changing its name
    We're excited to announce that Microsoft® Virtual Earth™ is getting a new name.

    With the launch of Bing™, the new decision engine from Microsoft, we've taken this opportunity to join up our mapping brands, and Microsoft Virtual Earth has changed to Bing Maps for Enterprise. Bing Maps for Enterprise is the mapping platform that underpins the Bing maps service (Bing.com/maps) and serves you and the thousands of organizations that use Microsoft mapping technology on their Web sites and in their applications. For more than 10 years, we have been providing mapping services to enterprises and organizations, and we continue to be committed to supporting you in achieving your goals. For more information on what this means, please check out our FAQ.

    Check out the Bing Maps World Tour
    The Bing Maps platform gets a makeover just about every month. We add new places, even better imagery and fresher views on locations near and far - to the tune of tens of terabytes of new content.

    To bring the new Bing Maps additions to life, we've built an application (with some help from Silverlight and Azure), that shows this month and months past. You can sit back and watch us take you on a tour of the new hotspots or explore for yourself. And make sure you come back each month to see what's new.

    Share this post: | | | |
    Posted Jun 13 2009, 08:41 AM by si_hendrik with no comments
    Filed under:
  • Bing Beng Bang, Nyok Kita ke bing

    Apabila Anda menggunakan Live sebagai Search Provider, Anda akan mendapati bahwa hasil pencarian Anda ditampilkan pada halaman search bing. Supaya tetap up-to-date dengan bing yang sedang happening, tidak ada salahnya Anda menambahkan bing sebagai search provider disini.

    image

    Untuk mengetahui fitur-fitur yang ada pada bing, saya mencoba memasukkan diana krall (one of my favorite artist, yang baru aja ngeluarin album baru) sebagai keyword pencarian dan berikut ini hasilnya

    image

    Pada bagian atas hasil pencarian kita akan mendapati hasil pencarian berdasarkan kategorinya, dan pada bagian bawah baru hasil pencariannya. Di bagian kiri kita akan disuguhi pencarian yang berhubungan dengan Diana Krall. Yang cukup mengesankan adalah munculnya Norah Jones, musisi jazz yang juga merupakan idola saya. hehe. Saya rasa Microsoft telah mengerjakan pe-er nya dengan baik pada engine bing.

    Fitur lain yang menurut saya tidak kalah keren adalah pada saat kita me-roll over mouse pada hasil pencarian, pada bagian kanan kita dapat melihat sneak preview dari page tersebut.

    image

    Fitur berikutnya adalah apabila kita melakukan pencarian video dan me-roll over mouse pada sebuah video hasil pencarian, maka video tersebut akan diputar secara otomatis. Cool.

    image

    Jadi, kenapa Anda tidak mencoba bing dan melihat sendiri hasilnya, dan apakah Anda menyukainya.

    Share this post: | | | |
    Posted Jun 04 2009, 04:09 PM by si_hendrik with 2 comment(s)
    Filed under:
  • The Big Bang… eh Bing is Happening!

    The most talk about search engine in the past few weeks is finally open for public. Beberapa minggu terakhir ini banyak sekali blog yang mengulas soal bing yang dulunya dikasih code name Kumo. Mulai dari pemberian nama yang aneh, sampai perbandingan feature-nya jika disandingkan dengan Google dan Yahoo yang menjadi rival beratnya.

    Dentuman pertamanya tentu saja namanya. bing. What kind of name is it anyway? Itulah yang menjadi ulasan banyak media. Menurut pendapat saya, sepertinya nama yang nyeleneh dan aneh inilah yang dibutuhkan Microsoft untuk bisa bersaing. Selama beberapa tahun saya sering membaca kritik orang-orang tentang nama product-product Microsoft yang dianggap payah, seperti Microsoft SQL Server, Microsoft Office, Microsoft Money, or event Live yang merupakan pendahulu bing. Dengan kontroversi pemberian nama, Microsoft dapet publikasi gratis dan bikin orang-orang penasaran dengan wujud si bing.

    Dentuman kedua tentunya adalah tanggal release yang dipercepat. Sedianya layanan bing baru bisa diakses per 3 juni, tapi Microsoft memberikan kejutan besar ketika search engine-nya ternyata bisa digunakan per 1 juni. Dan so far, Microsoft mendapatkan mix review dari banyak kritikus. Tapi kebanyakan menyukai performance, fitur, dan experience pada saat menggunakan bing.

    Jadi, apabila Anda penasaran dengan semua kehebohan yang ditimbulkan oleh mahluk ini, kenapa tidak langsung datang dan coba bing yang Bener-bener Ingin Ngalahin Google.

    Share this post: | | | |
    Posted Jun 04 2009, 01:23 PM by si_hendrik with no comments
    Filed under:
  • Custom SSIS Component: The UI

    download sample code

    Setelah engine-nya selesai, step selanjutnya adalah membuat User Interface untuk Top Data. User Interface ini digunakan agar nanti User yang akan menggunakan Top Data dapat melakukan konfigurasi component. Yang diatur adalah dua buah property yang tadi kita buat, yaitu Top untuk mengatur berapa banyak row yang dimunculkan, dan RestBehavior untuk mengatur sisa data yang berada di luar top apakah akan dibuang atau dialihkan ke output yang lain.

    Pertama, tambahkan sebuah Windows Form dengan nama TopDataEditor.cs ke dalam project.

    Kemudian tambahkan dua buah label, satu numeric button, satu combobox dan dua button seperti gambar berikut

    image

    Buka code TopDataEditor.cs dan tambahkan using Directive Microsoft.SqlServer.Dts.Pipeline.Wrapper dan Microsoft.SqlServer.Dts.Runtime

       1:  using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
       2:  using Microsoft.SqlServer.Dts.Runtime;

    Tambahkan code berikut untuk menampilkan property pada saat editor-nya dibuka, dan menyimpan property pada saat tombol OK ditekan

       1:          private CManagedComponentWrapper designTimeInstance;
       2:   
       3:          public TopDataEditor(IDTSComponentMetaData100 md)
       4:          {
       5:              InitializeComponent();
       6:   
       7:              designTimeInstance = md.Instantiate();
       8:              cboTop.Value = Convert.ToDecimal(md.CustomPropertyCollection["Top"].Value);
       9:              cboConfigureRestRow.SelectedIndex = Convert.ToInt16(md.CustomPropertyCollection["RestBehavior"].Value);
      10:          }
      11:   
      12:          private void btnOK_Click(object sender, EventArgs e)
      13:          {
      14:              designTimeInstance.SetComponentProperty("Top", Convert.ToInt32(cboTop.Value));
      15:              designTimeInstance.SetComponentProperty("RestBehavior", cboConfigureRestRow.SelectedIndex);
      16:   
      17:              this.DialogResult = DialogResult.OK;
      18:              this.Close();
      19:          }

    Selanjutnya tambahkan sebuah class dengan nama TopDataUI untuk mengimplementasikan interface IDTSComponentUI dan tambahkan using directive Microsoft.SqlServer.Dts.Design, Microsoft.SqlServer.Dts.Pipeline.Design, Microsoft.SqlServer.Dts.Runtime, Microsoft.SqlServer.Dts.Pipeline.Wrapper

       1:  using Microsoft.SqlServer.Dts.Design;
       2:  using Microsoft.SqlServer.Dts.Pipeline.Design;
       3:  using Microsoft.SqlServer.Dts.Runtime;
       4:  using Microsoft.SqlServer.Dts.Pipeline.Wrapper;

    Lalu tambahkan code untuk memanggil menampilkan TopDataEditor

       1:          IDTSComponentMetaData100 md;
       2:          IServiceProvider sp;
       3:   
       4:          public void Help(System.Windows.Forms.IWin32Window parentWindow)
       5:          {
       6:          }
       7:   
       8:          public void New(System.Windows.Forms.IWin32Window parentWindow)
       9:          {
      10:          }
      11:   
      12:          public void Delete(System.Windows.Forms.IWin32Window parentWindow)
      13:          {
      14:          }
      15:   
      16:          public bool Edit(System.Windows.Forms.IWin32Window parentWindow, Variables vars, Connections cons)
      17:          {
      18:              TopDataEditor componentEditor = new TopDataEditor(md);
      19:   
      20:              DialogResult result = componentEditor.ShowDialog(parentWindow);
      21:   
      22:              if (result == DialogResult.OK)
      23:                  return true;
      24:   
      25:              return false;
      26:          }
      27:   
      28:          public void Initialize(IDTSComponentMetaData100 dtsComponentMetadata, IServiceProvider serviceProvider)
      29:          {
      30:              this.md = dtsComponentMetadata;
      31:          }

    Yang terakhir adalah menambahkan property UITypeName pada atribut di TopData.cs

        [DtsPipelineComponent(
    DisplayName="Top Data",
    UITypeName = "TopData.TopDataUI,TopData,Version=1.0.0.0,Culture=neutral,PublicKeyToken=55f5b994dc70eb69",
    ComponentType=ComponentType.Transform)]

     

    Baca juga:

    Creating Custom SSIS Component

    Custom SSIS Component: The Engine

    Custom SSIS Component: The Icon

    Custom SSIS Component: The Installer

    Share this post: | | | |