Tuesday, April 18, 2006

Filter generator

Found an interesting filter generator on the internet :

http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html


It's a really nice application, it even generates C code to implement your filter !

Saturday, April 08, 2006

FFT for digital filtering (DSP) applied on.. images ?

Today while looking on the web for information about digital filters, I found this guy who is using FFT (fast fourier transform) on images, and use DSP techniques typically used in equalizers and other devices on image processing..

The resultats are really impressive !

http://gilemon.free.fr/site-rapport/rapportfiltrage.htm

Thursday, March 23, 2006

1% more for 100% more ?

For thoses who knows, escrow.com is a service that protect buyer and sellers in an online auction from fraud. To check the transaction fee escrow.com is charging, they've set up a little javascript calculator
However, if you enter the value :
1010101010101010

It returns the same amount as if you entered 0$, that is the base fee of 25$.
However try it for a smaller number.. like 1000$, you will see it doesn't reflect at all the reality.

I know that it is a really big amount of money, and probably no internet transaction will be made through that service, however, I think a basic point of software engineering is : testing. This internet calculator is only an example of what I try to talk write about.

People in the industry really don't test enough their products : softwares, cars, hardware, and others !

What makes me the most sad : softwares are relativley easy and cheap to test. To test a motherboard, the motherboard compagny need to buy a test bench (several hundred thousands dollards), pay an engineer to write a test plan, than pay a guy who is specialised in test bench programming to write a program that will test this particular motherboard line ! The chances are the process will be to do again on the next motherboard line.

In the software industry, you don't really need to test each individual units. Yes, you need to test the CD for non defectuosity if the software is transported on a CD, but if the software is transported on electronics way (internet), the testing is done via MD5 automaticaly..

All this to say that, since you don't really have to test each individual units of software you distribute (the reproducability ratio of a program copied is really high.. if you copy the same file twice, both file should really looks alike), the cost of your individual tests is really really decreased.
However, why do people still continue to distribute badly tested applications (many examples, not limited to microsoft, but also including solaris x86 bug with usb mouse and keyboard layout in java applications, and multiple others) ?

I cannot answer this question. For shure, time to market of software is a great constraint. However if testing is done from the beginning to the end of the developpement project, time to market is unaffected, you just need to hire more people, maybe 3-5% of your developpement staff, and dedicate them to tests, from the beggining to the end of the project.

5% of your staff. If you have 100 developpers, that means hire 5 people. Per years, that represent about a quarter a milion dollards, I know that. However assuming the testers are paid equally or less than most of your developpement staff, 5% of your staff means less than 5% of your developpement cost, which represent 0-5% of your project costs, and that should represent a lot less than 1% of the sale price.

On the other hand, the testing cost of a motherboard, including the additionnal cost caused by deffective units, is more than 1% of the total sale price.

On the other side, if you are a company using that software, and one of your employee just lost 2h of work (40$, assuming employee is paid 20$ per hours) because of a computer bug, that usually represent more than 1% of the price you paid for that product.

Are people willing to pay 1% more to get 100% better products ? I think so.

Why isn't that practice implemented in the industry ? Well it's on his way, with concurrent engineering making his way and with the obligation to get a PDP (product developpement product) (which we hope will contain extensive tests) in order to get iso 9001:2000 certified, I hope soon I will be able get higher quality softwares.

Thursday, March 16, 2006

Memory leak mesurement

This week we had a little problem with our term project; we had a few leaks; and overally the memory usage by the application was increasing of 20mb/s, on a 2gHz computer. On a 1gHz computer, the leak was growing about 10mb/s.

Why not create a standard unit to mesure a memory leak amplitude ? Well since it's hard to mesure a "leak", let's mesure how much memory usage of a program grows in time.

Here is my proposition.. Assuming we have sleeps or wait for user input, 1E is : the program grows 1mb in memory per seconds, per gHz..

I don't think that proposition will be accepted by the ansi or iso comitee tomorrow.. but well.. Maybe some day the E will become as famous as the smoots : )

Tuesday, March 07, 2006

Are you that paranoid ?

Are you that paranoid about your passwords ??

Error Message: Your Password Must Be at Least 18770 Characters and Cannot Repeat Any of Your Previous 30689 Passwords

This is a real error message ;
http://support.microsoft.com/kb/276304/

Wednesday, February 22, 2006

Wow ! Free servers for 2 months

This is really the first time I see a such offer in the hardware industry. In the software industry we always see offers such as "free for 15 days" or usually, "free for 30 days".

Sun recently came up with a quite weird offer.. They send you a free server for 60 days, and if you don't like it you call them and they send someone to pick it up.

We aren't talking about some crappy boxes.. we are talking about coolthread servers ! Probably the fastests servers for java applications and multithreaded applications (and low fp applications.. like mentionned in the contract.. you cannot test this server for 60 days to use it with an heavy-fp application hehe)

Here is the link if you are interested : https://www.sun.com/secure/servers/coolthreads/tnb/qualify.jsp

I want to work there

Times magazine published some pictures of the google headquarters. Yeap, I definatly wants to work there :
http://www.time.com/time/photoessays/2006/inside_google/

A billion maze !

A friend of mine Alexandre sent me this link today :

http://www.onebillionmazes.com/

This site claim to have exactly a billion mazes ! I can't really believe they really have a billion of different mazes tought.. The funnieset thing is probably.. where do they put all theses mazes ! 24k per mazes.. A bilion mazes.. Figure it out, it gets to about 20 tb !

That is a lot of storage for a small budget website !

No.. really.. there is something weird with this website

Monday, September 12, 2005

Open Letter to Logitech

To Logitech folks,

I've been a long time logitech buyer. Your products are always of good quality, but as soon as you begin to have problem, you can forget about support.
I first encountered really really bad support with an old steering joystick I had 4 years ago that broke, but continued to buy from logitech because theses products were great.

Logitech really don't seem in a hurry; they have been developping their driver for 2 month; still no sign of even a beta.
Hey, they don't even have to re-write it. If they did the 32 bit driver right; it's a simple recompile !!
Beside, they have known the venue of x64 for a long time; just look at other vendors and see logitech is way behind :
Creative offer 64 bit support for all his, including almost legacy, devices
Matrox support this platform for his devices old up to 4-5 years; right now.
ATI/NVIDIA offer full 64 bit drivers

Really, logitech, please, try to improve on quality of support. Try new engineering methods, like Concurrent engineering. Write your drivers in C; then you only have to recompile them to port them.
I don't know what's wrong; really. I wrote drivers for a couple of devices in a single days. Not for webcams, true. But I wrote drivers for photo sensors, en gines, and a couple other devices; with a small team doses stuffs are done really quickly.


Now, I will stop buying from logitech in a month if I don't get drivers for Logitech Cam PRO 4000
I will stop recommending theses products
I will stop implementing theses products in big LAN deployments

Please, hurry up development on logitech camera x64 bit driver. You don't have any excuses, Windows x64 have been up for several month, and it's API have been public for a while.
I think you now pay because you didn't wanted to support windows server 2003 (same kernel as x64; if some modifications needed to be done from xp to 2003 they need to be done before moving to xp x64)


Eric Boutin