August 14, 2009

Bản tin cập nhật thị trường Mỹ đêm ngày 13/8

Thị trường chứng khoán Mỹ đêm 13/8 tiếp tục tăng điểm giữa những tin tức
tốt xấu đan xen. Về phía tin tốt, đó là kết quả kinh doanh tốt hơn dự kiến
của Wal-mart, dự trữ kinh doanh (business inventory) giảm mạnh 1.1%, hai
nền kinh tế hàng đầu châu Âu là Đức và Pháp tăng trưởng dương trong quý
II, tỷ phú John Paulson mua vào 168 triệu cổ phiếu của Bank of America và
một số công ty trong lĩnh vực công nghệ như Dell, HP, Apple được các nhà
phân tích nâng mức định giá. Về phía các tin xấu, trái với dự kiến, doanh
thu bán lẻ bất ngờ giảm 0.1% và số người xin trợ cấp thất nghiệp lần đầu
trong tuần cũng tăng cao hơn dự kiến (nhưng tổng số người nhận trợ cấp vẫn
giảm xuống mức thấp nhất kể từ giữa tháng 4). Khối tài chính vẫn tăng điểm
mạnh nhất (Chỉ số KBW Bank Index tăng 3.1%). Khối lượng giao dịch vẫn thấp
hơn mức trung bình. Lượng đặt mua trái phiếu chính phủ kỳ hạn 30 năm trong
phiên đấu giá hôm qua tăng rất mạnh, đẩy lợi suất trái phiếu chính phủ kỳ
hạn 10 năm giảm xuống 3.61%/năm. Giá dầu thô tăng trở lại lên mức
70.52USD/thùng (có lúc lên tới 72.21 USD/thùng) nhờ vào việc tăng trở lại
của thị trường chứng khoán trong khi giá vàng giao ngay tiếp tục tăng nhẹ
lên mức 953USD/ounce. Đồng USD giảm giá so với cả đồng euro (1.4282) và
đồng yên (95.35).
Số liệu đáng chú ý trong ngày bao gôm chỉ số CPI trong tháng Bảy (dự kiến
không thay đổi so với tháng trước), số liệu về sản lượng công nghiệp trong
tháng Bảy (dự kiến tăng 0.3% sau khi đã giảm 0.4% trong tháng 6), chỉ số
về niềm tin của người tiêu dùng trong tháng Tám (dự kiến tăng lên mức
68.5) và số liệu về thu nhập thực tế (real earnings) của người lao động Mỹ
trong tháng Bảy, dự kiến tăng 0.3% sau khi đã giảm 1.2% trong tháng Sáu.
Các công ty bán lẻ tiếp tục công bố kết quả kinh doanh, bao gồm JCPenney
(dự kiến lỗ 1cent trên 1 cổ phiếu, giảm mạnh so với mức EPS 52cent cùng
kỳ), Abercrombie&Fitch (dự kiến lỗ 3cent trên 1 cổ phiếu, giảm mạnh so với
mức EPS 87cent cùng kỳ). Hôm nay chính phủ Mỹ cũng bắt đầu xem xét chính
sách lương thưởng của các công ty nhận tiền cứu trợ của chính phủ.
Việc thị trường tiếp tục tăng điểm sau một phiên tăng điểm mạnh ngay cả
khi doanh số bán lẻ bất ngờ giảm là do tâm lý chung của các nhà đầu tư đã
xác định rằng thời điểm xấu nhất đã qua. Điều này sẽ tạo tiền đề tốt cho
phiên giao dịch ngày hôm nay. Số liệu về niềm tin của người tiêu dùng
nhiều khả năng sẽ là tâm điểm, và với những thông tin tích cực về tỷ lệ
thất nghiệp trong tháng Bảy, có thể kỳ vọng vào việc chỉ số này sẽ khó xấu
hơn nhiều so với dự kiến. Chúng tôi nghiêng về một phiên tăng nhẹ trong
đêm nay.

July 26, 2006

Mambo, Joomla and Co.

Trước đây trong một bài khác tôi đã có lần đề cập đến các open-source CMS như Mambo hay Joomla nhưng gần đây mới có điều kiện tiếp xúc thực tế.

Quả thật ngày nay các hệ thống CMS đã đạt đến trình độ phát triển rất cao, khiến thực tế việc phát triển lập trình các trang Web hầu như không còn khả thi nữa trừ những trường hợp riêng có yêu cầu hết sức đặc biệt.

Sau khi bổ nhiệm 1 nhân viên tìm hiểu Mambo và Drupal nhưng gặp những trục trặc nhỏ hết sức vô lý trong quá trình cài đặt (trên Windoze!) tôi bực mình quyết định download và thử nghiệm Mambo trực tiếp trên server của mình. Sau một số bỡ ngỡ nho nhỏ, chỉ sau 4 tiếng đồng hồ tôi đã có 1 site mình muốn và có thể nói về cơ bản nắm hết các kỹ thuật cần thiết để làm việc với Mambo! Quả thật là nhanh phải không. Lẽ tất nhiên bạn sẽ bảo nếu dùng FrontPage tôi cũng có thể đạt được kết quả như vậy. Điều đó đúng mà không đúng!

Thứ nhất, FrontPage về cơ bản là một Web-Editor, tính năng hỗ trợ quản lý site tuy cũng có nhưng rất kém. Nếu làm việc với FrontPage nhiều, bạn sẽ thấy sau một lần vô ý thay đổi 1 cái gì đó, site của bạn không còn trông như bạn muốn và bạn cũng không biết làm sao để khắc phục vấn đề đó. Hay ví dụ như khi thay đổi Theme, làm một vài lần bạn sẽ thấy hầu hết đều thay đổi theo nhưng có những trang cứ ỳ ra như cũ dù bạn có hô hào, chửi rủa hay dọa dẫm nó thế nào đi chăng nữa. Những cái lỗi inconsistent đó thể hiện rõ nhất bản chất của FP: chỉ là một Web-Editor với một vài chức năng quản lý site để kiếm thêm khách hàng. Typical Microsoft! Cái gì cũng có nhưng không có cái gì ra hồn!

Mambo hay CMS về cơ bản khác hẳn. Chúng là các hệ quản trị trang, việc edit riêng lẻ từng trang không phải là công việc của chúng. Điều này có nhược điểm là nếu bạn muốn làm 1 trang thật “kỳ quái” của riêng bạn thì có lẽ bạn sẽ gặp nhiều khó khăn, nhưng nếu bạn muốn web của bạn trông chuyên nghiệp thì có lẽ bạn sẽ không bao giờ làm như vậy. Cái lợi lớn của Mambo là bạn không bao giờ phải lo lắng về việc chỗ nào đó không nhất quán và bao giờ bạn cũng có được cái nhìn tổng thể về nội dung trang Web của mình.

Còn về tốc độ? Tôi đã thử nghiệm cho các nhân viên văn phòng học cách sử dụng FP, kết quả là hầu hết họ đều không sử dụng được! Đau đớn hơn, sau khi edit, copy, delete cái gì đó, trang web của bạn tự nhiên không hoạt động! Chuyện này sẩy ra như cơm bữa và sau một thời gian tôi thấy chính mình lại phải đi đăng bài hoặc đi fix lại trang web nhiều hơn là mình muốn. Với Joomla, việc đăng bài, sửa bài đơn giản như ăn cơm. Vẫn có những lúc họ không nhớ hay không làm được cái gì đó cần trợ giúp, nhưng về cơ bản bạn có thể dựng 1 trang rồi chuyển nó cho các nhân viên văn phòng và sau 1 năm nó vẫn hoạt động tốt như thường! :)

December 26, 2005

Phúc quả có lai!

Florian Rötzler – Telepolis 19-12-2005 (chuyển từ nguyên bản tiếng Đức)

Trên cơ sở đánh giá một số lượng lớn các tài liệu nghiên cứu một nhóm các nhà tâm lý học đã đi đến kết luận: không phải thành công làm con người ta hạnh phúc mà thực ra những người hạnh phúc thường hay được "ban thưởng" bằng thành công trong công việc, gia đình và sức khỏe.
Giữa cảm giác hạnh phúc và thành công trong sự nghiệp, tình yêu và thu nhập có mối quan hệ nào với nhau? Không cần suy nghĩ có lẽ đa số đông chúng ta sẽ đi đến một lý thuyết kiểu "đền bù công quả" hay là tương tự như vậy: là phần thưởng của sự thành công người ta dĩ nhiên sẽ được hạnh phúc v.v. Tuy nhiên sau khi nghiên cứu và đánh giá một số lượng lớn các tài liệu khoa học, các nhà tâm lý học lại đi đến kết luận sự việc không hoàn toàn đơn giản như thế (The Benefits of Frequent Positive Affect: Does Happiness Lead to Success?, (1), Psychological Bulletin 2005, Vol. 131, No. 6, 803-855). Không chỉ một cá nhân mà ngay cả tập thể hay thậm chí một đất nước cũng thành công hơn nếu họ hạnh phúc. Như thế những người bị chèn ép, thất vọng và cau có khắc khổ lại càng tệ gấp đôi!

Nếu những gì mà Sonja Lyubomirsky (University of California, Riverside),  Laura King (University of Missouri, Columbia) und Ed Diener (University of Illinois at Urbana-Champaign) tìm ra sau khi đánh giá 225 công trình nghiên cứu khác nhau (nghiên cứu dài hạn và thí nghiệm chéo) với sự tham gia của 275000 người mà đúng thì chúng cũng là một cú đấm mạnh cho trường phái "thành tích" lâu nay vẫn coi thành công là con đường phấn đấu tất yếu để đi đến hạnh phúc. Không phải lao động và thành công kéo theo hạnh phúc mà ai đã hạnh phúc rồi thường được thưởng thêm một lần nữa bằng thành công trong cuộc sống. Không phải "phúc bất trùng lai" mà là những người lúc nào cũng vui cười hạnh phúc lại càng thành công hơn trong cuộc sống và sự nghiệp, dù logic của việc này là gì đi chăng nữa. Hạnh phúc tự nó nhân đôi, chỉ bất hạnh cho ai sinh ra đã là kẻ u sầu hay lúc nào cũng nhăn nhó, kêu ca.

Theo nhóm các nhà tâm lý học một nguyên nhân khiến nhiều nhà nghiên cứu bấy lâu nay đánh đồng hạnh phúc với  thành công là bởi các dấu hiệu được xã hội coi là hạnh phúc có nhiều liên quan đến việc thành công: thu nhập cao, sức khỏe thể chất và tinh thần tốt hay là sống lâu. Thành công về cơ bản là đạt được những điều mà người khác khó đạt được và nói chung được xã hội công nhận là "đáng giá". Tuy nhiên chúng ta không nên quên rằng bản chất của hạnh phúc là một cảm giác, không nhất thiết phải phụ thuộc vào vị trí xã hội hay thu nhập đạt được.

Nhiều nghiên cứu đã chỉ ra rằng một người hạnh phúc nhìn đời qua cặp kính mầu hồng và vì vậy họ cũng nhậy cảm và sẵn sàng đón nhận hơn rất nhiều với những gì môi trường xung quanh đem lại. Một người đang hạnh phúc sẽ nhận ra tiếng chim hót lúc ban mai và mặt trời lên thật đẹp nhưng một người đang đau khổ hay lo lắng sẽ chẳng có tâm trí đâu để nhận ra những điều như vậy. "Người buồn cảnh có vui đâu bao giờ" chính là như thế - người hạnh phúc thường nhìn thấy cơ hội hơn là khó khăn trên đường đời. Và cũng bởi vì họ vui vẻ và cởi mở với mọi người hơn, những người xung quanh sẽ vui vẻ và sẵn lòng hơn đối với họ. Nghiên cứu đã chỉ ra rằng những người vui vẻ hạnh phúc có điểm tốt hơn ở trường học, tìm được nhanh và dễ dàng hơn chỗ làm việc, được đánh giá cao và thăng tiến nhanh hơn. Họ làm việc hiệu quả hơn, quản lý tốt hơn và cũng hài lòng hơn với công việc của mình. Ngoài ra các nhà nghiên cứu còn tìm thấy mối quan hệ chặt chẽ giữa thu nhập cao và cảm giác hài lòng nói trong trong cuộc sống. Những người hạnh phúc sẵn sàng giúp đỡ và nhiệt tình hơn với những người khác và kết quả là họ cũng có nhiều bạn bè hơn và nhận được nhiều sự ủng hộ hơn trong cuộc sống. Thêm vào đó, những người sống hạnh phúc vui vẻ cũng có sức khỏe tốt hơn và xây dựng được những mối quan hệ tình cảm lâu dài hơn.

Quả là một viên thuốc kỳ diệu; tất nhiên là không phải lúc nào chúng cũng có tác dụng nhưng ngay cả khi chúng chỉ là cặp kính mầu hồng đi chăng nữa thì khi đó cách sống tích cực cũng đã đem lại những hiệu ứng nhất định. Các nhà tâm lý học định nghĩa những người hạnh phúc là những người thường hay có những tình cảm tích cực ví dụ như niềm vui, tự hào hay tò mò thích thú và ít khi tỏ ra sợ hãi, cáu kỉnh hay buồn bã. Những người "lúc nào cũng hạnh phúc" - những người mà ở đây chúng ta đề cập đến - là những người có tần suất và thời gian mang tình cảm tích cực đặc biệt dài và thường xuyên hơn những người khác, không  nhất thiết phải là những người có cảm giác hạnh phúc hết sức mãnh liệt. Vấn đề còn lại chỉ là tìm ra một phương pháp để cá nhân, tập thể hay cả một dân tộc cảm thấy hạnh phúc và từ đó mọi việc sẽ tự nó sẽ được giải quyết!
Tuy nhiên các nhà tâm lý học cũng lưu ý rằng những người hạnh phúc hoàn toàn cũng có thể (chỉ) thành công trong những lĩnh vực rất riêng của họ mà xã hội không nhất thiết coi đó là đáng ca ngợi. Một người hạnh phúc cũng có thể là một thành viên của một băng đảng, trùm Mafia hay là một tên lừa đảo đặc biệt thành công. Mặt khác những người kém hạnh phúc hơn cũng có thể rất thành công nhờ vào trí thông minh, sự chăm chỉ và nhẫn nại của mình; các nhà tâm lý học cũng công nhận như vậy. Chỉ hạnh phúc không thôi không đủ nếu thiếu những khả năng và kỹ năng khác. Ngoài ra việc bỏ qua những vấn đề thực tế cũng có thể đem đến nhiều khó khăn.

Ghi chú của người dịch

Có một mối tương quan hết sức thú vị giữa hạnh phúc và may mắn được thể hiện ngay qua ngôn ngữ: trong tiếng Đức và nhiều ngôn ngữ khác, chữ hạnh phúc (glücklich – Deutsch, happy - English) được bắt nguồn từ chữ may mắn (glück, luck). Phải chăng trong quan niệm và kinh nghiệm dân gian đã từ lâu đúc kết kẻ hạnh phúc cũng là kẻ may mắn?
Kết quả nghiên cứu nói trên kỳ lạ thay cũng hết sức phù hợp với quan điểm của nhà Phật: mỉm cười với thế gian, an trú trong hiện tại là hạnh phúc lâu bền nhất. Nhà Phật tuy không đề cao đến vấn đề thành công nhưng lại chỉ ra rất rõ sự phi lý khi lo lắng cho tương lai hay đau khổ cho quá khứ. Gián tiếp, Phật giáo đã chỉ cho chúng ta thấy con đường đi đến thành công dễ dàng nhất là con đường hạnh phúc và giác ngộ. Thứ hạnh phúc được nhà Phật nói đến cũng không phải là thứ hạnh phúc lớn lao làm người ta hét vang hay rơi nước mắt mà đó chỉ đơn giản là những hạnh phúc, an vui thường nhật, khắp mọi nơi, khắp mọi lúc; nghĩa là những tình cảm, niềm vui an lạc biến con người thành những người "thường xuyên hạnh phúc", đúng như mẫu hình mà các nghiên cứu ở đây tìm được. Đo đạc đã chỉ ra rằng trong quá trình thiền tu, người thiền sĩ thường xuyên ở trong cảm giác hạnh phúc, kéo dài có khi đến 10 phút một lượt.

Tài liệu tham khảo

September 27, 2005

How to become a millionaire?

Trong thế giới này quả thật là không có gì là không thể. Bạn có thể tìm cách bán đủ thứ từ những thứ giở hơi nhất như “phát minh” về plug-in của  Eolas Technologies hay one-click buying của Amazon.com đến những thứ đứng đắn hơn như chỗ quảng cáo trên trán chẳng hạn! Nói đến quảng cáo, với sự có mặt khắp mọi nơi của Internet, tại sao bạn lại không nghĩ đến bán chỗ quảng cáo trên internet? Ồ tất nhiên người ta đã bán nhiều quá rồi nhưng chưa ai bán từng pixel trên trang Web của mình cả. Weird? Of course it is a bit crazy but can it work? Yes it can! Alex Tew một chàng trai 21 tuổi người anh đã chứng minh điều đó. Trong vòng chưa đầy 4 tuần, cậu đã bán được đến 130.000 pixel trên trang Web của mình và càng ngày càng nhiều hơn! Bạn sẽ hỏi không hiểu người ta sẵn sàng trả bao nhiêu cho 1 pixel trên màn hình? 1 US Dollar đấy bạn ạ. Nghĩa là anh chàng Alex đã bán được ý tưởng điên rồ trên được hơn 100.000 dollar trong vòng 4 tuần! Tại sao lại được nhỉ, bạn cũng như tôi và bao nhiêu người khác đều tự hỏi như vậy nhưng bây giờ điều đấy đã quá rõ ràng, bản thân trang Web còn nổi tiếng hơn bất kỳ một khách hàng nào khác của nó. Nó đã lên TV, đài, báo và vượt qua cả biên giới nước Anh. Vậy bạn sẽ làm gì nhân cơ hội này? Tôi không biết bạn sẽ làm gì nhưng tôi đã viết cho anh chàng Alex một lá thư gợi ý về một phần mềm giúp quản lý tự động trang Web nói trên. Biết đâu, ta cũng làm nên một phần của lịch sử internet như anh chàng Alex khôn ngoan quảng cáo!

Sau đây là toàn văn bức thư gửi cho Alex, what did you think? ;-)


Hi Alex,
Yesterday I have read an article on the German computer magazine C’t about your web site “The Million Dollar Homepage” and I must say I was very impressed. The concept is simple, yet a bit crazy maybe but it works! Hundred thousand dollar in only 4 weeks, that is amazing! Without any doubt you sell your concept very well; the message is clear, the language professional and all that without a day stay in a university. Hard to image the success when a talent like you finish one’s degree. Congratulation, Alex!

However, examine your site a bit more carefully I starting to wonder how you can manage such a business without any computerised tool. I can good imagine thousand but thousand inquiry each day and reading all the email is sure a tedious task, when not impossible! You self stated in your blog that “working through a massive 30,000 pixel backlog” and get through thousand e-mails is completely (proper) nuts. But how did you keep tracks of all the orders and does not lose any one when upload a newer? It is an important question because I believe reliance is the very basis of such a business. Moreover, what did you do when you must check for the available pixel blocks because the pixel-blocks must yet not overlap each other?
You are now on the best way to achieve your million goal (and a bit internet history!) but 1000 clients and pixel-blocks may be manageable by hand, 10000 or more surely not. With a computerised tool, you can do it and a lot more in only fraction of time as now and you can spend the spare time for your university-life, your girl friend or a long and healthy sleep after all ;-) That is exactly what I can offer you.

Features
Following is the most important features of the to implement computer program (The MioMAN? What did you think?):
  • Keep track and manage all orders and inquiry, include customer management with a single mouse click. See and easily keep an overview about who has paid, who not, which orders are currently in the queue and which are rejected and why.

  • Automatically read and process all the emails and sort out the order email and other kind of email (support, offers, spam etc...) so the order can place almost automatically.

  • Based on the order information, the program can automatically generate the final picture with all the hotspot and mapping for you without required a minute working from the user. Followed the computer program can take over the backup and upload procedure for you to ensure the picture is right on the minute on your homepage. Response time will minutes in compare to 1-2 days at the moment.

  • Provide the potential customers a convenient service for checking out in real time, which pixel blocks are ordered and which are available so they can concurrent for a hot place! Far more important is the guarantee, that no one blocks overlap the other and in the future you are guaranteed safe from any customer complaint or even legal liability issue.

  • Allow you to make tones of statistics about your business: how much is the current order stream? What would be in the future? From where do the customers come? What-if scenarios calculation etc... One day maybe you would consider simple to sell the web site and you will start wonder what final value would it become.

Benefits
  • Allow you to manage easily the business with 100000 or even more customer without any hassle.

  • You can do it in only a fraction of time as at the moment and can spend the spare time for creative writing, make more ads for the site, think about new business concept or even spend it for your self.

  • Spare a lot of money: to attend the university you must hire someone to do the rest work for you. Nowadays no one can do it for lesser as 2000 dollars per month but the program can will cost no penny more. Beside it is much more reliable as a error prone human being (and you must pay only once!)

  • Based on the system you can undoubtedly introduce some new business concepts for your site. I mean by  1000 customer and 100000 pixels on a total 1 million pixel look every ads here equally cool, but what when the filled pixels come near the 300000 magic limit? The screen will be very scattered and new ads will not attract visitor anymore. In this case, only a new service like bidding or overwrite-bidding can fish new customers for you. Such service will be very difficult to maintain without help of a computerized system.

Ok, now I think you can figure out all what I want to say. Maybe you will ask your self who is the guy and whether you can trust him so I may introduce my self. I have studied computer science in Germany (University of Magdeburg) then worked 2 years for the Max-Planck-Institute before gone back to Vietnam. Because of the connection with Germany, I still read many German papers and magazine today (beside other English publications) and so come I to the news with your web site. To tell you the truth I was fascinated with your idea so I want do a little contribution and earn a bit of internet history ;-) (Then I believe it is already an internet history right now). The cost for the program is only a financial reimbursement for the programming effort and so it merely covers the real expense. However, maybe I put it so for more interesting:
  • If I can deliver the program within 3 days after agreement (I self think is impossible but maybe with 24h non-stop working?!) then the financial reimbursement will be 3000 US$

  • Within 5-7 days, it will be 2000 US$ only

  • After that it will cost just 1000 US$

So it remains a personal challenge for me. By the way, I own a small software development company so I can allow me self the freedom to tackle some personal challenge like that thus not to lose the passionate in my life after all.

What did you think?

Cheers,

Vo Viet Anh    

December 13, 2004

Phần mềm CMS

Vụ iCMS đã được đưa ra ánh sáng. Tuy chưa có công bố chính thức của BTC nhưng qua những bài phát biểu gần đấy của một số quan chức "nặng ký" như ông Mai Liêm Trực, thứ trưởng bộ BCVT hay ông GS Hồ Uy Liêm, Tổng thứ ký liên hiệp các hội KH VN thì câu chuyện có vẻ như đã ngã ngũ, alea iacta est như Caesar đã từng nói. Cái để lại là một cuộc tranh luận sối nổi chư từng có của cộng đồng IT Việt nam và ảnh hưởng sâu sắc của nó đến thế giới truyền thống. Lượng đã đổi thành chất, những bit những byte tưởng như vô nghĩa trên các diễn đàn cùng với những các bóng nick vô hình của nó đã tạo thành dư luận, bắt buộc hết nhóm iCMS đến BTC phải đứng ra thanh minh, đối thoại. Họ và giới báo chí truyền thống đã không thể làm ngơ trước những cái nick, những dòng chữ của những người ẩn danh mà nếu nhanh tay thì có thể xóa đi không còn mảy may 1 dấu vết. Xã hội thông tin, internet đã với sức mạnh ghê gớm của nó đã lùa vào cuộc sống thường ngày của người dân Việt, đã khiến những kẻ bảo thủ phải kinh ngạc, ngỡ ngàng. "Now we are", "We are present, everywhere!" vang lên khắp mọi nơi báo hiệu một kỷ nguyên mới. Kỷ nguyên của tự do dân chủ do các phương tiện thông tin đem lại, kỷ nguyên của thể hệ trẻ, một thế hệ nerd tuy còn rụt rè, sợ hãi nhưng cháy bỏng đam mê. Có lẽ chính điều đó làm tôi tin tưởng vào tương lai và XH VN hơn bao giờ hết.
Nhưng liệu họ có biết điều khiển những hồn ma mà họ đã gọi (lấy theo ý của một câu ngạn ngữ cổ)? Thời gian sẽ trả lời. Nhưng ai biết nắm được lực lượng ấy, ai biết sử dụng sức mạnh của lực lượng ấy, người đó chắc chắn sẽ có quyền lực to lớn - hoặc sẽ tự đốt cháy mình.

Không thể phủ nhận vai trò của các phương tiện thông tin mới trong những biến động xã hội như thế này. Trong đó CMS - Content Management System - đóng một vai trò hết sức quan trọng. Thời của static web đã qua rồi. Với hàng ngìn user, với hàng trăm ngìn trang thay đổi hàng giờ thì không còn chút đất nào cho static web dụng võ nữa. Server page tuy cực kỳ linh động nhưng có lẽ đó cũng chính là yếu điểm lớn nhất của nó: mất công lập trình. Tôi nghi ngờ việc bỏ công lập trình 1 hệ thống cho riêng mình, dẫu là các công ty lớn, ngày nay có còn thực tế nữa hay không? CMS với vai trò vừa là một framework, vừa là một giải pháp cụ thể tỏ ra thích hợp và vì vậy được ưa chuộng bởi các công ty và webmaster hơn bao giờ hết. Trong trào lưu này cũng không thể không nhắc đến Wiki, một xu hướng theo tôi sẽ có một ảnh hưởng không nhỏ đến môi trường Web sau này. Blogger.com tuy quảng cáo là "One push publishing" nhưng sự thực vẫn còn thuy xa Wiki về phương diện dễ sử dụng. Đó là chưa kể đến khả năng đóng góp tham gia của nhiều người đến 1 bài viết. Bởi vậy, tôi cho rằng một CMS hỗ trợ Wiki ngày nay là yêu cầu tối thiểu. Ngoài ra còn những yêu cầu gì nữa?
  • Hỗ trợ hòan toàn Unicode (UTF-8), vâng tất nhiên nếu không thì 1/2 thế giới không thể dùng phần mềm đó!
  • Tốc độ. Yếu điểm của dynamic content là tốc độ thấp, tải lớn. Một vài khả năng caching hiện đại sẽ giúp ích rất nhiều, đặc biệt đối với các trang web của công ty
  • Bảo mật, phân quyền, hỗ trợ workflow. Đối với một công ty, tổ chức lớn là điều không thể thiếu
  • Hỗ trợ nhiều loại CSDL và Web server khác nhau.
  • Và những điểm gì khác nữa???
Một số phần mềm đáng chú ý:
  • Mambo: open-source và rất mạnh. Mambo được phát triển nhằm vào các tổ chức, công ty chứ không phải các cộng đồng, diễn đàn.
  • PHP Nuke: open-source, rất quen thuộc nhưng cũng có nhiều yếu điểm, đặc biệt là về bảo mật
  • WebGUI: rẩt nhiều tính năng nhưng phải có dedicated server
  • Bricolage: một trong những chiến sỹ lão thành của mặt trận CMS
  • Plone and Zope: một cặp bài trùng rất mạnh nhưng dùng Python. Cũng cần có dedicated server (shell access)
  • and...?
Xem và so sánh tính năng tại: CMSmatrix.org

December 11, 2004

Về phần mềm, mã nguồn mở và vụ iCMS

Những ngày qua dư luận, báo chí và các diễn đàn tin học trong nước đặc biệt “nóng lên” với tin “sản phẩm iCMS của VinaCom chỉ là sản phẩm ăn cắp đi thi đoạt giải TTVN 2003”. Mặc dù đã có rất nhiều chứng cứ được đưa ra nhưng thông tin của các “phe” không chỉ rất khác nhau mà nhiều khi còn là hoàn toàn đối lập. Để các độc giả không phải người trong ngành có thể có một cái nhìn sâu sắc hơn về sự việc cũng như để rộng đường cho công luận, trong bài viết này tác giả đưa ra một cách nhìn toàn diện về bản chất của một sản phầm phần mềm cũng như giải thích các khái niệm được đề cập đến nhiều nhất như “mã nguồn mở” hay GPL và qua đó đính chính một số cách nhìn thiếu chuẩn xác hay còn phiến diện.

Cấu thành cơ bản của một giải pháp phần mềm

Là một loại giá trị phi vật chất, một sản phẩm phần mềm (software, program) mang nhiều nét đặc thù của một công trình nghiên cứu khoa học những đồng thời cũng mang trong mình nhiều dấu ấn của quá trình phát triển và đặc biệt là của các công dụng cụ đã được sử dụng. Đặc điểm nhị nguyên này trước hết gắn liền với đặc thù của quy trình phát triển phần mềm hiện đại: vừa là quá trình tìm tòi khoa học, vừa là một ngành công nghiệp với thiết kế mẫu, quy trình chuẩn và các linh kiện dụng cụ có thể sử dụng và khả năng tự động hóa cao.
Tính khoa học thể hiện rõ nhất ở mối quan hệ liên hoàn giữa tất cả các khâu trong quá trình tìm tỏi, phát triển giải pháp: từ việc xác định nội dung bản chất vấn đề (requirement analysis) đến việc xây dựng các mô hình làm việc (modeling) - xác định kiến trúc tổng thể cho sản phẩm (architecture) - thiết kế (design) - tìm giải pháp cụ thể (lập trình – implementation) đến thử nghiệm (test) và khắc phục lỗi (debug). Kết quả của một bước trước ảnh hưởng quyết định đến các bước sau và với trình độ phát triển ngày nay vẫn chưa có cách nào để từ một yêu cầu cho trước không tốn nhiều công suy nghĩ mà có ngay được kết quả cuối cùng - Chương trình máy tính. Rất nhiều khi do kết quả của công đoạn trước sai hoặc không tốt mà tất cả nỗ lực ở công đoạn sau đều trở thành vô nghĩa: chương trình không chạy được hoặc tuy có chạy nhưng sai (có lỗi) và không thể đáp ứng yêu cầu đã đề ra. Điểm duy nhất ngày nay có thể tự động hóa được hoàn toàn là việc dịch trương trình từ chỉ dẫn chi tiết (mã nguồn) ra ngôn ngữ máy – tập hợp các bits và byte mà chúng ta nhìn thấy dưới dạng file EXE, DLL v.v. trong máy tính.

Nếu định nghĩa tính sáng tạo là những gì nhất thiết đòi hỏi phải có tư duy của con người thì mọi quá trình có thể tự động hóa đều không thể coi là có tính sáng tạo. Như vậy tuy giá trị sử dụng của một chương trình luôn được đo bởi kết quả sử dụng cụ thể của chương trình đấy, nhưng giá trị lý luận, tính sáng tạo lại luôn được đo qua kiến trúc, thiết kế và các giải pháp trước công đoạn cuối cùng – công đoạn dịch ra ngôn ngữ máy. Một công đoạn khác cũng có thể thực hiện bởi máy móc là việc dịch các lời thoại, menu, chỉ dẫn trong chương trình ra các ngôn ngữ khác nhau.
Chính vì lý do này mà mọi người đều cho rằng việc “Việt hóa” một phần mềm để đem đi thi sáng tạo là việc làm không thể chấp nhận được (mặc dù đôi khi “Việt hóa” cũng đòi hỏi phải có những giải pháp nhất định).

Bên cạnh đòi hỏi cần phải có tư duy, sáng tạo thực sự còn hàm ý phát minh, tìm tòi ra giải pháp mới, cách làm mới. Như vậy để xứng đáng là một giải pháp trí tuệ, bên cạnh việc phải có nỗ lực đáng kể trong quá trình tư duy thiết kế xây dựng giải pháp, những kết quả đạt được - cụ thể là kiến trúc, thiết kế, giải thuật, cấu trúc dữ liệu của chương trình – cũng phải có tính mới, tính hữu dụng. Tùy vào giải pháp mới tìm được nhiều hay ít, tính quyết định của nó đến giải pháp tổng thể cao hay thấp cùng với tính hữu ích và độc đáo của nó mà chúng ta nói giải pháp có tính sáng tạo cao hay không. Trong ngành công nghệ phần mềm, mọi người thường thiên về ý kiến cho rằng các công đoạn trước như phân tích, thiết kế, tìm giải thuật, cấu trúc dữ liệu đòi hỏi tư duy và kinh nghiệm nhiều hơn các công đoạn sau như việc thể hiện chúng trong một ngôn ngữ cụ thể (lập trình) hay thử và cải tiến, khắc phục lỗi .

Bên cạnh là một hoạt động mang tính nghiên cứu, sáng tạo, sản xuất phần mềm còn là một ngành công nghiệp. Chính vì vậy người ta tìm mọi cách để rút ngắn quá trình sản xuất và nâng cao năng suất lao động. Một trong những cách được áp dụng rộng rãi nhất là sử dụng các khuôn mẫu có sẵn (framework), thư viện lập trình và linh kiện lắp ghép (component). Các framework thường chỉ bao gồm các cấu trúc cơ bản như kiến trúc hệ thống, các mẫu thiết tế tối ưu hay các giải pháp mang tính lý thuyết, còn thư viện thường bao gồm 1 tập hợp các giải pháp cụ thể (giải thuật, cấu trúc dữ liệu, mã nguồn) cho một vấn đề cụ thể (ví dụ tìm giá trị cực tiểu của một hàm bất kỳ). Các component tuy cũng là những giải pháp cụ thể nhưng cho phép người thiết kế tùy biến chức năng qua việc xác định các tham số hoạt động (properties) và ghép nối chúng lại với nhau (lập trình) thành một giải pháp hoàn chỉnh. Do khả năng tùy biến cao nên một component có thể “chỉ” là một giải pháp hiển thị kết quả dưới dạng đồ thị nhưng cũng có thể bao gồm toàn bộ chức năng phức tạp của một chương trình soạn thảo văn bản như Word©. Trong ngành công nghiệp phần mềm ngày nay, sử dụng linh kiện là giải pháp rất hay được áp dụng, nhất là trong phương pháp phát triển nhanh (RAD – rapid application development) như Delphi, Visual Basic hay .NET. Vì vậy việc xác định tính sáng tạo của một chương trình được xây dựng bởi các linh kiện đòi hỏi phải xác định xem bản thân các linh kiện đó đã cho phép giải quyết phần lớn bài toán được đặt ra hay chưa.

Trở lại với phần mềm iCMS của VinaComm

Đến đây chúng ta có thể khẳng định: một phần mềm như iCMS chỉ được gọi là có tính sáng tạo khi các tác giả đã tự mình tìm ra kiến trúc, thiết kế, các giải thuật cũng như cấu trúc dữ liệu của chương trình. Vậy có thực iCMS là một giải pháp mang tính sáng tạo cao hay không và làm thế nào chúng ta có thể xác định được điều đó? Các con số về “giống đến 80%” hay “chỉ 30%”, thậm chí là “chỉ 10%” như các bên đã tung ra thực chất có ý nghĩa gì? Sau đây chúng ta sẽ thử tìm lời giải cho những câu hỏi đó.

Nhóm tác giả iCMS mà đại diện là Nguyễn Anh Tuấn trong thư xin lỗi được công bố trên báo chí và các diễn đàn ngày 3-12-2004 đã xác nhận phầm mềm iCMS của họ được xây dựng dựa trên nền tảng lý thuyết và chương trình mẫu (CMS.NET) trong quyển sách “Real World ASP.NET: Building a Content Management System”, tác giả Stephen R. G. Fraser, nhà xuất bản Apress , năm 2002. Hãy khoan bàn đến khía cạnh pháp lý của vấn đề này (quyển sách nói trên và toàn bộ mã nguồn trong đó được bảo vệ bởi luật bản quyền và luật về sở hữu trí tuệ), chúng ta hãy xác định xem thực chất của thông điệp trên là gì.

Phần mềm CMS.NET được giới thiệu trong quyển sách nói trên là một phần mềm hoàn chỉnh, hoạt động đáp ứng yêu cầu và có đầy đủ chức năng của một giải pháp quản lý nội dung/đăng bài (content management) phải có. Tác giả Fraser đã sử dụng nó làm giáo cụ trực quan để dậy từng bước về cách phát triển một hệ thống đăng bài/quản lý nội dung trên nền .NET của Microsoft và bản thân ông đã xếp mức độ phát triển của phần mềm này là “sản xuất ổn định” (Production State/Stable) khi đăng ký nó trên SourceForge . Nhóm iCMS đã copy toàn bộ phần mềm này để phát triển tiếp, bằng chứng là kể cả các phần không dùng đến (các ảnh), tên file, tên cấu trúc dữ liệu thậm chí là cả các lỗi của 2 phần mềm này giống hệt nhau đến từng chi tiết (duy nhất nhóm iCMS chỉ đổi tên CMSNET thành iCMS của mình mà thôi)! Nếu chỉ đơn thuần là học được từ trong sách (và các quyển sách khác) và tự viết chương trình của mình thì không khi nào lại có sự trùng lặp ở những tiểu tiết như vậy cả vì tên các biến hay tên file không có ý nghĩa gì đối với máy, chúng chỉ do người viết tự đặt ra mà thôi. Hơn nữa quá trình học luôn bao gồm hiểu và phát triển các ý có sẵn; ở đây nhóm iCMS đã bê nguyên cả lỗi trong phần mềm CMS.NET sang phần mềm của mình,vậy thì hoặc là họ chưa hiểu chương trình đến nơi đến chốn, hoặc là họ đơn giản sao chép lại! Trường hợp này làm người ta không khỏi nhớ đến các vụ sao chép bài, bị giáo viên phát hiện khi 2 bài giống nhau đến cả ở lỗi. Như vậy iCMS được sao chép ra từ CMS.NET (không loại trừ khả năng sau đó cải tiến phát triển tiếp), đó là khẳng định thứ nhất.

Thứ hai là cụm từ “nền tảng lý thuyết” trong trường hợp này có ý nghĩa thực sự là gì? Như đã trình bầy ở trên, phần nghiên cứu khoa học trong một giải pháp phần mềm bao gồm phân tích yêu cầu, xây dựng mô hình, lựa chọn kiến trúc, thiết kế và tìm giải pháp chi tiết. Tất cả các phần này đã có trong CMS.NET và được trình bày rất rõ ràng trong quyển sách của tác giả Fraser và sau đó được bê nguyên hầu như không thay đổi sang iCMS. Nếu tất cả đúng như tuyên bố của nhóm iCMS thì sau đó họ có thay đổi thiết kế cho phần giao diện sử dụng nhưng phần này cũng lại xuất phát từ 1 phần mềm có sẵn khác: Yahe.NET, thay đổi về quy trình đăng bài và thêm mới 2 chương trình là Spider (để copy bài từ các trang online khác) và offline-client (sử dụng không cần online liên tục). Các module còn lại đều được phát triển thêm sau này chứ chưa có vào thời điểm đi thi TTVN 2003 (vì khi đó chưa có yêu cầu của các khách hàng như báo CAND hay VTV). Như vậy chúng ta có thể khẳng định: giá trị sáng tạo trong phần nghiên cứu khoa học của giải pháp iCMS là không. Điều này thực ra rất dễ hiểu.

Bản thân vấn đề quản lý đăng bài (content management) đã được ngành CNTT đề cập đến từ lâu với rất nhiều giải pháp hoàn chỉnh như “PHP Nuke”, “Bricolage”, “Zope” v.v. Hầu hết các giải pháp nói trên đều ở dạng mã nguồn mở và mọi người đều có thể tham khảo, phát triển chúng tiếp tục. Điểm khác cơ bản với CMS.NET (và vì thế iCMS) là ở chỗ chúng dùng các framwork và thư viện khác như PHP, Perl, Python, MySQL mà không dùng .NET vốn chỉ chạy trên hệ điều hành Windows của Microsoft chiếm đến 99.9% thị trường Việt Nam. Vì vậy các phần mềm nói trên tuy rất nổi tiếng và hoàn chỉnh nhưng lại được biết đến rất ít ở trong nước. Tính sáng tạo chính của CMS.NET là ở chỗ trình bày một giải pháp sử dụng framework .NET vào việc quản lý đăng bài. iCMS tuyệt đối không đóng góp thêm được gì vào việc đổi mới này cả! Có chăng đó chỉ là việc sử dụng các linh kiện khác để thêm tính năng mới cho hệ thống này mà thôi. Qua đây chúng ta có thể thấy dẫu là 30% hay 80% theo kiểu so sánh từng dòng (line-by-line) giữa 2 phần mềm này sẽ cũng không làm thay đổi một khẳng định quan trọng, đó là: giải pháp iCMS không có tính sáng tạo, không có đóng góp về mặt nghiên cứu khoa học cho ngành CNTT nước nhà. Điều này có thể so sánh với hình ảnh một số nhà sản xuất TQ copy mẫu mã và thiết kế kỹ thuật của Honda rồi dùng các linh kiện khác để cho ra đời xe Wave “tầu” hay Dream “đểu” mà đôi khi cũng có thêm các chức năng mới kiểu kêu “bim bíp” khi bật đèn xi-nhan!

Cuộc thi TTVN có một cái “tít” rất kêu: chỉ cần một ý tưởng. Đáng buồn thay, đến ngay cả ý tưởng nhóm iCMS cũng không có vì như họ đã thú nhận: trước khi đọc quyển sách của tác giả Fraser họ cũng đã tự viết 1 phần mềm CMS nhưng sau đó vứt bỏ để theo hoàn toàn ý tưởng của tác giả Fraser. Đến đây chúng ta có thể phần nào hiểu được sự phẫn nộ của cộng đồng tin học Việt Nam đối với việc iCMS đoạt cúp vàng “Trí Tuệ Việt Nam” và cảm thông với những dòng chua sót của các bạn trẻ khi thấy “trí tuệ việt nam chỉ là khôn vặt”.

Mã nguồn mở, GPL và tính pháp lý của iCMS

Xuyên suốt các cuộc tranh luận về iCMS và nguồn gốc của nó là các khái niệm như “mã nguồn mở”, “luật GPL” hay là “Copyright”; nhiều khi lẫn lộn, nhiều khi sai lầm và đối với các độc giả ngoại đạo thì chắc chắn là rất khó hiểu.Vậy thực chất chúng là gì và phải hiểu chúng thế nào cho đúng?

Mã nguồn mở (open-source software) hiểu theo nghĩa rộng là một khái niệm chung được sử dụng cho tất cả các phần mềm mà mã nguồn của nó được công bố rộng rãi công khai và cho phép mọi người tiếp tục phát triển phần mềm đó. Điều này không có nghĩa là chúng có thể được sao chép, sửa chữa thoải mái hay sử dụng vào mục đích nào cũng được. Mã nguồn mở được công bố dưới rất nhiều điều kiện khác nhau (license), một số trong đó cho phép phát triển, sử dụng và bán tùy ý miễn là giữ nguyên các dòng về nguồn gốc sản phẩm (BSDL), một số bắt buộc tất các sản phẩm làm ra từ đó cũng phải là open-source (GPL), một số khác đòi hỏi phải công bố trọn vẹn mã nguồn (Mozilla), một số khác không cho phép sử dụng vào mục đích thương mại (Sun Solaris Source Code License), một số khác lại không có ràng buộc gì đáng kể (public domain, MIT X11 license) v.v. Qua đó ta thấy khái niệm open source không thể chuẩn xác mà muốn nói đến tính pháp lý của việc sử dụng các phần mềm mã nguồn mở, chúng ta phải xem xét đến điều kiện sử dụng (license) cụ thể mà dưới đó chúng được công bố. Một điều kiện hay được áp dụng nhất là GPL: GNU General Public License của tổ chức Free Software Foundation.

GPL license có 2 đặc điểm phân biệt, đó là:
1. Tác giả gốc giữ bản quyền về phần mềm nhưng cho phép người dùng rất nhiều quyền khác, trong đó có quyền tìm hiểu, phát triển, công bố cũng như quyền khai thác thương mại sản phẩm.
2. Tác giả sử dụng luật bản quyền để bảo đảm các quyền đó không bao giờ bị vi phạm đối với tất cả mọi người, trên mọi phần mềm có sử dụng mã nguồn của mình.

Đặc điểm thứ 2 thường được gọi là đặc điểm virus (viral effect) vì chúng biến tất cả các phần mềm có dùng mã nguồn GPL cũng biến thành phần mềm GPL. Trên thực tế điều này có ý nghĩa: bất kỳ tác giả nào sử dụng dù chỉ 1 phần rất nhỏ mã nguồn GPL trong chương trình của mình cũng phải công bố chương trình đó dưới điều kiện GPL. Điều kiện GPL quy định:
• Mọi phần mềm GPL đều phải công bố mã nguồn của mình rộng rãi,công khai và phải tạo điều kiện cho mọi người truy cập được mã nguồn ấy (ví dụ qua web hoặc qua việc bán CD giá rẻ)
• Giữ nguyên mọi dòng chú thích về nguồn gốc tác giả, bản quyền của họ cũng như điều kiện được áp dụng đối với phần mềm (trong 1 file có tên LICENSE)
• Cấm việc bán mã nguồn nhưng cho phép kinh doanh chương trình được tạo ra từ mã nguồn ấy hoặc là các dịch vụ hỗ trợ liên quan.

Áp dụng vào trường hợp của iCMS các điều đó có nghĩa là: nếu iCMS có sử dụng dù chỉ 1 dòng mã nguồn dưới điều khoản GPL thì VinaComm buộc phải công bố toàn bộ mã nguồn của iCMS công khai (điều mà VinaComm không làm) cũng như bắt buộc phải giữ trọn vẹn các dòng về bản quyền tác giả (điều mà VinaComm đã cố tình xóa hoặc thay đổi). Vi phạm các điều này dẫn đến việc VinaComm mất toàn bộ quyền về mã nguồn đã sử dụng và các sản phẩm từ đó làm ra (iCMS) tự động trở thành không có bản quyền và việc sử dụng hay kinh doanh chúng đều là bất hợp pháp! VinaComm và tất cả khách hàng đã mua sản phẩm iCMS có thể bị kiện bởi tác giả gốc dựa trên luật bản quyền vì công ước Bern đã được áp dụng tại Việt Nam. Điều này không chỉ là một mối đe dọa lớn về tài chính mà còn là vấn đề chính trị và thể diện quốc gia khi các cơ quan ngôn luận như VTV hay báo CAND đều sử dụng phần mềm iCMS. Công ty Sitecom của Đức là một trường hợp điển hình gần đây nhất do vi phạm điều kiện GPL (có sử dụng phần mềm Netfilter/iptables nhưng không công bố mã nguồn) nên đã bị tuyên án bởi tòa án bang Munic Đức.

Khác với điều kiện của GPL là điều kiện theo Quyền tác giả được áp dụng với toàn bộ quyển sách của tác giả Fraser, trong đó quy định rõ tác giả và NXB giữ toàn bộ quyền về tác phẩm (exclusive right), đặc biệt là quyền sao chép và quyền khai thác thương mại đối với tác phẩm và mọi sản phẩm được làm ra từ tác phẩm đó. Rõ ràng là điều kiện quyền tác giả được quy định ngặt nghèo hơn rất nhiều và theo điều kiện này thì dù iCMS có copy chỉ 10% mã từ phần mềm CMS.NET trong sách thì việc sử dụng và khai thác thương mại nó vẫn là bất hợp pháp!

Tài liệu tham khảo

So sánh mã nguồn iCMS và CMS.NET
Thông cáo báo chí của nhóm iCMS về nguồn gốc sản phẩm
Thông cáo chính thức của tác giả Fraser về việc ăn cắp mã nguồn CMS.NET
Tranh luận trên diễn đàn về các bằng chứng vi phạm của iCMS
Chất vấn và trả lời của nhóm iCMS trước cộng đồng
Từ điển bách khoa toàn thư Wikipedia
Tài liệu về GPL và Free Software Foundation

Về tác giả: là kỹ sư tin học (Diplom Informatiker) được đào tạo tại CHLB Đức với hơn 15 năm kinh nghiệm trong lĩnh vực lập trình, thiết kế phần mềm ông là người cổ động và tích cực tham gia vào phong trào phát triển phần mềm mã nguồn mở trong cũng như ngoài nước.