In the mid 90's I was designing real time control systems for ROV's in Singapore. We needed an update rate of 30Hz (human eye sight runs at around that speed) and achieved it on 8 bit Z80 architecture. One of the people we hired who has passed away now was Dr WCH. He was infamous in Singapore for his work in copying the VAX and Mini VAX supercomputers for a few east block governments. He told me the story of his arrest. He was picked up off the street and taken into the ISD. They told him what he was accused of. He tried denying it. Then they started listing everything he had done for the last year. Even in the 80's without the aid of
personal borne and provisioned surveillance devices (aka Cell phones) they knew every conversation and every meeting and every movement. He immediately confessed and somehow escaped punishment but of course stopped making copies of Vax's for the XX government... One of the things he did for us was similar. He reverse engineered the ROM's of a competitors ROV and dis-assembled the code. He then broke down and commented the code (i.e. worked out how it functioned), broke the communications protocol (which was partly published) and then helped us develop in a blind room (i.e. not exposed to source materials and using different programmers) a protocol compatible code set. We wanted the protocol to be similar so we could swap top sides and vehicles and more importantly replace the Surface Control Units which were based on some UK hobby Z80 computer (and I mean hobby - there were maybe 100 in existence which was unsustainable for a commercial system). Good times. We'd never do that now (the Intellectual
property situation was fuzzy even then and now the law would be against us) but the experience was a real learning curve. The comms protocol was a thing of beauty - full XYZ axis real time control in a 16 word package at 9600 BPS - I've never seen anything like it since actually. The original company we were competing with actually ended up buying spare SCU's from us in the end as our fully engineered system was far more reliable than something made in a Brit's garden shed.
One of the more interesting snippets of that conversation I have never been able to verify is that WCH told me that in the same cell were Tamil Tiger supporters arrested in Singapore for smuggling arms via Singapore to the TTT. He swore they were never going to be released and may still be locked up.
About a year later after we produced our own system I was asked to look into the original code by users of the competitor's ROV. People were reporting that the original ROV's would lose control under auto-pilot (heading). I remember counting every push and pop (stack commands) in that code and eventually discovered that the auto head subroutine had too many pushes and not enough pops (i.e. the stack would overflow). That was without the original source code.
That sort of work led to one of my more famous personal successes in the 90's in Australia that had me named the 'comms guru' - in one case I sat in front of a comms protocol viewer watching the protocol run in real time for days (fortunately only 9600BPS I think). The company I worked for then were complaining that a particular PLC would lock up and they had worked out if only happened when communicating. I volunteered to fix it. It was like the matrix - watching streams of hex characters. Eventually I realized that the code for the protocol driver was reading and writing to a scratch pad area in the PLC memory - (as a test I assumed) - and at that point the PLC would corrupt. The test read/write was not documented in the protocol driver code from the SCADA company but it was documented in the GE FANUC manual. So I set up a test of my own and tried writing and reading to the scratch pad area and sure enough - the PLC would hang. I rang GE FANUC local rep and he said "oh yeah - we thought that might be the case". Anyways I got the SCADA company to stop their unnecessary test read/write and that system run perfectly after. A couple other similar episodes later (PLC programmers are great LL but terrible at comms it seems) and the tag of comms guru stuck. It's not so easy now with TCP/IP and Ethernet but can still be done.
I not lawyer/teacher/CPA.
You've been arrested? Law Society of Singapore can provide referrals.
You want an International School job? School website or
http://www.ISS.edu
Your rugrat needs a School? Avoid for profit schools
You need Tax advice? Ask a CPA
You ran away without doing NS? Shame on you!