Carpe diem!

Make your lives extraordinary

clean up mikrotik user-manager logs

here is the one line code to delete all log entries on user-manager log

:foreach i in=[/tool user-manager log find] do { /tool user-manager log remove $i; }

February 28, 2010 Posted by | Blogroll, code Warior, Ngoprek, techno | , , , , | 3 Comments

Image Processing : Edit red channel hue/saturation dengan c#

Pada photosop terdapat fungsi “adjustment Layer” yang berkaitan dengan Hue/Saturation sehingga kita dapat menggeser semua warna menjadi warna lain dalam color space HSL/Hue, Saturation & Lightness (reference : http://en.wikipedia.org/wiki/HSL_and_HSV ) hanya dengan mengubah nilai Hue warna tersebut.

——————————————————————————————

dibawah ini adalah ilustrasi gambar color space untuk HSL :

Hue  : menunjukkan sudut dari lingkaran warna primer yang dikenal oleh format HSL .

warna primer dari color space HSL antara lain : Merah, Kuning, Hijau, Cyan, Biru dan Magenta.

Saturation : menunjukkan jari-jari dari lingkaran warna yang menunjukkan level warna abu-abu terhadap warna

Lightness : menunjukkan tingkat cahaya pada warna mulai dari hitam menuju putih.

contoh :  untuk menunjukkan warna merah

Hue = 0 (derajat)

Sat = 1.0

Lightness = 0.5

——————————————————————————————————————————————————

Untuk melakukan fungsi adjustment layer pada Hue/saturation yang terdapat pada photosop, kita harus mengetahui posisi (derajat pada lingkaran warna hue di HSL) dari masing-masing warna primer.  dibawah ini adalah batas-batas warna primer dengan tetangganya (nilai hue) :

Red :   outer : 315° – 45° /   inner : 345° – 15°
Yellow :   outer : 15° – 105° /   inner : 45° – 75°
Green :   outer : 75° – 165° /   inner : 105° – 135°
Cyan :   outer : 135° – 261° /   inner : 165° – 201°
Blue :   outer : 195° – 285° /   inner : 225° – 255°
Magenta :   outer : 225° – 345° /   inner : 285° – 315°

untuk melakukan editing Hue pada red channel pada sebuah image kita harus mengacu pada nilai hue 315° – 45° /   345° – 15°. kita dapat menggeser warna tersebut menjadi warna lain sesuka kita. misalkan warna merah pada image akan kita geser 180°.

yang perlu dilakukan adalah melakukan iterasi setiap pixel pada image dan menambahkan nilai hue-nya untuk pixel-pixel yang memenuhi kriteria nilai hue antara 315 – 45.

——————————————————————————————————————————————————

C# secara default hanya mengenali format warna RGB dengan extention A (alpha) dengan class name Color (di namespace system.drawing).

untuk melakukan pengolahan citra pada format HSL    class color hanya memiliki fungsi :

getHue() = mengembalikan  nilai float hue dari warna tersebut (nilai output : 0 – 359 ).

getSaturation() = mengembalikan  nilai float saturation dari warna (nilai output : 0.0 – 1.0 ).

getBrightness() = mengembalikan  nilai float brightness/lightness dari warna (nilai output : 0.0 – 1.0 ).

namun tidak memiliki fungsi untuk melakukan perubahan nilai HSL.

terima kasih pada om google yang telah menemukan konversi & fungsi untuk mengubah warna RGB – HS http://www.bobpowell.net/RGBHSB.htm

dibawah ini adalah kode untuk menambahkan 180 nilai hue pada  red channel.

                Color c;
                Color newc;
                float h, s, l;
                add += 30;
                Bitmap newimage = (Bitmap) image.Clone();

                for (int i = 0; i < image.Width; i++)
                {
                    for (int j = 0; j < image.Height; j++)
                    {
                        c = image.GetPixel(i, j);
                        h = c.GetHue();
                        s = c.GetSaturation();
                        l = c.GetBrightness();
                        // filter red channel 315 - 360 / 0 - 45
                        if ((h > 315) && (h < 360) || (h >= 0) && (h < 45))
                        {
                            h += add;
                            if (h > 360) h -= 360;

                        }
                        h = h / 360;
                        newc = RGBHSL.SetHue(c, h);

                        newimage.SetPixel(i, j, newc);

                    }
                }

December 3, 2009 Posted by | code Warior, Ngoprek, santai, techno | , , , , , , , , , | 1 Comment

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 | Biz to work, Blogroll, code Warior, HPC, Ngoprek, santai, techno | , , | Leave a comment

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 | Uncategorized | Leave a comment

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 | Uncategorized | , , | Leave a comment

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 | Blogroll, code Warior, HPC, Ngoprek, techno, Uncategorized | , , , , , , | 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 | Uncategorized | , , , | Leave a comment

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 | Blogroll, curhat, peduli!, santai | , , , , | Leave a comment

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 | 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 | Biz to work, code Warior, Lowongan kerja, techno | , , , , , | 5 Comments

Follow

Get every new post delivered to your Inbox.