The memory puzzle (Solved)

I have edited this article many times, and because you are probably interested in the problem (To see if it is like yours), and the solution, i have added a few paragraphs with the information you are looking for at the top, and if you are interested in more details, you can read the old texts, speculations, and the like.

The problem is that, when memory modules are installed alone, they always pass the memory test, but when together, they sometimes pass, and with the same installed memory, other times fail the test with no apparent reason.

As it turns out, even though the ram has the same model number, CPU-Z unveiled that they had different production dates, and for some very strange reason, every 3 of the 6 DIMMs had similar timings (and production dates)

This article describes my problems with the same brand rams with even the same model number, and a surprising difference in SPD data between ram modules, but in reality, this applies more to different models of ram even when they are not on the same channel (In dual channel or three-channel modes). Even though i recall on older models of intel motherboards they say it does not matter as long as identical sticks are installed for a certain DIMM in every channel, it seems the 5XX and 5X series chipsets want the timings to be the same on all modules.

So, the solution was

1- Boot with the first DIMM (RAM module), start CPU-Z, see the timings in the SPD tab. take a screen shot, and label it 1, also label the ram stick 1, do the same for all other RAM modules and label them 2, 3, 4, etc…

2- Compare the timings of the RAM modules, if they are all the same (on the CPU-Z SPD page), your problem is a different problem.

WARNING: We are about to write data to the SPD area of the RAM stick, DO THIS AT YOUR OWN RISK, AND YES, THERE IS A SIGNIFICANT RISK

3- FIX timings in the RAM SPD: If the problem is that they don’t share the same timings (Like my problem), download SPDTool.exe, and read the SPD data from one of the DIMMs into a file, if you have for example 4 sticks with a certain timing and 2 with the other, i would recommend the using the timings from the 4 on the 2 and not the other way around.

4- Boot with other RAM modules and dump the file onto them, make sure the checksum is correct, if the software warns you that the checksum is incorrect, use the software (SPDTool) to FIX THE CHECKSUM.

NOTE: For some unknown reason i had to fix the checksums (There is such an option in the menu of the software), and for some unknown reason, i had to dump the fixed checksum file back onto the source DIMM as well, but it worked.

Also, from the 6 sticks, 3 had timings exactly like the ones from my Kingston models, so i chose that over the other timing set, as for you, when it comes to memory timings, the lower is better (5-5-5 is better than 8-8-8).

Now, the above is what you need to know, if you need more, i didn’t delete anything from the old text, check it out below.

Initial hardware problem description

Less than a year ago (Aug, 26 2010) , I went and got an I7 processor (i7-930), A (X58A-UD3R) 3 channel memory motherboard (6 sticks), and 6 sticks of 4 GB memory (TwinMOS PC3 10600 4GB DDR3 1333 256*8 16IC CL 9.0 U-DIMM 9DCEBNZB-TATP) to achieve that 24GB of system ram (Yes, i need this much to run my own software, the more ram, the faster it runs).

In any case, things did not go well, the motherboard played fine once every time i shuffled* the 6 sticks around, and got memory errors on any second reboot after the shuffle, Sometimes i change something in the BIOS and things work fine for another single boot, and sometimes, i just let the pc with no electricity (Strange since the CMOS battery is new), and things would work just fine.

NOTE *: Shuffled or sometimes introduced a 2GB stick from another computer to replace one of the 4GB DIMMs.

A pity since the ram looked very nice, with aluminum heat spreaders on both sides, (Although you can see that the spreaders do not make contact with ALL the chips under them, but that is not relevant to the problem it appears), and painted in 2 colors, 3 black sticks read Piano Black, and the other blue 3 read Ocean Blue.

So, i am thinking to myself, there is something special about the first boot that makes everything work fine most times after a shuffle, and something is saved for the second boot that gets things messed up, cached SPD ? i don’t know yet, we will work around this together.

In any case, The TwinMOS DIMMs i have cost me $141 * 6= $846, worked fine if you run any 2 DIMMs together (LATER: Appears the 2 DIMMs needed to be the same color and SPD but i didn’t know that) , threw errors on the Gigabyte mobo if all 6 were present.

Got the Kingston for the Gigabyte – All ok

Some time later (March 2011), i got annoyed from the shuffle before you boot game, and decided to get it over and done with, so I downloaded the compatible memory sheet, and sure enough my TwinMos ram was not on that list (LATER: Turned out to be irrelevant), I decided not to waste time on it, and went and got 6 Kingston DIMMs ( KVR1333D3N9/4G 4GB PC3 – 10600 CL9 240-Pin DIMM 9905471-006.A00LF ) at ($59 * 6 = $354) that worked like a dream on the Gigabyte motherboard (No errors at all). even though this exact kingston model was not on the compatible memory sheet.

New Motherboards Intel DH55HC, MSI G41M-P26, and Asrock G41C-S

So now i had 6 TwinMOS DIMMs, and 2 Kingston 2 GB DIMMs (KVR1333D3N9/2G 2GB PC3 10600 CL9 240 Pin DIMM 9905458-009.A00F) not in use, and for a reason i don’t remember (Even though this a few days ago), rather than selling the DIMMs on Ebay or something (Since they all work just fine if used in pairs of 2), i went and got 3 motherboards.

Two of the 3 motherboards had the G41 chipset that can take 2 DIMMs each, and one INTEL DH55HC motherboard that can take 4 DIMMs, thinking that this motherboard (The H55) would run my Ram just fine.

So i updated the BIOS to the latest on all nice new motherboards.

Both G41 motherboards would take any 2 sticks of ram with no problems at all, But the H55 motherboard is doing the same exact thing our Gigabyte motherboard was playing.

On the intel website, it reads that my DH55HC motherboard can take

  • 16 GB maximum total system memory (with 2 Gb memory technology)

What is 2Gb (Notice, Bit not byte) technology, and also note that it is taking my 16GBs of twinmos RAM, but not happily.

The timings of the TwinMOS RAM (That our Motherboard allows us to change) are

Multiplier = 10 / 9-9-9-24 / 1.5Volt (Provided by the SPD from the RAM)

But wait a minute, the timings on the black sticks is not the same as the timing on the blue ones !

As it turned out, SPD is stored on Electrically Erasable Programmable Read-Only Memory (EEPROM), and i can rewrite that with some software.

Here, Go to top to see more :)

On Jim Parson with David Letterman!

Many know him as Dr. Sheldon Cooper from the CBS comedy show “The Big Bang Theory”, but there is definitely more to that! Jim Parson is a brilliant actor who’s been nominated for many awards, he recently won an Emmy Award as well as the 2011 Golden Globe Award Actor In A Television Series . In a recent Television appearance on the “Late Show with David Letterman”, Jim talked about his participation in the current Broadway play “THE NORMAL HEART” which opened at the Golden Theatre on April 27t 2011. Tickets’ prices range from $26.50 to $116.50.

Who is Pregnant? Carla Bruni-Sarkozy is..

Carla Bruni Sarkozi photo

more photos of Carla Sarkozy are here

The news of her pregnancy have taken lots of attention in the media in the past couple of hours. Guessing who told them? her father-in-law!

According to many news-websites and European media reports, the father Nicolas Sarkozy, has confirmed that the French president and first lady of France are currently expecting their first child (as a couple).

The father-in-law has also commented on the gender of the baby as well, saying; “neither wants to know the gender beforehand, but I’m certain it will be a girl, and beautiful like Carla.

As for any official comments, the office of Sarkozy has refused to give any information nor answer any question concerning the subject, saying it’s a private matter.

However, Carla has been spotted wearing a some-what loose outfit during a television appearance two days ago. And other family members have been hinting to the media on the subject. For example, Marisa Bruni Tedeschi, Carla’s mother, has told the “Italian La Stampa” newspaper that the family members may increase soon. So Congratulations!

Intel’s SpeedStep in Linux

Intel’s SpeedStep in Linux

To begin with a blogger reminded me of the turbo button that i thought i should mention, many many years ago, Intel computers had a turbo button that when not pressed, under clocked the processor.

The blogger reminds us that “XT clones with a 10MHz 8088 processor (16-bit core, 8-bit bus), included a turbo button that changed speed from the “compatible” 4.77 MHz to the “fast” 10MHz.”, but in reality, the turbo button was to allow older software designed with 1 PC in mind to run as they directly relied on predicting the CPU speed.

Wikipedia even has an article that explains the Turbo button with the page Turbo button.

Intel speed step is intel’s name for dynamic frequency scaling of the CPU to preserve power, this is not an issue of tree huger or not, this is an issue that affects your laptop batteries life as well.

So, first, Linux kernel 2.6+ is fully compatible with SpeedStep and Enhanced Speed Step (V. 3.2) from the celeron to the I7

Windows Vista and Windows 7 are also compatible, you can change settings for the speedstep control in Windows from the control panel, Power, then advanced settings for the profile you are using, then by default under balanced, the Minimum processor state is 5% and the maximum is 100%

What is written here may also apply to AMD’s Cool’n'Quiet and PowerNow! which are similar technologies.

This article is concerned with Linux.

To begin with, all Linux distros (2.6+) come with power management to actually control your processor in order to maximize speed, and at the same time, not waste any power when the processor is idle, this is called the ondemand governor which you can change as you will see here in a bit, you can probe the processor’s current state with cpufreq-info that you will see below

1- If you run Linux desktop with GUI, you can always install cpuspeedy and gtk-cpuspeedy which will allow you to control the CPU frequency

2- cpufreq-info will show you information, the following is 1 of 4 sections describing my Quad core processor, the other 3 are almost identical to this

analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 1.60 GHz - 2.39 GHz
  available frequency steps: 2.39 GHz, 1.60 GHz
  available cpufreq governors: powersave, ondemand, conservative, userspace, performance
  current policy: frequency should be within 1.60 GHz and 2.39 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz (asserted by call to hardware).
  cpufreq stats: 2.39 GHz:4.60%, 1.60 GHz:95.40%  (434981)

To use more tools, let us change the directory like so

cd /sys/devices/system/cpu/cpu0/cpufreq/

# To lists available governors

cat scaling_available_governors

Will list all available governors, i have

powersave: Will always run the processor at lowest speeds, great for preserving battery life where you are using little CPU like browsing

ondemand : The default governor, switches speeds as needed

conservative Tends to run the processor at low speed, does not switch much between high and low

userspace : Creates a file (scaling_setspeed) that the user can fill will a frequency to control the CPU

performance : Will keep the processor running at maximum speed (Inverse of Powersave)

To switch to the Powersave governor for example, you would execute (While in our directory)

echo powersave >scaling_governor

To show what our processor’s max speed is, you can

cat scaling_max_freq

And to show the minimum

cat scaling_min_freq

And to show the active frequency

cat scaling_cur_freq

Minimum and maximum can also be manually set (within the preset cpu limits, of course) so that speed never goes above or below a certain point.

For example:

# Maximum speed that we want to use is 1.8GHz

echo 1800000 >scaling_max_freq

# Minimum speed that we want to use is 1.5GHz

echo 1500000 >scaling_min_freq

This will show you info about your processor, such as the supported extensions etc.

cat /proc/cpuinfo

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
stepping        : 11
cpu MHz         : 1596.000
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse 
                : sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx est 
                : tm2 ssse3 cx16 xtpr lahf_lm
bogomips        : 4795.28
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual

Deleting all pending WordPress comments

If you are like me, and your blogs puts all comments with one link or more in the Pending approval / Moderation queue, and you have over On Hundred Thousand (Not an exaggerated number) comments where at least 99.9% of them are spam, then you need to delete all pending comments without looking at them (Unless you plan to spend the rest of your days looking for that innocent commenter that probably wanted to say hi).

So, i want to do it the simplest way possible..

I want to execute some SQL through PHPMyAdmin that is given to me by my web host, and get all the comments gone

1- Get my Database username and password from wp-config.php
2- Login with the username and password at PHPMyAdmin
3- Chose the Db from the left, Hit the SQL tab from the top, then if your tables start with wp_ (Some may have changed that at install time)
4- DELETE FROM wp_comments WHERE comment_approved = 0;

Tablet works laptop but is no tablet PC

The Asus Eee Pad Transformer TF101 from is the best idea i have come across in a long time… Just take a look at the photos here… and you will get the idea instantly

The 10.1″ LED Backlight WXGA (1280×800) Screen, 10 finger multi-touch, Scratch resistant glass tablet is something that i will  try to get my hands on, with android 3 honeycomb, transformers are the latest generation tablets

Note that the base is an OPTIONAL accessory that you should want.

Others will be waiting to see the success, and they will be creating this thing as well (will take them some time to implement) but in general, i think this is the most creative idea since a long long time

The Tegra 2 processor from nVidia is a dual core fast processor (Dual-core ARM Cortex-A9 CPU), HoneyComb has Flash player 10.2 (The very latest), and is the OS that only runs on this and on the Motorola Xoom up to now.

The tablet even has a 5MP camera, and a front 1.3MP camera, and can shoot and record HD video,

Paula Abdul in new X-Factor

Remember the good days when Paula Abdul was beside Simon Simon Cowell in America’s got talent, now she is back alongside Simon, but it is a different show, the X Factor

The first session had the judges

Cheryl Cole, Antonio LA Reid, Simon Cowell, and Paula Abdul !

Paula, the 48 year old used to be the more positive judge to performances with Simon being very hard to please (and sometimes portrayed by the host to be the Mr. no)

WordPress updates

The wordpress team distributes WordPress updates very often, the process is very simple, you unzip, FTP (upload) the update, and you are done.

I do this very often for many many websites, although the process is simple, it is time consuming, the reson is that on shared hosting, i can not upload a zip file, i have to upload 800+ files for every single website, the latency of uploading 800 * 10 files adds up, and i should not need to do this

the task look as simple as, create a system to upload the new version to all FTP destinations every time there is a new wordpress update.

This is also more secure than allowing wordpress to update itself, wordpress code files should not be writable to the web server, only to the FTP user.

Anyway, i will get to this project soon (Maybe it will take 10 hours work), and once done i will keep you posted on how to add your FTP details.

Till then, happy wordpressing