Thursday, September 4, 2008

Phần mềm chuyển PDF sang Word

Đối với người làm văn phòng, sử dụng máy tính làm công văn, báo cáo thì không ít lần có nhu cầu chuyển một file PDF sang file WORd nhằm mục đích lấy một phần hoặc toàn bộ nội dung của file PDF hiện có. Chương trình mạnh nhất cho công việc này là SolidDocumentPDF, tuy nhiên đây là một chương trình có bản quyền và các chương trình crack tỏ ra không hiệu quả. Sử dụng KEY có sẵn cũng không thành công. Trong quá trình chông gai tìm kiếm phần mềm thay thế, tôi thấy sản phẩm PDF2Word v3.0 có thể thực hiện công việc này với chất lượng gần tương đương. Hơn nữa key của phần mềm vẫn có tác dụng.

Một vài thông tin về sản phẩm:

VeryPDF PDF2Word v3.0

PDF2Word (PDF to Word) xuất mọi chữ, hình ảnh và các nội dung khác từ bất kỳ file PDF nào sang định dạng MS Word(RTF or Word), từ đó bạn có thể chỉnh sửa và sử dụng lại nội dung file PDF. PDF2Word (PDF to Word) giữ gìn nguyên bản các chữ, layout, ảnh khi chuyển đổi.

PDF2Word (PDF to Word) là phần mềm ứng đụng độc lập và không cần Microsoft Word, Adobe Acrobat, hay thậm chí cả Acrobat Reader.

Serial :

Code:
1. 7441-62252-5V331-449
2. 5667-39244-6V631-485
3. 3886-89993-9V131-676
4. 9243-86464-8V131-249
5. 7478-71447-6V231-658


Rất tiếc khi một tín đồ CNTT đang làm phần mềm nhưng lại góp phần cung cấp key cho mọi người. Tuy nhiên vì tính ứng dụng của công việc hỗ trợ cho các bạn "tay ngang" sử dụng máy tính , CNTT để hỗ trợ tốt hơn cho công việc của mình.

Tuesday, August 26, 2008

ThreadPool

Tôi đang quan tâm đến vấn đề download dữ liệu từ NET, tuy nhiên làm tiểu trình như hiện tại download lần lượt bị cho là như thế không tốt vì sẽ rất lâu, hơn nữa không tận dụng được năng lực của NET cũng như xử lý của CPU. Giải pháp thay thế là sử dụng nhiều tiến trình download cùng một lúc. Keyword cho vấn đề này là THREADPOOL. Rất hấp dẫn đấy thế là lại có cái chuyên về công nghệ để vọc nữa rồi.

Lân la trên mạng thì được bác Google mách nhỏ là dùng ThreadPool thì có thể theo một số ví dụ đơn giản có sẵn từ đây. Thế là lại lần mò làm theo thôi. Cũng nhanh và ok lắm. Nhìn chuyên nghiệp và nhanh hơn hẳn phương pháp tuần tự trước.

Khai báo một phương thức chứa mã lệnh cần thực thi; phương thức này phải trả về void và chỉ nhận một đối số. Sau đó, tạo một thể hiện của ủy nhiệm System.Threading.WaitCallback tham chiếu đến phương thức này. Tiếp tục, gọi phương thức tĩnh QueueUserWorkItem của lớp System.Threading.ThreadPool, và truyền thể hiện ủy nhiệm đã tạo làm đối số. Bộ thực thi sẽ xếp thể hiện ủy nhiệm này vào hàng đợi và thực thi nó khi một tiểu trình trong thread-pool sẵn sàng.

Nếu ứng dụng sử dụng nhiều tiểu trình có thời gian sống ngắn hay duy trì một số lượng lớn các tiểu trình đồng thời thì hiệu năng có thể giảm sút bởi các chi phí cho việc tạo, vận hành và hủy các tiểu trình. Ngoài ra, trong một hệ thống hỗ-trợ-đa-tiểu-trình, các tiểu trình thường ở trạng thái rỗi suốt một khoảng thời gian dài để chờ điều kiện thực thi phù hợp. Việc sử dụng thread-pool sẽ cung cấp một giải pháp chung nhằm cải thiện tính quy mô và hiệu năng của các hệ thống hỗ-trợ-đa-tiểu-trình.

Có từng làm mới thấy rằng: ThreadPool đảm bảo được yêu cầu: chỉ cần cung cấp hàm thực hiện, hệ thống sẽ tự động gọi chạy. Chúng ta có thể cung cấp tham số quy định số tiểu trình chạy tối đa tại một thời điểm. Tuy nhiên, hạn chế của ThreadPool lại là các tiến trình khi đã cung cấp cho ThreadPool tức là đã ngoài tầm kiểm soát, không thể Abort / Pause hay Resume gì nữa, mà nó sẽ tự động Start theo tình trạng của hệ thống. Điểm này chính là hạn chế của ThreadPool, nên nếu muốn nó chạy hiệu quả thì chúng ta cần bổ sung một Thread thường trực, cung cấp thread cho ThreadPool, và trong các hàm xử lý, cần thêm một số điều kiện thoát khi mà môi trường thay đổi.

Mốt số đặc điểm của ThreadPool:
+ Tất cả các phương thức của ThreadPool đều là hàm tĩnh, truy cập thông qua lớp.
+ Các Thread đưa vào ThreadPool không bị giới hạn trong một lớp / đối tượng.
+ ThreadPool tự thân không có hàm Stop / Abort dành cho các Thread nó chứa.
+ Có thể quy định số tiểu trình chạy đồng thời thông qua hàm ThreadPool.SetMaxThreads.

Tham khảo:
[C#] Thực thi phương thức với thread-pool
C# Tutorial - Using The ThreadPool
ThreadPool Class

Monday, August 25, 2008

ExecuteExternalFile

[VC++ / MFC]

void ExecuteExternalFile(const char* csExecuteCommand)
{

STARTUPINFO sInfo;
ZeroMemory(&sInfo,sizeof(sInfo));
sInfo.cb = sizeof(sInfo);

PROCESS_INFORMATION pInfo;
ZeroMemory(&pInfo,sizeof(pInfo));
sInfo.cb = sizeof(sInfo);

//Create the process here.

CreateProcess(0, //LPCWSTR lpszImageName,
(char*)csExecuteCommand, //LPCWSTR lpszCmdLine,
0, //LPSECURITY_ATTRIBUTES lpsaProcess,
0, //LPSECURITY_ATTRIBUTES lpsaThread,
TRUE, //BOOL fInheritHandles,
NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW, //DWORD fdwCreate,
0, //LPVOID lpvEnvironment,
0, //LPWSTR lpszCurDir,
&sInfo,//LPSTARTUPINFOW lpsiStartInfo,
&pInfo//LPPROCESS_INFORMATION lppiProcInfo
);

// Wait until child processes exit.
WaitForSingleObject( pInfo.hProcess, INFINITE );

// Close process and thread handles.
CloseHandle( pInfo.hProcess );
CloseHandle( pInfo.hThread );
}

[C#.NET]

private static bool GetVieKeywords(string csExecuteFile, string csExecuteParam)
{

try
{

Process proc = new Process();

proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;

proc.StartInfo.FileName = csExecuteFile;
proc.StartInfo.Arguments = csExecuteParam;
proc.Start();
proc.WaitForExit();
proc = null;

}
catch (Exception)
{

//Extract fail.
return false;

}

return true;

}


Thủy cung thần tiên 08/2008


Sau 4 tuần setup hồ thủy sinh mới với cỏ Trân Châu, cỏ Nhật, Tiêu Thảo... thì bây giờ cũng đã có thành quả rồi. Rảnh rỗi viết về những gì nếm trải thú vui này cũng thú vị lắm.

Thursday, August 21, 2008

Những trang web song ngữ

Những trang web song ngữ Anh-Việt mà tôi thấy có thể chia sẽ để phục vụ cho các nghiên cứu xử lý ngôn ngữ tự nhiên:

1. Website Đại sứ quán Mỹ tại Việt Nam:
EN: http://vietnam.usembassy.gov/
VN: http://vietnamese.vietnam.usembassy.gov/

2. Thời báo kinh tế Việt nam
EN: http://www.vneconomy.com.vn/eng/
VN: http://vneconomy.vn/

3. VOANews
EN: http://www.voanews.com/english/portal.cfm
VN: http://www.voanews.com/vietnamese/
FR: http://www.voanews.com/french/
CH: http://www.voanews.com/chinese/

4. British Embassy
EN: http://www.britishembassy.gov.uk/servlet/Front?pagename=OpenMarket/Xcelerate/...
VN: http://www.britishembassy.gov.uk/servlet/Front?pagename=OpenMarket/Xcelerate/...

5. BBC
EN: http://www.bbc.co.uk/
VN: http://www.bbc.co.uk/vietnamese/

6. Viet magazine
EN: http://www.vps.org/sommaire_en.php3
VN: http://www.saigon.com/vietmag/

7. Du lịch VN
EN: http://www.vietnamtourism.com/e_pages/news/index.asp
VN: http://www.vietnamtourism.com/v_pages/news/index.asp
FR: http://www.vietnamtourism.com/f_pages/news/index.asp
JP: http://www.vietnamtourism.com/j_pages/news/index.asp
CH: http://www.vietnamtourism.com/c_pages/tourist/travel.asp

8. PhapLuat
EN: http://vbqppl3.moj.gov.vn/law/en/main_page
VN: http://vbqppl.moj.gov.vn

9. CDC
EN: http://www.bt.cdc.gov/
VN: http://www.bt.cdc.gov/vi/
FR: http://www.bt.cdc.gov/fr/

10. Influenza
EN: http://www.cdc.gov/flu/avian/
VN: http://www.cdc.gov/flu/vie/

11. Flu

EN: http://www.pandemicflu.gov/index.html
VN: http://vietnamese.pandemicflu.gov/pandemicflu/envi/24/_www_pandemicflu_gov/in...

12. HIV
EN: http://www.acas.org/treatment/engmap.html
VN: http://www.acas.org/treatment/vietmap.html

*** Others ***

Vietnamese Health http://nutrition.berkeley.edu/extension/vietnamese.health/

WHO
FR: http://www.who.int/csr/don/fr/index.html
EN: http://www.who.int/csr/don/en/index.html



13. Website chính phủ ViệtNam
EN: http://www.chinhphu.vn/pls/portal/url/page/vgp_en
VN: http://www.chinhphu.vn/vi

14. Trang tin ToQuoc của Bộ văn hóa, Thể thao và Du lịch
EN: http://www.toquoc.gov.vn/english/home.asp
VN: http://www.toquoc.gov.vn/vietnam/home.asp

15. Trang tin VietNamNet
EN: http://english.vietnamnet.vn/news/
VN: http://vietnamnet.vn/

16. Báo Kinh Tế Việt Nam
EN: http://www.ven.org.vn/home/switchLanguage?set_language=en&cur_lang=en
VN: http://www.ven.org.vn/home

17. Trang tin e-TinTuc
EN: http://e-tintuc.com/public.php?lang=english
VN: http://e-tintuc.com/public.php?lang=vietnamese

18. Trang tin tuc VNDaily.Net
EN: http://www.vndaily.net/english
VN: http://www.vndaily.net/
FR: http://www.vndaily.net/francais
JP: http://www.vndaily.net/japanese
CH: http://www.vndaily.net/chinese

19. Trang tin BOM
EN: http://www.bvom.com/news/english/home
VN: http://www.bvom.com/news/vietnam/home

Khai thác THNNews và THNOnline

Hôm nay tôi bắt đầu tiến trình khai thác trang web báo chí song ngữ Anh-Việt của báo ThannNien. Hệ thông báo của THN gồm nhiều trang khác nhau phục vụ nhiều mục đích khác nhau, nhưng giá trị nhất và đáp ứng nhu cầu mà hiện tại tôi đang quan tâm là trang tin tức tiếng Anh, tiếng Việt:

[EN] http://www.thanhniennews.com
[VN] http://www.thanhnien.com.vn

Đây là hai trang tin tức với hai ngôn ngữ song song có khối lượng bài viết rất lớn từ năm 2002 (VN), 2004 (EN), tuy nhiên bài viết hai bên có thể là bản dịch của nhau, có thể chỉ là bản dịch của một tin từ báo khac. Vấn đề chúng ta khai thác dữ liệu này như thế nào.

Với tôi, tôi quan tâm đến những trang tiếng Anh và trang tiếng Việt tương ứng là trang nào, có thể nằm trong tên miền tiếng Việt [VN], cũng có thể là không (mà nó nằm ở một báo khác).

Các bước khai thác như:
- Collect dữ liệu bằng công cụ Crawler
- Sử dụng các cơ chế tìm kiếm, lọc và so sánh để tìm ra những cặp song song tưng ứng từ nguồn dữ liệu trên.

Saturday, August 16, 2008

Ngô Hưng

Hôm nay ngồi lang thang trên mạng, vào Google search từ khóa "NgôHưng" tôi nhận được kết quả thú vị này:

Ngô Hưng (chữ Hán phồn thể: 吳興區, chữ Hán giản thể: 吴兴区, âm Hán Việt: Ngô Hưng) là một quận thuộc địa cấp thị Hồ Châu, tỉnh Chiết Giang, Cộng hòa Nhân dân Trung Hoa. Quận này có diện tích 872 kilômét vuông, dân số 560.000 người. Mã số bưu chính của Ngô Hưng là 313000. Chính quyền nhân dân quận Ngô Hưng đóng ở số 493, đường Hồ Đông. Về mặt hành chính, quận Ngô Hưng được chia thành 6 nhai đạo, 6 trấn, 3 hương.



Về thơ văn, tôi lại thấy bài thơ dịch:

Ngô Hưng thu tứ nhị thủ

Bất thị Điều Khê yếm khan nguyệt ,
Thiên nhai hữu trình vân thụ lương .
Hà ý đinh châu thặng phong vũ ,
Bạch tần kim nhật tự Tiêu Tương .

Nhật tịch côn ngư mộng nam quốc ,
Điều Dương thủy cao mê độ đầu .
Cố sơn thu phong ức quy khứ ,
Bạch vân hựu bị Vương Tôn lưu .


Trần Đào

Nghĩ về thu tại Ngô Hưng

Đâu phải vì trăng tại suối Điều
Vì rừng mây phủ bước cô liêu
Bãi sông mưa gió xa xôi quá
Thấy bạch tần mà nhớ Tương Tiêu

Chiều xuống cá côn mơ miền nam
Bến nước Điều Dương đã ngập tràn
Gió thu núi cũ bao là nhớ
Vương Tôn , mây lấp bước chân hoang

Phan Lang dịch

Saturday, August 9, 2008

Remote connect to SQL Server 2005 Express

SQL Server 2005 không cho phép remote connection cho nên chúng ta cần phải active service này lên một cách thủ công. Message sau sẽ xuất hiện trong trường hợp service này chưa được start.

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connection. ….?"

SQL Server does not allow remote connection

Login failed for user ‘sa’. The user is not associated with a trusted SQL Server connection.�?

Login failed for 'sa'

Kiểm tra quyền truy cập vào hệ thống SQL Server với account trong hệ thống của SQL Server hoặc quyền của Windows Authentication.
Ví dụ: tài khoản ‘sa’.

    1. Login vào SQL Server sử dụng công cụ SQL Server Management Studio Express trên hệ thống SQL Server với tài khoản của Windows Authentication.
      Login using Windows authentication mode on local
    2. Trong phần cửa sổ Object Explorer, click chuột phải trên tên server đã connect và chọn Properties.
      Open SQL Server Properties
    3. Trên phần của sổ trái của cửa sổ Server Properties, chọn Security và thay đổi dạng truy cập Server authentication trở thành SQL Server and Windows Authentication mode.
      Change SQL Server authentication mode
    4. Của sổ thông báo kết quả thay đổi đã thành công và yêu cầu restart lại SQL Server để làm cho những thay đổi trên có hiệu lực.
      SQL Server need restart
    5. Click chuột phải trên tên server, chọn Restart để restart lại dịch vụ SQL Server.
      Restart SQL Server Service
    6. Chọn Yes.
      Confirmation
    7. Của sổ restart dịch vụ SQL Server.
      Restarting SQL Server Service
    8. Tất cả đã hoàn tất, dịch vụ SQL Server với quyền truy cập là tài khoản của SQL Server và Windows authentication đều đã được kích hoạt.
  • Kiểm tra dịch vụ remote connection vào server SQL trên công cụ SQL Server Surface Area Configuration
    1. Mở chương trình SQL Server Surface Area Configuration.
      Open SQL Server Surface Area Configuration
    2. Click vào chức năng Surface Area Configuration for Services and Connections (chọn lựa đầu tiên trong 2 chức năng).
      Open Surface Area Configuration for Services and ConnectionsTrên phần cửa sổ bên trái của cửa sổ vừa mở ra, chọn SQL Server instance -> Database Engine -> Remote Connections. Trên phần bên phải, chọn Local and remote connections -> using both TCP/IP and named pipes.
      Allow remote connections
    3. Tiếp theo trên phần trái của cửa sổ, chọn SQL Server Browser -> Service.
      Trên phần phải của cửa sổ, Hãy start dịch vụ và để nó ở chế độ Automatic. Sau đó nhấn OK.
      Start SQL Server Browser
    4. Sau khi tiến hành các bước cấu hình trên, hệ thống đã có thể tiến hành remote connect từ một máy khác trong hệ thống mạng.
      Login to remote SQL Server
    5. Trang login.
      Login succeeded

Monday, August 4, 2008

SQL Server 2005 Express Edition

Keywords: SQL Server 2005 Express, SQLExpress, SQLServer2005, SQL2005,

1. Cài đặt .NET Framework 2.0
2. Cài đặt Microsoft SQL Server 2005 Express Edition
3. Cài đặt SQL Server Management Studio Express

SQL Server 2005 Express Edition (SSE) là phiên bản desktop của sản phẩm cơ sở dữ liệu SQL Server 2005 rất phổ biến của Microsoft. Phiên bản SQL Server 2005 Express Edition được cung cấp miễn phí cho người sử dụng.

1. Cài đặt .NET Framework 2.0

SSE đi với bộ công cụ phát triển phần mềm Visual Studio.NET 2005 nên yêu cầu cần phải có .NET Framework 2.0. Link download .NET Framework 2.0: http://msdn2.microsoft.com/netframework/

2. Cài đặt Microsoft SQL Server 2005 Express Edition

SQL Server 2005 Express Edition là phiên bản desktop làm server dữ liệu SQL trên máy PC x86. SSE có đặc điểm là miễn phí, dễ sử dụng, kích thước file cài đặt nhỏ gọi chỉ với 36.5MB.

Link download : http://go.microsoft.com/fwlink/?LinkId=65212

3. Cài đặt SQL Server Management Studio Express

SQL Server Management Studio Express để dễ quản lý database, nó giúp bạn tạo database dễ dàng hơn. Trường hợp không cần công cụ quản lý dữ liệu thì không cần cài đặt phần này.

Link download: http://go.microsoft.com/fwlink/?LinkId=65110

Trước khi cài cần phải có MSXML 6.0.

(Link download : http://www.microsoft.com/downloads/details.aspx?familyid=993c0bcf-3bcf-4009-b...)



4. Câu lệnh kết nối đến SQL Express

SQLServer2000:

m_szConnectString.Format("Provider=SQLOLEDB;Data Source=%s; Trusted_Connection= yes; User Id = %s; Password=%s; Initial Catalog=%s", m_szServer, m_szUsername, m_szPassword, m_szDatabase);

SQLExpress2005:

m_szConnectString.Format("Provider=SQLNCLI; Server=HUNGNQ\\SQLEXPRESS; Trusted_Connection=yes; Database=%s; User Id=%s; Password=%s; Initial Catalog=%s", m_szUsername, m_szPassword, m_szDatabase);

m_szConnectString.Format("Provider=SQLNCLI; Server=HUNGNQ\\SQLEXPRESS; Persist Security Info=True; User Id=%s; Password=%s; Initial Catalog=%s;", m_szServer, m_szUsername, m_szPassword, m_szDatabase);

Tuesday, July 1, 2008

Rút trích từ khóa tự động trên tài liệu tiếng Việt

URL: http://ngo.2uoc.hung.googlepages.com/RuttrichTukhoa.htm

Từ khóa là một từ hoặc một cụm từ mô tả nội dung chính của một tài liệu. Rút trích từ khóa tự động trên tài liệu tiếng Việt là một bài toán thường bắt gặp trong nghiên cứu xử lý ngôn ngữ tự nhiên cũng như trong cuộc sống hàng ngày.


Những trang báo điện tử hiện nay đang hướng đến việc sử dụng những từ khóa nhằm đại diện cho một văn bản, hỗ trợ người đọc nhanh chóng nắm bắt thông tin. Đi đầu trong hướng sử dụng từ khóa như một phần thông tin đăng tải của bản tin là Báo mới (www.baomoi.com, beta.baomoi.com); Vietbao.vn. Báo mới đã thực hiện rất tốt việc rút trích từ khóa từ một văn bản ban đầu. Những từ khóa mà Báo mới rút ra sau khi sử dụng công cụ tìm kiếm Google hoặc Yahoo chúng ta luôn luôn tìm được link đến bài viết gốc.

Vấn đề đặt ra là những từ khóa rút trích được phải được xem là đại diện cho văn bản ban đầu, thông qua các từ khóa, người đọc có thể phần nào biết được nội dung của văn bản và cũng thông qua danh sách các từ khóa đó, các công cụ tìm kiếm có thể tìm được văn bản ban đầu.

Các phương pháp áp dụng có thể sử dụng đến một tập dữ liệu huấn luyện ban đầu hoặc là không. Tuy nhiên, việc tránh tập dữ liệu ban đầu luôn được hướng đến, vì nó sẽ giảm được công việc xây dựng một tập dữ liệu lớn hỗ trợ quá trình huấn luyện đó,

Để đưa ra từ khóa cho một tài liệu, ta dựa vào thông tin thống kê trên các từ có trong văn bản, thống kê đồng hiện của tất cả các từ phổ biến trong tài liệu đó, từ đó dựa vào các thông số thống kê và yêu cầu của bài toán để xét xem đâu là từ khóa đại diện cho văn bản ban đầu.

Một số đặc điểm ảnh hưởng đến quá trình rút trích từ khóa:
- Các từ chức năng (stopword) không nằm trong danh sách các từ khóa rút được. Các từ chức năng là các từ không hàm chứa nghĩa như: là, cũng, sẽ, đến, tới, .....
- Các từ nằm trong danh sách từ khóa thường là các danh từ và động từ
- Một số từ khóa xuất hiện trong tiêu đề của văn bản.
- Các danh từ tên riêng thường có khả năng xuất hiện trong danh sách các từ khóa cao hơn các danh từ phổ biến.

Đối với mỗi bài toán mà yêu cầu có một danh sách từ khóa khác nhau với số lượng khác nhau. Số lượng các từ khóa đại diện có thể chỉ là 5 hoặc 10, hoặc cũng có thể là không xác định trước. Tùy theo yêu cầu đó mà các chi tiết cụ thể của phương pháp áp dụng có thể khác nhau để cho kết quả cuối cùng tốt nhất.