Đề tựa

Phật Tổ hỏi A-nan-đà : “Con yêu người con gái ấy đến nhường nào?”

A-nan-đà đáp : “Nguyện hóa thành cây cầu đá, chịu năm trăm năm gió thốc, năm trăm năm nắng đổ, năm trăm năm mưa sa, chỉ mong người con gái đó đi qua cầu.”

Hỏi thế gian tình ái là chi…

Cách đây tầm 2 tháng, tôi cùng một người bạn ngồi nghỉ trưa tán gẫu tại hành lang phòng học. Trong lúc ngồi vu vơ chờ vào tiết buổi chiều, tôi bắt gặp hình ảnh người con gái ấy.

Tựa như cả ngàn năm hương sắc tựu về trong một khắc, vạn tiếng sét vang rền trong một sát-na.

imageCrawler.png

 

Khi anh vừa sinh ra

Oe oe dăm tiếng khóc

Lúc ấy em ở đâu

Làm sao mà anh biết…

Kể từ khoảnh khắc ấy, hình bóng ấy không cách nào tẩy xóa đi được trong tâm trí tôi. Nhưng nhớ thương thầm bao nhiêu, tưởng mộng đến một bóng hình mà thậm chí đến cái tên còn không biết thì khác gì dã tràng vô vọng se cát Đông Hải…

Sau nhiều đêm trăn trở nghĩ suy, chợt một ý nghĩ đến với tôi. Còn cách nào khác hơn là tra tìm thông tin người ấy trên hệ thống trường?

Nghĩ là làm. Ngay trong đêm tối, tôi bật dậy, mở máy và tiến hành tìm. Tìm trong vô vọng…

Hai nhà ở hai nơi 

Cách nhau nghìn cây số 

Mẹ vẫn biết anh buồn 

Nên sinh em từ đó 

Hiện thực

Tra bằng gì khi mà thậm chí tuyệt không có chút đầu mối. Chẳng lẽ tra từng mã số một. Làm như vậy tới lúc thu được kết quả chắc người ta đã là gái một con trông mòn con mắt rồi 😥 Nghiệt ngã quá…………

Rồi ý chí nung nấu niềm tin. Tại sao lại gục ngã sớm vậy. Học CNTT để làm gì? Là để dùng vào những lúc như vầy đây. Bình tĩnh suy xét và lục lọi trên hệ thống xem. Không có hệ thống nào là tuyệt đối cả. Có chăng cũng chỉ là trong thời điểm nhất định. Sắt đá cũng còn mòn theo tháng năm mà.

Thử mở 1 tấm hình bất kỳ, tôi thu được liên kết kiểu:

http:/xyxyxy.edu.vn/GetImage.aspx?MSSV=xxxxxxx

Bất chấp cái mớ unicode và undefined unicode lẫn lộn trên màn hình đi. Chỉ cần thấy “ExifII,  CanonCanon PowerShot G10, Adobe Photoshop CS6 (Windows)2015:09:24 14:20:39” gì gì đó là đoán được đây là hình ảnh rồi. Biết tại sao tôi biết nhanh không?

Chơi CTF mấy câu Steganography đi sẽ hiểu ra ngay =)))

imageCrawler1

Bầu trời hy vọng là ở đây. Thử thay đổi cái chuỗi mã số xem sao. Và đúng như mong đợi, không cần phải query rắc rối vướng mã captcha nữa, nó thẳng tiến tới cái hình mang mã ta vừa gõ liền! Cũng tùy mã nhập vào có tồn tại tương ứng sinh viên nào không. Có một số mã khuyết nên không query ra được là chuyện bình thường.

Thấy bóng ai qua cũng giật mình

Nhiều người cắc cớ giống y em

Tóc ai cũng ngắn ngang lưng cả

Cứ thể như là em tái sinh…

Trắc trở nhân duyên lần thứ n… Không thể gõ tay từng mã để kiểm tra được 😥

Con số sinh viên lên tới hàng chục hàng trăm ngàn, biết sao mà tra cho hết. Chưa kể, mỗi lần query như vậy, tốn cỡ 5 giây là ít để hệ thống trả về kết quả trên trình duyệt. Đặc biệt hơn, query liên tục kiểu này dám một hồi hệ thống trường hiểu thành mình đang DOS vào nó => block IP => drop connection => cry a lot.

lie-try-cry-down-not-to-cry-a-lot-via-13893911

Nồng nàn lên với

Cốc rượu trên tay

Xanh xanh lên với

Trời cao ngàn ngày.

Dài nhanh lên với

Tóc xõa ngang mày

Lớn nhanh lên với

Bé bỏng chiều nay…

Khóc đến cạn nước mắt đi em, cho nhẹ lòng. Rồi mình ngủ một giấc để sáng mai thức dậy thấy ngày mới sưởi ấm con tim này. Nói vậy thôi =))) chứ ngay lúc đó tôi đã quyết định, tạo ra một cái tool nho nhỏ tải liên tục hình về một loạt cho xong. Việc gì phải làm tay vừa chậm vừa nguy hiểm. Với tốc độ mạng lúc 3h sáng thì không việc gì là không thể.

Vẫn là ngôn ngữ C# quen thuộc. Khó mà thay thế được trong một sớm một chiều, nhất là khi bạn đã gắn bó với nó nhiều nhất trong 3 năm qua. Trước tiên là kéo ra một cái giao diện cho ra hồn đã.

imageCrawler_main

Cho nó một thanh tiến trình tải để đẹp mắt. 🙂 Bây giờ chỉ cần nhập mã sinh viên bắt đầu, tổng số lượng hình muốn cào, rồi GET một cái và chờ. Vì tool giúp tải hình về máy chứ không cần render lên Web Browser nên dĩ nhiên cũng giảm thiểu được phần nào thời gian.

Nói vụ render lên trình duyệt, ta để ý khi thử chạy cái link query hình trên trình duyệt, nó không trả về hình ảnh mà toàn là mã ký tự unicode và  không? Là do đây là hình ảnh, nhưng result trả về không có phần extension nên vậy đó.

Phương thức Path.GetExtension trong C#

Tải cái file đó về, dùng một công cụ nào đó như HxD chẳng hạn, view lên, tìm format= sẽ biết được định dạng của nó ngay.

Đêm đêm anh thức viết

Để mong xua được mùa đông

Ra khỏi trái tim em

Cùng với những âu lo và phiền muộn

Để mai đây trên con đường dài dẫu nhiều trắc trở

Em chỉ gặp toàn niềm vui…

Cấu trúc chương trình tải hàng loạt chỉ đơn giản dùng lớp WebClient thôi. Phương thức download là DownloadFileAsync().

imageCrawler4

Còn 2 phương thức nữa là wc_DownloadProgressChanged và wc_DownloadFileComplete chỉ để khai báo các giá trị cho thanh tiến trình và trạng thái thông báo khi tải xong thôi.

Tới đây thì cào về thôi >< ><

…mà đôi lứa thề nguyền sống chết

Kéo về bình thường, nhưng thật ra còn trục trặc logic trong đó. Nhưng bất chấp, kéo được hình về là mừng rồi. Từ từ sửa sau. Cảm giác đợi chờ mỏi mòn mới gặp lại, thật ra chỉ muốn bất chấp tất cả để chạy tới ôm người ấy một cái. Siết thật chặt vào lòng để thấy bao mỏi mệt tan đi trong tíc tắc.

Là khi mọi thứ chẳng còn ý nghĩa gì quan trọng. Là cả trời thương nhớ khắc khoải muốn gặp lại nhưng chưa đủ duyên cũng chẳng đầy nợ. Là hơi thở ấm nồng, là ánh mắt chứa chan, là đôi tay thon dài trắng trẻo vòng ôm những ngày rét mướt cuối đông…

Ngôi sao may mắn

Một ngày rồi thôi

Về nhìn nước chảy

Nghe sông vắng người

Đời không thiếu cái nghiệt ngã.

Nhà Phật có câu:

Đời người có bảy nỗi khổ: sinh, lão, bệnh, tử, cầu mà không được, yêu mà biệt ly, hận mà sống cùng.

Bảy nỗi khổ này, đời người khó thoát. Đức Phật dạy con người nên sớm giác ngộ là vì vậy…

Khi không có thì cố gắng cưỡng cầu. Đến lúc có rồi, lại quá nhiều không thể lựa chọn. Câu chuyện lúc này trở thành bất khả kháng khi mà số lượng hình ảnh kéo được về quá nhiều. Lúc này đây, không thể nào dùng máy để so sánh khuôn mặt được – sẽ được nếu dùng machine learning với đầu vào rõ ràng. Còn với trường hợp “ở đây sương khói mờ nhân ảnh” như tấm hình ban đầu, làm sao mà máy tính so sánh được ???

Ai, ôm vai ta, xua ta một đời tịch mịch Ai, gọi trái tim ta, che ta một kiếp tủi hờn.

===== Thương Ương Gia Thố =====

Chấp mê bất ngộ, biết làm sao được.

“đến lúc nhận ra, thì đã là chuyện cả đời rồi.”

Bởi cuộc đời không nên cưỡng cầu. Tôi sớm nhận ra điều đó từ khi tôi đọc được nó cách đây vài năm.

Chúng sinh chính từ không có, vì tham lam sân si mà đau khổ.

Biết, nhưng vẫn lao đầu vào. Đó là điều đau khổ nhất thế gian.

Bởi, nhớ đến tích Thanh Xà Bạch Xà bên Tàu ngày xưa. Khi Thanh Thanh vì chứng kiến nghiệp cảnh, đã đứng giữa trời đất nói to: “Trừ khi trời đất hỗn độn, ngày đêm bất phân. Nếu không, Tiền Thanh Thanh ta xin thề, không làm người nữa“.

imageCrawler7

Anh ôm trái tim Trương Chi

Chờ tan trong nước mắt

Đi tìm em qua những chợ búa và xóm làng

Qua những chiều tắt nắng

Dấu chân anh trong cỏ

Còn đọng đầy mưa xuân

Dẫu rằng khi anh yêu em

Em giấu anh đi yêu kẻ khác…

VÕ TÌNH THƯƠNG

votinhthuong9@gmail.com