Carpe diem!

Make your lives extraordinary

c# : Stupid string Concat

maksutnya supaya lebih mudah diprogramnya, namun apa daya performansinya jauh mengecewakan. itulah yang terjadi saat saya akan menyimpan sebuah array of double dengan menggunakan c#. simple problem :

int nx;
int ny;
double[,] data = new double[nx,ny];
 
saya ingin dump data tersebut menjadi sebuah string lalu mengcompress-nya.

my first simple answer is :

—————————————————————————–
            string result = “”;
            for (int i = 0; i < nx; i++)
            {
                for (int j = 0; j < ny; j++)
                {
//separate row data with space
                    result += data[i, j].ToString() + ” “;
                }
//separate column data with space
                result += “-”;
            }
           result = compress(result);
——————————————————————————–
DEBUG –> RUN …
1 menit berlalu …..
5 menit berlalu …
10 menit berlalu ….
break the RUN…
watch i = 651  dan j = 126
usut punya usut  nx = 931 dan ny=165 …. wahh h…. masih 2/3 jalan nih …
 
langsung ganti algoritma baru :
——————————————————————————–
         public void dumpdatatofile(string filename)
        {
            StreamWriter sr = File.CreateText(filename);

            for (int i = 0; i < nx; i++)
            {
                for (int j = 0; j < ny; j++)
                {
                    sr.WriteLine(data[i,j].ToString(“E”));
                }
            }

            sr.Close();
        }
        public string loadFileToString(string filename)
        {
            StreamReader sr = File.OpenText(filename);
            string result = sr.ReadToEnd();
            sr.Close();
            return result;

        }

        public void main()
        {
            string filename = “C:\\waveshot.” + Guid.NewGuid().ToString(“N”) + “.tmp”;
            dumpdatatofile(filename);
            cVelocities = Utils.Compress(loadFileToString(filename));
//            File.Delete(filename);
        }

——————————————————————————–
DEBUG –> RUN …
1 second later …. done !!!

wow … dashyattt ….
string concate c# sucksss …..

 

October 30, 2009 Posted by ipans | Biz to work, Blogroll, HPC, Ngoprek, code Warior, santai, techno | , , | No Comments Yet

Image Processsing : the basic in c#

link ini mungkin berguna untuk yang mau memprogram basic image processing function dalam c#.

http://www.codersource.net/codersource_dot_net.html

October 7, 2009 Posted by ipans | Uncategorized | | No Comments Yet

CUDA Journey : 9500 GT vs 9800 GT

Running on……
device 0:GeForce 9500 GT
Quick Mode
Host to Device Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1873.4

Quick Mode
Device to Host Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1357.2

Quick Mode
Device to Device Bandwidth
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 17299.5

————————————————————
Running on……
device 0:GeForce 9800 GT
Quick Mode
Host to Device Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 2846.8

Quick Mode
Device to Host Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 2307.4

Quick Mode
Device to Device Bandwidth
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 43125.5
—————————————————–

the winner is 9800 GT .. ya iya lah ….

September 1, 2009 Posted by ipans | Uncategorized | , , | No Comments Yet

New best fit OSCAR Cluster Configuration

Setelah 4 hari bertapa di ruangan data center. akhirnya.. tembus juga OSCAR Cluster di Linux OS yang baru-baru. Konfigurasi software barunya :
- OSCAR 5.1 RC1
- CentOS 5.3 X86_64

Instalation Step :
1. Install CentOS 5.3
Note :
- pilih juga paket-paket program yang berkaitan dengan Software development, perl dan X termasuk createrepo
- disable firewall
- disable selinux

2. edit /etc/hosts <– baca readme OSCAR
3. edit /etc/ssh/sshd_config enable permitrootlogin yes
4. edit /etc/yum.conf disable gpgcheck
5. copy semua *.rpm dvd centos ke /tftpboot/distro/centos-5-x86_64
6. extract all oscar-repo*.tar.gz ke /tftpboot/oscar/
7. install yume dari /tftpboot/oscar/common-rpms/
8. yume –repo /tftpboot/oscar/common-rpms install oscar-base
9. edit PackageSmart.pm line 74 tambahkan “|centos”
10. cd /opt/oscar/
11. ./install_cluster eth0
12. ikuti 9 step wizard oscar
13. disable selinux on slave node boot
finally …………….
– done — done — done — and done –

Tentu saja, percobaan gagal sudah banyak dilakukan :
- Centos 5.3 + Oscar 6.0.3 + repo online <– failed to build client image
- Centos 5.3 + Oscar 6.0.3 + repo dvd <– failed to build client image
- Centos 5.2 + Oscar 6.0.3 + repo dvd <– failed to build client image
- FC9 64 bit <– anaconda error saat install FC9
- Centos 5.2 + Oscar 5.1b2 <– failed openmpi not exist

August 3, 2009 Posted by ipans | Blogroll, HPC, Ngoprek, code Warior, techno | , , , , , , | 3 Comments

AHCI : put your SATA speed on the next level

hasil oprek-mengoprek membandingkan performance 2 low-end PC dengan menggunakan 2 versi OS yang berbeda (centOS 4.7 dan centos 5.3) cukup membuat saya terheran-heran. untuk spesifikasi yang sama, response sistem jadi sangat jauh berbeda.

Awalnya saya pikir apakah beda kernel-nya saja, tentu saja itu jadi alasan yang terakhir bagi saya karena sama-sama kernel 2.6.x. usut-punya usut saya mengaktifkan option AHCI di BIOS motherboard.

Advanced Host Controller Interface, which is a hardware mechanism that allows software to communicate with Serial ATA devices.

AHCI is a PCI class device that acts as a data movement engine between system memory and Serial ATA devices.

AHCI encompasses a PCI device.

source :
http://www.intel.com/technology/serialata/ahci.htm
http://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface

July 17, 2009 Posted by ipans | Uncategorized | , , , | No Comments Yet

Interupsi pagi : Approval pembelian asuransi via telepon??!

Pagi ini ada telepon masuk, mengaku dari xxxNA dan mengatakan ada kerjasama dengan kartu kredit yang saya pegang. menawarkan asuransi kesehatan dengan biaya cover untuk rawat ini mencapai 500rb/hari untuk tiap-tiap penyakit. diakhir telpon, ada keanehannya :

sang agen mengatakan bahwa pembicaraan ini direkam jadi bisa dijadikan approval sehingga bisa langsung diproses polisnya

lalu dengan sigap saya menjawab, saya sudah punya pengalaman pahit dengan asuransi bagaimana saya bisa approval hanya dengan mendengar pembicaraan anda. sebaiknya dikirimkan ilustrasi lengkapnya ke tempat saya, supaya saya bisa mencermati setiap pasalnya.

sepertinya agennya langsung pundung… hi hi hi …

Buat teman-teman, watch it!. hati-hati kalau menerima penawaran seperti ini. sebaiknya dilihat dengan cermat setiap pasalnya, minta pertimbangan dari berbagai orang. JANGAN PERNAH LAKUKAN APPROVAL MELALUI TELEPON!

June 4, 2009 Posted by ipans | Blogroll, curhat, peduli!, santai | , , , , | No Comments Yet

interupsi pagi : prita vs rumah sakit omni. turut simpati

mulai pagi hari dengan minum segelas air, cek email lalu membuka yahoo messenger. lalu muncul pesan offline di YM :

SERUKAN BOIKOT RUMAH SAKIT OMNI… KRN RUMAH SAKIT INI SUDAH BERBUAT SEMENA2 TERHADAP NYAWA MANUSIA.. DAN RUMAH SAKIT OMNI TELAH BERBUAT ANIAYA TERHADAP PASIENNYA.. TIDAK HANYA ITU RS OMNI JG TELAH MEMENJARAKAN PASIENNYA YANG SUDAH DIANIAYA… TOLONG SEBARKAN KE YANG LAIN… DUKUNG KEADILAN DI INDONESIA INI

Cukup keras juga nadanya dengan huruf CAPITAL yang kental. mulai search di google :
http://www.google.co.id/search?hl=en&rls=com.microsoft%3Aen-us&q=prita+rumah+sakit+omni&btnG=Search&meta=cr%3DcountryID

Wow dashyat ….. sampai 29 halaman di search google. bahkan di article terakhir masih bertaut dengan berita itu.

saya turut simpati mengenai masalah yang terjadi, makin menambah panjang cerita busuk mengenai rumah-sakit yang malpraktek.

saya yakin bahwa masyarakat akan menghukum rumah sakit OMNI, walaupun jalur hukum sudah tidak bisa dilakukan. mari kita buktikan dalam 1-2 tahun apakah rumah sakit ini masih tetap berdiri disana atau tidak!.

 

June 3, 2009 Posted by ipans | Blogroll, curhat, peduli!, santai | , , , , | 1 Comment

Lowongan Waviv Technologies

 

Introduction Seismic Unix

Seismic Unix merupakan salah satu software yang digunakan untuk pengaolahan data seismik. Software ini opensource untuk proses belajar dan riset. Banyak modul yang sudah dikembangkan oleh CWP untuk mengolah data seismik sehingga menjadi data seismik yang bisa digunakan untuk interpretasi dan pengolahan data seismik lanjut.

Seisimic Unix dapat dijalankan dibeberapa sistem operasi seperti Linux, Solaris, dan SGI. Bisa juga dijalankan di Windows menggunakan program tambahan cygwin.

Fungsi-fungsi pengolahan data yang terdapat dalam Seismic Unix dapat di kategorikan menjadi :

  1. Data Compression
  2. Editing, Sorting and Manipulation
  3. Filtering, Transforms and Attributes
  4. Gain, NMO, Stack and Standard Processes
  5. Graphics
  6. Import/Export
  7. Migration and Dip Moveout
  8. Simulation and Model Building
  9. Utilities

Untuk lebih lengkap dapat dibaca di http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suhelp.html

———————————————————————————————————————————–

Waviv Technologies saat ini menyediakan 2 posisi lowongan :
1. Geophysicist/Seismologist (1 orang)
Job Desc : Seismic data processing.

2. Software Engineer (1 orang)
Job Desc : riset dan pengembangan aplikasi paket untuk seismic data processing

———————————————————————————————————————————–

Test Penerimaan terdiri dari 2 tahap :

1.Online Pre-eliminary Test
Test ini dilakukan untuk mengetahui kemampuan dasar dan willingness pelamar untuk menyelesaikan masalah secara sistematis dan efisien dalam satu studi kasus.

2. Interview
Test ini dilakukan untuk mengetahui personality dan attitude pelamar bagi yang telah lolos tahap (1).

———————————————————————————————————————————–

Online Pre-Eliminary Test

 ———————————————————————————————————————————– 

Soal Pre-eliminary Online untuk  Lowongan geophysicist/seismologist

 Diberikan satu set raw data seismic yang terdiri dari :

  1. XPS File
  2. SPS File
  3. RPS File
  4. SEGY data

Tugas anda adalah melakukan seismic data processing menggunakan software pengolahan data* seperti seismic unix/promax/vista/focus/geovecture (pilih salah satu yang bisa) terhadap data yang diberikan dengan output sebagai berikut :

  1. Brute-stack Image dalam bentuk Image jpg/gif/png
  2. Hasil Velocity Analisis dalam bentuk Image jpg/gif/png
  3. Dokumentasi langkah-langkah yang anda lakukan dalam menghasilkan (1) dan (2).

 Waktu pengerjaan  maksimal 1 bulan. Hasil pengolahan dapat dikirimkan melalui email ke : ivan.suci@waviv.com

 Jika ada pertanyaan atau membutuhkan keterangan/konsultasi lebih lanjut dapat menghubungi Linda Damajanti (pashadira@yahoo.com)

 ———————————————————————————————————————————– 

 Soal Pre-eliminary Online untuk  Lowongan Software Engineer

Studi Kasus

Fungsi-fungsi yang tersedia di Seismic Unix dapat digunakan dengan menjalankan perintah pada bash prompt linux/unix.

  1. Menjalankan perintah-perintah seismic unix, user harus mengerti parameter-parameter yang dapat digunakan untuk masing-masing fungsi yang ada. Sehingga perlu membaca help di windows dari Seismic Unix.
  2. Perintah-perintah dalam seismic unix  dapat digabungkan dengan menggunakan standard input/output pada shell (seperti > , < , | )

Dibawah ini adalah contoh file script untuk melakukan pemotongan data segy untuk tiap FFID :

segyread tape=data.sgy endian=0 verbose=1 | segyclean > data.su
sugethw < data.su key=fldr > data.hdr 
suwind key=fldr min=$val max=$val < data.su  > $val.su
segyhdrs < $val.su
segywrite tape=$val.segy endian=0 verbose=1 < $val.su

 Kode Sumber lengkap dapat dilihat di posting saya sebelumnya  dalam script perl

Tugas

Tugas anda adalah membuat prototype Graphical User Interface (GUI) untuk memudahkan user dalam menggunakan aplikasi Seismic Unix terkait dengan kasus (a) dan (b).  salah satu contoh GUI untuk Seismic Unix dapat di lihat di http://www.henrythorson.com/interface.htm

 Dengan Graphical User Interface diharapkan user dapat memilih perintah apa yang akan digunakan dan menampilkan hints parameter apa saja yang akan digunakan. Dengan GUI pula user dapat merangkai perintah-perintah sehingga menjadi satu flow processing yang dapat digunakan ulang (reusable).

 Requirements :

-          Running Under Linux
-          Bahasa Pemrograman bebas.

Waktu pengerjaan  maksimal 1 bulan. Kirimkan Screenshot Fitur-fitur Prototype Aplikasi  beserta sebagian potongan kode program anda ke ivan.suci@waviv.com

Jika ada pertanyaan atau membutuhkan keterangan/konsultasi lebih lanjut dapat menghubungi Ivan Suci F (ivan.suci@waviv.com) atau YM : it_bandung

May 19, 2009 Posted by ipans | Biz to work, Lowongan kerja, code Warior, techno | , , , , , | 3 Comments

detecting Terminal server session with c#

SystemInformation.TerminalServerSession Property

Note: This property is new in the .NET Framework version 2.0.

Gets a value indicating whether the calling process is associated with a Terminal Services client session.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

Visual Basic (Declaration)
Public Shared ReadOnly Property TerminalServerSession As Boolean

Visual Basic (Usage)
Dim value As Boolean

value = SystemInformation.TerminalServerSession

C#
public static bool TerminalServerSession { get; }

C++
public:
static property bool TerminalServerSession {
	bool get ();
}

J#
/** @property */
public static boolean get_TerminalServerSession ()

JScript
public static function get TerminalServerSession () : boolean

Property Value

true if the calling process is associated with a Terminal Services client session; otherwise, false.

Remarks

The TerminalServerSession property indicates whether the calling process is associated with a Terminal Services client session.

NoteNote
This property is supported only on Windows NT 4.0 SP4 or later, Windows 98, Windows Millennium Edition, Windows 2000, Windows XP, and the Windows Server 2003 family.

May 11, 2009 Posted by ipans | Blogroll, Ngoprek, code Warior, techno | | No Comments Yet

Space effective compute node

Semakin hari, semakin efisien penggunaan space server yang dapat dimasukkan ke dalam rack data center.

waktu yang lalu telah mencoba technology 1U twin dari supermicro, dimana dalam 1U rackmount server terdapat 2 buah serverboard dengan kemampuan dapat menampung 2 buah processor Xeon Quad Core dan 48GB memori. cukup dengan power 780watt. ckckck …. so far .. no complain about 22 node of these type of server.

1U Twin

1U Twin

baru-baru ini supermicro mengeluarkan series baru 2U twin2.. dashyat… 2U = 4x serverboard = 4 x 2 processor Quad core = 4 x 48GB memori.cukup dengan power 1000watt. wuih … a lot of number .. i wish i could try this machine …

2U Twin2

2U Twin2

go green my grid ..

April 24, 2009 Posted by ipans | Biz to work, Blogroll, Ngoprek, santai, techno | , , , , | No Comments Yet