Welcome to TTKS/KTQN

CLICK HERE TO OPEN

Sunday, December 18, 2011

WRITING AJAX IN NOTEPAD - FOR BROWSER I E ONLY

AJAX là chữ viết tắt của Asynchronous JavaScript And XML.Nó là dụng cụ kết hợp bởi JavaScript, XML, HTML, CSS,DOM,XMLHttpRequest object để browser gửi tài lịêu tới server rồi tiếp theo sau đó browser sẽ nhận tài lịêu trả lại theo từ server theo yêu cầu của chung ta và cho xuất hịên tài lịêu trên màng hình computer.
Trước năm 1980, vì phải dùng frame hay form nên Ajax không gọn và nhanh bằng Ajax hiện nay.
Kể từ khi JSON xuất hiện rất nhiều programmers thích dùng  AJAX với JSON để cho việc  làm của AJAX nhanh và gọn hơn nữa.
Trong bài nầy chúng ta tìm hiểu cách viết Ajax trong notepad và xem Ajax họat động như thế nào.
*Viết một đề tài gọi là text.
Mở notepad viết một đề tài theo ý muốn,thí dụ đề tài “ Nhớ Mẹ”.Viết xong thì save trong Text documents như sau nho_me.txt.
* Viết Ajax .
Mở notepad,chép cẩn thận bảng html phía trên rồi save với tên là ajax.html

Khi  bấm chuột vào chữ Click thì data chứa trong file nho_me.txt liền hiện ra nhờ dụng cụ AJAX có chứa sẵn trong Browser Internet Explorer.
Nếu không muốn viết code dài dòng như bảng html trên ,chúng ta viết như sau trong html tags để mở file nho_me.txt.
Browser tự động xử dụng Ajax Script tạo request rồi nhận trả lời và display ngay file nho_me.txt



Nếu muốn mở file của website thì viết URL của website  thay cho file nho_me.txt

* Cắt nghĩa bảng AJAX-html

Trước hết tạo một variable là  var xhrobj  trong memory.Sau đó
tạo một function request() và một function  response().Tên của 2 functions nầy tuỳ ý chúng ta chọn lấy chứ không bắt buộc phải theo như bảng html trên.

Vì XMLHttpRequest object là của Microsoft sáng kiến nghĩ ra-invented by MS- nên trong phần đầu tiên của  function request () phải viết theo công thức của Microsoft như sau nếu dùng Browser Internet Explorer.
xhrobj là viết tắt của XMLHttpRequest object.

if (navigator.appName == "Microsoft Internet Explorer") {
    xhrobj = new ActiveXObject("Microsoft.XMLHTTP"); } 
    else {
    xhrobj = new XMLHttpRequest(); }


Trong 2 functions viết chữ màu đỏ, chúng ta nối xhrobj với các properties  và method
 ( bằng dấu chấm theo qui định của DOM ) sau đây thì sẽ có AJAX họat động.
 Chúng ta tìm hiểu những danh từ của properties và methods :
  open(‘get’,’…txt’) , readyState==4 , onreadystatechange , send( null ),  respondText

open(‘get’,’…txt’) là method dùng để initialize the XMLHttpRequest Object.Trong dấu ( ) phải có một trong những parameters  GET,POST,PUT,DELETE,HEAD khi gửi request đi.
Nhận thì dùng GET,gửi đi thì dùng POST

readyState  là property ,là value được diễn tả bằng một con số gọi là integer value cho biết tình trạng ( state ) từ lúc gửi request tới server cho tới khi nhận được hồi đáp .
readyState có 4 trị số (value) khác nhau.Mỗi trị số biểu thị cho mỗi trạng thái như sau.
     0 : cho biết XMLHttpRequest đã được thành lập (created )nhưng chưa initialized
     1 : cho biết XMLHTppRequest đang ở open( ) method và sẵn sàng gửi request tới server.
     2 : cho biết request đã gửi tới server nhưng chưa nhận được hồi âm response.
     3 : cho biết đề tài hồi âm (response headers) đã nhận nhưng thân bài thì chưa nhận được.
     4 : cho biết tài lịêu hồi âm đã nhận được hòan tòan và XMLHTppRequest Status là 200 nghĩa là “OK”.Nếu status=404 thì “ page not found.”
 onreadystatechange là property, là event handler của javaScript dùng để chỉ định method  đang xử dụng.
                            onreadystatechange=handler
onreadystatechange=ajax_response , phải viết trước send( ) method.
Mỗi lần readyState thay đổi value , thì xhrobj liền pháo kích ( fires ) vào onreadystatechange làm nó hoạt động (occurring,being triggered).
responseText là property dùng để chứa data mà server đã nhận.
Khi readyState có value 0,1,2 thì responseText chứa empty string.
Khi readyState  value = 3 , responseText chứa incomplete response.
Khi readyState value=4 , responseText chứa  đây đủ hồi âm.̣(complete response)

Tóm tắt : Mấu chốt làm cho AJAX hoạt động là XMLHtppRequest object viết tắt xhrobj.
XMLHtpp object được kèm với các properties và methods dùng để gửi và nhận tài lịêu data giữa browser và server mà không cần phải chờ đợi sang trang gọi là asynchronous
 Trong  function request ( ) cần có  xhrobj.open(…) ,  xhrobj.onreadystatechange vàxhrobj.send(null) .Khi open() method dùng GET thì chúng ta dùng null cho send() method.
 Trong  function response( ) cần có xhrobj.readyState và xhrobj.responseText
 Viết thu gọn AJAX
 Để giảm bớt code, bảng ajax-html trên có thể viết gọn như sau trong script tags.Các phần khác không thay đổi.
          var xhrobj;
      function request() {
           xhrobj = new ActiveXObject("Microsoft.XMLHTTP"); 
           xhrobj.onreadystatechange = function(){
                  if (xhrobj.readyState == 4){
                  alert(xhrobj.responseText);}
           } ;   //  chữ màu xanh lá cây gọi là handler function hay callback function
           xhrobj.open ('get','nho_me.txt' );
           xhrobj.send(null);   
            } ;
Lưu ý. open() method và send() method  phải viết sau cùng thì mới có kết quả.
( handler function also called callback function is called repeatedly.)

Trong xhrobj.open ('get','nho_me.txt',true ); có thể viết thêm chữ true nếu muốnasynchronous.
Nếu viết chữ false thì sẽ có synchronous và browser sẽ bị khóa cho đến khi nhận đủ hồi âm từ server.
Trong Ajax, handler function còn được gọi callback function phải đi theo vớionreadystatechange, sẽ được called khi có hồi âm response từ server và
có nhiệm vụ chính như sau.
- checking the progress of the request.
- identifying the result of the request.
- handling data returned by the server.

KHI NÀO THÌ CẦN VIẾT AJAX DÙNG TRONG  WEBSITE ? 

 AJAX co nhiều ưu điểm nên Google’s Gmail và Outlook Express đang xử dụng.Bên cạnh những ưu điểm vẫn có những khuyết điểm nên rất nhiều programmers đã cho ý kiến giống nhau như sau
* Viết webpages có AJAX khó hơn cách viết cổ điển vì phải dùng javaScript và mất nhiều thì giờ gây tốn kém.
* Nếu  webpages có nội dung cố định hay chỉ thay đổi chút ít thì không cần AJAX.
* Nếu muốn rất đông người mở xem webpages dễ dàng với những browsers cũ thì không nên dùng AJAX. vì browsers cũ thiếu hổ trợ.
* Dùng AJAX sẽ có vấn đề security kém an toàn.Hackers có thể lọt vào ở phần nầy.
xhrobj.onreadystatechange = function (){      
             if( xhrobj.readyState == 4 ){
               eval(alert(xhrobj.responseText));}};

* Tuỳ theo mục đích của webpages chúng ta mới quyết định dụ̀ng hay không  dùng AJAX .
* Phải dùng AJAX nếu webpages chứa rất nhiều data thay đổi tuần tự, nhiều data từ các nguồn-  sources-khác nhau và nếu cần phải loading nhanh chóng.
Hiện nay đang có những nghiên cứu cải tiến AJAX bằng kỹ thuật khác .


Friday, December 16, 2011

XMAS- 2011 ĐI THĂM BẠN TẠI PHILADELPHIA


ĐƯỜNG XA KHÔNG NGẠI VẪN ĐI
TÌM THĂM BẠN CŨ QUÂN NHU MỘT THỜI.

Thursday, November 24, 2011

LỄ THANKSGIVING CỦA USA

HÔM NAY 24-NOV-2011 LỄ TẠ ƠN THIÊN CHÚA CỦA USA

102 người nước Anh trong đó có 41 người Pilgrims theo đạo Tin Lành Puritan bị cấm đạo lên chiếc tàu gổMayflower do công ty London Virginia Company tài trợ, cho vay trả nợ sau và được chấp thuân của vua nước Anh, rời cảng Plymouth vào ngày 6 September1620 để tìm đến miền đất mới được tự do thờ phượng Thiên Chúa.

Một phần ba trong 102 người là trẻ mồ côi.

Sau 2 tháng vượt 3000 miles chịu sóng gió đầy nguy hiểm trên biển

Đại Tây Dương,họ thả neo gần Cape Code vào cuối tháng November

1620.Sau đó họ thành lập làng Plymouth bang Massachusetts

Năm 1621 họ trúng mùa trồng bắp đầu tiên tại miền đất mới lạ nhờ

lao động cần cù,những ngườì còn sống sót chọn ngày13 December

1621 để cử hành lễ Cảm Tạ Đức Thượng Đế goị THANK GOD

lần đầu tiên kéo dài trong 3 ngày với 91người bạn mới là thổ dân

Indian đã tận tình giúp đở họ sống còn.

Họ được người Indian hướng dẫn cách trồng bắp,cách bắt cá trong

sông,cách lấy sáp từ cây maple để chế biến mật ngọt, nhận diện tên

những giống cây độc hại v.v…

Mãi đến năm 1789,USA mới cử hành lần đầu tiên ngày goị là

THANKSGIVING TO GOD.

Sau đó đến năm 1863 President Lincoln quyết định chọn ngày

thứ Năm lần thứ tư của tháng November để cử hành lễ

Thanksgiving Holiday cho toàn quốc USA.

Trung tuần tháng mười năm1970,người viết bài nầy và một người bạn

là Kỹ Sư Vũ Duy Đề ( hiện ở Canada ) trong thời gian đi tu nghiệp tại

US Army Natick Laboratories,Mass đã được ông bà Walter,Earline Brown

đưa đi Cape Code thăm làng Plymouth rồi lên tàu Mayflower quan sát bên trong. Mayflower lúc đó là tàu đóng lại nhái theo mô hình cũ đã mục nát từ lâu.

Thursday, November 3, 2011

ANIMATION OF A DOLPHIN

Bài nầy hướng dẫn quý bạn phương pháp thực hiện một trò chơi cá Dolphin di động ở biển cả theo kinh nghiệm của người viết tìm cách thu gọn bớt những chi tiết để cho dễ hiểu và rất cần thiết bắt buộc phải có mà thôi.

Trước hết chúng ta mở Microsoft Word vẽ 3 cái khung có kích thước in hệt nhau.

Trong khung số 1,vẽ con cá dolphin và nước biển.

Trong khung số 2, paste con cá ở khung số 1 vào rồi thay đổi tư thế của nó và thay đổi hình thức của sóng biển khác với hình số 1.

Trong khung số 3,paste con cá ở khung số 2 vào rồi thay đổi tư thế của nó và vẽ sóng biển khác với khung số 2.

Chụp hình mỗi khung bằng screenshot và tồn trử ở dạng .GIF trong My document.

Mở My document nếu thấy có xuất hiện dolphin1,dolphin2,dolphin3 thì OK.Nếu liền sau những chữ đó có dính thêm chữ gì khác như .gif thì không được vì Javascript sẽ không họat động.

Quý bạn ai không có kinh nghiệm vẽ thì screenshot 3 bức hình nầy.Khi làm screenshot nhớ loại bỏ khung màu đen bằng cách chọn no color và nhớ ba khung phải có kích thước và hình thể in hệt nhau.

Tìm hiểu bảng html trên.

Trước hết phải cho biết tên,độ lớn và source path của bức hình đầu tiên mà chúng ta muốn khởi hành từ đó bằng cách viết trong tags như sau.

img src=”dolphin1.gif” name=”animate” width=”120” height=”90”

Khi mở Browser thì bức hình nầy sẽ hiện ra ngay.Bỏ hết các phần khác phía dưới nó vẫn xuất hịên.Các phần khác dầu có đầy đủ nhưng thiếu bức hình nầy thì html không hoạt động được.

Còn những bức hình khác kế tiếp chưa xuất hịên nhưng đã có sẵn sàng trong files được preloaded vào cache hay memory như diễn tả dưới đây.

Có 2 scripts.

Trong script thứ nhất chuyển đổi 3 tấm hình dolphin1,dolphin2 và dolphin3 thành 3 image objects theo qui định của JavaScript rồi liền sau đó mỗi hình phải nối với source path riêng của nó theo qui định của DOṂ ( Document Object Model ) bằng cách viết như sau.

var image1=new Image() // declare image object như vậy

image1.src="dolphin1.gif" // nối image object với source path của nó

var image2=new Image()

image2.src="dolphin2.gif"

var image3=new Image()

image3.src="dolphin3.gif"

Mục đích của script nầy là muốn Browser preloades files của 3 tấm hình vào memory hay cache ;khi cần thì hình sẽ xuất hiện ngay không chậm trể.

Muốn hiểu sâu chi tiết nầy, quý bạn nên tìm đọc “ How to declare or create an image object in JavaScript ? “

Trong script thứ hai,chúng ta sẽ làm cho những tấm hình trên di động theo phương pháp gọi là slide show .

Có một công thức quan trọng nhất là.

document.images.animate.src=eval(“image”+step+”.src”)

Phần chữ màu lá cây dùng để tiếp xúc với hình theo src (source path) của nó.

Phần chữ màu tím xử dụng eval( ) để evaluate và execute image,step và .src.Đây là new src source path assigned to the image.Nếu thiếu phần chữ màu tím nầy thi step++ tạo increment không thể làm cho những tấm hình dolphin1,dolphin2,dolphin3 lần lượt xuất hiện được.

Nếu chỉ viết document.images.animate.src=”dolphin2.gif “ thì tấm hình số 2 liền xuất hịên sau khi tấm hình số1 biến mất.Còn tấm hình số 3 không thấy xuất hiện tiếp theo cho nên cần phải có phần chữ màu tím và một function moveIt() hoặc function slideIt() để cho cả 3 tấm hình tuần tự xuất hịên không ngừng nghĩ.

Không muốn cho hình di động nữa thì click nút STOP nghĩa là clearInterval(t).

Trong script thứ 2 có thể rút ngắn hơn như sau để càng dễ hiểu hơn.

var animate

var step=1

function moveIt(){

document.images.animate.src=eval("image"+step+".src");

step++

if(step>=4){step=1} }

Nhớ xóa bỏ hết những gì có chữ step2. Kết quả vẫn tốt như ý muốn.

Để dễ hiểu và gọn hơn nữa,chúng ta tránh xử dụng eval() bằng cách dùng cách viết sau đây vẫn cho kết quả rất tốt.

function moveIt(){

document.images.animate.src=window['image'+step].src;

step++

if(step>=4){step=1} };

Theo ý kiến của nhiều programmers kinh nghiệm thì chúng ta không nên dùng eval() với lý do:

It is extremely powerful.It makes your code to be parsed twice .In javaScript,it gives us the bad coding.It is unsafe and also slower because of invoking the interpreter

Mong Quý Bạn tự mình tạo được Slide Show tùy thích.


Saturday, October 8, 2011

JAVASCRIPT GAME-HOW TO FIRE A CRUISING WARSHIP FROM A SAUCER

JAVASCRIPT- TRÒ CHƠI PHÁO KÍCH TỪ SAUCER TỚI TÀU CHIẾN ĐANG CHẠY TRÊN BIỂN

Trong JavaScript trò chơi nầy,chúng ta xử dụng̣ tọa độ của đường cong hàm số sinetượng trưng cho sóng biển để cho tàu chiến di chuyển trên đó và dùng tọa độ của đường cong hàm số parabola để quả pháo chuyển động theo đó và theo dỏi tàu chiến lúc tới gần hoặc chạy ra xa.

Nếu muốn phóng một phi đạn từ saucer thì phi đạn phải ở trong saucer.Do đó phải ấn định vị trí chỗ khởi hành và tọa độ di chuyển của phi đạn hoàn toàn giống hệt như của saucer như dưới đây.Cố nhiên trong phần Style/CSScủa bảng html trên phải viết thêm img=” ID” của saucer thi hình của saucer mới xuất hiện.

Dùng phương pháp passing data để làm di động cùng một lúc nhiều hìnhhay nhiều objects khác nhau

function doMove(ID,L,T,ID1,P,Q,ID2,R,S){

var object2=document.getElementById(ID);

object2.style.left=L+'px';

object2.style.top=T+'px';

var object1=document.getElementById(ID1);

object1.style.left=P+'px' ;

object1.style.top=Q+'px';

var object3=document.getElementById(ID2)

object3.style.left=R+'px';

object3.style.top=S+'px';}

var veloc=15 ;

var amp=10 ;

var freq=0.2 ;

var speed=2 ;

var i=0 ;

function passingData(){

a=60+veloc*i ;

b=amp*Math.sin(freq*i*2*Math.PI) ;

x=i*speed ;

y=0.1*i*i*speed ; // phần chữ màu tím giống hệt phần xanh lá cây

c=i*speed ;

d=y=0.1*i*i*speed

doMove('ship',a,b,'ball',x,y,'saucer',c,d) // passing data vào function doMove()

i++;

if(i>=40){i=0}}

Còn tiếp

Tuesday, September 13, 2011

PHƯƠNG PHÁP LÀM QUẢ BANH DI CHUYỂN THEO QUỸ ĐẠO ELLIPSE

JAVASCRIPT FOR A BALL BOUNCING IN ELLIPTICAL ORBIT

Ellipse có 2 trục.Trục dài gọi là a và trục ngắn hơn gọi là b

Toạ độ của mổi điểm trên ellipse tính theo lượng giác học là :

X=x+(a*Math.cos(i)) ;

Y=y+(b*Math.sin(i)) ;

Muốn cho quả banh di chuyển theo hình ellipse thì cần phải có 3 parameters

là ID của quả banh và tọa độ x,y của nó. Thay đổi góc i thì x,y thay đổi theo.

Muốn quả banh di chuyển thì cần phải thay đổi tọa độ x,y nghĩa là phải thay

đổi góc i.

Thay đổi góc i bằng cách viết var i=0 ; i=i+1̣ ( hay i++)

Muốn đổi hình ellipse thành hình vòng tròn thì trong function change(){…}

chọn a=b.Nghĩa là nếu chọn a=75 thì b=75 ; nếu chọn a=150 thi b=150.Quả

banh sẽ chạy theo hình vòng tròn.

Thursday, September 8, 2011

PHƯƠNG PHÁP LÀM QUẢ BANH BOUNCING THEO PARABOL

JAVASCRIPT LÀM QUẢ BANH DI CHUYỂN THEO ĐƯỜNG PARABOL

Lưu ý. Khi banh đang chạy, click STOP banh sẽ ngừng lại.

Sau khi STOP nếu Click START nữa thì banh lại di chuyển tiếp từ chỗ đã ngừng lại.

Trong khi banh đang di chuyển nếu click START thì banh sẽ trở thành bouncing xuống rồi lên không ngừng và click nút STOP không hiệu quả

Phần script rất quan trọng nên cần quan sát kỷ sau đây khi chép vào notepad.

function diChuyen(ID,L,T){

var object=document.getElementById(ID);

object.style.left=L+'px';

object.style.top=T+'px'; } // Quả banh cần phải có 3 parameters là ID,L,T.

var i=0

function tangDan(){

x=100+12*i; // trị số của x tăng dần theo i. i means increment

y=20+1.2*i*i // hàm số parabol y=x*x.Khi x tăng i thì y tăng i*i

diChuyen('banh',x,y) // passing values banh,x,y to parameters ID,L,T

i=i+1; // i=i+1 nghĩa là i++

if(i>15){clearInterval(t);i=0}

}

Với script trên,quả banh di chuyển đi xuống theo đường parabol.

Thay đổi dấu cộng bằng dấu trừ của 1.2*i*i rồi viết y=300 -1.2*i*i thi quả banh sẽ di chuyển đi lên theo đường parabol .

Khi quả banh đang bouncing,nếu muốn stop thì huỷ bỏ chữ clearInterval(t).

Quý bạn nên học sâu script code nầy vì đó là nền tảng giúp chúng ta có thể tạo bouncing cho quả banh theo những chiều tuỳ ý chúng ta.

Thí dụ nếu chúng ta xóa bỏ parameter L và cũng phải xóa bỏ luôn tất cả những gì có liên hệ đến L rồi viết lại như sau thì sẽ có quả banh bouncing theo chiều thẳng đứng y.

function diChuyen(ID,T){

var object=document.getElementById(ID);

object.style.top=T+'px'; }

var i=0

function tangDan(){

y=300-5*i*i

diChuyen('banh',y)

i=i+1;

if(i>5){i=0;}

Nếu muốn có bouncing theo chiều ngang x thì xóa bỏ parameter T và những gì liên hệ đếnT

Friday, September 2, 2011

JAVASCRIPT LÀM DI CHUYỂN QUẢ BANH KHÔNG DÙNG parseInt( )


JAVASCRIPT CODE MOVING A BALL WITHOUT USING parseInt( )


Trong bảng html trên chúng ta không dùng parseInt() để làm quả banh di chuyển 
như trước đây.
Trong tường hợp nầy cần đặt ra hai variables : variable object để chứa quả banh 
và variable location để theo dõi vị trí thay đổi của quả banh
(keep the track of the ball location) di chuyển.
Khi chúng ta muốn di chuyển từ left sang right thì chữ loc ám chỉ sẽ khởi hành từ 
left.
Khi muốn di chuyển từ top xuống bottom thì chữ loc ám chỉ bắt đầu khởi hành từ 
top.
Ký hiệu loc+=0.5 nghĩa là location=location+ 0.5 px (Tăng thêm 0.5 pixel cho 
location value.).Muốn tăng bao nhiêu tuỳ ý.Càng tăng quả banh càng chạy nhanh.
Đó là ký hiệu viết theo qui định trong JavaScript.Có thể viết loc=loc+0.5 vẫn có 
kết quả tốt.

Code object.style.left=loc có nhiệm vụ làm cho quả banh di chuyển và khởi 
hành từ bên trái ở vị trí qui định là loc.

Mở browser thì hình quả banh và 2 nút START ,STOP hiện ra như hình ở bên
 trái phía trên cùng.Quả banh ở vị trí 0 pixel đối với thành khung bên trái và 50px
 đối với thành khung đỉnh đầu.
Khi click nút START , quả banh bắt đầy chạy từ vị trí 0 pixel.Click nút STOP thì
 quả banh liền nhảy về vị trí đã khởi hành và dừng tại đó vì chúng ta đã ấn định 
như vậy trong function stop̣(){clearTimeout(t) ; object.style.left=0 }
Muốn cho quả banh chạy từ trên xuống dưới thì chỗ nào có chữ left thay 
bằng chữ top.
Bài kế tiếp là "Javascript code for a bouncing ball ." rất thích thú vì làm quả
 banh tự động chạy xuống tới vị trí qui định rồi tự động quay trở về nhanh hay 
chậm tùy ý rồi lại chạy trở xuống.Cứ tiếp tục như vậy cho đến khi chúng ta muốn 
stop.

Thursday, August 11, 2011

NHỚ THƯƠNG QUÊ NỘI QUÁ CHỪNG

Hà Kỳ Lam viết về Gò Nổi

“Thực ra Quảng Nam chỉ có con sông chính là dòng Thu Bồn phát nguyên từ núi Ngok Ling thuộc tỉnh Kontum với các phụ lưu là sông Tiên,sông Tranh từ vùng Tiên Phước,và sông Vu Gia từ vùng Đại Lộc nhập vào……..

Nói đến làng mạc bên hữu ngạn sông Thu Bồn không thể bỏ qua chi tiết vùng Gò Nổi……..dòng sông phân thuỷ tách ra hai hướng khi bắt đầu đến làng Vân Ly;một nhánh rẻ phải chảy về hướng nam gọi là sông Trước và nhánh rẻ trái chảy về hướng bắc goị là sông Sau….Hai nhánh sông chảy vòng ôm một cù lao với chiều dài khỏang 10 cây số,chiều rộng khỏang 5-6 cây số,rồi lại hợp lưu để tiếp tục hành trình của dòng Thu Bồn ra biển Đông.Cù lao ấy gọi là Gò Nổi…..

Vùng Gò Nổi gồm các làng kể từ hướng trên nguồn xuống : Vân Ly xóm nam,Tư Phú tây,Tư Phú đông,La Kham,Thạnh Mỹ,Bảo An,Xuân Đài,Kỳ Lam xóm nam,Bến Đền tây,Bến Đền đông,,Bàn Lãnh,Dinh Trận,Trừng Giang,Đông Bàn,Cẩm Lậu,Phú Bông,Hà Mật,Thi Lai.Điều đáng nói nhất về Gò Nổi là trong số nhân tài của tòan xứ Quảng thì nơi đây sản sinh phần lớn….”

Nguyễn Văn Xuân viết về Gò Nổi.

Lại ngược sông nữa,bạn sẽ gặp một vùng gọi là Gò Nổi.Đây là vùng trù phú nổi tiếng về ngành dệt các mặt hàng vải,tơ lụa.Cũng vì có tơ lụa nên có những ruộng dâu xanh ngát.Các cô gái làm nghề tằm tang quen ở trong bóng mát nên có tiếng xinh đẹp nhất…….cũng vì có dâu xanh lúa tốt nên Gò Nổi sản xuất biết bao nhiêu danh nhân lừng lẫy trong học vấn,trong chính trị ,cách mạng-Từ Hòang Diệu tới Phạm Phú Thứ,từ Trần Cao Vân đến Phan Thành Tài..Riêng một họ Phan,về lớp sau cũng sản sinh những Phan Khôi,Phan Thanh…thú vị hơn nữa những cô gái Bảo An xinh đẹp một thời.”

GÒ NỔI ĐỔI TÊN PHÙ KỲ NĂM 1953

TRUNG NHÂN VIẾT.

“ Sông Thu Bồn, từ nguồn đổ về đến làng Giao Thủy, rẽ ra làm hai nhánh, một dòng về Kỳ Lam, một dòng về Kiểm Lâm, La Tháp (quê hương Bùi Giáng), tạo ra một vùng gò nổi hình cái thoi, bắt đầu từ làng La Kham đến chót dải đất là làng Hà Mật. Từ đó hai dòng sông nhập chung lại, chảy về cửa Đợi, qua thành phố Hội An, tỉnh lỵ Quảng Nam.

Vùng đất hình thoi này xưa kia dân chúng gọi là Gò Nổi, thuộc quận Điện Bàn. Đến năm1953, tòa hành chánh tỉnh Quảng Nam lập ra khu hành chánh, ông Phan Vỹ là khu trưởng, đặt tên vùng gò nổi này là khu Phù Kỳ, và địa danh ấy vẫn giữ nguyên đến bây giờ.

Dân số Phù Kỳ khoảng chừng hai chục ngàn, sản sinh ra nhiều nhà cách mạng, văn hóa và khoa bảng.

Từ làng La Kham, một con đường đất rộng xuyên qua các làng Bảo An, Xuân Đài, Đông Bàn, Bàn Lãnh, Cẩm Lậu, Phú Bông, Thi Lai, An Trường và Hà Mật, dân chúng trồng dâu, nuôi tằm, dệt lụa, dệt vải. Một số ít trồng mía làm đường ở Bảo An. Thuở ấy, Phù Kỳ còn sản xuất một loại tơ may âu phục nổi tiếng trong nước là hàng tít-so bằng tơ tằm sợi lớn, càng cũ càng sáng nước ra, thanh niên Tây học ai cũng yêu thích. Khoảng thập niên 30, dân Nam Kỳ lục tỉnh ăn mặc đơn giản, đa số dùng lãnh đen hay lãnh Mỹ a, nhuộm mặc nưa. Loại lãnh này dệt bằng tơ tằm ở hai quận Duy Xuyên và Điện Bàn mà khu Phù Kỳ là đông dân làm nghề dệt hơn cả. Tuy là nơi sản xuất, nhưng loại hàng này dệt ra không dùng ngay được mà phải đưa vào Hốc Môn, Tân Châu nhuộm, xong mới tung ra thị trường tiêu thụ là lục tỉnh Nam Kỳ, sau đó là Nam Vang, Cao Miên. Nhờ vào nguồn tiêu thụ rộng lớn đó, dân Phù Kỳ làm ăn phát đạt, giàu có và ngành dệt phồn thịnh nhất Quảng Nam. Năm 1940, đã có nhiều nhà cất theo kiểu Tây, ở Thi Lai, ông Võ Dẫn sầm xe Traction 11.

Nguyên do khiến tiểu công nghệ dệt phát triển là một sự việc khá lý thú. Trước kia dân chúng dệt lụa bằng tay, chân đạp, tay phóng thoi; ba hay bốn ngày mới được một cây lụa hai mươi thước. Đến khoảng năm 1927, một người Pháp muốn kinh doanh ngành dệt, mua một máy dệt bằng sắt, chở đến Hội An, nhưng vì nhiều lý do phức tạp đã không dùng được. Tình cờ ông Võ Dẫn (tức Cửu Diễn) xuống Hội An chơi, thấy cái khung dệt này. Tuy xuất thân chỉ là thợ dệt, học hành chẳng bao nhiêu, nhưng ông rất thông minh, chỉ nhìn qua khung dệt một lần, về nhà ông lấy gỗ mít đóng một khung cửi hoạt động tương tự như cái khung cửi sắt đó. Ông phối hợp cả gốc tre (làm tay đánh cái thoi), quai guốc da bò, niềng thép. Thay vì máy sắt chạy bằng điện, ông chế ra đạp bằng chân. Dệt tay mất ba, bốn ngày mới được một cây lụa, dệt đạp bằng chân chỉ tốn có một ngày. Làm thành công, sợ người bắt chước, ông lấy thùng thiếc đựng dầu hôi, cắt từng tấm đóng kín khung dệt, chỉ chừa những bộ phận không thể che dậy được. Thế mà có ông thợ mộc Nguyễn Thống, chuyên đóng khung dệt bán cho bà con, đến xem, và chỉ kê tai nghe tiếng máy chạy đều, vài tháng sau ông đã sản xuất ra hàng loạt khung dệt để bán. Từ đó tiểu công nghệ dệt phát triển nhanh chóng, đến nỗi tơ tằm địa phương sản xuất không đủ cung cấp cho khung dệt, phải ra Bắc vào Nam mua thêm tơ sợi.

Thời gian các ông Võ Dẫn và Nguyễn Thống sáng chế ra cái trục quì để dệt hàng cẩm tự (ô vuông âm dương) và hàng có bông nổi, Phù Kỳ rất trù phú, tuy vùng quê nhưng nhà ngói nhiều hơn nhà tranh; Đà Nẵng, Hội An tuy thành thị cũng không bằng được!

Đến năm 1945, chiến tranh bùng nổ, nhà cháy, dân chúng phải tản cư, khung cửi tan tành. Một số chạy vào Sài Gòn, ngụ cư tại vùng Ngã Tư Bảy Hiền, dựng lại nghề dệt. Lúc bay giờ Ngã Tư Bảy Hiền còn là một vũng sình, lần hồi dân Phù Kỳ tập họp lại khá đông. Có thể nói, Ngã Tư Bảy Hiền là khu Phù Kỳ thứ hai vậy……………..

Rời Đông Bàn, Bàn Lãnh, Cẩm Lậu, chúng ta sẽ đến chợ Thu Bông. Nơi đây có một đồn binh Pháp lớn, kiểm soát trọn khu Phù Kỳ. Về chiến thuật, cái đồn này nằm chơ vơ giữa đồng. Về tiếp tế, cả hai bên đồn đều bị con sông Thu Bồn ngăn cách. Từ Vĩnh Điện vào Phú Bông phải qua phà Hoa Trà; từ Phú Bông qua đồn Trà Kiệu phải qua sông và một khoảng đường dài ………………………………………….

Phú Bông có một món ăn độc đáo mà bất cứ ai là dân Phù Kỳ đều ưa thích, đó là món ram bà Thiều. Ram là món ăn chơi đặc biệt của xứ Quảng, tương tự như món chả giò, chỉ khác là nhân làm bằng một con tôm, một lát thị ba chỉ, một củ hành lá, cuốn tròn đem rán mỡ. Khi ăn, trải miếng bánh tráng mỏng, thêm một miếng bánh tráng nướng, và rau thơm, đặt cuốn ram lên, hai tay nhẹ nhàng cuốn tròn lại, túm đầu túm đuôi cho cuốn bánh trong long bàn tay và bóp mạnh. Miếng bánh tráng nướng rệu kêu giòn, nhiên hậu mới chấm nước mắt ớt đưa vào miệng. Cái bánh tráng loại này mỏng vừa phải, nhúng nước vẫn bền nên dù bóp mạnh mà không rách. Cái món ăn cầu kỳ quê mùa này, nhắc để mấy lão già xa xứ còn sót lại tưởng niệm mà thôi, con cháu của mình, dù là gốc Phù Kỳ, mấy đứa còn nhớ !....”


Hai miền thương

Quê hương tôi bên ni đèo Ải

Nhấp nhô bóng thuyền cửa Đại

Già nua nếp phố Hội An

Ngũ Hành Sơn năm cụm ngắm sông Hàn

Chùa Non Nước trầm tư hương khói quyện

Đêm Đà Nẵng vọng buồn cơn sóng biển

Bún chợ Chùa, thương nước mắm Nam Ô

Tôi muốn về Trung Phước giữa mùa ngô

Thăm quê ngoại Đại Bình cam đỏ ối

Sáng Duy Xuyên, tơ vàng giăng nghẽn lối

Chiều Điện Bàn, xe đạp nước thay mưa

Sông Thu chẳng thiếu đò đưa

Ngọt khoai Tiên Đõa, mát dừa Kiến Tân

Quế Sơn núi liếp mấy vần

Thương bòn bon Đại Lộc, nhớ rượu cần Trà My

Trăm người đi, vạn người đi

Đưa chân tám hướng còn ghi vết đời

Thủy triều sông Cửu đầy vơi

Nước tìm biển cả, tình người tìm nhau

Hai miền thương, một nhịp cầu

Ga xưa còn nhớ con tàu viễn phương

1964

Tường Linh
-----------------------------------------------------------------------------------------

Thành Thái Thứ 10-Năm Mậu Tuất

(Chép lại từ gia phả / 2005)

BÀI CA NGŨ̃̃ PHỤNG TỀ PHI

Nhân tài lỗi lạc Quáng Nam

Văn danh minh phụng vẽ vang tỉnh nhà

Niên canh Mậu Tuất lịch ta

Năm ông ứng thí quê nhà Quãng Nam

Ngô Chuân,Phạm Liệu,Phan Quang

Cùng ông Phạm Tuấn một làng văn chương

Kế liền Hiễn Tiến họ Dương

Người đều ca tụng sắc hương ai bì

Ca rằng Ngũ Phụng Tề Phi

Năm ông cùng đỗ khoa thi một lần.

---------------------------------

GÒ NỔI

Nội tôi Cẫm Lậu Địên Bàn

Gò Nổi mía, lúa Thu Bồn bọc quanh

Văn tài có một nổi danh

Cụ Dương Hiễn Tiến một trong năm người

Niên hiệu Thành Thái thứ mười

Cùng đậu Tiến Sĩ bảng vàng tề phi.

heduong / August / 2011