Tag: solution
NAS / Software and Hardware RAID Performance Benchmarking
by Steve O Hernandez on Feb.15, 2009, under Technology
I recently came across an application provided by Intel for the purpose of benchmarking NAS devices (Define: Network Attached Storage). I’ve been looking for a solution to benchmark the new RAID-5 array I created on my Windows Server 2008 server (I love the RAID’s redundancy, but the write speeds are quite low). I wanted to get a better idea of its performance, as Windows will report 250 – 150 MB READS and 20 – 50 MB WRITES, which is considerably poor considering the 4 drives are individually benchmarked at ~100 MB READS and 60 MB WRITES (They are Western Digital Caviar Blues / RE3 / RE16).
The software can be found here or from Intel here.
System Specifications:
Operating System: Microsoft Windows 2008 Enterprise Edition, SP1
CPU Type: Pentium 4 630, 3000 MHz w/ Hyperthreading
Motherboard Name: Dell Dimension 8400
Motherboard Chipset: Intel Alderwood i925XE
Motherboard Frontside Bus Speed: 800 MHz
System Memory (RAM): 4 GB, Dual Channel
System Memory Speed / Timings: DDR2-533 (266 MHz) / 4-4-4-12
Hard Drive Controller Interface: SATA I (1.5 Gbits / s) = 150 MB/s (maximum)
Hard Drives: Western Digital
- Drive #1 – WDC WD5002ABYS-01B1B (465 GB)
- Drive #2 – WDC WD5002ABYS-01B1B (465 GB)
- Drive #3 – WDC WD5000AAKS-00A7B (465 GB)
- Drive #4 – WDC WD5000AAKS-00A7B (465 GB)
- Drive #5 – WDC WD800BB-00JHC0 (74 GB) – SYSTEM
Raid Configuration: Software 4 disk RAID-5 (4 x 500GB, 1.36 TB Effective Storage Space)
System Memory Benchmark: Copy – 4790 MB/s, Read – 6266 MB/s, Write – 3341 MB/s, Latency – 92.7 ns
System Processor Benchmark: CPU ZLib – 10592 KB/s, CPU AES – 3055
Benchmarks completed using Everest Ultimate Edition v4.20.1257
All drives are SATA II (3.0 GB/s) but are running in backwards-capability mode.
The primary roles of the server is to serve files and store backups (File Server) and web and application development and website hosting (Web Server). I do not stream media, play music from the server or write extremely large amounts of data that are time sensitive. Therefore, my decision for RAID-5 was based on the space savings (n – 1) storage availability and the redundancy by means of the parity. I am willing to give up performance (write and read) for storage space and redundancy, but I want to know how much I’m actually giving up.
Tests
- HD Video Playback, 2x HD Video Playback, 3x HD Video Playback, 4x HD Video Playback
These benchmarks examine the behavior of the NAS unit while (simultaneously) playing one or more HD video files at 720p using Windows Media Player. Intel gives a percentage rate for the sequential reading of data in these tests, which lies at 99.5% for the HD Video Playback Test. With 2x HD Video Playback, it lies at 18.1%. The result is 6.6% with 3x HD Video Playback and 9.6 % with 4x HD Video Playback.
- HD Video Record
This test writes an HD Video file in 720p format to the NAS unit. This test is made of up of mostly sequentially transferred data.
- HD Video Playback & Recording
HD Video Play & Record examines the behavior of the NAS unit when simultaneously reading and writing an HD Video file in the 720p format. The sequentially-transferred data in this test is approximately 18% of the test.
- HD 2x Playback 2x Record
This benchmark is similar to the one above, but the proportion of sequential file operations is 3%.
- HD Playback With Office
This metric measures the data transfer rates when an HD Video file is read from the NAS unit while working with the Office applications. This test is made up of 608 files. The proportion of sequential file operations is 53.2%.
- HD Playback With Backup
Like the previous test, but this time an HD Video file is played while simultaneously carrying out a backup on the NAS unit.
- Content Creation
This benchmark is made up of 95% write operations to the NAS unit. This simulates the creation of files on the NAS unit such as is the case when, for example, using video editing programs.
- File Copy To NAS / File Copy From NAS
These tests determine the data transfer rate when copying files to or from the NAS unit. In both of these test processes, a 4 GB file is copied. Unlike with Backup / Restore, 64 KB is read and written.
- Directory Copy From NAS / Directory Copy To NAS
Similar to the previous test, files are copied to and from the NAS unit. A total of 126 files with a total size of approximately 188 MB are written and read across the network.
- Photo Album
This test determines how the NAS unit handles the supply of a multitude of small files—for example, viewing digital photographs stored on the NAS unit. It simulates the viewing of a total of 169 photographs with an overall size of approximately 1.2 GB.
Considerations and Assumptions
These tests were conducted on the Server, not over the network, which will probably result in very high throughput. I did this to get a feel for the actual performance, not that felt over the wire, and because I’m currently running 100 Mbps (Cat 5e) on my LAN, not gigabit. Thus, I did not want the network to be the bottleneck in these tests, as it would be saturated and skew the results.
I ran the tests 6 times, in each, manipulating the environment to establish a real world benchmark. Since this benchmark is done via an application, it will compete with other processes for resources. Additionally, it will compete with the actual Operating System who is responsible for transfering the data to the disk and calculating the parity for the raid (which is quite memory and CPU intensive). For test 6 I ran the system in Safe Mode, utilizing only necessary processes and services to run the operating system (Safe Mode without Networking). Thus, the numbers are quite high. In the others, I ran Outlook, SQL, browsed the internet and downloading files via torrents (to the actual RAID, so this will mess with the numbers as well) – not all at the same time, of course, except for test 4.
Results
| Test | 1 | 2 | 3 | 4 | 5 | 6 | Avg MB/s |
| HDVideo_1Play | 267.789 | 267.789 | 80.364 | 54.54 | 59.134 | 274.603 | 167.37 |
| HDVideo_2Play | 223.736 | 223.736 | 68.638 | 44.619 | 75.123 | 223.204 | 143.18 |
| HDVideo_4Play | 177.201 | 177.201 | 70.222 | 54.731 | 73.009 | 180.005 | 122.06 |
| HDVideo_1Record | 626.098 | 626.098 | 651.41 | 618.888 | 678.788 | 732.636 | 655.65 |
| HDVideo_1Play_1Record | 82.744 | 82.744 | 85.224 | 71.802 | 79.058 | 155.986 | 92.93 |
| ContentCreation | 6.199 | 6.199 | 5.983 | 5.628 | 6.141 | 6.022 | 6.03 |
| OfficeProductivity | 25.383 | 25.383 | 25.474 | 20.958 | 26.249 | 27.955 | 25.23 |
| FileCopyToNAS | 633.475 | 633.475 | 748.91 | 690.827 | 768.598 | 806.578 | 713.64 |
| FileCopyFromNAS | 147.096 | 147.096 | 79.675 | 57.42 | 80.561 | 151.573 | 110.57 |
| DirectoryCopyToNAS | 65.156 | 65.156 | 25.13 | 18.384 | 23.418 | 81.739 | 46.50 |
| DirectoryCopyFromNAS | 44.048 | 44.048 | 20.412 | 15.53 | 20.929 | 47.274 | 32.04 |
| PhotoAlbum | 27.748 | 27.748 | 26.411 | 19.508 | 28.171 | 29.204 | 26.47 |

Discussion
I attribute the absurd file copy speeds to caching and buffering at both the OS, RAID and the Drive level, as well as the writes for the video recording. All in all, I’m pleased with the benchmarks and am satisfied with the set up. One thing to note is that the tests were done from the SYSTEM drive to the RAID, and thus, the SYSTEM drive introduced an additional bottleneck as the transfers from it to the RAID were going to be quite slow (the drive is benchmarked at ~56MB READ and ~30 WRITE).
Squeeze Your Gigabit NIC for Top Performance
by Steve O Hernandez on Nov.25, 2008, under Technology
October 24, 2007
By Charlie Schluting
Many new workstations and servers are coming with integrated gigabit (define) network cards, but quite a few people soon discover that they can’t transfer data much faster than they did with 100 Mb/s network cards. Multiple factors can affect your ability to transfer at higher speeds, and most of them revolve around operating system settings. In this article we will discuss the necessary steps to make your new gigabit-enabled server obtain close to gigabit speeds in Linux, FreeBSD, and Windows.
Hardware considerations
First and foremost we must realize that there are hardware limitations to consider. Just because someone throws a gigabit network card in a server doesn’t mean the hardware can keep up.
| |
Network cards are normally connected to the PCI (define) bus via a free PCI slot. In older workstation and non server-class motherboards the PCI slots are normally 32 bit, 33MHz. This means they can transfer at speeds of 133MB/s. Since the bus is shared between many parts of the computer, it’s realistically limited to around 80MB/s in the best case.
Gigabit network cards provide speeds of 1000Mb/s, or 125MB/s. If the PCI bus is only capable of 80MB/s this is a major limiting factor for gigabit network cards. The math works out to 640Mb/s, which is really quite a bit faster than most gigabit network card installations, but remember this is probably the best-case scenario.
If there are other hungry data-loving PCI cards in the server, you’ll likely see much less throughput. The only solution for overcoming this bottleneck is to purchase a motherboard with a 66MHz PCI slot, which can do 266MB/s. Also, the new 64 bit PCI slots are capable of 532MB/s on a 66MHz bus. These are beginning to come standard on all server-class motherboards.
Assuming we’re using decent hardware that can keep up with the data rates necessary for gigabit, there is now another obstacle — the operating system. For testing, we used two identical servers: Intel Server motherboards, Pentium 4 3.0 GHz, 1GB RAM, integrated 10/100/1000 Intel network card. One was running Gentoo Linux with a 2.6 SMP (define) kernel, and the other is FreeBSD 5.3 with an SMP kernel to take advantage of the Pentium 4′s HyperThreading capabilities. We were lucky to have a gigabit capable switch, but the same results could be accomplished by connecting both servers directly to each other.
Software Considerations
For testing speeds between two servers, we don’t want to use FTP or anything that will fetch data from disk. Memory to memory transfers are a much better test, and many tools exist to do this. For our tests, we used [ttcp](http://www.pcausa.com/Utilities/pcattcp.htm).
The first test between these two servers was not pretty. The maximum rate was around 230 Mb/s: about two times as fast as a 100Mb/s network card. This was an improvement, but far from optimal. In actuality, most people will see even worse performance out of the box. However, with a few minor setting changes, we quickly realized major speed improvements — more than a threefold improvement over the initial test.
Many people recommend setting the MTU of your network interface larger. This basically means telling the network card to send a larger Ethernet frame. While this may be useful when connecting two hosts directly together, it becomes less useful when connecting through a switch that doesn’t support larger MTUs (define). At any rate, this isn’t necessary. 900Mb/s can be attained at the normal 1500 byte MTU setting.
For attaining maximum throughput, the most important options involve TCP window sizes. The TCP window controls the flow of data, and is negotiated during the start of a TCP connection. Using too small of a size will result in slowness, since TCP can only use the smaller of the two end system’s capabilities. It is quite a bit more complex than this, but here’s the information you really need to know:
Configuring Linux and FreeBSD
For both Linux and FreeBSD we’re using the sysctl utility. For all of the following options, entering the command ‘sysctl variable=number’ should do the trick. To view the current settings use: ‘sysctl <variable name>’
- Maximum window size:
- FreeBSD:
kern.ipc.maxsockbuf=262144 - Linux:
net.core.wmem_max=8388608
- FreeBSD:
- Default window size:
- FreeBSD, sending and receiving:
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536 - Linux, sending and receiving:
net.core.wmem_default = 65536
net.core.rmem_default = 65536
- FreeBSD, sending and receiving:
- RFC 1323:
This enables the useful window scaling options defined in rfc1323, which allows the windows to dynamically get larger than we specified above.- FreeBSD:
net.inet.tcp.rfc1323=1 - Linux:
net.ipv4.tcp_window_scaling=1
- FreeBSD:
- Buffers:
When sending large amounts of data, we can run the operating system out of buffers. This option should be enabled before attempting to use the above settings. To increase the amount of “mbufs” available:- FreeBSD:
kern.ipc.nmbclusters=32768 - Linux:
net.ipv4.tcp_mem= 98304 131072 196608
- FreeBSD:
These quick changes will skyrocket TCP performance. Afterwards we were able to run ttcp and attain around 895 Mb/s every time – quite an impressive data rate. There are other options available for adjusting the UDP datagram sizes as well, but we’re mainly focusing on TCP here.
Windows XP/2000 Server/Server 2003
The magical location for TCP settings in the registry editor is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
We need to add a registry DWORD named TcpWindowSize, and enter a sufficiently large size. 131400 (make sure you click on ‘decimal’) should be enough. Tcp1323Opts should be set to 3. This enables both rfc1323 scaling and timestamps.
And, similarly to Unix, we want to increase the TCP buffer sizes:
ForwardBufferMemory 80000 NumForwardPackets 60000
One last important note for Windows XP users: If you’ve installed Service Pack 2, then there is another likely culprit for poor network performance. Explained in [knowledge base article 842264(http://support.microsoft.com/?kbid=842264), Microsoft says that disabling Internet Connection Sharing after an SP2 install should fix performance issues.
The above tweaks should enable your sufficiently fast server to attain much faster data rates over TCP. If your specific application makes significant use of UDP, then it will be worth looking into similar options relating to UDP datagram sizes. Remember, we obtained close to 900Mb/s with a very fast Pentium 4 machine, server-class motherboard, and quality Intel network card. Results may vary wildly, but adjusting the above settings are a necessary step toward realizing your server’s capabilities.
Sandisk Sansa c250 2G Player Review and Sync
by Steve O Hernandez on Nov.25, 2008, under Personal, Technology
I recently purchased this unit, refurbished, because it was on sale for $15 and I needed a player for the gym. I received it yesterday evening and wanted to provide some feedback.
It’s kind of flimbsy and very light, it almost feels as if it’s hallow. But, it has a small color screen and easy to understand controls, so I can’t really complain. I do fear, however, that if I drop it, it will dissolve into the air. It’s not necessarily a bad thing to be very light, but, it should be noted.
Things I don’t “really” like, but that aren’t a HUGE deal:
- Proprietary usb connector – Instead of using USB Mini-A Type connection, they decided to use a port that took up the entire width of the unit (about an inch) to connect via USB. Why?
- Wasted Space – there’s a lot of space all around that could be utilized. Either for the other controls or to space things out a little better. This is my personal opinion, but I don’t “really” like the fact that the volume control is all the way at the top, while the play button is on the front, and then menu button all the way at the bottom right.
- Built in Battery – This really annoys me. Why would you do that? Now, you MUST charge this thing at a computer, because 1) you need the special cable that only connects to USB Type A connections, and 2) there’s no other port to use to charge. So you must charge this thing at home before leaving the house. I wonder how long it lasts?
- COULD NOT get it to sync as an MTP device – the device freezes (On both Vista and XP). But I CAN get it to connect as a storage device (only on XP) where I can manually copy my songs over (which isn’t a problem for me) or manage it with WinAMP or something else.
- Please note that to get it to connect, I enabled the HOLD (push it so it shows the orange) and held down the REWIND button, then CONNECTED the USB. I had to do it in that order for it to work, no other worked for me.
Things I like:
- Micro SD Slot – It’s expandable! Yay! This makes complete sense and is a great selling point: why not buy a device that you can upgrade as your music collection increases?!
- LOUD – this little thing gets VERY LOUD! A lot louder than my Creative Zen this is replacing. Like, crazy loud. I’m not sure I’ll ever use it louder than half way.
- Equalizer – It has an equalizer that allows you to customize the sound (and has a custom setting for your personal preferences).
- Color Screen – it’s not high resolution or anything, but it’s nice to see things in color. And the graphics aren’t half bad.
- Music, Audio, Radio, Recordings – This unit really does it all in terms of functionality. It definitly plays music well and recieves radio signals even inside of buildings.
I will use it for a week or two and report back. As of right now, I give it a 7 due to the USB connection and the syncing issues (which are not unique to me).
Solar Energy, All Night Long
by Steve O Hernandez on Aug.01, 2008, under Technology
Jonathan Fahey, 07.31.08, 2:30 PM ET
MIT professor Daniel G. Nocera has long been jealous of plants. He desperately wanted to do what they do–split water into hydrogen and oxygen and use the products to do work. That, he figures, is the only way we humans can solve our energy problems; enough energy pours down from the sun in one hour to power the planet’s energy needs for a year.
In January, only a month after reevaluating his methodology in the face of a frustratingly slow process, he finally found a way. “For six months now I’ve been looking at the leaves and saying ‘I own you guys!’”
Nocera’s discovery–a cheap and easy way to store energy that he thinks will be used to change solar power into a mainstream energy source–will be published in the journal Science on Friday. “This is the nirvana of what we’ve been talking about for years,” said Nocera, the Henry Dreyfus Professor of Energy at MIT. “Solar power has always been a limited, far-off solution. Now we can seriously think about solar power as unlimited–and soon.”
Plants catch light and turn it into an electric current, then use that energy to excite catalysts that split water into hydrogen and oxygen during what is called photosynthesis’ light cycle. The energy is then used during the dark cycle to allow the plant to build sugars used for growth and energy storage.
Nocera and Matthew Kanan, a postdoctoral fellow in Nocera’s lab, focused on the water-splitting part of photosynthesis. They found cheap and simple catalysts that did a remarkably good job. They dissolved cobalt and phosphate in water and then zapped it with electricity through an electrode. The cobalt and phosphate form a thin-film catalyst around the electrode that then use electrons from the electrode to split the oxygen from water. The oxygen bubbles to the surface, leaving a proton behind.
A few inches away, another catalyst, platinum, helps that bare proton become hydrogen. (This second reaction is a well-known one, and not part of Nocera and Kanan’s study.)
The hydrogen and oxygen, separated and on-hand, can be used to power a fuel cell whenever energy is needed.
“Once you put a photovoltaic on it,” he says, “you’ve got an inorganic leaf.”
James Barber, a biochemistry professor at Imperial College London who studies artificial photosynthesis but was not involved in this research, called the discovery by Nocera and Kanan a “giant leap” toward generating clean, carbon-free energy on a massive scale.
“This is a major discovery with enormous implications for the future prosperity of humankind,” he said. “The importance of their discovery cannot be overstated.”
Nocera’s discovery arose from frustration. Disappointed with the pace of his lab’s progress, Nocera and his team decided in December to question some of the basic assumptions they had made in setting up earlier experiments.
Chemists, it turns out, are always worrying about the stability of their catalysts and end up doing backflips to try to synthesize materials that won’t corrode. Photosynthesis, though, is so violently reactive that the catalysts involved break down every 30 minutes. The leaf has to constantly rebuild them. Maybe, thought Nocera, instead of fighting corrosion, he should work with it. “It’s a bias a lot of scientists have. We want something to be structurally stable. But all it has to be is functionally stable.”
This thinking led Nocera to try his cobalt-phosphate mixture. He knew it wouldn’t hold together, but he thought it might still work. Sure enough, Nocera’s catalyst breaks down whenever the electricity is cut, but it assembles itself again when electricity is reapplied.
Nocera’s discovery is still a science experiment. It needs plenty of engineering before it can be a useful device. The cobalt and phosphate at the center of Nocera’s work is cheap and plentiful, but the hydrogen reaction uses platinum, which is rare and expensive. The electrode needs to be improved so the oxygen-making process can speed up. And the system needs to be integrated into some kind of electricity-producing device, ideally powered by solar or wind on one end and a fuel cell on the other.
But splitting the oxygen away from the water was the hard part, and Nocera has done it. “Now we can start thinking about a totally distributed solar [photovoltaic] system,” he said. “We couldn’t have a solar economy unless it could produce energy 24/7. Now we can.”
His hope is that because unlike traditional electrolysis devices, which are expensive and require toxic alkaline solutions, his system is so cheap, simple and benign that scientists and engineers around the world will be able to improve it quickly.
For his part, Nocera says he will work to understand and improve both sides of his new discovery. His lab will try to learn every detail about just how his catalyst is making the oxygen. And he is going to work with his engineering colleagues at MIT to try to integrate his storage device into systems that he hopes one day will power homes and cars all day and all night.
DOCman 1.4 RC3: Error Uploading. Directory Problem. *FIX*
by Steve O Hernandez on Jul.11, 2008, under Technology
I have verified that this fix works, and that it is, in fact, a bug in the latest release.
EDIT: (8.11.08) Please make sure you change the quotes once you copy in the code. WordPress will alter them, so you need to copy the code into your files and then delete each quote and retype it. It should clear a lot of the PHP errors everyone’s getting, since it doesn’t know how to handle them, and is resulting in unpredictable behavior.
EDIT: (8.27.08) The paths to the files are as follows:
JOOMLA/components/com_docman/includes_frontend/upload.http.php
JOOMLA/administrator/components/com_docman/includes/files.php
JOOMLA/administrator/components/com_docman/classes/DOCMAN_file.class.php
Where JOOMLA is the root / home folder of the joomla installation (not to be confused with the root folder of the server).
Hello I’ve had the error message “error uploading. directory problem” with DOCman 1.4 RC3, debugged the code and found the solution – it is a bug in RC3:Effect:
- Error message: “error uploading. directory problem”, after step 2 of uploading a new file,Occurrence:
- with docman 1.4 RC3, (not with RC1)
- on windows-based webservers (directory paths with backslash)
- if in PHP configuration “magic_quotes_gpc” is set to “on”
Reason:
Bug in RC3:
“DOCMAN_Utils::stripslashes()” removes backslashes in ['tmp_name'], what should NOT be done!!
- in “com_docman/includes_frontend/upload.http.php”, Line 38
- in “com_docman/includes/files.php”, Line 177:
Solution:
In “com_docman/includes/files.php”, line 177
remove DOCMAN_Utils::stripslashes() function:
- incorrect: $file_upload = mosGetParam(DOCMAN_Utils::stripslashes($_FILES), ‘upload’);
- correct: $file_upload = mosGetParam($_FILES, ‘upload’);
In “com_docman/includes_frontend/upload.http.php”, line 38
remove DOCMAN_Utils::stripslashes() function:
- incorrect: $file = mosGetParam(DOCMAN_Utils::stripslashes($_FILES), ‘upload’);
- correct: $file = mosGetParam($_FILES, ‘upload’);
And instead: In “com_docman/classes/DOCMAN_file.class.php”, line 352
add DOCMAN_Utils::stripslashes() function:
- incorrect: $name = $file['name'];
- correct: $name = DOCMAN_Utils::stripslashes($file['name']);
For more information on ['tmp_name'] and backslashes
- see http://ch2.php.net/features.file-upload#42280 (11-May-2004 03:08)
That worked for me. ![]()
Good luck!
Benno
ThickBox 3.1 within ASP.NET UpdatePanel
by Steve O Hernandez on Jun.28, 2008, under Technology
So, out of the box, this just doesn’t work. Here’s the situation.
Thickbox works fine before any async postbacks by the updatepanel. However, once the updatepanel is reloaded (does a postback), thickbox will no longer work and will render your links regular HTML links.
The Reason
The reason for this is when the updatepanel posts back, the javascript is reloaded but is not initialized, nor is it registered with the DCOM.
Add the following code to the pageLoad method in your AJAX enabled page, so that it looks something like this:
<script type=”text/javascript” language=”javascript”>
function pageLoad()
{
var isAsyncPostback = Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack();
if (isAsyncPostback) {
tb_init(‘a.thickbox, area.thickbox, input.thickbox’);
}
}
</script>
This code will check if there is an async post back being fired, and if so, will re-initialize thickbox.
I search around for at least 4 hours until I was able to piece together some solutions. This is the best one.
Good luck.
ASP.NET UpdatePanel ATLAS AJAX ThickBox modal iframe
Vundo / VundoMunde / VundoMundo Trojan Removal
by Steve O Hernandez on Jun.24, 2008, under Technology
So I recently got bombarded with 2 infections of this pesky beast. Some variants are easy to remove (SpyBot can simply pull them out) but the variant I came across was resilient. It loaded a DLL into the Winlogon.exe (injection) executable file (the Windows process responsible for authentication to the Operating System – Windows cannot run without it) and ran from there. So you can’t kill the process, because the OS will reboot. You can’t delete the DLL file, because the OS has it locked. Basically, it’s like a tumor in the center of your brain… there’s really no winning.
There are a few solutions out there (very few) such as Bayles’ solution and this one from a poster on TechRepublic , but unfortunately, neither was any good for me. Bayles’ solution works for variants that inject into Explorer.exe, which is loaded once the OS is loaded and you log in. However, winlogon is loaded as one of the first steps in loading the registry, so it’s loaded even before you press control-alt-delete (it’s actually the process that shows you the login screen). The other solution could have worked had I had administrative privileges on my machine, but I did not (this is my work machine). Therefore, I had to find another solution to bypass the OS from reinfecting itself, but still have access to the underlying file system.
I could have removed the hard drive, but I did not have another laptop to install the HDD into. I couldn’t boot to the Recovery Console using an XP CD, because I did not know the Administrative password. So my solution? I booted the laptop using an Ubuntu Linux CD I had in my laptop bag. Here’s what I did.
- Boot normally in Windows XP and get the names of the infected DLLs using Bayles’ method (again, pendmove won’t work because winlogon is placed in memory (with the infected DLL) before pendmove is loaded).
- Reboot using Ubuntu CD – hit enter at the first screen (Run or Install Ubuntu)
- Unmount the NTFS file system (on a typical installation, it will be the entire drive) – We do this because the standard driver file is a read-only NTFS driver.
- Open a terminal and install the ntfs-3g packages
- sudo apt-get install ntfs-3g
- Create mount point
- sudo mkdir /mnt/test
- Mount the hard drive
- sudo mount -t ntfs-3g /dev/sda1 /mnt/test
- /dev/sda1 – is the partition we want to mount, yours may be different
- /mnt/test – is the directory in which to mount the partition
- sudo mount -t ntfs-3g /dev/sda1 /mnt/test
- You can then browse to the windows/system32 directory and delete the infected DLLs (in my case the path was /mnt/test/windows/system32/sbbqikklll.dll)
- Reboot and then you must run some scanners. I suggest running SpyBot to clean up the rest of the garbage, and then maybe an anti-virus scanner (I used Symantec Corporate). Finally, run the Windows Malware Removal Tool.
- This step is extremely important. This trojan downloads other infections to your systems (ads, other programs, etc). Who knows if these other files contain other viruses, trojans, keyloggers, etc.
I hope this helps. Contact me if you need any special assistance.
.NET (Dot Net) Framework ERROR: Internal Error 2908 {7D4B5591-4C80-42BB-B0E5-F2C0CEE02C1A}
by Steve O Hernandez on May.05, 2008, under Technology
I got a problen when I were installing the .net framework.
The error message is “Internal Error 2908 {7D4B5591-4C80-42BB-B0E5-F2C0CEE02C1A}”
My new (used) Fujitsu T3000 Tablet PC
by Steve O Hernandez on Nov.30, 2007, under Technology

Specifications
Manufacturer:
- Fujitsu
- Part number:
- FPCM10241
General
- Platform Technology
- Intel Centrino
- System Type
- Tablet PC
- Built-in Devices
- Wireless LAN antenna, SmartCard reader/writer
- Width
- 11.5 in
- Depth
- 9.3 in
- Height
- 1.4 in
- Weight
- 4.2 lbs
Processor
- Processor
- Intel Pentium M 1.4 GHz
- Data bus speed
- 400 MHz
- Processor features
- Enhanced SpeedStep technology
- Chipset type
- Intel 855GM
Cache Memory
- Type
- L2 cache
- Cache size
- 1 MB
RAM
- Installed Size
- 256 MB / 2 GB(max)
- Technology
- DDR SDRAM – 266 MHz
- Memory specification compliance
- DDR266/PC2100
Storage Controller
- Storage controller type
- IDE
Storage
- Floppy Drive
- None
- Hard Drive
- 40 GB
- Storage Removable
- None
Optical Storage (2nd)
- 2nd optical storage type
- None
Display
- Display Type
- 12.1 in TFT active matrix
- Max Resolution
- 1024 x 768
- Color support
- 24-bit (16.7 million colors)
Video
- Graphics Processor / Vendor
- Intel 855GM – AGP
- Video Memory
- Shared video memory (UMA)
Audio
- Audio output type
- Sound card
- Audio output compliant standards
- AC ’97
Input Device(s)
- Input device type
- Keyboard, Touchpad, Digitizer, Digital pen, Scroll button
Telecom
- Modem
- Fax / modem
- Max transfer rate
- 56 Kbps
- Protocols & Specifications
- ITU V.90
Networking
- Networking
- Network adapter
- Networking / Wireless LAN Supported
- Yes
- Data link protocol
- Ethernet, IEEE 802.11b, Fast Ethernet
- Networking standards
- IEEE 802.11b
Expansion / Connectivity
- Expansion Bays
- None
- Expansion Slots Total (Free)
- 2 ( 1 ) x Memory, 1 ( 1 ) x CardBus – Type III (2 x type I / II)
- Interfaces
- 2 x Hi-Speed USB – 4 pin USB Type A, 1 x Modem – Phone line – RJ-11, 1 x Network – Ethernet 10Base-T/100Base-TX – RJ-45, 1 x Display / video – VGA – 15 pin HD D-Sub (HD-15), 1 x Infrared – IrDA, 1 x Headphones – Output – Mini-phone stereo 3.5 mm, 1 x Microphone – Input – Mini-phone 3.5 mm, 1 x Docking / port replicator
Miscellaneous
- Features
- Security lock slot (cable lock sold separately)
- Compliant Standards
- CUL, TUV, EN55022, EN55024, EN 60950, ICES-003, UL 60950, CISPR 22 Class B, FCC Class B certified, FCC Class C certified
Power
- Power device form factor
- External
- Voltage Required
- AC 120/230 V ( 50/60 Hz)
Battery
- Technology
- Lithium ion
- Installed Qty
- 1
- Mfr estimated battery life
- 4.5 hour(s)
Operating System / Software
- OS Provided
- Microsoft Windows XP Tablet PC Edition
- Software type
- Zinio Reader, Microsoft Reader, NewsStand Reader, Drivers & Utilities, Fujitsu HotKey Utility, Microsoft Internet Explorer, FranklinCovey TabletPlanner (Trial), PowerQuest Drive Image Special Edition
Manufacturer Warranty
- Service & support type
- 1 year warranty
- Service & Support Details
- Limited warranty – 1 year
Peachtree Error: User already logged in
by Steve O Hernandez on Jul.27, 2007, under Technology
User already logged in, please wait 1 minute and try logging in again.
Simply the stupidest error in the history of man kind! The cause of this is due to the person who installed it. So it’s human error, BUT, it’s human error caused by programmer error, because the logic of the programmer simply doesn’t make sense. When installing PeachTree the wizard asks for the location of the Company Files. It’s default location is something like this: c:\program files\sage software\peachtree\company. If you change this to your company, say SteveOH_Company, so that the new path for the company files is c:\program files\sage software\peachtree\SteveOH_Company, you will be in for a world of headache, heart ache and frustration. The ONLY solution is to uninstall peachtree completely, reinstall using ALL defaults. Then copying the company folder to the peachtree installation folder, so the final destination of our pretend company would be (or where ever you would like) and then opening the company from within PeachTree. Does it make sense? Nope.
I’ve come across this issue twice now, so I can vouch that it is in fact a problem and this is the solution. I can only assume it has something to do with some files that it throws into that default company folder and then uses for user access for the others, or maybe some kind of global settings / preferences / variables / etc. Who knows, but I’m sure not going to spend the $50 + $5 / minute to talk to PeachTree about it.