Installing SATA Hard Drive with Windows XP (Without Floppy Drive)

As we know, Microsoft stopped Windows XP selling product to new computer purchasing in order to overcoming Windows Vista. On recent days, new computers or notebooks product which has the requirement hardware are now capable to use it. It will run, but slow (a very to me). To make it double faster running OS, try to using Windows XP.

One problem found that lots of newest computers or notebooks are equipped with a SATA interface hard drive that not all recognized by Windows XP installer. It would ask the SATA driver for the hardware and you must provide it before continue to installing the rest processes.

For example, a week ago I’ve purchased an Acer Travelmate 6291-100508. This sub-notebook are comes with Intel Core 2 Duo 1,66 GHz processor, 80 GB SATA hard drive, 512 MB DDRAM, DVD RAM Super Multi, 12.1” WXGA screen & LinPus Linux pre-installed OS. From the selling box, Acer recommended to use Windows Vista hence there are no Windows XP driver CD software included. In manner way, there will no chance to installing it with Windows XP since the installer didn’t recognized the SATA interface. One for sure, Acer website provides all of the Windows XP drivers software, including the SATA driver to support the Windows XP installation. So, how to integrating the bootable installer with the SATA driver software, since I’m not too interesting to buy a USB floppy drive?

First of all, get the SATA driver manufactured from your hardware factory website (Acer link) & download nLite to create a custom Windows XP installer (note that you need .NET Framework 2.0 available from Microsoft download site before running the nLite). Next, from nLite application, browse to the Windows XP CD installer (I’m not responsible to any legally use of Windows XP installer) & let it cached to a specified path:



Then, press Drivers & Bootable ISO button to inserting the SATA drivers & continue to create an ISO image to burn in a CD:



Clicking on Next button, you will be prompted to inserting from the source disk of SATA drivers software:



Insert the source disk contain SATA driver files:



Finally, confirmed with YES button to continue to burning the ISO image:



After it finished, let it try to boot from this bootable CD next to your computer or notebook.

  Post a Comment

Preview Siemens GSM Modem (TMA M39i)

The most easiest way to setup an SMS gateway is using custom GSM modem. With it, you don’t have any necessary to contact telecommunication network provider to provide the access number or thinking about the rules of regulation which may break you down. Since it’s need a conventional SIM card just as the same as cellular phone, the control is on your own. But, note about spend you must willing on it. The article below doesn’t have anything related upon Siemens commercial programs, indeed it is the time to share my experience after using this product.



Siemens released the latest (CMIIW) GSM Modem product of TMA M39i series (the predecessor was M35). The previous series I used ever was from series TC35 for couple years ago. The TMA M39i comes with silver colored casing, with size a little bit larger then TC35. Right up in the box, you may find a standard DB9 RS232 cable connection, SMA male antenna connector, standard plug-in power supply & some manual book on a CD (including complete references of AT commands).



The key features of it offered a common you may find in others same class product such as :
- Dual band GSM 900/1800 MHz & GPRS Multi Slot Class 10
- Support for the Package Broadcast Control Channel (PBCCH)
- Standard Interface (not including audio interface)
- Non-Proprietary Accessories, i.e. use any cheaper source
- Integrated SIM Card Holder
- Flexible Mounting: Rail Fixing or Side Mounting Plates

The SMS supported specification such as :
- Point to Point MO & MT
- SMS cell broadcast
- Text & PDU Mode
- Group 3, class 1, 2 Fax specification

The thing why I so love Siemens GSM Modem product is the high of software compatibility. From the previous products, I don’t have ever to make changes the SMS gateway configuration & the system application source. Even if both condition paired with older Siemens cell phone (such as SL45i, ME45, C45 or M45). What I need to do is simply copying the SMS gateway application & make sure that the daemon engine is running every the computer started. Nothing troublesome happened.

Below here is my old configuration of smsd.conf I used until now since the first time I worked on SMS gateway programming continuously using Mandrake 7.2, 8.0, 8.2, Slackware 8.2, 9.1, Fedora Core 4 & Red Hat Enterprise Linux:

devices = GSM1
spool = /sms_folder/outgoing
failed = /sms_folder/failed
incoming = /sms_folder/incoming
sent = /sms_folder/sent
mypath = /usr/local/bin
logfile = /sms_folder/smsd.log
loglevel = 6
autosplit = true
alarmlevel = 4
delaytime = 5
errorsleeptime = 5
blocktime = 3600
eventhandler = /sms_folder/bin/event > /dev/null
stats = /sms_folder/stat
stats_interval = 3600
receive_before_send = true
number_parts = true

[queues]
OTHER = /sms_folder/queue

[provider]
OTHER = 0,1,2,3,4,5,6,7,8,9

[GSM1]
init = ATE0+CPMS="SM"
device = /dev/ttyS1
incoming = true
queues = OTHER
report = 0
mode = new
baudrate = 19200
rtscts = true
cs_convert = true

Labels:

  Post a Comment

Simple MySQL Replication Using FTP

This problem happened to me while finishing my other web based project not so long ago. The scenario was too complex to imagine, but both server must synchronized & had the same record as another in a second. Let see the picture below:



From the picture above, the website visitor accepted to submit their data. While the local server also serve the local data transaction in LAN. So what the point is?

Yes! The thing is … the servers are separate each others. The first server (dedicated as the data center) are served for public internet access which take a place on commercial hosting machine. This web server – as any commercial web hosting – are restricted from any way, except from the user or web administrator who connect from the browser (known as cPanel). There might be no free SMTP port to use, no direct MySQL connection from third party software, limitation to connect to the FTP service automatically. In manner logic, there is no possible way to synchronized both the servers automatically.

So, is there any plan to make it synchronized all the time, 24/7? Yes it is! Thanks to LINUX to allowed me to do this. With full support of cron daemon & bash scripting, it is possible to make it done. The changes are involve in web server & local server. In web server, there is some actions to do such as dumping the database into a file & store it to the directory specified.

/usr/bin/mysqldump –uweb_server_user --password=web_server_password database_name table_name > /path/to/file/specified


The script above must run periodically every second. So, you will need crond daemon help to execute it. The complete syntax is written below:

* * * * * /usr/bin/mysqldump –uweb_server_user --password=web_server_password database_name table_name > /path/to/file/specified


Enough by now. Let’s move on the local server. The local server jobs are quite simple. First, getting the database dump file from the web server, parsing the file, querying the SQL syntax, joining & committing into the local database server, dumping again to the file & last is put the file up to web server path available.

Getting the database dump file from the web server:

ftp ftp.host.address <<FTP-session
binary
get /path/to/file/specified
bye
FTP-session


Parsing the file, querying the SQL syntax, joining & committing into the local database server:

$syncfile = new SyncDBContent("local_server_host","database_name","local_server_user","local_server_password");
$syncfile->exec_syncfile('/path/to/file/specified ');


Again, dumping the database result set into a file:


/usr/bin/mysqldump –ulocal_server_user --password=local_server_password database_name table_name > /path/to/file/specified


Last, putting the file uploaded to the web server:

ftp ftp.host.address <<FTP-session
binary
put /path/to/file/specified
bye
FTP-session


The actions above executed automatically, so create a session file named .netrc in order to auto-passed FTP login. The value of .netrc file is declared below:

machine ftp.host.address
login web_server_user
password web_server_password


Again, you must recombined the process above with crond daemon. Make sure that the script is executed every second. Once it done, you finished with both servers. Now, you have a synchronized between web server & local server. Before do all the rest process, don’t forget to backing up the servers. There is no guarantee that the plan above is work correctly on yours. So, good luck & always take care. Cheers…

Labels:

  Post a Comment

(Another) MySQL Incompatible Built-In Function

The password built-in function in MySQL has different hashing engine since version 5 released. While this issues has been found by my own self after having a tiny research on how to synchronize the both different version in my latest web based project at State Education Department (Departemen Pendidikan Nasional) just couple days ago.

Incompatibility effect had been detected after using the function on the login form. The validation process somehow has failed, even the variable seemed OK. It was proved when I tried execute the SQL query manually. Get a common command below in both MySQL version <=4 and 5:
select password(‘1’);


The MySQL <= 4 would return the result as:
606717496665bcba


While MySQL 5 would return the result as:

*E6CC90B878B948C35E92B003C792C46C58C4AF40


Just for additional information on how to resolve it, the MySQL 5 also support the old password with new built in function old_password. In order to resulting the same value of the password function in older MySQL, you may replace the old code with:

select old_password(‘1’);


and the result is same as the previous version of MySQL:

606717496665bcba

Labels:

  Post a Comment

Hard Drive Benchmarking from Linux

If you trying to find out a similar application likes HDBench in Linux, perhaps you would like consider to use hdparm. This small application basically figuring out the harddisk parameters. Combined with several options, it could be a powerful toy to stressing your hard drive. For instant, see below default structure command:

# hdparm [ flags ] [device]


As written on it’s manual, to start benchmarking process you can simply set the flags parameter with –Tt. While the device parameter replaced with your hard drive assigned to device files (/dev/hdx). Watch for the example below:

# hdparm –Tt /dev/hda


The command above will resulted timing cache reads & timing buffered disk reads. Both on MB/sec unit. So, what is –Tt actually means? The first “T” parameter perform timings of cache reads for benchmark and comparison purposes. For meaningful results, this operation should be repeated 2-3 times on an otherwise inactive system (no other active processes) with at least a couple of megabytes of free memory. This displays the speed of reading directly from the Linux buffer cache without disk access. This measurement is essentially an indication of the throughput of the processor, cache & memory of the system under test.

The “t” parameter will perform timings of device reads for benchmark & comparison purposes. Again, for meaningful results, this operation should be repeated 2-3 times on an otherwise inactive system (no other active processes) with at least a couple of megabytes of free memory. This displays the speed of reading through the buffer cache to the disk without any prior caching of data. This measurement is an indication of how fast the drive can sustain sequential data reads under Linux, without any file system overhead. To ensure accurate measurements, the buffer cache is flushed during the processing of -t using the BLKFLSBUF ioctl.

If both flag is already specified, then a correction factor based on the outcome of -T will be incorporated into the result reported for the later -t operation. See the result test over the same Linux Fedora Core 4 with my very old stinky laptop Pentium III 600 Mhz, 128MB SDRAM, 20GB Seagate 5400 RPM hard drive:



The picture below is another result of my office PC Relion Pentium IV 2.6Ghz, 1024MB DDRAM, 40GB Seagate 7200 RPM hard drive:



The last test also executed with my fresh office PC Zyrex Pentium IV 3.06Ghz, 512MB DDRAM, 80GB SATA Seagate hard drive:



Got the point?

Labels:

  Post a Comment

Birthday

Nothing special happened but yesterday is my anniversary. The notice above came when I opened my mailbox on Sunday morning in office & it tried to prove that the message is the first “mouth” which saying happy birthday words to me. Yup, I was designated that way to created the small happiness to the members who joining the corporate website. Also, as well as supporting the Customer Relationship Management on it.

The concept was clearly simple. Every 01.00 AM, there is a script executed by a crond daemon (crontab) on the web server which running a search & querying thousands of members which having birthday on the current date. If they are exist, one by one member are sent the email script generated by the add in custom made module integrated to the website.

0 1 * * * /usr/bin/php –f /var/www/html/your_script.php


On a web server running an SMTP server integrated to the same machine, there will be no problem at all. But, what about if they had separated on each different machine & location? Well, actually the systems are also the same. The thing you have to ware is the availability of the incoming connection by the mail server from external IP address especially from the web server. For this, you can setting up the mail server option.

Look at the sample script below how to create this similar automated email notice:

#!/usr/bin/php
IsSMTP(); // telling the class to use SMTP
$mail->Host = "your.smtp.host "; // SMTP server
$mail->From = "your.account@web.server";
$mail->FromName = "Your Name Here";
$mail->IsHTML(true);
$mail->SetLanguage("en", "../lib");
$mail->AddAddress($email);
$mail->Subject = $subject;
$mail->Body = $pesan;
$mail->WordWrap = 50;

if(!$mail->Send())
{
echo("Server email down. [" . $mail->ErrorInfo . "]");
}
else
{
echo("[$hr_ini] >> Permintaan account telah dikirim ke alamat $email.\n\n");
}
$mail->ClearAddresses();
$mail->ClearAttachments();

?>


It is not so difficult to setting up it with PHPMailer, like to I used always before.

Labels:

  Post a Comment

A Week of Weak

On last Friday, i was in Pekanbaru to complete my current project. I was there for couple days to practice the operators about how to use the application. Well, the task was done successfully. On Saturday evening, i had to catch my flight to Jakarta since there was another official journey to do for the next evening.

(Day 1) Jakarta - Yogyakarta
My superior official & me had been assigned the task to implementing the latest application in several branches & regional offices to over come a special product released before. The first point to visit was Yogyakarta regional office & a local branch.

(Day 2) Yogyakarta - Purbalingga
Next city to visit was Purbalingga branches. It took 5 hours from Yogyakarta traveled within a car to get to it. The route takes from Kutoarjo, Kebumen & Banjarnegara.

(Day 3) Purbalingga - Wonosobo
From Purbalingga, the journey continued to Wonosobo branches. The trip to get there took about less then 3 hours. An interesting typical local food between the city should try named Mie Ongklok. This is the finest noodles on Central Java, ever!

(Day 3) Wonosobo - Semarang
From Wonosobo, we had to head on Semarang, the last point to visit. The trip passed the twins mountain of Sindoro - Sumbing. In the middle of the trip beyond it, also available a local Ungaran typically food named Sate Kempleng. The food is made from a roasted cow meat with wet bean spices. It's delicious one have to try.

(Day 4) Semarang - Jakarta
Finally, the end of the journey has come. After did the task to installing the programs on the Semarang Regional Office & a branches, we have been having one night stay in a hotel. On the next evening, we are ready to get back to Jakarta by the train.

What a lovely weak weeks!

  Post a Comment