Thursday, March 31, 2005

[Tech] Strange stuff in C++

  1. Whenever you declare a class, be sure that you end the declaration with ';'. Error message from compiler may look irrelevant. It can be 'error C2533: 'TextImageExporter::__ctor' : constructors not allowed a return type'.
  2. If you are using stdafx.h to reduce recompilation time, you need to #include it in every cpp file in the project (even though you don't want to reduce the compile time for some files). If not, you will get this error message:
    fatal error C1010: unexpected end of file while looking for precompiled header directive

Monday, March 21, 2005

[Tech] CLapack กับ VC++

Procedure to get it work in VC++ (both VC 6 and .Net)

1. Obtain the library at http://www.netlib.org/clapack/
(Mar 2005) The version I recommend is version 3. The file size is huge because it includes src code and compiled library (both debug and release mode).

2. Set up VC project and use 'Multithreaded DLL' for runtime library.

3. Edit the header file 'clapack.h' to extern "C" api. This is required for C++ project.

4. Put the libary files in appropriate location and add them as 'additional dependencies'.
For example, I put them in 'Visual Studio solution' directory at Lib/Release; the additional dependencies will be
odbc32.lib odbccp32.lib ../Lib/Release/blas.lib ../Lib/Release/libF77.lib ../Lib/Release/libI77.lib ../Lib/Release/clapack.lib

5. Standard libraries we are going to use may conflict each other. Order of inclusion is very important. The following code is a working example of inclusion:

#include
using namespace std;

#include
#include

#include "f2c.h"
#include "clapack_extern.h"

6. You might need some good document:
6.1. For guideline of what's going on inside Lapack:
http://www.netlib.org/lapack/lug/index.html
The guide is official book of Lapack routine, but it's not API reference.

6.2. For API reference:
http://www.math.utah.edu/software/lapack/

Tuesday, March 08, 2005

[Tech] Link Java API documents to Eclipse interface

We can make the documents of Java API available in elipse interface by configuring JRE Library in a workspace. Try going to project->properties; then, 'Java Build Path'->Labraries. Choose existing JRE you want to use and click 'Edit' button. At this point choose 'Alternate JRE' and then 'Installed JRE'. The previous step may look confusing because we want to change the one we have in the system, but we must go to 'Alternate JRE'. That's okay. Don't think too much.

We will see the list of JRE availabe. Click the one you like and then 'Edit'. Then, change the Javadoc URL to a folder location we want.

To access the document, press F1 on Java class we want to explore and then select the last menu, 'Javadoc for '.

Another Tip in Eclipse:
Eclipse has a feature to help us locate a reference of class or object easily. This is important because sometimes we want to track usage of a variable or a class. To access the information, right click on a class name or a variable anc choose 'References->Project' (or Workspace). A tree of reference will be displayed for browsing (in another panel). In addition, hightlight for the reference will be shown in source code too.

[Tech] จะตั้ง CVS Server

วันนี้ลองทำดูหวังว่าจะได้ แต่ปรากฎว่าถ้าจะทำคงต้องทำเป็นแบบ local server ไม่สามารถทำเป็น pserver ได้
อย่างไรก็ตามมีข้อเท็จจริงที่น่าสนใจอยู่อย่างหนึ่งก็คือว่า ถ้าหากจะใช้ pserver เราต้องรัน Password Agent ด้วย เราคิดว่าที่ทำไม่สำเร็จจริงๆแล้วเป็นเพราะ interface ของ TortoiseCVS มันทำไม่ได้มากกว่า

สำหรับตอนนี้เรามีความเห็นว่าถ้าหากอยากจะทำโดยผ่าน TortoiseCVS เราอาจจะลงมันเป็นแบบ local ไป แต่คนใช้อาจจะใช้การล็อกเข้าแบบ pserver แทน (ไม่รู้จะได้จริงรึเปล่า)

อ้อ ไม่ว่าจะตั้งด้วยวิธีไหน สิ่งที่อยากให้รู้ก่อนเสมอก็คือ ชื่อของ directory ที่มีอยู่แล้วที่เราจะใส่มันเข้าไปภายใน Repository
ตาม convention ของเราแล้ว ให้ตั้งชื่อของ repository เป็นไปตามชื่อของ directory ที่เราจะใส่เข้าไป
ตัวอย่าง
1. เรามี source code ของ eclipse อยู่แล้วอยู่ใน DropletRecognition Folder
2. จริงแล้วเราก็อยากจะตั้งชื่อโมดูลให้เป็นแบบนั้นอยู่หรอก แต่ว่านะซอร์สโค้ดก็เขียนไปแล้ว และมันก็ตั้งอยู่ในไดเรกทอรีชื่อ src ตามที่ Eclipse ให้มันเป็น
3. เราอยากเอาแค่ src เข้าไปเท่านั้น
4. เพราะว่าเวลา check out อะไรออกมา มันจะสร้าง directory ให้เป็นไปตามชื่อโมดูล และเราตั้งการรักษา constraint ชื่อโพลเดอร์ที่ Eclipse ใช้ ดังนั้นเราจึงต้องสร้างโมดูลให้ชื่อ src ตาม
5. เพราะไม่ต้องการให้สับสนกับของอย่างอื่นที่อาจจะเป็นชื่อ src ตามมา เราจึงสร้างโฟลเดอร์ที่จะ host repository ให้มีชื่อว่า DropletRecognition แล้วจะไปสร้างโมดูลในนั้นให้มีชื่อว่า src แทน
6. ก็จะได้ว่าชื่อของไดเรกทอรีที่เก็บ repository ไว้ ที่จริงแล้วมันคือชื่อของ repos ที่เราอยากได้นั่นเอง

Wednesday, March 02, 2005

[News] About Patent

News from manager online about this looks great. The link to the news is
http://www.manager.co.th/SMEs/ViewNews.aspx?NewsID=9480000030427

I'd like to copy last part of the news here:

ทั้งนี้ สินค้าโอทอป สินค้า SMEs สามารถจดทะเบียนทรัพย์สินทางปัญญาเพื่อขอรับความคุ้มครองหรือแจ้งข้อมูลได้หลากหลายรูปแบบมาก เริ่มจากการจดทะเบียนสิทธิบัตร ซึ่งการจดสิทธิบัตรสามารถจดได้ 2 ประเภท คือ สิทธิบัตรการประดิษฐ์ สิทธิบัตรการออกแบบผลิตภัณฑ์ เช่น การประดิษฐ์ รถยนต์ ทีวี คอมพิวเตอร์ โทรศัพท์ หรือการออกแบบขวดบรรจุน้ำดื่ม ขวดบรรจุน้ำอัดลม หรือการออกแบบลวดลายบนจานข้าว ถ้วยกาแฟ ไม่ให้เหมือนของคนอื่น การออกแบบแก้วน้ำให้มีรูปร่างคล้ายรองเท้าบูต เป็นต้น ซึ่งสินค้าโอทอป-SMEs สามารถจดทะเบียนสิทธิบัตรได้หลายรายการเลยทีเดียว ที่สำคัญ สินค้าที่จะขอรับสิทธิบัตรการประดิษฐ์ได้นั้น ผู้ผลิตสินค้าโอทอป-SMEs จะต้องดูว่าเข้าเงื่อนไขดังต่อไปนี้หรือไม่ คือ 1.เป็นสิ่งประดิษฐ์ใหม่ ที่ยังไม่เคยมีจำหน่ายหรือขายมาก่อน หรือยังไม่เปิดเผยรายละเอียดในที่ใดมาก่อน 2.มีขั้นตอนการประดิษฐ์ที่สูงขึ้น คือ ไม่เป็นสิ่งการประดิษฐ์ที่สามารถทำได้ง่าย โดยผู้มีความรู้ในระดับธรรมดา หรืออาจพูดได้ว่า มีการแก้ไขปัญหาทางเทคนิคของสิ่งประดิษฐ์ที่มีมาก่อน และ 3. สามารถนำไปใช้ประโยชน์ในการผลิตทางอุตสาหกรรม หัตถกรรม เกษตรกรรม และพาณิชยกรรมได้ ซึ่งหากเป็นสินค้าที่เข้าเงื่อนไขทั้ง 3 ข้อนี้ก็ยื่นขอจดทะเบียนได้

อย่างไรก็ตาม หากไม่ประสงค์จะจดสิทธิบัตร หรือสินค้านั้นไม่เข้าข่ายหรือเงื่อนไขที่จะจดทะเบียนสิทธิบัตรการประดิษฐ์ได้ เช่น เป็นสินค้าที่มีจำหน่ายแพร่หลายอยู่แล้ว หรือเป็นสินค้าที่ไม่มีการคิดค้นแก้ไขปัญหาทางเทคนิคใดๆ เป็นเพียงการคิดค้นต่อยอดจากเดิมเพียงเล็กน้อย ไม่มีอะไรที่ซับซ้อน มีประโยชน์ใช้สอยมากขึ้น ก็อาจจะจดทะเบียนเป็นอนุสิทธิบัตรได้ ซึ่งมีขั้นตอนที่ไม่ยุ่งยากซับซ้อนเหมือนกับการจดสิทธิบัตรการประดิษฐ์

นอกจากนี้ ชื่อยี่ห้อของสินค้ายังสามารถที่จะขอจดทะเบียนเครื่องหมายการค้าได้ เพื่อให้ผู้บริโภคสามารถจดจำและเลือกหาสินค้าได้ถูกต้อง ซึ่งผลก็คือจะทำให้ผู้บริโภคแยกแยะสินค้าออกจากของคู่แข่งได้ และยังป้องกันไม่ให้คนอื่นมาใช้เครื่องหมายการค้ากับสินค้าเดียวกันนี้ได้ด้วย

ขณะเดียวกันหากมีข้อมูลทางการค้า หรือข้อมูลธุรกิจที่เก็บรักษาไว้เป็นความลับก็สามารถที่จะแจ้งข้อมูลความลับทางการค้าได้ด้วย หากมีผู้อื่นมาล่วงละเมิดก็จะมีความผิดทางกฎหมายความลับทางการค้าที่ได้รับความคุ้มครอง จะต้องเป็นข้อมูลการค้าซึ่งยังไม่รู้จักกันโดยทั่วไปและมีประโยชน์ในเชิงพาณิชย์ ผู้ควบคุมความลับทางการค้าจะต้องมีมาตรการที่มีความเหมาะสมในการเก็บความลับทางการค้า เช่น สูตรยา สูตรอาหาร สูตรเครื่องดื่ม สูตรเครื่องสำอาง กรรมวิธีการผลิต ข้อมูลการบริหารธุรกิจ รายละเอียดเกี่ยวกับราคาสินค้า บัญชีรายชื่อลูกค้า เป็นต้น

พร้อมกันนี้ หากสินค้าเกษตร สินค้าสินค้าโอทอป สินค้า SMEs ที่มีการปลูกหรือผลิตในชุมชนใดชุมชนหนึ่งมีความเชื่อมโยงกับแหล่งภูมิศาสตร์ตามธรรมชาติ เช่น สภาพดินฟ้าอากาศ หรือวัตถุดิบเฉพาะในพื้นที่ ทำให้ได้พืชผล หรือผลิตภัณฑ์ที่มีคุณลักษณะพิเศษที่มาจากพื้นที่ดังกล่าว เช่น ไข่เค็มไชยา ส้มโอนครชัยศรี มะขามหวานเพชรบูรณ์ ข้าวหอมมะลิทุ่งกุลาร้องไห้ ผ้าไหมแพรวา เป็นต้น ผู้ที่ผลิตสินค้าเหล่านี้ คนที่อยู่ในชุมชน ตัวแทนในชุมชน และองค์กรส่วนท้องถิ่น สามารถที่จะยื่นขอขึ้นทะเบียนสิ่งบ่งชี้ทางภูมิศาสตร์ได้ เพื่อป้องกันไม่ให้ผู้ผลิตสินค้าที่อยู่ในแหล่งอื่นนำชื่อไปใช้ และป้องกันการแอบอ้าง ใช้ชื่อนี้กับสินค้าที่นำออกจำหน่าย

นอกจากนี้ในการผลิตสินค้า OTOP หรือสินค้า SMEs บางประเภทที่เกิดจากการสร้างสรรค์งานด้วยฝีมือเป็นงานศิลปกรรม เช่น ตุ๊กตา ลวดลายผ้า และรูปปั้น เป็นต้น ยังได้รับความคุ้มครองเป็นงานอันมีลิขสิทธิ์อีกด้วยในประเด็นสุดท้าย สินค้าโอทอป-SMEs สามารถที่จะแจ้งข้อมูลภูมิปัญญาท้องถิ่นไทยได้ด้วย เช่น การผลิตอาหารและเครื่องดื่ม การผลิตผลิตภัณฑ์จากสมุนไพร การผลิตผลิตภัณฑ์จากวัสดุเหลือใช้ และการผลิตผลิตภัณฑ์จากไม้ หิน โลหะ แก้ว เซรามิค ดินเผา เครื่องหนัง และอื่นๆ ซึ่งข้อมูลที่ได้รับการจดแจ้งนั้น จะถูกรวบรวมไว้เป็นฐานข้อมูลสำหรับให้ ประชาชนผู้สนใจได้ค้นหาข้อมูล หรือติดต่อกับผู้แจ้งข้อมูล เพื่อประโยชน์ในทางธุรกิจ อันเป็นการอนุรักษ์และส่งเสริมภูมิปัญญาไทยให้มีการนำไปใช้อย่างเกิดประโยชน์สูงสุดในเชิงพาณิชย์ต่อไป

“จะเห็นได้ว่าสินค้าโอทอป สินค้าของ SMEs จะได้รับความคุ้มครองทรัพย์สินทางปัญญาได้หลายประเภทด้วยการจดทะเบียนและแจ้งข้อมูลทรัพย์สินทางปัญญาได้หลากหลายรูปแบบโดยมีเป้าหมายเพื่อให้มีการคุ้มครองสิทธิ์ของผู้ที่เป็นเจ้าของจริงๆ และป้องกันปัญหาการละเมิด ขณะเดียวกัน ยังอาจนำหลักฐานการจดทะเบียนหรือแจ้งข้อมูลทรัพย์สินทางปัญญารูปแบบต่างๆ ไปเป็นหลักทรัพย์ค้ำประกันกับสถาบันการเงิน เพื่อเข้าร่วมโครงการแปลงทรัพย์สินทางปัญญาเป็นทุนกับรัฐบาลได้ด้วย” นายคณิสสรกล่าวในที่สุด

ทั้งนี้ ผู้ผลิตสินค้าโอทอป ผู้ผลิตสินค้า SMEs ที่ต้องการข้อมูลเพิ่มเติม สามารถติดต่อสอบถามได้ที่โทร 0-2547-4621-5 หรือสายด่วน 1368 หรือ www.ipthailand.org