Forgot your password?

Comment: A solver and a simulation of the solution, in Pyth (Score 1) 167

by ttsiod (#46675001) Attached to: A Rock Paper Scissors Brainteaser
Based on @ShanghaiBill's solution, I wrote a solver and simulation in Python (that also fixes ShanghaiBill's buggy pinning of "him.rock" to 0.5 - the player could in theory, choose to play rock at more than 50% probability). Use Pypy for speedy execution - I uploaded the code to GitHub:

Comment: My Speccy was the gateway to a life of IT... (Score 3, Interesting) 212

by ttsiod (#39768247) Attached to: Sinclair ZX Spectrum 30th Anniversary
My Speccy was the gateway to a life of IT (I ended up becoming a software engineer, and part-owner of a startup). Will always feel grateful to the designers of the 8-bit micros that started all this...

Oh, and I still remember my first hack - dissassembling JetPac and finding the POKE that gave me infinite lives. Now *that* was fun :-)


+ - AI - Playing Score4 (functional/imperative style)->

Submitted by
ttsiod writes "... I always try to find ways to "lure" my nephews and nieces towards science and engineering, so after a number of Score4 rounds with my 7 year-old niece, I told Theodora that by being a programmer, her uncle could create something "magical" on her laptop: a program that would play Score4 so well, that it would beat her, me, and every other human she knows.

She smiled and said "I'd like to see that, uncle!"... and that's when this story started..."

Link to Original Source

Comment: Re:Answers and Suggestions and Further Questions (Score 1) 249

by ttsiod (#34345206) Attached to: Coder Accuses IBM of Patenting His Work
HeapCheck, Electric fence, Dmalloc and all memory debuggers in general, are basically replacing the allocation functions in the executable with their own version.

The "extra" stuff that the patent proposes, is a BOOLEAN flag, that HeapCheck functions would check upon entry (at runtime) - therefore allowing the developer to control (ON/OFF) the machinery at runtime. For example, the substitute allocation function can check a registry setting, to decide whether the functionality is on or off, and a separate utility GUI can toggle this registry setting on/off (I believe Microsoft's PageHeap has something exactly like that).

So tell me, do you REALLY consider this addendum - a boolean flag, for pitty's sake - enough "innovation", to warrant the term "invention"? Patentable "invention"?

Comment: Re:ludicrous (Score 1) 249

by ttsiod (#34345034) Attached to: Coder Accuses IBM of Patenting His Work
Er... let me get this straight:

You are actually arguing... that adding a boolean flag, controlled at runtime - a BOOLEAN flag! - constitutes enough... innovation, to make this... a completely new invention, worthy of patenting?

That is, if the allocation function checks e.g. a registry setting upon entry, and a GUI application simply sets this registry entry to True/False.... then suddenly the contribution is so enormous, to warrant the label of "new invention"?

Really? Are you serious?

Comment: Re:They aren't claiming your invention. (Score 3, Informative) 249

by ttsiod (#34342350) Attached to: Coder Accuses IBM of Patenting His Work
I am a coder, not a lawyer - and from reading the patent's claims, I can see only one thing that was not in HeapCheck, but which DID exist in Electric Fence: the ability to enable heap checks at runtime, without recompilation. Electric Fence allowed one to do that via LD_PRELOAD, so I am sorry, but I stand by what I said - I can see nothing in there that didn't exist in either Efence or my HeapCheck.

Comment: Re:Answers and Suggestions and Further Questions (Score 5, Informative) 249

by ttsiod (#34342296) Attached to: Coder Accuses IBM of Patenting His Work
I only take an issue with your last paragraph - I certainly didn't leave the code in a graveyard, I released it with an open source license, so that anyone could use it and make his life a bit better. The fact that 10 years later, someone else has now patented the ideas in Electric Fence and HeapCheck, and can now sue me and everyone else using it, is what got me mad (hence the "trolls" comment).

Comment: Re:So, there's no new art? (Score 1) 4

by ttsiod (#34330894) Attached to: My GPL code has been... patented!
The method, invented by either Bruce Perens or someone before him - we are into 1993 or earlier here - and implemented by me (in 2001, under Win32) and I am sure by many others, is about placing an inaccessible page (4K) right before or after your just malloc-ed region. This way, if the user code reads or writes beyond the boundary, an exception is raised. In the case of my implementation, the "before" or "after" was a compile-time switch. In the case of Bruce Peren's Efence, it was an environment variable. Having that in mind, can anyone see any improvements in any of the claims?

+ - My GPL code has been... patented! 4

Submitted by ttsiod
ttsiod (881575) writes "Back in 2001, I coded HeapCheck, a GPL library for Windows (inspired by ElectricFence) that detected invalid read/write accesses on any heap allocations at runtime — thus greatly helping my debugging sessions. I published it on my site, and got a few users who were kind enough to thank me — a Serbian programmer even sent me 250$ as a thank you (I still have his mails). After a few years, Microsoft included very similar technology in the operating system itself, calling it PageHeap. I had more or less forgotten these stuff, since for the last 7 years I've been coding for UNIX/Linux, where valgrind superseeded Efence/dmalloc/etc. Imagine my surprise, when yesterday, Googling for references to my site, I found out that the technology I implemented, of runtime detection of invalid heap accesses, has been patented in the States, and to add insult to injury, even mentions my site (via a non-working link to an old version of my page) in the patent references! After the necessary "WTFs" and "bloody hells" I thought this merrits (a) a Slashdotting, and (b) a set of honest questions: what should I do about this? I am not an American citizen, but the "inventors" of this technology (see their names in the top of the patent) have apparently succeeded in passing this ludicrous patent in the States. If my code doesn't count as prior art, Bruce Perens's Efence (which I clearly state my code was inspired from) is at least 12 years prior! Suggestions/cursing patent trolls most welcome."

Comment: Re:Verified with my SW-only Javascript 3D renderer (Score 1) 98

by ttsiod (#34206512) Attached to: Firefox 4 Regains Speed Mojo With No. 2 Placing
I am a newbie, Javascript-wise - so if this is true, it was purely coincidental :-)

It's just plain math and a "plotpixel" function... so I'd be happy to know what to change to make it run faster in other browsers - any suggestions?

(the good thing about Javascript - the code is open-source by nature)

Comment: Verified with my SW-only Javascript 3D renderer (Score 3, Interesting) 98

by ttsiod (#34205306) Attached to: Firefox 4 Regains Speed Mojo With No. 2 Placing
Verified with my SW-only Javascript 3D renderer, try it on your own here, or just look at the submitted benchark results:

On my aging PentiumD/2.8GHz:

  • 13 frames per second with Firefox 3.6
  • 18 frames per second with Chrome 7
  • 27 frames per second with Opera 10.6
  • 44 frames per second with Firefox 4.0beta

Comment: Verified on my sw-only 3D benchmark as well (Score 3, Informative) 352

by ttsiod (#34004404) Attached to: Firefox 4's JavaScript Now Faster Than Chrome's
I, too, saw the speed of Firefox 4 in a pretty simple, math-only benchmark that rotated a 3D object. Run it for yourself and/or see the gathered statistics (bottom of the page). Here is the Reddit discussion where many people run it and confirmed Firefox 4 supremacy.

Counting in octal is just like counting in decimal--if you don't use your thumbs. -- Tom Lehrer