Some years ago I accomplished a project of the real-time ECG-generator (the text is in Russian) for Spectromed-UA. I wrote a soft part in Delphi, and another guy dealt with an electronics part.
The device is connected to PC and sends out a signal via LPT to a DAC outside. A signal could be rectangular (meander), sinusoidal and ECG-like. (ECG is the electrocardiogram by the way). The 'heartbeat' of the latest one can be modulated in time. A subprogram to play out real ECG was included. Some noise modulation was included as well.
That was designed to test cardio-analyzers and similar devices. Small and neat project, as I remember. There was no support for the most pathological arrhythmias, however.
Opera 10 beta hits portages with its customizable speed dial feature. As for me, that could be better.
Why not to customize the grid of speed dial in such a way that a user can choose independently x-y size, with discretization 1 column-row? With my usual portrait display mode all the cells are concentrated in the center of a screen.
Something has to be done with shortcuts Ctrl+digit. Nine shortcuts are not enough for 25 cells anymore. I think that could be something like Ctrl+0, [switched to speed dial mode], digit, digit [i.e. up to 99 choices].
A hundred of those tabs should be ok, as for me.
I filed this bugreport them (reference email DSK-258394 at bugs.opera.com).
As I already posted in Scheme, a function computing all subsets of a set would be:
The same in Haskell:
-
s = "abcd"" Set: "" Subsets: "
For imperative languages I'd rather prefer bitwise approach. Here is in C#: