Basirudin Rachman

  • Solve TF53011 Problem

    I've got a problem when try to add a new user as Team Foundation Server (TFS) "Licensed User" from my TFS Client event I logged in as TFS administrator.

    The problem is the target machine (TFS machine) cannot be resolved from my machine. Following image shows dialog of TFS Client on my machine:

    Unresolved Machine

    To add new user as "Licensed User" in TFS, please see following url: http://social.msdn.microsoft.com/forums/en-US/tfssetup/thread/0939d3aa-6acc-41f1-b674-c33a9f75351d/

    Yes, I have tried the GUI way, but as we can see on above picture, I cannot resolve my server machine to get the user name. So another alternative is to use the command utility (TFSSecurity.exe) directly in the server machine.

    So, go log in to the server, find the TFS folder (usually TFS is installed on following path: [SYSTEM_DRIVE]:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools.

    Use following command, then expected user will be registered as  "Licensed User":

    TFSSecurity.exe /server:TCNBW2K8A /g+ "Team Foundation Licensed Users" n:maulida

    And following is the result from above command: 

    TFSSecurity Result

    Share this post: | | | |
  • Siap Menguji Aplikasi Anda?

    Terakhir kali mempersiapkan aplikasi untuk diuji sebagai salah satu syarat menjadi Microsoft Partner, pernah saya lakukan sekitar tahun 2005/2006. Alhamdulillah produk kantor saya waktu itu lulus sehingga layak mendapatkan status sebagai Microsoft Partner.

    Saat ini saya kembali harus menyiapkan produk untuk mengikuti ujian untuk tujuan yang sama yaitu menjadi Microsoft Partner. Tentunya banyak perubahan pada kriteria yang harus dipenuhi oleh produk sehingga dapat lulus dari ujian yang diberikan.

    Catatan ini adalah catatan awal dari persiapan untuk mengikuti ujian yang terbaru, dan barangkali dari temen-temen pembaca sekalian ada yang sudah mengikuti dengan aturan yang terbaru ini sehingga dapat memberikan sumbang saran J.

    Terdapat dua jenis pengujian untuk mendapatkan label Microsoft Partner yaitu:

    Microsoft Platform Test for ISV Solutions dan Microsoft Platform Test for Hosted Solutions.

    Perbedaan dari keduanya adalah jenis aplikasi yang akan diuji. Untuk aplikasi yang memerlukan penginstalan langsung pada computer pengguna cocok untuk pengujian jenis pertama, sementara untuk tipe aplikasi yang menawarkan service kepada pengguna maka diuji oleh pengujian jenis kedua.

    Cara pengujian dan nilai poin:

    1.       Foundation Test

    Ini merupakan ujian yang wajib diambil. Untuk jenis pertama ada dua ujian yang ditawarkan dan boleh diambil salah satu saja:

    -          Windows Server Test

    -          Windows Client Test yang berjalan pada system operasi XP.

    Sementara untuk ujian jenis kedua hanya satu jenis ujian yaitu Windows Server Test. Masing-masing ujian memiliki nilai 10.

    2.       Elective Test

    Ini merupakan ujian pilihan yang harus diambil minimal satu dengan masing-masing nilai adalah 10:

    -          Microsoft  Office

    -          SQL Server

    -          Web Services plus .NET Framework

    -          Managed Code

    Syarat kelulusan dari aplikasi yang diuji adalah minimal lulus satu ujian dari Foundation dan satu ujian dari Elective. Sekedar tambahan, pengujian terhadap Windows Server 2003 dan SQL Server 2005 akan berakhir per 31 Maret 2009. Bagi Anda yang ingin menguji aplikasi terhadap kedua perangkat tersebut Anda masih punya waktu sekitar 6 hari, karena berikutnya syarat pengujian berubah menjadi Windows Server 2008 dan SQL Server 2008.

    Untuk lebih jelas materi apa saja yang diujikan dan berapa biaya untuk masing-masing pengujian, silakan langsung unduh persyaratan dari situs Lionbridge.

    Silakan mencoba dan jangan lupa untuk berbagi cerita kalau aplikasi Anda dapat lulus dari ujian-ujian tersebut.

    Share this post: | | | |
  • Kesalahan Multithread? – Bagian I

    Beberapa hari berkutat dengan masalah yang sebenernya sederhana (ini tahunya belakangan :D), tapi mencari solusi yang kelewat kompleks (menurut saya).

    Masalah pertama adalah kecurigaan terhadap kesalahan thread dari program yang saya buat (hehehe emang enak nyalahin orang lain – baca: program) ketika terjadi kondisi di akhir thread terhadap suatu proses yang diharapkan, tetapi harapan tersebut tidak terjadi. Hmm bingung ya? Paragraf berikut ini berusaha menerangkan kasus yang terjadi.

    Saya memiliki 2 komponen yang saling berinteraksi, masing – masing berjalan dengan thread yang berbeda, masing-masing adalah:

    ·         Komponen pertama K1 memiliki tugas yang sangat sederhana yaitu menuliskan hasil parse data mentah DM1 menjadi data yang valid DV1 yang disimpan ke dalam antrian Q1, ke dalam suatu file F1. DV1 sendiri merupakan data tunggal yang ada di dalam suatu antrian (yang berharap ditulis ke dalam file) Q1, sehingga di dalam Q1 terdapat DV11, DV12, sampai DV1n. Aturan yang saya buat adalah akan menulis ke dalam file F1 jika satu atau lebih kondisi berikut terpenuhi (menggunakan relasi “atau” – or):

    1.       Jika jumlah DV1 di dalam antrian Q1 adalah lebih besar atau sama dengan nilai tertentu yang dapat dikonfigurasi.

    2.       Jika jumlah DM1 lebih kecil atau sama dengan 0.

    Karena proses penulisan ke dalam file yang dilakukan oleh K1 berada dalam thread yang terpisah dari thread utama, maka proses ini akan dilakukan terus selama tidak ada signal dari thread utama untuk mengakhiri proses.

    ·         Komponen kedua K2. Memiliki tugas juga sangat sederhana, yaitu membuka setiap file yang telah ditulis oleh K1 dan melakukan proses konversi menjadi data lain yang diinginkan, sebut saja DV2. Selanjutnya di dalam K2 ini juga kumpulan hasil konversi akan disubmit menggunakan Web Service, tetapi ini tidak akan dibahas di tulisan ini karena memang bukan permasalahan yang berhubungan dengan thread.

    Thread ini juga merupakan anakkan dari thread utama seperti halnya thread terhadap K1. Di dalam K2 saya menggunakan satu komponen lain yang melakukan pengamatan terhadap folder dimana F1 akan dituliskan – merupakan enkapsulasi dari satu kelas standar di dalam .NET yang disebut “FileSystemWatcher”. Di dalam folder tersebut akan terdapat lebih dari satu F1, sebut saja F11, F12, sampai F1n.

    Harapan saya terhadap komponen ini adalah apabila terdapat penambahan file yang dihasilkan K1 akan dapat masuk ke dalam antrian untuk diproses.

    Kondisi yang akan dijalankan oleh thread ini adalah:

    1.       Jika signal berhenti belum diterima.

    2.       Jika jumlah F1 yang belum diproses lebih besar dari 0.

    Sperti halnya K2, maka K1 akan berhenti jika mendapat signal dari thread utama.

    Ok, mudah-mudahan masih mudeng, sebelumnya mohon maaf, tulisan ini bukan tulisan yg pop karena ga ngebahas LINQ, ADEM, dll yang lagi ngetrend :D. Back to business…

    Harapan saya adalah ketika thread utama mengirimkan signal bahwa proses telah selesai (di trigger dari luar sistem) maka semua file yang berada di dalam folder yang diamati oleh K2 akan diproses. Kenyataanya adalah bahwa ketika signal proses selesai telah dikirim, maka secara “berurutan” thread K1 akan melakukan “Join” – menyelesaikan masalah2 yg belum tuntas, lalu K2 juga demikian. Tetapi apa yang terjadi?

    1.       Ketika K1 menyelesaikan masalahnya, maka ada beberapa F1  yang akan di buat oleh nya. Harapan saya adalah semua F1 yang dibuat pada masa-masa akhir ini akan dikonsumsi oleh K2.

    2.       Ketika K2 menyelesaikan masalahnya, ternyata tidak satupun F1 yang dibuat pada “injury time” ini yang diproses.

    Hmmm, saya berulang kali menyalahkan algoritma yang ada pada K1 dan K2 (padahal saya sendiri yang membuatnya). Kecurigaan pada proses signaling sampai kesimpulan “Ini pasti bug nya VS 2008” :D. Sampai tadi malam saya berpikir kembali, lalu melihat algoritma yang ada pada thread utama ketika melakukan penyelesaian proses. Melihat, berpikir sebentar, lalu saya tertawa, dan berlari ke kamar menemui istri saya yang sedang tertidur, lalu berkata “Ternyata bukan salah threadnya…., hahaha ini salah saya menuliskan algoritma di dalam thread utama”.

    Apa yang sebenarnya terjadi di dalam thread utama yang menyebabkan kesalahan fatal diatas? Sebelum menuju masalah mari kita lihat apa yang biasanya dilkaukan terhadap suatu aplikasi multi thread ketika mengakhiri aplikasi?

    1.       Mengirimkan signal ke semua thread untuk mengakhiri proses.

    2.       Melakukan join.

    Dua konsep sederhana diatas jika ditulisakan dalam algoritma yang salah akan berakibat fatal (tidak sesuai dengan apa yang diharapkan, walaupun aplikasi berakhir secara normal).

    Kesalahan yang saya lakukan adalah dengan algoritma berikut:

    1. Mengirimkan signal ke semua thread K1 yang sedang berjalan untuk mengakhiri proses. (langkah ini adalah benar dilakukan pertama kali).
    2. Mengirimkan signal ke semua thread K2 untuk mengakhiri proses. (Inilah kesalahannya, karena thread K2 akan langsung berhenti karena tidak ada lagi F1x yang diproses).
    3. Melakukan join pada semua thread K1. Sehingga pada saat ini K1 akan menuliskan DVx sejumlah m yang tersisa menjadi F1x sejumlah m pula.
    4. Melakukan join pada semua thread K2. Disini diharapkan melakukan proses terhadap F1x sejumlah m, tetapi tidak terjadi karena sudah keluar dari kondisi untuk melakukan proses akibat dari point 2 diatas.

    Lalu apa yang dilakukan?

    1. Proses ini benar.
    2. Melakukan join thread K1, sehingga akan menuliskan semua file F1x yang tersisa. Di sisi lain karena K2 masih berjalan, maka setiap penambahan file akan disimpan dalam antrian K2.
    3. Mengirim signal ke semua thread K2 untuk berhenti. Kondisi proses akan tetap dilakukan di dalam K2, karena masih ada file yang tersimpan di dalam antrian menunggu untuk dip roses.
    4. Melakukan join, menyelesaikan semua proses terhadap F1x.

    Pelajaran apa yang bisa didapat?

    1.       Bagi saya adalah menganggap sepele permasalahan yang sebenarnya memang sepele tanpa logika yang kuat akan berakibat fatal.

    2.       Terlalu cepat mengambil kesimpulan sehingga menyalahkan hal lain yang belum tentu salah tanpa bukti yang kuat, akan berakibat fatal juga.

    3.       Akhirnya, mencoba menjernihkan pikiran kembali, dan mengamati masalah dari akarnya (thread utama), melakukan investigasi secara teliti dan berurutan.

    Wallohu a’lam.

     

    Share this post: | | | |
  • Memperkenalkan BIND-C

    BIND-C merupakan komunitas pengembang perangkat lunak berbasiskan .NET di kota Bogor dan sekitarnya.

    BIND-C merupakan kependekan dari “Bogor Indonesia .NET Developer Community” atau bisa dibilang INDC nya Bogor, atau INDC cabang Bogor J

    Beberapa hal menjadi alas an kenapa BIND-C harus dibentuk:

    1.       Seringkali acara komunitas yang rutin diadakan di Jakarta (biasanya di kantor MS di gedung BEJ), pada jam kerja (800 – 1700) ataupun selepas jam kerja (1900 – 2100). Hal ini membuat beberapa orang kawan tidak bisa hadir apabila bentrok dengan jam kerja ataupun terlalu malam untuk mengikuti acara – acara yang diadakan selepas jam kerja. Inisiatif untuk membuat acara serupa dengan waktu dan tempat yang terjangkau menjadi salah satu keinginan dari kami – kami yang bekerja di Jakarta tapi tinggal di Bogor.

    2.       Beberapa kawan justru kerja di Depok, atau bahkan di Bogor, dan ternyata cukup banyak pengembang perangkat lunak yang tinggal di Bogor, dan menggunakan teknologi .NET sehari – hari.

    3.       Keingingan untuk memperoleh informasi teknologi terkini dirasakan perlu, sehingga kebutuhan komunitas yang dapat saling isi, saling berbagi secara online ataupun offline dipandang perlu juga. Mengaplikasikan teknologi .NET terbaru hanya mungkin jika pengetahuan tentang hal tsb sudah diperoleh.

    Dari keinginan – keinginan diatas, lalu kami (orang – orang Bogor), saling berdiskusi melalui jalur pribadi email untuk mengatur langkah apa yang bisa dilakukan, sehingga lahirlah milis BIND-C dengan alamat bind-c@googlegroups.com untuk membuat diskusi lebih efisien. Awalnya ada sekitar 10 orang yang bergabung di milis ini, yaitu:

    1.       Aang

    2.       Mas Agung Putranto

    3.       Arif Muhammad Iqbal

    4.       Arum Madarum

    5.       Saya, Basirudin Rachman

    6.       Bayu Wicaksana

    7.       Firyan Gustano

    8.       Luhur

    9.       Bos Marulam (Bos Acong)

    10.   Istri saya, Maulida Rahmatillah

    Group BIND-C dibentuk tanggal 16 Januari 2008, sampai saat ini anggotanya mencapai 29 orang.

    Pertemuan pertama secara offline diadakan di kantor Bos Acong, di Asmara, Jl. Pandu Bogor. Yang hadir 4 orang: Saya, Bos Acong, Bayu dan Firyan. Hasilnya adalah perlunya penyamarataan pemahaman tentang bagaimana pengembangan perangkat lunak yang sebaiknya dilakukan, lebih kepada software construction. Sehingga direncanakan akan diadakan pelatihan Pengembangan Perangkat Lunak berbasis Obyek.

    Selanjutnya pelatihan sendiri baru bisa dilaksanakan pada tanggal 30 Maret 2008, dengan kehadiran sekitar 9 orang, laporan untuk kegiatan ini bisa dilihat di postingan blog istri saya di alamat berikut: http://lidalucu.multiply.com/journal/item/59/Hasil_Pertemuan_Pertama_BIND-C

    Selanjutnya, silakan teman – teman yang ingin aktif dan tinggal di daerah Bogor sekitarnya bergabung bersama kita, sukur – sukur bisa memberikan ilmunya kepada kita – kita melalui acara yang rencananya dibuat 2 kali dalam 1 bulan.

    Acara berikutnya dari BIND-C Insya Allah akan diadakan tanggal 20 April 2008.

    Salam.

    Bsrd.

     

    Share this post: | | | |
  • Hired by PE ;)

    This is a late blog I think, but better late than nothing right ? :)

    About three weeks ago, Agus called me and asked me to substitute him to train ASP .NET 2.0 to a company in Jakarta. Fortunately the company is located in the same building with company I work for.

    Hired by PE (People Enterprise), I continued the training session as the final session of Object Oriented Training (is it right Gus ?). Being a substitute I tried to "read" the participants how the training will flow. And then I open with new features in ASP .NET 2.0 such as : Master Page, Membership, bla bla bla....

    Started at 9.30 am and end at 5 pm I think. It was a good class, we discussed about lot of issues in what happened in my participants company related to the daily application they used. In the end we agreed to create a little community of developer in our building (Wisma BNI 46), and then we can create such as Community In touch event like what we already did monthly in INDC.

    So It was a nice training, meet with developers from other company, discuss and talk about CODE :D.

    </bsrd>

    Share this post: | | | |
  • OO day

    Yesterday was a full Object Oriented day

    I was invited by my former company to share my knowledges about such things like : Object Oriented Programming, Implementation of this concept using current technology (I prefer .NET, using C# in VSTS), little orientation about "How to design architectures", and other things related to code and development.

    Yes, it was a full OO day, starting at 9.30 am, we ended at about 5 pm. With 10 participants from my former company, including the boss (Assalamualaikum Pak Indra :)), 2 persons that I know since I left the company, and the others are new comer in the company.

    Started with, as usually giving presentation about OO with attributes on it, like : What is an object, Identical or Equal, Encapsulation, Association - Aggregation, Messages, Invokin an Operation, Collaboration, How an OO Program Work, Classes, Hierarchy of classes, Shared Data / Operation, ie. static.

    But not only one way communication that happened in the event, but we discussed about daily problem that usually come to us when we develop something, and find the way out. Current technology such as CAB, Ajax, ORM, bla bla bla ;D.

    After break with shalat Zuhur and Lunch, we continued with more deeply dig to the code :). Still using presentation, but more technical presentation, we talked about : What type means (class, struct, interface, generic), what is modular vs. reusable code, scope, inheritance, abstract;virtual function, using Interface, and ended with three patterns : Singleton, Bridge, Factory (yes as preliminary I just show these patterns to them). After presentation (or while doing presentation) we try to design little system, writing the class diagram, and put it in the CODE of course :D. We dig more into how to use interface as the public contract to the client, but keep the implementation as a "SECRET" recipe :D. Showing how to implement the definition of "INTENTION"... :)

    Yes yes-ter-day was an OO day. In the closing we discussed the road map after this action, to determine the next action. Yes we deal about the next action, implement the code with the concept we have learned together, and then sharpen them using what we will learn next... {still secret, but don't worry I'll blog it Insya Allah :)}.

    </bsrd>

     

    Share this post: | | | |
  • Ngobrolin nHibernate vs. iBatis (part 2)

    Langsung aja ke : http://blogs.netindonesia.net/basir/articles/9902.aspx

    Share this post: | | | |
  • Ngobrolin NHibernate vs iBatis yuk ;)

    Sedikit tulisan tentang perbedaan mapping antara NHibernate vs iBatis. silakan kunjungi http://blogs.netindonesia.net/basir/articles/9889.aspx

    Share this post: | | | |
  • udah ada ni potonya

    udah ada ni potonya yang di MEDAN :)

    klik Medan

    Share this post: | | | |
    Posted Apr 28 2005, 04:44 AM by basir with 4 comment(s)
    Filed under:
  • Lowongan .NET Software Developer

    PT Kontinum Era Artha (www.kontinum.com) sebuah software service company yang berlokasi di Tebet Jakarta Selatan membuka lowongan untuk ditempatkan sebagai .NET Developer, dengan kriteria sebagai berikut:

    Kriteria umum :

    • Menyukai koding (HARUS)
    • Dapat bekerja dalam tim maupun sendiri

    kriteria khusus :

    • Minimal 2 tahun pengalaman menggunakan .NET dan 1 tahun OLAP di MS SQL Server 2000 (1 orang)
    • Minimal 1 tahun pengalaman menggunakan .NET (2 orang)

    Kirimkan lamaran dan CV ke : basir[at]kontinum.com
    Share this post: | | | |
  • Foto-foto Dotnet Camp, part 2

    Setelah kemarin mendapatkan sedikit protes dari beberapa temen sperti Mas Dondy , “Hei fotonya sedikit banget”. Skarang sudah diupload lagi foto-foto training DotNet Camp di IKC hari ke dua, dan lebih banyak dari foto-foto kemarin.

    Di foto ini juga ada Mas Risman yang menutup acara, dan sedikit berkata-kata di hadapan peserta.

    Selamat menikmati.

    O, iya URL nya : http://blogs.netindonesia.net/basir/gallery/246.aspx

    Share this post: | | | |
    Posted Feb 09 2005, 10:37 PM by basir with no comments
    Filed under:
  • ASP.NET Camp Photos (5-6 Feb 2005)

    Buat instruktur atau rekan-rekan lain, juga peserta ASP.NET Camp , bisa liat foto-foto kegiatan ASP.NET Camp.

    Silakan kunjungi http://blogs.netindonesia.net/basir/gallery/231.aspx

    Share this post: | | | |
    Posted Feb 07 2005, 09:17 PM by basir with no comments
    Filed under:
  • Jadi Trainer (Lagi) ?

    Kemarin sekitar jam 5 sore, seorang sahabat lama menelepon saya menawarkan untuk menjadi trainer di ASP.NET Community Developer Camp menggantikan dia yang juga menggantikan seorang Guru di komunitas ini . Hehehe sempet kaget, mikir aja , mampu ga ya menggantikan kemampuan seorang Guru di kalangan komunitas .NET ini :).

    Tapi setelah dipikir-pikir lagi tidak ada salahnya mengambil kesempatan ini, paling tidak beberapa knowledge yang tidak banyak di otak ini bisa disebarluaskan. Dan kali aja bisa nyirep ilmu dari beberapa Guru lainnya macam Risman Adnan, Norman Sasono, M Choirul Amri , dll.

    Dengan berbekal prinsip “Ayo Bagi-bagi Ilmu”, yah mudah-mudahan bisa “Memberi Yang Terbaik” .... *hmm seperti slogan suatu kampus di Bogor :p.

    Btw, lokasi training sendiri akan diadakan di :

    ICT Center DKI Jakarta (Belakang STIE Swadaya-Jatiwaringin)
    Pangkalan Jati II Kalimalang
    d.a SMK Jaya Wisata
    Jakarta Timur
    Telp. 021-8613027
    (dari Kalimalang masuk ke arah Pondok Gede Via Jl.Jatiwaringin)

    untuk lebih jelasnya kunjungi saja website yg tsb diatas.

    Well, doakan saja supaya ini acara bisa berjalan lancar, tertib dan nyaman ;p, hehehe kaya iklan layanan masyarakat.

    Share this post: | | | |
    Posted Jan 27 2005, 11:20 PM by basir with 8 comment(s)
    Filed under:
  • Blog Menurut ....

    Hei sodara2, barusan liat komentar2 ttg blog menurut beberapa tokoh.
    Salah satunya adalah tokoh dari Indonesia KRMT Roy Suryo, yang bilang kalau blog cuman satu tren saja.
    Hehehe, bener tuh blog cuman satu tren saja ? dan kebanyakan masih berupa katarsis atau tempat curahan emosi ?
    Silahkan jawab sendiri :p
    Btw, posting komentar2 ada di : RSW
    Share this post: | | | |
    Posted Jan 19 2005, 10:45 PM by basir with 3 comment(s)
    Filed under:
  • Measure Software Development Cost (w. OO Methodology)

    It can be difficult to change the paradigm that has already stuck on ones mind that it's just only developing the software without knowing about its price.
    Maybe it's not problem for one who want to be just a "developer" for all life time ;p.
    I'll try to cover things to be prepared in order to change paradigm from an "innocent developer" into a "costing aware developer".

    Hope this writing will not take a pile of time :).
    For the basic, maybe I'll try to map things to dissect deeper :

    1. What Costing Method in OO Methodology is better to use, if there is such a methodology.
    2. How does the developer predict the size of the system.
    3. What things have to be put in the parameters of cost measurement.
    4. At last, maybe how to measure the total cost.

    Anyway, this writing has not begun yet. At the moment, I'm still collecting and reading the references, hope I can start to write asap :).
    Share this post: | | | |
More Posts Next page »