January 2009 - Posts

Kalau kita mencari Software Development Kits (SDKs) di MSDN, maka akan terlihat betapa kacau-nya management link-nya.
Padahal dengan koordinasi yang tepat akan memudahkan user untuk mencari sesuatu di sana.
Dan itu mungkin yang mulai di sadari dalam internal-nya, maka di cuba mengorganisasi informasi itu dengan simple page.

Untuk itu coba ke Microsoft SDKs, untuk melihat semua SDKs link-nya.
Warning: besar-besar loh. :D

Share this post: | | | |

Kalau pikir vista, assumsi-nya adalah windows yang rakus memory dan resource.
Dan kalau di pikir Windows 7 adalah vista juga tentu kita akan berpikir bahwa OS ini akan sulit berjalan di Netbook -- Low power processor.
Yang perlu di perhatikan bahwa yang sama adalah kernel-nya (core) -- walau ada beberapa hal yang berbeda.
Vista OS di bundle dengan program-program dan service-service yang membuatnya terbebani.
Dan pendekatan Windows 7 lebih baik. Yang di maksud di sini untuk memanagement OS.

Kembali ke Netbook, Windows 7 berjalan baik juga di sini.
Walaupun kita akan sedikit kesulitan untuk meng-install-nya.
Loh khan mudah install OS dengan DVD?
Yup, hanya di Netbook tidak ada DVD. Yang ada External DVD lewat usb -- lambat.
Untung ada Dennis Chung, yang mencoba dan membeberkan cara meng-install Windows 7 di pen driver(USB drive).

Coba ikuti cara-nya:
1. Diskpart
2. List Disk
3. Select Disk 1 (Replace 1 with number reflecting your USB Drive)
4. clean
5. create partition primary
6. active
7. format fs=fat32 quick
8. assign
Note: Cara ini untuk dilakukan pada Vista.

Share this post: | | | |

Netbook ada di mana-mana. Dalam Netbook, di perlukan OS yang simple dan cepat.
Tentu akan menyenangkan melihat informasi di intenet tanpa perlu menunggu full OS boot.
Cukup power on dan browse. Tentu berbeda kalau di bandingkan dengan SmartPhone -- yang selalu ON dan boros baterai.
Dan lagi, kalau kita lihat kebanyakkan user (dalam bisnis) juga tidak memerlukan aplikasi yang terlalu banyak dan rumit.

Ada 'demand' tentu ada yang men-'supply'-nya.
Salah satu yang mencoba menawarkan embedded OS ini adalah Phoenix dengan HyperSpace.
Salah satu feature utama-nya yaitu boot OS kurang dari 5 detik.
Kok bisa ya?
Sekali lagi teknologi Virtualization berperan dalam hal ini. HyperSpace sendiri merupakan Linux yang di modifikasi. Dan ia di tempatkan dalam ROM dan meng-optimize Intel Virtualization Technology(VT).
VT ini yang membuat-nya boot dengan cepat.
Walaupun saat ini aplikasi yang di bundle belum terlalu banyak. It is fine and fit for Netbook.

Untuk Asus, HyperSpace akan di bundle kedalam product mereka.
Jadi Netbook ini akan menjadi lebih nyaman untuk di gunakan.

Memang ada juga tawaran dari Microsoft untuk ini.
Windows Embedded Standard 2009 yang merupakan Minimized XP. Yang mungkin tidak untuk tujuan Netbook(yang membutuhkan On/Off cepat).

Share this post: | | | |

Q:
Bagaimana mendapatkan full-path default browser?

A:
Default browser dalam windows tentunya ada dalam Windows Registry.
Jadi cukup mendapatkan string dari registry dan sedikit clean-up agar dapat full-path browser-nya.

// C#
string browser = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command", false).GetValue(null).ToString().ToLower().Replace("\"", "");
if (!browser.EndsWith("exe")) browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4);
Console.WriteLine("DefaultBrowser: {0}",browser);

' VB.Net
Dim browser As String = Registry.ClassesRoot.OpenSubKey("HTTP\shell\open\command", False).GetValue(Nothing).ToString.ToLower.Replace("""", "")
If Not browser.EndsWith("exe") Then : browser = browser.Substring(0, (browser.LastIndexOf(".exe") + 4)) : End If
Console.WriteLine("DefaultBrowser: {0}",browser)
Share this post: | | | |
Posted Wednesday, January 21, 2009 1:00 AM by dede | with no comments
Filed under: , ,

Q:
Bagaimana mem-format Filesize agar lebih 'Human Readable'?

A:
Caranya tentu menghitung dan membagi. :)
Nah ada class yang bisa bantu-bantu.
Cara pakaipun simple:

Console.WriteLine(String.Format(New FileSizeFormatProvider(), "File size: {0:fs}", fInfo.Length))

Code di atas memerlukan code di bawah.

Class FileSizeFormatProvider

// C#
public class FileSizeFormatProvider : IFormatProvider, ICustomFormatter
{
  public object GetFormat(Type formatType)
  {
	   if (formatType == typeof(ICustomFormatter)) return this;
	   return null;
  }

  private const string fileSizeFormat = "fs";
  private const Decimal OneKiloByte = 1024M;
  private const Decimal OneMegaByte = OneKiloByte * 1024M;
  private const Decimal OneGigaByte = OneMegaByte * 1024M;

  public string Format(string format, object arg, IFormatProvider formatProvider)
  {
	   if (format == null || !format.StartsWith(fileSizeFormat))
	   {
			return defaultFormat(format, arg, formatProvider);
	   }

	   if (arg is string)
	   {
			return defaultFormat(format, arg, formatProvider);
	   }

	   Decimal size;

	   try
	   {
			size = Convert.ToDecimal(arg);
	   }
	   catch (InvalidCastException)
	   {
			return defaultFormat(format, arg, formatProvider);
	   }

	   string suffix;

	   if (size > OneGigaByte)
	   {
			size /= OneGigaByte;
			suffix = "GB";
	   }
	   else if (size > OneMegaByte)
	   {
			size /= OneMegaByte;
			suffix = "MB";
	   }
	   else if (size > OneKiloByte)
	   {
			size /= OneKiloByte;
			suffix = "kB";
	   }
	   else
	   {
			suffix = " B";
	   }

	   string precision = format.Substring(2);
	   if (String.IsNullOrEmpty(precision)) precision = "2";
	   return String.Format("{0:N" + precision + "}{1}", size, suffix);
  }

  private static string defaultFormat(string format, object arg, IFormatProvider formatProvider)
  {
	   IFormattable formattableArg = arg as IFormattable;
	   if (formattableArg != null) return formattableArg.ToString(format, formatProvider);
	   return arg.ToString();
  }
}

code:
' VB.Net
Public Class FileSizeFormatProvider
     Implements IFormatProvider, ICustomFormatter

     Private Const fileSizeFormat As String = "fs"

     Private Shared ReadOnly OneKiloByte As Decimal = 1024
     Private Shared ReadOnly OneMegaByte As Decimal = 1048576
     Private Shared ReadOnly OneGigaByte As Decimal = 1073741824

     Private Shared Function defaultFormat(ByVal format As String, ByVal arg As Object, ByVal formatProvider As IFormatProvider) As String
          Dim formattableArg As IFormattable = TryCast(arg, IFormattable)
          If (Not formattableArg Is Nothing) Then : Return formattableArg.ToString(format, formatProvider) : End If
          Return arg.ToString
     End Function

     Public Function Format(ByVal formatString As String, ByVal arg As Object, ByVal formatProvider As System.IFormatProvider) As String Implements ICustomFormatter.Format
          Dim size As Decimal
          Dim suffix As String

          If Not ((Not formatString Is Nothing) AndAlso formatString.StartsWith("fs")) Then
               Return FileSizeFormatProvider.defaultFormat(formatString, arg, formatProvider)
          End If

          If TypeOf arg Is String Then
               Return FileSizeFormatProvider.defaultFormat(formatString, arg, formatProvider)
          End If

          Try
               size = Convert.ToDecimal(arg)
          Catch exception1 As InvalidCastException
               Return FileSizeFormatProvider.defaultFormat(formatString, arg, formatProvider)
          End Try

          If (size > 1073741824) Then
               size = (size / 1073741824)
               suffix = "GB"
          ElseIf (size > 1048576) Then
               size = (size / 1048576)
               suffix = "MB"
          ElseIf (size > 1024) Then
               size = (size / 1024)
               suffix = "kB"
          Else
               suffix = " B"
          End If

          Dim precision As String = formatString.Substring(2)
          If String.IsNullOrEmpty(precision) Then : precision = "2" : End If
          Return String.Format(("{0:N" & precision & "}{1}"), size, suffix)
     End Function

     Public Function GetFormat(ByVal formatType As System.Type) As Object Implements System.IFormatProvider.GetFormat
          If (formatType Is GetType(ICustomFormatter)) Then
               Return Me
          End If
          Return Nothing
     End Function

End Class
Share this post: | | | |
Posted Tuesday, January 20, 2009 1:00 AM by dede | with no comments
Filed under: , ,

Jika orang pikir android adalah java, rasanya adalah salah.
Memang android menggunakan java language. Yang berbeda dari Java/Sun adalah virtual machine-nya.

Lalu bagaimana nasib .Net developer di android? :)
Beruntung ada Koush. Ia bersusah payah membuatkan linker untuk .Net/Mono aplikasi.
Dan hasilnya, sudah dapat di publish dan siap untuk di gunakan.
Ini hasil bagus sekali untuk .Net, menjadi lebih cross-platform. Bahkan kita membuat aplikasi .Net yang jalan di iPhone(bukan dengan Koush Linker -- ada trik sendiri :D).

Penasaran? coba ke AndroidMono di googlecode. :) be Android.

Share this post: | | | |

Q:
Bagaimana mendapatkan informasi file?

A:
Bila berhubungan dengan file, maka kita akan terbantu bila kita menggunakan FileInfo class.
Untuk mendapatkan besar-nya file, bisa lihat di bawah

// C#
FileInfo fileInfo = new FileInfo(filePath);
Console.WriteLine("FileLength : {0}", fileInfo.Length.ToString());
code:
' VB.Net
Dim fInfo As FileInfo = new FileInfo(filePath);
Console.WriteLine("File Length : {0}", fInfo.Length.ToString());
Share this post: | | | |
Posted Monday, January 19, 2009 1:00 AM by dede | with no comments
Filed under: , ,

Q:
Bagaimana mendapatkan windows path? terutama jika windows folder-nya tidak di C drive.

A:
Simple saja, cukup menggunakan Environment.GetEnvironmentVariable

Environment.GetEnvironmentVariable("SystemRoot")
atau
Environment.GetEnvironmentVariable("windir")
Share this post: | | | |
Posted Sunday, January 18, 2009 1:00 AM by dede | with no comments
Filed under: , ,

Di tempat ini kita bisa mendapatkan aneka add-on untuk visual studio.
Dari tool editor, map, generator mungkin juga buat theme ya -- belum check lagi.
Banyak tool juga yang specifik ke WPF, silveright, Winform juga tentu untuk language-nya juga.
Jadi langsung saja ke Visual Studio Gallery.

Share this post: | | | |

Seperti ini ya Office14 dan model Ribbon-nya.


Office14 About


Office14 Applications


Office14 Access


Office14 Excel


Office14 Publisher


Office14 SharePoint


Office14 Visio


Office14 Word


Office14 Word Feedback

Share this post: | | | |

Pex

Bagi pengemar test-driven-methology, project ini akan banyak membantu sekali.
Test Tool ini dapat ter-intergrasi dengan VS2008 atau melalui Console.
Dan yang berbeda dari Test-Tool lainnya adalah kemampuannya melakukan Automated Testing untuk assembly.
Dengan adanya Parameterized Unit Testing-nya dan Contracts (ini menarik dan di perkenalkan pada .Net 4.0).
Tampaknya Microsoft internal developer-nya ini akan menjadi standard internal atau mungkin nanti di perkenalkan sebagai Microsoft Unit Test Methology -- ngaco aja.. :P
Untuk coba, langsung ke Microsoft Research: Pex.

Right from the code editor, Pex finds interesting input-output values of your methods, which you can save as a small test suite with high code coverage. Pex performs a systematic analysis, hunting for boundary conditions, exceptions and assertion failures, which you can debug right away. Pex enables Parameterized Unit Testing, an extension of Unit Testing that reduces test maintenance costs.

Share this post: | | | |

Bukan masalah Open-Source-nya, yang paling penting bagi .Net developer ialah tambahan GUI kit yang lebih legal. Sebelumnya ada GTK#, Cocoa#(khusus MacOS), Tao (OpenGL).
Sebelumnya kita di haruskan membeli license untuk kepentingan sendiri dengan LGPL license ini akan membuat implementasi lebih luas GUI kit ini. Memang dasarnya library ini di gunakan oleh C/C++ developer, untuk .Net, kita sudah ada wrapper-nya kok.
Qt# (project ini sekarat, mungkin dengan adanya ini akan di 'reload' lagi) datang sebagai jagoannya.
Diluar QT# juga ada project Qyoto -- lagi hibernet juga.
Qt ini juga dapat berjalan di multi-platform, dengan kombinasi Qt + Qt# + .Net/Mono = di mungkinkan membuat aplikasi anda berjalan di MacOS atau Unix/Linux juga Windows.

Share this post: | | | |

Q:
Bagaimana men-focus control ketika event FormLoad?

A:
Memang ketika form load kita tidak bisa menggunakan cara .Focus() agar z-order control terupdate.
Tapi bukan berarti tidak bisa. Cukup menggunakan .ActiveControl pada class Form untuk men-focus ketika loading.

// C#
// Pada event Loading
this.ActiveControl = this.textBox2;
' VB.Net
' Pada event Load
Me.ActiveControl = Me.textBox2
Share this post: | | | |
Posted Wednesday, January 14, 2009 1:00 AM by dede | with no comments
Filed under: , ,

Kalau di ASP.Net kita memilik WebControl untuk validasi, sedangkan untuk ASP.Net MVC agak sedikit merepotkan bila memakai standard validasi.
Tapi tenang sudah ada yang membantu kita untuk masalah validasi ini.
Coba lihat ke xVal.

xVal is a validation framework for ASP.NET MVC applications. It makes it easy to link up your choice of server-side validation mechanism with your choice of client-side validation library, neatly fitting both into ASP.NET MVC architecture and conventions.

 

Share this post: | | | |

Windows 7 baru keluar beta-nya.
Dan para cracker sudah bersibuk-sibuk. :P
Hasil-nya....Windows 7 sudah dapat di Genuine-kan. wah...
Mereka mencoba-nya dengan 'beta' yang beredar di P2P torrent dan berhasil mengelabuhi windows ini.
Kenapa bisa lebih cepat? khan Windows 7 ini memiliki base Vista dan Vista sudah crackable.
Jadi maksud-nya apa ini? untuk product yang 'hot item' seperti ini mungkin Microsoft tidak perlu terlalu bersusah payah secara teknologi.
Untuk masalah pembajakan adalah lebih baik di mem'bangkit'kan kesadaran dan untuk indonesia (dan banyak tempat lainnya) price yang lebih resonable.
Karena OS merupakan dasar dari sebuah PC dan bila pasar OS-nya berkurang maka para developer pro akan mulai berpikir mendevelop ke OS lain dan tentu saja 'killer app' di hasilkan oleh developer (pada saat waktu dan tempat yang tepat).

Are Your Windows 7 Genuine?




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