mardi 21 octobre 2008

Contoh bodohnya orang Perancis

Kisah 1:

Pada tahun 1697, seorang Perancis bernama Charles Perrault menyalin kisah Cinderella kedalam bahasa Perancis. Dalam kisah sebelumnya, sepatu Cinderella terbuat dari bulu tupai berwarna putih dan abu-abu. Bahasa Perancis untuk kata bulu adalah "vair". Charles salah menyalin bahwa sepatu Cinderella terbuat dari "verre" yang bunyinya sama dengan vair, namun beda arti yaitu "kaca".

Sejak itulah dunia anak - anak selalu membayangkan sepatu kaca yang berkilauan yang tertinggal diatas tangga istana sang pangeran. Anak-anak hingga kini merasa heran dan menjadi pertanyaan pada orangtuanya, mengapa mereka tidak pernah malihat sepatu seperti yang ada dalam cerita Cinderela.



Kisah 2:

Jendral Napoleon Bonaparte
, saat itu sedang terserang influenza. Dia membawa pasukannya ke daerah Timur Tengah dengan misi merebut kota Jaffa dari Perancis. Dan berhasil dengan melepaskan 1200 tentara Turki yang ditawan Perancis. Setelah berhasil melepaskan tawanan, pasukan Bonaparte diinspeksi lapangan.

Tiba - tiba Bonaparte batuk kodok berat akibat influenzanya sambil berkata "Ma Sare Toux" (Batuk Sialan). Seorang perwira yang menjadi pendamping sekalian ajudannya merasa mendengar bahwa Napoleon mengatakan "Massacrez Tous" (Bunuh Semua). Dengan menunggu keadaan baik, perwira memerintahkan untuk membunuh semua tawanan yang berjumlah 1200 orang itu. Dibunuhlah semua tawanan itu akibat batuk sang Jendral.


MORAL OF THE STORIES :

Bahkan orang Perancis sendiri kadang-kadang salah menginterpretasikan bahasa bodoh ini.





Referensi
- blog bang IR : https://www.blogcatalog.com/blogs/bang-ir-blog.html

mardi 13 mai 2008

CVI/Labwindows : Alternative bagi pembenci Labview

Bagi anda-anda yang berkecimpung di Control Systems/Instrumentation, pasti kenal dengan program yang satu ini, ya Labview dari National Instruments. Di Perancis sini, hampir semua Industri memakai Labview sebagai bahasa utama pengembangan sistem instrumentasi dan kontrol di industri. Di tingkat universitas dan ecole (institut/sekolah tinggi), setiap mahasiswa Teknik Elektro dan Ilmu Komputer (Informatique) di Perancis diwajibkan untuk mempelajari Labview sebagai bagian dari matakuliah pemrograman, Sistem Kontrol dan Instrumentasi. FYI uniknya di Perancis, mahasiswa Ilmu Komputer atau seringnya disebut Industrielle Informatique disini SELALU mendapatkan mata kuliah Control Systems dan Instrumentation. Sesuatu yang tidak saya temui di UK dan Indonesia. Hal ini disebabkan oleh banyaknya industri manufaktur di Perancis sehingga demand untuk engineer yang menguasai Sistem Kontrol dan Automasi sangat tinggi.

Labview menggunakan konsep Graphics Language sebagai landasan pemrogramannya. So semua operasi logika, iterasi dan matematika direpresentasikan dengan lambang dan flowchart. Labview memang ideal untuk scientist dan engineer yang kurang kuat background programmingnya tapi harus membuat aplikasi measurement dan insrumentasi dengan cepat.

Ok anyway, bagi saya, meskipun sangat tepat untuk data acquisition and measurement, orang Perancis kebablasan menggunakan Labview sebagai bahasa pemrograman general untuk urusan APA SAJA. Bahkan teman saya disuruh menggunakan Labview untuk memodelkan persamaan matematik (dimana Matlab, Mathematica atau Scilab lebih tepat untuk itu).

Labview memaksa kita untuk menggunakan prinsip dataflow, dimana fleksibilitas menjadi taruhannya.

Untuk program-program sederhana seperti akuisisi data dari instrumen, mengukur, dan menampilkannya, graphical programming language ini sangat cepat dan praktis. Tapi untuk menulis program yang cukup kompleks (misal aplikasi Object Detector and Recognition) dibutuhkan fleksibilitas yang sangat tinggi.

Sebagai orang pure Computer Science yang berlatar belakang text based programming dan telah mempelajari Theory of Programming Language dan Compiler Design, saya sangat membenci Labview dengan alasan berikut :

1. Tidak bisa memberi komentar
2. Tidak bisa memberi nama variabel (WTF ??)
3. Nonlinear dan alurnya susah diikuti, ini bikin program atau main game Maze???
4. Untuk memodifikasi satu perintah (dimana dalam bahasa pemrograman text hanya merubah satu baris) harus merubah keseluruhan struktur program.
5. Nonlinearity membuat sangat sulit untuk di-debug.
6. Nonlinearity membuat timing menjadi hal yang sangat sulit.
7. Penanganan Array dan iterasi yang rumit.
9. Sulit untuk menerapkan konsep OOP.
10. Pendukung Labview bilang operasi Parallel lebih mudah divisualisasikan dengan Labview, BULLSHIT, saya membuat parallel program dengan Celoxica Handel-C, tidak ada masalah.

Pertama kali menggunakan Labview untuk aplikasi numerical simulation and modeling (karena perusahaan tidak memiliki Matlab dan bos taunya hanya Labview), saya banyak terbantu dengan memakai C-Script untuk formula programming. Tapi lama-lama setelah aplikasi jadi kompleks, ternyata gabungan Labview dengan C-Script membuat program jadi rumit dan berat.
Akhirnya, setelah berkutat dengan kejengkelan, VOILA saya menemukan solusinya, Paolo, seorang PhD EE asal Brazil yang juga membenci Labview memberitahu pada saya bahwa Labwindows/CVI bisa menggantikan Labview dan kebetulan perusahaan MEMILIKI LISENSI Labwindows/CVI!

Labwindows/CVI adalah ANSI-C Compiler buatan National Instruments yang diklaim pembuatnya dapat menggunakan semua library dan modul akusisi data dari National Instrument dan compatible dengan Labview. So kita bisa mengerjakan aplikasi instrumentasi dan kontrol yang sama dengan Labview tanpa kepusingan-kepusingan bahasa pemrograman grafis.

Akhirnya semua program Labview saya convert ke Labwindows/CVI dan saya bisa meneruskan pekerjaan saya dengan bahasa pemrograman tercinta, ANSI-C !!

Beberapa hari setelah bermain dengan Labwindows/CVI, saya menyadari bahwa development tool ini lebih friendly daripada Visual C++.Net dan tentu saja memiliki library instrumentasi yang sangat lengkap. So Labwindows/CVI adalah tools terbaik untuk aplikasi instrumentasi, kontrol dan measurement di Industry bagi para software engineer atau hardcore coder.

The comparison of Pixel and Vector Based Image Processing

There are few methods of Surface Inspection using pixel based method, namely :
1. Traditional Object Recognition: this methods is identifies object by generalizing object's image pattern. The first step is extraction the features of the object and then train the system according to the features by using classifier algorithm, such as Neural Network or SVM. This method will face different challenges, such as : illumination variance and distribution, object surface characteristics, orientation and occlusion

2. Blob/Particle Analysis : This methods will extract any object in the surface by separate it from the background
then group it accordingly to form a blob.
The geometry of the blobs is then used for surface detection. This is very fast and practical method for simple surface
inspection. The disadvantage of this method is that separation of the object from the background is not an easy task
due to noise as a result of change of color, scratch, marking etc.

3. Template Matching with Normalized Grey Scale correlation :
In this method the template is stored and then matched with the object inspected with some correlation method.

The advantage of this method is that it is much more accurate and more robust than the previous two methods. The added advantages are that it is relatively easy to train an object and that the object does not need to be separated from
the background. The disadvantages of such a method are that it cannot handle much variation in rotation and size and is highly affected by non-uniform shading. In the application of inprocess inspection in industry, changes in rotation and size as well as non-uniform shading is the standard rather than the exception.

Now in contrast, the vector based image processing will be described and compared. In the previous three methods described above, the image processing are applied on the basis of pixel by pixel, hence pixel based image processing.

This method is slow and challenged by problems in different illumination, pose and occlusions.

Vector based image processing is totally different that it converts all the pixel into geometric features by means of synthetics or mathematical model.The geometric feature can be line segments, arcs, angles and open or closed geometric shapes.
By using geometric features, the image analysis is not affected by color changes or non-linear changes in size such as those found with components due to manufacturing variations. This method is also robust against variance in shading an non-linear lighting.