Archives

You are currently browsing the archives forBlog the category .
pin Posted March 31st, 2008 in Blog, Software and Free for All | comment 2 comments

rupanya BeOS yang udah sampe R5, masih ada penerusnya, sebelumnya BeOS yang dikembangkan oleh Be inc. di cancel, ntah pa pa padahal udah cukup bagus untuk jamannya, bangkrut kali ya... terus Be Inc. dibeli palm, sebelumnya BeOS adalah operating system closed source untuk menyaingi windows dan linux (dan osx juga kali) tapi kurang banyak pemakai ya iya lah closed source udah itu kaga free dan softwarenya masih kalah jauh jumlahnya dibanding windows, linux ataupun osx, hardwarenya juga khusus (yang akhirnya di port ke powerPC dan x86)

setelah BeOS mati pada versi R5.03 dan dilanjutkan oleh pihak lain dengan nama lain, baca aja wikinya deh, salah satu penerusnya adalah openBeOS dan berubah nama jadi Haiku, haiku berbeda dengan BeOS dan turunan BeOS lainnya, dimana Haiku adalah project opensource dengan license MIT, tapi bukan berarti haiku dikembangkan dengan basis codes dari BeOS, haiku completely rewrite from scratch, dan juga bukan turunan unix.

BeOS yang mirip dengan *nix sama-sama pake shell bash untuk terminalnya, karena bukan turunan unix, BeOS pake kernel yang berbeda jauh ama unix/linux yang dikategorikan monolithic kernel, BeOS menggunakan modular kernel, yang mirip dengan OSX dan Windows, filesystem yang dipake BFS udah menggunakan feature journaling yang berarti sekelas dengan ext3 dari *nix. NTFS dari windows dan HFS+ dari osx, APInya pake konsep OOP mirip dengan OSX tapi tetap kompatible dengan POSIX. Selain itu haiku executable binarynya kompatible dengan BeOS jadi bisa jalanin applikasi BeOS, diantaranya firefox 3.0b yang termasuk bleeding edge.

Haiku kabarnya mulai dikembangkan sejak 2001 dengan nama openBeOS dan berganti nama tahun 2004 jadi Haiku, sekarang (2008) masih dalam versi prealpha, tapi udah bisa dicicipi pake virtual machine kaya VMWare, imagenya bisa didownload di http://www.haiku-os.org/downloads kecil cuman 32MB, jalannya mulus... grafiknya bagus... bisa jalanin app openGL (software render mode pake MESA) dengan fps 100+ untuk demo teapot dalam virtual machine... lom tau juga ada ga driver yang support haiku sampe skr... tapi mudah2an masih terus berkembang... biar dunia OS semakin indah gitu kali ya...

 
pin Posted March 30th, 2008 in Blog, Software and Free for All | comment 5 comments

iseng-iseng berhadiah sambil bernostalgia... ini dia windows yg gw pake waktu umur gw 4 tahun... wakakak akhirnya berhasil jalanin di vmware, setelah mencari2 windows versi 1.04 ama dos 3.3, butuh diskspace 4MB, memory 640K...

kalo mo cobain, yang dibutuhkan 5 disk dari windows 1.0 dan DOS 3.3 (jangan tanya gw dapetinnya darimana), terus vmware... kalo dah siap tinggal bikin virtual machine baru di vmware dengan format OS Windows 3.1, Harddisk Space 0.1GB juga cukup, memory 8 MB cukup,

trus selanjutnya... bikin image dari disk dos dalam format .img, terus tinggal mount .img dari DOS 3.3 dalam floppy disk vmware dan boot operating systemnya, kalo dah masuk DOS, skr lakukan FDISK untuk bikin partisi FAT di drive C, kalo udah tinggal "FORMAT C:" untuk format harddisknya, terus jalanin perintah "SYS C:" untuk isi MBR di C, dan copy semua isi file di disk A: termasuk COMMAND.COM ke C:\.

selanjutnya kita bikin 5 image dalam format .flp di vmware, caranya "edit virtual machine settings" -> "floppy" -> "dibagian kanan pada option use floppy image, click create" kasi nama win1.flp sampe win5.flp, kalo udah... mount disk VM di windows caranya dari window yg sama ama tadi pindah ke menu harddisk -> click utilities -> pilih map -> pilih file vmdk dari windows 1.0 dan uncheck "open file in read only mode" terus map ke drive X.., sekarang tinggal copy isi disk 1 - 5 windows 1.0 ke harddisk C tadi yg udah di map ke X:

sekarang boot OS nya tanpa floppy (disconnect di vmware), terus masuk ke C, dan mount floopy dengan image win1.flp, terus di OSnya kita "FORMAT A:" dan selanjutnya copy isi file disk 1 windows 1.0 ke drive A:, terus unmount, dan mount win2.flp dan ulangi terus sampe disk 5 windows 1.0 udah ke copy ke image win5.flp.

sekarang mount win1.flp dan masuk ke drive A: jalanin "setup.exe" terus ikutin proses instalasi windows sampe disk win5.flp, kalo dah beres tinggal masuk ke "C:\Windows" dan ketik "WIN" !

 
pin Posted March 3rd, 2008 in Blog, General Talk and Free for All | comment no comments

selamat berjuang di arena GP250 tahun 2008, rider indonesia pertama di ajang motoGP, semoga bisa mengumandangkan indonesia raya di podium international... fight!

 
pin Posted February 16th, 2008 in Blog and General Programming | comment no comments


does complexity is bad? yes if its complicated..

 
pin Posted January 28th, 2008 in Blog, General Talk and Free for All | comment no comments

 
pin Posted January 27th, 2008 in Blog and Software | comment 4 comments

setelah bebas dari tugas dan ujian kampus, akhirnya ada waktu lagi buat ngoprek, walopun ga lama tapi lumayan, banyak yg belum kesampaian, setelah kemaren2 nginstall OS X Leopard di laptop, sekarang pengen nyobain didesktop, sekalian nyobain fusion yang katanya udah bisa jalanin aplikasi directX 9 Windows... setelah dicoba keren juga, bener2 fusion, OS X dan windows menyatu! sayang menu bar OS X ga bisa diilangin, kalo bisa keren juga taskbarnya pake windows docknya asli OS X, ini screenshotnya...


click on image to view full size

spec kompor yang dipake :
- Gigabyte GA 965P-S3 (chipset intel 965P, SB ICH8)
- Processor intel core 2 duo 2.13 GHz
- Ethernet 3COM 10/100 + Marvel Yukon GBe
- soundcard realtek ALC883
- VGA ATi Radeon X1650 Pro 256MB
- Memory DDR2 2GB (512x4)
- LCD LG 19"
- Harddisk Samsung 160GB SATA + 2x80GB Seagate IDE
- partition EFI MBR multiboot Windows XP, Fedora 8, OS X 10.5.1 (OSX bootloader on MBR)
- distro Kalyway intel SSE3

semua device jalan mulus di osx... huhuy...

 
pin Posted January 26th, 2008 in Blog, Software Development and Portfolio | comment 5 comments

tugas kuliah GPU programming, lagi lagi tugas, kali ini cukup menarik daripada tugas yang lain, mbikin game ga jelas pake openGL, hoo kali ini murni openGL tanpa library/engine lain, cuman pake shader normal map ama perpixel lighting (pake GLSL), pengen nambah2 efek lain cuman ga ada waktu, ya udah dikumpulin aja, dikerjain kira2 2 mingguan lah...

[ download 930KB ]

 
pin Posted January 26th, 2008 in Blog, Software Development and Portfolio | comment no comments

eh iya AJAX based Chess deh sama aja lah... tugas kuliah web programming, ntah pa pa... bagi yang kurang kerjaan boleh coba di sini

download source [ here ]

 
pin Posted November 4th, 2007 in Blog and Software | comment 3 comments

setelah bertahun-tahun mencoba dan tidak pernah berhasil, kali ini akhirnya berhasil menginstall Mac OS X 10.4.9 di laptop, laptop gw Asus F3JA, dalemannya Intel Core 2 Duo, ATi Mobility X1600, SATA 100GB, 2x512MB DDR, 1280x800 LCD


Ethernet realtek 8111 jalan, Internal Bluetooth jalan, Wireless 3945 lom dicoba (kayanya ga jalan), GPU Mobility X1600 jalan hardware accelerated (Quartz Extreme dan CoreImage), Resolusi LCD Native 1280x800x32, Internal DVD+/-R jalan, tinggal sound yang drivernya mesti diutak atik lagi (ALC660), Firewire internal jalan, MMC reader (kaga jalan), TouchPad jalan, Internal WebCam kaga jalan

OS X yang dipake versi intel SSE3 10.4.9 hasil crack (distro) dari upchuck versi 1.4i-r2, thanks for hackers in the world to make this possible...

 
pin Posted October 27th, 2007 in Blog and Software Development | comment 2 comments

baru belajar java... karena tugas kuliah mesti pake java..., well karena gw hanya bisa C/C++ from the very beginning... jadi merasa ada yang aneh, diantaranya :

Every function must be part of a class, including entry main function.., and every public class could have at most one main function

nice then who will instantiate the objects those classes? where is the actual entry point?

no struct, union, enum, unsigned, typedef..

heh? every integer is signed? that makes coding hard... you said java is easy...

no overloaded operators

yeah, where is polymorphism features? you said java is OOP...

no function pointer, since java doesn't have pointers concept

that make it even harder..., then we must create function pointers as classes, nonsense...

and of course at last it was damn slow..., how do i implement meta-programming / generic programming, no template as far as i know? how about design patterns if it doesn't have pointer at all? this language is so last decade compared to old nice C++

 
pin Posted October 24th, 2007 in Blog and Software Development | comment 3 comments

my latest visual studio scheme :

 
pin Posted October 23rd, 2007 in Blog, Software Development and Portfolio | comment 5 comments

game ga jelas... yang dibuat dalam 3 minggu, buat tugas kuliah, full of bugs tentunya... yang penting selese deh... graphics engine pake ogre, physics pake ode, audio pake openAL... my first time messing up with shaders...

download [ here ]
dependencies :
- openAL runtime (765KB)
- visual studio 2005 redistributable package x86 atau dari sini (2.6MB)

 
pin Posted July 30th, 2007 in Blog | comment no comments



[ download ] use right click->save as

 
pin Posted July 10th, 2007 in Blog and General Talk | comment 6 comments

awalnya cuman iseng aja gw kangen ama music yngwie malmsteen (maklum penggemar yngwie), trus gw idupin emule and search for "yngwie", trus ketemu cem macem file yang kebanyakan gw dah punya, tapi ternyata nemu satu yang gw lom punya : "yngwie malmsteen,Vivaldi guitar" ya udah gw donlot...

ternyata eh ternyata gw suka juga, ya udah gw cari variasi lain dari vivaldi 4 season summer di google (vivaldi itu composer music clasic taun 1725) trus tempat pertama jatuh ke video.google.com, judulnya Funtwo - The four season "summer" (vivaldi), pas diliat kaget juga gw itu anak jago banged maennya, bersih, rapih, akurat dan clear...

setelah itu gw cari video dia yang lain dengan keyword "fun two", ketemu "canon rock", gw curiga dah music yang judulnya canon biasanya turunan / derivative dari Pachelbel's Canon in D (salah satu music favorite gw) ya udah gw liat, ternyata emang ternyata... manteb banged dia maen, variasinya oke, aransemennya ok, berarti selain jago maen gitar dia juga composer yang oke banged...

trus penasaran deh sapa sih funtwo? selidik punya selidik gw jatuh ke wiki untuk artikel mengenai funtwo

http://en.wikipedia.org/wiki/Canon_Rock_(song)

funtwo itu nick name dari Jeong-Hyun Lim, ternyata video yang dia masukkin ke youtube (video maenin canon rock) itu :

...His video is the fifth most viewed video in YouTube history with over 23 million views, and counting, the third most viewed music video of all time, the most discussed of all time, the second most favorited of all time...

setelah itu semakin banyak orang yang ikut memainkan canon rock (variasi pachelbels canon in D oleh JerryChan). lebih dari 40 orang mempost video mereka ke youtube, fenomena itu diabadikan dengan sebuah video yang merupakan gabungan dari 40 orang memainkan canon rock secara bergantian :
http://www.youtube.com/watch?v=dMWl_5NujBw

 
pin Posted May 26th, 2007 in Blog and General Talk | comment 2 comments

sebelumnya gw pernah ngasi tawu buat ngilangin iklan di YM, cuman itu hanya jalan di versi 7.x, sekarang untuk versi 8.x :

edit registry jadi kaya gini

ato download dan jalanin ini http://ionutalexchitu.googlepages.com/noYMads2.bat

rename file C:\WINDOWS\system32\Macromed\Flash\flash.ocx jadi apapun, kalo ga ada file flash.ocx rename aja file lain yang namanya *flash*.ocx

bikin backup dari C:\Program Files\Yahoo!\Messenger\Cache\urls.xml kemudian create empty file dengan nama itu, dan set read-only

the result :

 
pin Posted May 22nd, 2007 in Blog, Articles and Concurrent Programming | comment 2 comments
Code (cpp)
  1.  
  2.  
  3. class signal
  4. {
  5. protected:
  6. public   : virtual void notify(void) = 0;
  7. };
  8.  
  9. //========================================================================================
  10.  
  11. class eventsignal : public signal
  12. {
  13. protected : HANDLE _exec_event;
  14. public    : eventsignal(void){ _exec_event = INVALID_HANDLE_VALUE; }
  15.          eventsignal(HANDLE eventhandle) { _exec_event = eventhandle; }
  16.          HANDLE get_eventhandle(void){ return _exec_event; }
  17.          void set_eventhandle(HANDLE eventhandle){ _exec_event = eventhandle; }
  18.          virtual void notify(void)
  19.          {
  20.             if(_exec_event != INVALID_HANDLE_VALUE)
  21.                SetEvent(_exec_event);
  22.          }
  23. };
  24.  
  25. //========================================================================================
  26.  
  27. class callback : public signal
  28. {
  29. typedef void (*callbackfn)(void* user);
  30. protected : callbackfn _func;
  31.          void* _userdata;
  32. public    : callback(callbackfn func,void* userdata)
  33.          {
  34.             _func     = func;
  35.             _userdata = userdata;
  36.          }
  37.          callbackfn get_callbackfn(void) { return _func; }
  38.          void set_callbackfn(callbackfn func) { _func = func; }
  39.          void* get_userdata(void) { return _userdata; }
  40.          void set_userdata(void* userdata) { _userdata = userdata; }
  41.          virtual void notify(void) { if(_func) _func(_userdata); }
  42. };
  43.  
  44. //========================================================================================
  45.  
  46. class rawcommand
  47. {
  48. protected : signal* _sig;
  49.          virtual void exec(void) = 0;
  50.          rawcommand(void) { _sig = NULL; }
  51.          rawcommand(signal* sig) { _sig = sig; }
  52. public    : void operator()(void)
  53.          {
  54.             exec();
  55.             if( _sig ) _sig->notify();
  56.          }
  57.          void set_signal(signal* sig){ _sig = sig; }
  58.          signal* get_signal(void){ return _sig; }
  59. };
  60.  
  61. //========================================================================================
  62.  
  63. template<class T> class objectcommand : public rawcommand
  64. {
  65. protected : T* _T_;
  66.          virtual void exec(void) = 0;
  67. public    : objectcommand( T* t) : _T_(t) { };
  68.          objectcommand( T* t,signal* sig) : _T_(t), rawcommand(sig) { };
  69.          T* get_actor(void){ return _T_; };
  70.          void set_actor(T* actor){ _T_ = actor; };
  71. };
  72.  
  73. //========================================================================================
  74.  
  75. template<class T,class R> class basecommand : public objectcommand<T>
  76. {
  77. protected :  R* _R_;
  78.           basecommand(T* t,R* r) : objectcommand<T>(t), _R_(r) { }
  79.           basecommand(T* t,R* r,signal* sig) : objectcommand<T>(t,sig), _R_(r) { }
  80.           void set_result(R r)
  81.           {
  82.              if(_R_) *_R_ = r;
  83.           }
  84.           virtual void exec(void) = 0;
  85. public    :  R* get_target(void){ return _R_; }
  86.           void set_target(R* r){ _R_ = r; } 
  87. };
  88.  
  89. //========================================================================================
  90.  
  91. template<class T> class voidcommand : public objectcommand<T>
  92. {
  93. protected : void ( T::*_F_ )(void);
  94.          void exec(void) { (_T_->*_F_)() };
  95. public    : voidcommand( void ( T::*f)( void ),T* t ) : _F_(f), objectcommand<T>(t) { };
  96.          voidcommand( void ( T::*f)( void ),T* t, signal* sig )
  97.             : _F_(f), objectcommand<T>(t,sig) { };
  98. };
  99.  
  100. //========================================================================================
  101.  
  102. template<class T,class A> class voidcommand1 : public objectcommand<T>
  103. {
  104. protected : void ( T::*_F_ )( A );
  105.          A _A_;
  106.          void exec(void) { (_T_->*_F_)(_A_); };
  107. public    : voidcommand1( void ( T::*f)( A ),T* t,A a )
  108.             : _F_(f), objectcommand<T>(t), _A_(a) { };   
  109.          voidcommand1( void ( T::*f)( A ),T* t,A a,signal* sig )
  110.             : _F_(f), objectcommand<T>(t,sig), _A_(a) { }
  111.          void set_param(A arg1) { _A_ = arg1; }
  112.          A get_param(void) { return _A_; }
  113. };
  114.  
  115. //========================================================================================
  116.  
  117. template<class T,class A1,class A2> class voidcommand2 : public objectcommand<T>
  118. {
  119. protected : void ( T::*_F_ )( A1, A2 );
  120.          A1 _A1;
  121.          A2 _A2;
  122.          void exec(void) { ( _T_->*_F_ )(_A1,_A2); }
  123. public    : voidcommand2( void ( T::*f )( A1,A2 ), T* t,A1 a1,A2 a2)
  124.             : _F_(f), objectcommand<T>(t), _A1(a1), _A2(a2) { }
  125.          voidcommand2( void ( T::*f )( A1,A2 ), T* t,A1 a1,A2 a2, signal* sig)
  126.             : _F_(f), objectcommand<T>(t,sig), _A1(a1), _A2(a2) { };
  127.          void set_param1(A1 arg1) { _A1 = arg1; }
  128.          void set_param2(A2 arg2) { _A2 = arg2; }
  129.          A1 get_param1(void) { return _A1; }
  130.          A2 get_param2(void) { return _A2; }
  131.          void set_param(A1 arg1,A2 arg2)
  132.          {
  133.             _A1 = arg1;
  134.             _A2 = arg2;
  135.          }
  136. };
  137.  
  138. //========================================================================================
  139.  
  140. template<class T,class R> class command : public basecommand<T,R>
  141. {
  142. protected : R ( T::*_F_ )(void);
  143.          void exec(void) { set_result( (_T_->*_F_)() ); };
  144. public    : command( R ( T::*f)( void ),T* t )
  145.             : _F_(f), _T_(t), basecommand<T,R>(t,r) { };
  146.          command( R ( T::*f)( void ),T* t,signal* sig )
  147.             : _F_(f), _T_(t), basecommand<T,R>(t,r,sig) { };
  148. };
  149.  
  150. //========================================================================================
  151.  
  152. template<class T,class R,class A> class command1 : public basecommand<T,R>
  153. {
  154. friend class command1<T,R,A>;
  155. protected : R ( T::*_F_ )( A );
  156.          A _A_;
  157.          void exec(void) { set_result( ( _T_->*_F_ )(_A_) ) ; };
  158. public    : command1( R ( T::*f )( A ), T* t,R* r,A a)
  159.             : _F_( f ), _A_(a), basecommand<T,R>(t,r) { }
  160.          command1( R ( T::*f )( A ), T* t,R* r,A a,signal* sig)
  161.             : _F_( f ), _A_(a), basecommand<T,R>(t,r,sig) { };
  162.          void set_param(A arg1) { _A_ = arg1; }
  163.          A get_param(void) { return _A_; }
  164. };
  165.  
  166. //========================================================================================
  167.  
  168. template<class T,class R,class A1,class A2> class command2 : public basecommand<T,R>
  169. {
  170. protected : R ( T::*_F_ )( A1, A2 );
  171.          A1 _A1;
  172.          A2 _A2;
  173. public    : command2( R ( T::*f )( A1,A2 ), T* t,R* r,A1 a1,A2 a2)
  174.             : _F_(f), _A1(a1), _A2(a2), basecommand<T,R>(t,r)  { };
  175.          command2( R ( T::*f )( A1,A2 ), T* t,R* r,A1 a1,A2 a2,signal* sig)
  176.             : _F_(f), _A1(a1), _A2(a2), basecommand<T,R>(t,r,sig)  { };
  177.          void exec(void) { set_result( ( _T_->*_F_ )(_A1,_A2) ); }
  178.          void set_param1(A1 arg1) { _A1 = arg1; }
  179.          void set_param2(A2 arg2) { _A2 = arg2; }
  180.          A1 get_param1(void) { return _A1; }
  181.          A2 get_param2(void) { return _A2; }
  182.          void set_param(A1 arg1,A2 arg2)
  183.          {
  184.             _A1 = arg1;
  185.             _A2 = arg2;
  186.          }
  187. };
  188.  

kalo tau dari dulu masalah G1 udah beres, jadi bisa lebih rapih misahin antara method invocation dengan method execution dalam thread yang berbeda (also known as active object pattern), soalnya kalo pake cara gini untuk megang pointer to member function, function yang ditunjuk ga perlu static. Intinya cuman merubah function jadi object yang berisi data pointer to function, function arguments dan return value. dalam implementasinya ketika function di calll (invoke) code didalam function itu tidak langsung dieksekusi, tapi object dari functionnya dimasukkan dalam queue untuk di execute nanti pada thread yang seharusnya... jadi asynchronous function call, function langsung return immediately dan return value akan diterima nanti (dikenal dengan istilah future variable)

 
pin Posted April 28th, 2007 in Blog and General Talk | comment no comments


akhirnya dapet kesempatan juga nonton race F1 live di circuit, panas2an sampe dehidrasi...

 
pin Posted April 26th, 2007 in Blog and Software | comment 4 comments

akhirnya laptop gw bebas produk bajakan.. huhuy!!
- Windows XP Home Ed. (bawaan laptop aseli dunk)
- Ubuntu 7.04
- Visual Studio 2005 standard ed. (aseli nih)
- Visual Assist X (aseli wakkakak)
- OpenOffice.org 2.2 (opensource)
- GIMP (opensource)
- Borland Turbo C++ Explorer (free)
- Audacity (opensource)
- Mozilla Firefox (opensource)
- Yahoo! Messenger (free)
- GTalk (free)
- 7-Zip (opensource)
- OGRE 1.4 (opensource)
- MediaPlayerClassic (opensource)
- ffdshow (opensource)
- WinMerge (free)
- TortoiseSVN (opensource)

 
pin Posted April 23rd, 2007 in Blog and General Talk | comment no comments

IPDN is seven layers looser
IPDN is asshole alias lubang pantat
IPDN is idiot^2 (squared root idiot)
IPDN is Institut Penganiayaan Dalam Negeri
IPDN is simply suck (suck his own dick)

masa orang yang duduk dipemerintahan lulusan IPDN, mending semua lulusan IPDN diturunkan dari jabatan pemerintah, dan bubarkan IPDN...

 
pin Posted February 7th, 2007 in Blog and Software | comment no comments


click on image to view full size

cara nyiksa server, jalanin windows server 2003 barengan dengan jalanin mac os x barengan ama linux fedora core 6, hohoho asik juga lho, buat linux jalan native 90% performance (kecuali video accelerator) kalo mac os x lumayan lambat gara2 kurang memory hehe, tapi bisa dipake, semuanya jalan, sound, internet, dll.. jadi ga usah dual/multi boot lagi, jalanin aja langsung hehe...

 
pin Posted February 3rd, 2007 in Blog and General Talk | comment no comments

wah... mun geun yeong (문근영) udah gede ya sekarang... pertama kali ketemu masih kecil mukanya masih inosen, sekarang dah kuliah di universitas SungKyungKwan, hohoho tapi masih kiyut aja ya.... wkakakaka... gw gila... anyooong...!!

lyricnya :

나는 할 수 있어
포기 따윈 없어
힘들때 참은 눈물 모아서
기쁠때 흘리겠어

나는 믿고 있어
보여주고 싶어
세상에 내가 못할 일들은
어디에도 없단걸

ref {
For My Life 내가 그릴래 내 가슴에 나의 미래
나빴던 기억도 하얗게 칠해 가릴래
몸이 아닌 마음으로 입는 멋진 옷 내 손으로
만들어 볼거야 Change Of My Life
}

아직 모르겠어
나를 보는 시선
사람들의 눈속에 비치는
내 모습은 어떨까

나는 자신있어
모두 내곁에서
부러움에 가득한 표정만
짓게 만들수 있어

./ref

깜짝 놀란 얼굴을 생각하면 벌써 부터 설레는걸
변한 날 보는 많은 사람들

For My Life 넓은 하늘도 내 맘대로 그림처럼
상상해 볼거야 세상 제일 큰 액자로
언제라도 웃고 싶을땐 마음도 간지럽히는 해피디자이너
내가 되주겠어

download MP3 문근영_&design_01_&design.mp3

 
pin Posted February 2nd, 2007 in Blog and General Talk | comment 2 comments

cemilan gw tkalo lagi coding sendirian di kantor tengah malem, coba perhatikan tulisan komposisi cemilan itu :
1.kacang
2.garam
3.minyak
4.bumbu

aneh betul yak, itu niat kaga sih nulis komposisi, dimana2 juga pastilah ada komposisi bumbu, tapi kan harusnya yang ditulis itu komposisi bumbunya justru, wah kaga bener ini, trus yang anehnya ko dapet izin dari Dep.Kes.RI, dilabelnya ditulis Dep.Kes.RI.No.0050/10/01/89... ooo ya ya taun 89 ngeri kali pun...

 
pin Posted January 22nd, 2007 in Blog and General Talk | comment no comments

akhirnya setelah ga tahan dengan spam yang nyerang BBlog dan berbagai usaha telah dilakukan akhirnya gw pindah ke mainstream aja pake wordpress, so welcome to my new website, oh iya selain blog mulai skr gw juga mau nulis artikel seputar programming, cek di tab "articles" dikanan atas..., tapi ada satu masalah comment2 dari blog yang lama ga bisa gw pindahin, ya bisa sih tapi gw mesti tulis ulang satu-satu... ya ngerti lah kalo gt gw bisa mencret... so ya sorry buat yang pernah comment ke blog gw, dan diharapkan comment lainnya...

have fun !

 
pin Posted January 21st, 2007 in Software Development | comment no comments

setelah seharian ngedebug program yang diliat memory leak, ternyata ketemu code ini yang bikin memory leak sampe 52KB per detik, pas tanya om google, katanya emang bug dari driver openGL ATi yang dari dulu ga pernah dibenerin, bug-nya ada di fungsi wglMakeCurrent() untuk context switch antara openGL drawing context, mungkin emang jarang orang yang pake multicontext programming buat openGL, tapi kenyataan emang menyakitkan, kenapa vendor GPU favorit gw yang parah sedangkan nVidia kaga..., dan yang paling parahnya gw cari2 ga nemu solusi buat ini, katanya berbagai macam versi driver ATi emang kaya gini, gimana sih... :

...
bit glconEnterContext(SGLCon* con)
{
pthread_mutex_lock(&con->mutex);
if( !wglMakeCurrent(con->dc,con->glrc) )
{
pthread_mutex_unlock(&con->mutex);
return false;
}
return true;
}
...

artikel dan post yang berhubungan dengan masalah ini :
ini, ini, ini dan ini

kalo ada yang punya solusinya, kasi tawu gw yah... critical nih....