Flash memory reliability 
During my trip to China a few weeks ago I met Ernst Fuld again. Ernst is CEO of the NGN, the dutch IT-professional platform. He told me that he has tried to test some usb-sticks and see if they could be written and erased so many times that they break. As you probably know, flash memory can only be written a limited number of times. Each time you erase (rewrite) the memory cell, there is a slight chance that it breaks. Normally, the memory is guaranteed to last for 100000 rewrites, but has anybody tested this on a regular usb stick?

There is a problem however. The sticks are known to use a technique called "wear levelling". The data you write to the stick is remapped to memory area's where the number of rewrites is the lowest. This means that you cannot test 1 cell by re-writing a small file over and over. You have to fill the WHOLE stick in order to rewrite all cells. And even if you manage to break a cell, there is also error-correction logic and bad-block remapping that will correct the error without notice. So the flash memories seem to be unbreakable.. or not!?

That's why I wrote this simple app: Flashkiller. It's a free download so you can test the reliability of your memory stick yourself. If you broke a usb-stick or memory card with it, please respond to this post!

May 2 update: the kingston 512mb is now @19000 rewrites and still without an error..

june 13 update: The kingston is DEAD. After 65000 writes it becomes a read-only stick. Nothing can be written any more, and when i try to write it gives an error!!!!

[ add comment ]   |  permalink  |  related link  |   ( 3 / 364 )
IE7 upgrade experience - IE7 exits immediately after starting. 
I'm using firefox as my default browser, but for testing and development i need explorer every once in a while. A couple of weeks ago, my microsoft update asked my to upgrate to IE7. So why not? well, always reluctant to install microsoft stuff, but if everybody uses IE7, i should at least test websites for this new browser.

So i installed IE7. What a bummer! I got an icon, but that was about it. Clicking the IE7 icon shows the hourglass for a fraction of a second, and then it exits immediately. So i uninstalled it and installed it again. Nope.. Then I reinstalled IE6. Works fine!

Next step: google the answer. Googling for "IE7 wont start" gives you this link:
http://support.microsoft.com/default.as ... ;spid=8722

Wow! microsoft already solved my problem!..but n o.. this wont fix it.
of course, further searching the microsoft site using their own search function never gives a valid clue.

so.. now what? Runing IE7 without plugins also doesn't help. It just wont start.

uninstalling .net 1.0, .net2.0 visual studio and a lot of other apps? no luck.

So after a while I stumbled upon SFC. This utility is able to check *ALL* critical system files and reinstalls them if neccesary,
Running SFC /SCANNOW went well. I took about half an hour, and you only see a progressbar, no information, no logging and at the end, the program just exists without any report.. BUT it did the job: IE7 now starts. It took me about 6 hours to get IE7 working, but in the end i finally can test this great piece of work from microsoft.. Why can they *never* get their software right?

[ add comment ]   |  permalink  |  related link  |   ( 3 / 470 )
find your dhcp servers 
How often does this go wrong: multiple dhcp servers on your subnet? Because routers, accesspoints, modems boxes ALL have dhcp servers nowadays, a double or triple dhcp server in your network is not uncommon. But tools to identify which dhcp servers are available are not easy to find.

To identify that something might be wrong, you can use ipconfig on a windows cmd box:


C:\Documents and Settings\rvw.KOEKJE>ipconfig /all

Windows IP-configuratie
...
Ethernet-adapter LAN-verbinding:
...
Standaardgateway. . . . . . . . . : 10.237.147.2
DHCP-server . . . . . . . . . . . : 10.237.147.50
DNS-servers . . . . . . . . . . . : 213.51.129.37
213.51.144.37
etc



This shows you your CURRENT dhcp server, but if there are multiple dhcp servers running by accident, you will get an IP address from a RANDOM server!

Same with NETSH. The command NETSH DIAG SHOW DHCP only shows your CURRENT dhcp server and does not do a scan.
Even utilities that claim to do this, only show one or only the current dhcp. DHCPexplorer from nsasoft is such a fake application.

Fortunately there is a tool that comes standard with windows, called DHCPLOC. If it is not installed, you can find it on your windows CD under the \support\tools directory OR get it from
here

Give your current IP address as an argument to dhcploc, and press "d" (discover). Press d a few times to get a good view.


C:\WINDOWS>dhcploc 10.237.147.101
15:28:30 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***Form
15:28:32 OFFER (IP)10.237.147.170 (S)10.237.147.1 ***
15:28:32 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***
15:28:34 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***
15:28:35 OFFER (IP)10.237.147.170 (S)10.237.147.1 ***
15:28:35 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***
15:28:36 OFFER (IP)10.237.147.170 (S)10.237.147.1 ***
15:28:37 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***


There! there is a rogue dhcp server running at IP 10.237.147.1 !!
So you know.

(the rogue dhcp server turned out to be a netopia dsl router, which only changes dhcp server settings after a REBOOT! Shame!)

Edit:
Another nice tool is DHCPFIND.EXE, from roadkil. Its free and works, and is a GUI tool, not a commandline tool. Only problem is that it does not show the dhcp server IP, so dhcploc is still the best utility for the job. If you want to try dhcpfind, look here

[ add comment ]   |  permalink  |  related link  |   ( 2.9 / 956 )
Mserv4win - Mserv Client for Windows  
Already for a few years, i'm running MSERV, a great opensource mp3 jukebox which is completely client-server and has a good rating- and genre system which allows it to play random music that corresponds to the current mood, current lister etc.

You can rate numbers as superb, good, normal, bad, awful etc. and it takes this into account to play numbers more or less often, depending on your rating. Everybody can rate, so this is a good jukebox to use with a group of people.

There are a few clients available, and I've taken MservClient as a base to further develop the windows client. MservClient is written by Marco Schulze and Marc Klinger, and can be found here. Because I've changed the whole concept of MservClient, I adopted a new name: Mserv4win. Also, there is not much left from the original code of mservclient. Mserv4win takes the look and feel from winamp and puts it on top of mserv.

One of the things missing in Mserv is a good "cover picture" feature, so I've also added an "x cover" command to get a cover pic from the server. The client still talks to the original server that does not support this command, but with this feature, the experience is a lot better.

Here's a screenshot:




Download Mserv4win: MServ4win.zip
Download source (delphi7): sources.rar

If you want to patch your mserv for "cover" support, use this to patch mserv's cmd.c and recompile: cmd.patch
or replace cmd.c with this version: cmd.c

make sure you put cover .jpg files in the same directory as the album mp3's. Also, make sure the jpg is not too big (max 50k or so)

[ add comment ] ( 75 views )   |  permalink  |  related link  |   ( 2.9 / 1291 )
Acceptgiro printen 
Even een item in het nederlands. Wat is het toch lastig om informatie te vinden over het printen van acceptgiro's, en dan met name het berekenen van de controle getallen.

Uiteindelijk bij interpay de goede informatie gevonden:
http://www.interpay.nl/binaries/IPforms ... -34971.pdf

Maar hoe werkt het nou? Vrij simpel. Alle controles worden met de bekende 11-proef (modulus-11 algoritme) uitgevoerd. Dat wil zeggen dat je elk cijfer met een weging optelt en het resultaat deelt door 11. De rest die je overhoudt trek je van 11 af en dit geeft het controle getal.

voorbeeld: (16 cijferig betalingskenmerk)
c000 0567 8901 2345 (c=het controlegetal dat we gaan berekenen)

de wegingen zijn 2 4 8 5 10 9 7 3 6 1 en die moet je vanaf rechts toepassen, en als je klaar bent begin je weer van voor af aan. Dus:

c 0 0 0 0 5 6 7 8 9 0 1 2 3 4 5
10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
--------------------------------------------- x
0+ 0+ 0+ 0+10+ 6+42+24+63 +0+10+10+24+16+10 = 215

215/11 = 19 rest 6
11-6 = 5 dus controle getal (c) is 5



dus het betalingskenmerk is dan

5000 0567 8901 2345


Als antwoord op de vraag van wouter:
Indien C = 10 wordt 1 aangenomen
Indien C = 11 wordt 0 aangenomen


[ 1 comment ] ( 265 views )   |  permalink  |  related link  |   ( 2.9 / 883 )

Back Next