Archive for December 2009

Từ nghèo kiết xác, cuộc đời tôi nay đã sang trang mới

December 23, 2009

Chào chú Hùng,

Đọc bài viết của chú, cháu như tìm thấy chính mình trong đó. Cháu không còn ở lứa tuổi mới lớn chập chững vào đời nhưng cũng chưa đủ lực và trí tuệ để thực hiện một phương án làm giàu như hoài bão của mình.

Gia đình cháu nghèo, “nghèo rớt mồng tơi” như người đời vẫn nói. Thực tế, ngày trước nhà cháu làm nghề nông. Cũng có vài công đất để ngày ngày vợ, chồng, con cái kéo ra đồng , khi thì gieo hạt, cuốc đất, bón phân, thu hoạch. Mỗi năm 2,3 vụ, bắp, đậu, lúa cứ xoay vòng. Ai cũng nghĩ, ngày hân hoan nhất của nhà nông là ngày thu hoạch, nào ai biết sau những bức tranh rộn ràng, tấp nập, gặt mùa là biết bao tâm trạng, rạng rỡ trên những gương mặt được mùa, nhưng đôi lúc lại là những nếp nhăn âu sầu, lo lắng và thất vọng do thất mùa, do phải trả nợ, do đã bán “nông sản non” để mua gạo, mua phân trước đó. Và rồi, Ba cháu làm thêm nghề đánh cá để kiếm tiền nuôi vợ và 5 đứa con thơ ăn học.

Ba tuổi, cái tuổi thơ mà người ta gọi là đẹp nhất. Cháu biết theo chị đi bán bắp ở chợ chiều. Lên 5 tuổi, khi bạn bè cùng trang lứa tung tăng đến trường mẫu giáo cùng ba mẹ thì cháu chiều chiều lại ra bến phà nhặt củi về cho mẹ nấu cơm hoặc đem bán. Rồi cháu cũng được đi học, vào lớp 1, học hết phổ thông, thậm chí là đến bây giờ, 27 tuổi cháu vẫn còn là một sinh viên đại học.

Cháu may mắn sinh ra trong một gia đình hiếu học. Dù nhà nghèo, đi làm quanh năm suốt tháng mặc cho mưa, bão, sóng gió và cả ngày quốc tế lao động 1-5, nhưng ba mẹ cháu vẫn chưa bao giờ có ý định cho con cái nghĩ học. Mà ngược lại, ba luôn khuyến khích và làm mọi cách để con cái được đến trường. Một ngày mưa tầm tã, chị em cháu đang trong kỳ thi học kỳ, cả xóm mất điện. Ba quyết định trèo lên mái nhà hàng xóm để sửa điện dù biết rằng nguy hiểm vô cùng. Nhưng vì vùng sâu, vùng xa, cả xóm chỉ có một cầu dao điện chung mà gọi mấy ngày rồi cùng chưa thấy bác thợ điện về làng.

Hẳn Chú không có gì ngạc nhiên khi nghe cháu nói ” đến bây giờ cháu vẫn còn là một sinh viên”. Năm cháu học lớp 6, Ba cháu phải nằm ở bệnh viện Chợ Rẫy mấy tháng trời để mổ Thận. Và sau đó, Ba yếu hẳn đi, sức khỏe không còn như trước. Chiếc ghe bủa lưới và vài công đất đã bán để trang trải khoảng viện phí đắt đỏ so với một nhà nông. Mẹ lại bệnh sau đó, số đất còn lại được bán tiếp để cho mẹ đi Sài Gòn trị bệnh. Hai chữ Sài Gòn thời đó nghe xa xỉ vô cùng. Ai được đi Sài Gòn chơi là cả 1 ước mơ. Gia đình cháu bỗng chốc rơi tỏm vào một vị trí bèo bọt nhất của xã hội. Còn một số vốn nhỏ từ lần bán đất thứ 2, Ba bán luôn căn nhà đang ở và mua một miếng đất nhỏ ở thị trấn, cùng đứa em trai 8 tuổi của cháu bán vé số hằng ngày để nuôi gia đình qua bữa. Chị em cháu vẫn đi học, trong sự nghèo khó,c ũng may thay, được hỗ trợ từ phía nhà trường và xã hội dưới diện “ nghèo”.

Năm 18 tuổi, ngày chuẩn bị thi tốt nghiệp PTTH, cháu làm ngay 1 bộ hồ sơ xin việc, những mong có thể tìm được việc gì đó ngay sau đó để giúp đỡ cho Ba Mẹ. Nhưng cháu cũng khát khao được đi thi đại học một lần như chúng bạn. Thế rồi, sự khát khao đó thôi thúc cháu nộp đơn đi thi vào Trường Du Lịch. Không phải là Trường Đại Học mà chỉ là một trường nghề. Mong muốn của cháu lúc đó là làm sao để ra trường thật nhanh để đi làm, để kiếm tiền, và để giúp gia đình. Cháu thi đỗ, cầm lá thư báo nhập học kèm theo bảng thông báo học phí khiến nụ cười trên môi cháu tắt hẳn, niềm hy vọng được là sinh viên vừa lóe lên biến mất ngay trong tư tưởng.

Cháu giấu lẹm tờ giấy báo ấy cho đến cận ngày nhập học. Cháu cầm đến và đưa cho Ba. Ba hiểu tất cả và ôn tồn nói: “ Nhà mình đông con, con còn 3 đứa em nữa, Ba mẹ chỉ có thể lo cho con đến 18 tuổi. Giờ con đã đủ lông, đủ cánh, con có thể tự bay vào đời được rồi”. Tối hôm đó, ngồi dưới trăng, nước mắt cháu lăn dài trên má. Cháu không trách Ba, cháu hiểu gia đình mình đang khó khăn thế nào và cháu quyết định lên Sài Gòn học với kỳ học phí đầu tiên ba mẹ tích góp cho mình. Những mục tiêu phải có bằng ngoại ngữ, vi tính trong 18 tháng dường như bị bỏ lại trong lãng quên. Cháu lao vào các công việc làm thêm bất cứ giờ nào được rảnh, và bất kể ai mướn. Từ bán quán cơm, phục vụ nhà hàng và cả làm gia sư để có tiền ăn cơm, chi trả điện nước và đóng học phí cho các kỳ sau.

Gần như những công việc tay chân đã chiếm hết thời gian của cháu nên ngủ gục trong lớp học, trong thư viện, trên xe đạp khi trở về không phải là chuyện hiếm. Có những ngày bệnh chỉ còn đủ tiền mua thuốc, phải ăn nhờ nữa ổ bánh mì của bạn học mà uống thuốc, 500 đồng gửi xe đôi lúc trở nên khan hiếm và cháu phải xin khất nợ với anh bảo vệ trong trường mà không một ai hay biết. Những cuộc chơi cùng bạn bè với cháu là cả một thú vui xa xỉ vì ăn mì gói hàng tháng thường xuyên, bịch bánh mì 6 miếng (2000 đ) luôn là bạn đồng hành trong cặp sách mỗi khi ở lại thư viện học bài. Hầu như chưa bao giờ cháu tham gia những cuộc vui “ có đóng phí” do trường hay lớp tổ chức. Mặc dù vậy, cháu chưa bao giờ chùn bước. Ngược lại, hàng tuần cháu vẫn dành 2000 đồng để đến CLB Tiếng Anh vào sáng chủ nhật để tập nói ngoại ngữ và giao lưu với bạn bè. Hiếm khi được rảnh rỗi để ngồi nghĩ ra một cách kiếm tiền nhiều hơn, dễ hơn với một cô bé nông thôn 18 tuổi, một cô sinh viên không dám mua sách chuyên nghành để học, nghèo kiết xác, chiếc xe đạp cũ thường xuyên bị trật chân chó, chiếc áo dài cũ xin của cô em họ và đôi giày đứt quai vẫn còn cài hậu để tiện cho đi lại. Chạy xe lạch cạch trên con phố tấp nập người, cháu ngẩn ngơ với ý nghĩ “cái khó bó cái khôn”. Thầm nghĩ không biết bao giờ mình được như bạn bè cùng trang lứa.

Rồi cuộc sống cũng mỉm cười với cháu. Cuộc đời cháu mở sang một trang mới, khang trang hơn. Cháu ra trường với cái bằng loại khá và một công việc đúng chuyên ngành. Cháu dọn về ở trọ cùng cô bạn thân với căn phòng nho nhỏ nhưng ấm áp và thoải mái hơn; được ngả lưng ngay khi về nhà; điều mà trước đây cháu chưa bao giờ có thể khi phải ở nhờ nhà Cậu Mợ. Được học bài ngay trong phòng thay vì phải ngồi dưới cây cột điện hằng đêm, thậm chí là bữa cơm tối trong tĩnh mịch.

Một năm sau, em cháu vào Đại Học, thật may mắn là ĐH Sư Phạm thì SV không phải đóng tiền học phí. Nhưng đồng lương trung cấp chân chính của cháu không đủ để 2 chị em cháu có cuộc sống đầy đủ nơi đất khách. Cháu quay trở lại tất bật với 2 công việc (16 tiếng mỗi ngày) mới mong có thêm chút tiền mua quà cho em út những lúc về quê chơi hay lễ, tết. Như một thói quen, hễ được nghỉ hè hoặc rãnh rỗi, cháu lại tìm thêm việc gì đó để làm, để kiếm tiền như một người nô lệ bị đồng tiền chi phối.

Thú vui duy nhất của cháu không phải là mua sắm, họp mặt bạn bè, hay đi chơi với bạn trai… mà vô cùng đơn giản, chọn một góc khuất trên tầng cao của quán café nào đó khi rảnh rỗi, ngồi gặm nhấm café và nhìn người người qua lại và ngẫm lại những gì đã trải qua trong đời, vẽ ra một viễn cảnh tươi đẹp của ngày mai. Cái cảm giác được thoát khỏi dòng người tất bật, chen lấn mưu sinh thật thú vị làm sao! Trong phút chốc mình bỗng là một thượng đế dẫu biết rằng ngày mai, khi bình minh ló dạng, cũng là lúc mình trở về với cuộc sống đời thường, tất bất như bao ngày, như bao người, thậm chí còn vất vả nhiều hơn để vươn lên, vươn xa…

Thời gian thấm thoát thoi đưa, còn một năm nữa em trai cháu ra trường. Công việc tạm ổn định vì cháu được sếp tin tưởng và thương như con cháu. Cháu quyết định thi vào đại học dưới sự động viên nhiệt tình của sếp và đồng nghiệp; và cũng cho thỏa lòng khao khát ước mơ. Niềm vui được đến trường bừng lên và cháu thấy hạnh phúc vô cùng khi mỗi tối lại được đi học sau giờ làm, được học triết học, xã hội học, toán cao cấp… Những môn học mà hầu như nhiều sinh viên không lấy gì làm hồ hởi khi nhắc đến. Mấy tháng sau, được tin Cô em gái vừa đậu vào một trường cao đẳng trong thành phố. Niềm vui đến cùng với nỗi lo mặc dù gia đình đã khá hơn ngày trước. Số tiền Ba kiếm được cũng chỉ để có cuộc sống no ấm ở quê nhà chứ ở Sài Gòn, nó chẳng thấm thía là bao. Cháu lại làm nhiều hơn, lúc này, kiếm tiền không còn quá khó khăn như trước nhưng yêu cầu cuộc sống mỗi lúc một cao hơn, cháu muốn làm một điều gì đó đột phá. Nhưng cháu vẫn chưa có cơ hội, hay đúng hơn cháu vẫn chưa đủ lực và trí tuệ để thực hiện hoài bão của mình. Không dừng lại ở tiền, danh vọng và địa vị…Cháu muốn mình sáng lên từ chính những nỗ lực của mình nhưng sao khó quá như chú đã nói.

Hiện nay, cháu không phải là một Doanh Nhân, cũng chưa có gì để gọi là giàu Nhưng không có lý do gì để cháu phủ nhận sự tiến bộ của chính mình. Với một công việc khá ổn định và một tương lai đang mở rộng, ngẫm lại những ngày mình đã đi qua, cháu viết lại câu nói ngày xưa trên trang sách mới của cuộc đời mình: “ Cái khó ló cái khôn” . Và cháu sẽ cố gắng, cố gắng nhiều hơn nữa để thực hiện những điều mình đã ấp ủ từ lâu.

Cháu không thể so sánh với chú được, mỗi người có một hoàn cảnh khác nhau và sẽ có những cách xử lý khác nhau. Nhưng cháu thấy đồng cảm với bài viết của chú nên viết ra trang đời của mình. Mong rằng những ai có hoàn cảnh giống cháu sẽ không quá tự ti, mặc cảm để tiếp tục sống, lao động và phấn đấu nhiều hơn…vì có rất nhiều những mảnh đời khó khăn, cũng đang bươn chải mưu sinh, ngụp lặn giữa dòng đời như mình vậy…để cùng vươn tới một ngày mai bình minh rực rỡ, vẹn tròn hạnh phúc.

Xin chúc Chú và những ai đang đọc bài viết này luôn thành công và hạnh phúc, sớm thực hiện được những ước mơ và hoài bão của chính mình.

(Source: http://vnexpress.net/GL/Ban-doc-viet/Kinh-doanh/2009/12/3BA16EB1/)

Timer and Window Service in C#

December 7, 2009
Step 1. Create Skeleton of the Service

To create a new Window Service, pick Windows Service option from your Visual C# Projects, give your service a name, and click OK.

The result look like this. The Wizard adds WebService1.cs class to your project.

Set your ServiceName to your own name so it would be easier to recognize your service during testing OR you can set this property programmatically using this line this.ServiceName = “mcWinService”;

This is the name you will be looking for later :).

The default code of WebService1.cs added by the Wizard looks like here

namespace mcWebService
{
using
System;
using
System.Collections;
using
System.Core;
using
System.ComponentModel;
using
System.Configuration;
using
System.Data;
using
System.Web.Services;
using
System.Diagnostics;
using
System.ServiceProcess;
public class
WinService1 : System.ServiceProcess.ServiceBase
{
/// <summary>

///
Required designer variable.
/// </summary>

private
System.ComponentModel.Container components;
public
WinService1()
{
// This call is required by the WinForms Component Designer. InitializeComponent();

// TODO: Add any initialization after the InitComponent call
}
// The main entry point for the process
static void
Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// More than one user Service may run within the same process. To add
// another service to this process, change the following line to
/ create a second service object. For example,
//
// ServicesToRun = New System.ServiceProcess.ServiceBase[] {new WinService1(), new
ySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new
WinService1() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
/// <summary>

///
Required method for Designer support – do not modify
///
the contents of this method with the code editor.
/// </summary>

private void
InitializeComponent()
{
components =
new
System.ComponentModel.Container();
this
.ServiceName = “WinService1”;
}
/// <summary>

///
Set things in motion so your service can do its work.
/// </summary>

protected override void OnStart(string
[] args)
{
// TODO: Add code here to start your service.
}
/// <summary>

///
Stop this service.
/// </summary>

protected override void
OnStop()
{
// TODO: Add code here to perform any tear-down necessary to stop your service.
}
}
}

Step 2. Add functionality to your service

As you saw WebService1.cs, there are two overridden functions OnStart and OnStop. The OnStart function executes when you start your service and the OnStop function gets execute when you stop a service. I write some text to a text file when you start and stop the service.

private static System.Threading.Timer serviceTimer;

protected override void OnStart(string[] args)
{
FileStream fs =
new
FileStream(@”c:\temp\mcWindowsService.txt” ,
FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter =
new
StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(” mcWindowsService: Service Started \n”);
m_streamWriter.Flush();
m_streamWriter.Close();

TimerCallback timerDelegate =   new TimerCallback(DoWork);

// create timer and attach our method delegate to it
serviceTimer =
new Timer(timerDelegate, null, 1000,10000); //(x,y,delay before start, interval between invocations of callbacks)

}
/// <summary>

///
Stop this service.
/// </summary>

protected override void
OnStop()
{
FileStream fs =
new
FileStream(@”c:\temp\mcWindowsService.txt” ,
FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter =
new
StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(” mcWindowsService: Service Stopped \n”); m_streamWriter.Flush();
m_streamWriter.Close();
}

private void DoWork(object state)
{
FileStream fs = new FileStream(@”c:\temp\mcWindowsService.txt”,
FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(string.Format(” Doing work: {0} \n”,DateTime.Now.ToString())); m_streamWriter.Flush();
m_streamWriter.Close();

}

After Step 2.

Please follow the below mentioned step before jumping to Step 3.
Step 2.5 :

a) Return to Design view for WinService1.

b)Click the background of the designer to select the service itself, rather than any of its contents.

c)Rigth click on the Designed Windows and in the Properties window, click the Add Installer link in the gray area beneath the list of properties.

d)By default, a component class containing two installers is added to your project. The component is named ProjectInstaller, and the installers it contains are the installer for your service and the installer for the service’s associated process.

e)Access Design view for ProjectInstaller, and click ServiceInstaller1. In the Properties window, set the ServiceName property to MyNewService. Set the StartType property to Automatic.

f)In the designer, select ServiceProcessInstaller1 (for a Visual Basic project), or serviceProcessInstaller1 (for a Visual C# project). Set the Account property to LocalService. This will cause the service to be installed and to run on a local service account.

After the above procedure, try re-registering using InstallUtil utilities.

g) Create folder: C:/temp

Step 3: Install and Run the Service

Open Visual Studio 2008 Command Line with administrator right.

Install: installutil /i C:\Banana\References\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe

Uninstall: installutil /u C:\Banana\References\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe

Sometimes, it is quite difficult to remove a service (if the service is error by installer). The uninstalled way can be solve by manual.

  • Open Start, Run, type: regedit, enter
  • HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
  • Delete suitable service .
  • Restart

Step 4: Start and Stop the Service

You need to go to the Computer Management to Start to start and stop the service. You can use Manage menu item by right clicking on My Computer.

Under Services and Applications, you will see the service mcWinService. Start and Stop menu item starts and stops the service.

Step 5: Test the Service

Go to your temp directory and see if text file is there with contents or not.
Reference: http://www.c-sharpcorner.com/UploadFile/mahesh/window_service11262005045007AM/window_service.aspx