Tuesday, Debtember 06, 2011
It didn't take me quite as long this time
I decided to give Basilisk II another try, given the proper files
for Mac System 8 were available. The problem I had last time appeared to be a
simple compiler problem, and forcing the Makefile
to use
g++
got past that issue.
I then had to make a bazillion casts in one of the files, since
g++
didn't like the code:
../uae_cpu/gencpu.c:2422: error: invalid conversion from `unsigned int' to `amodes' ../uae_cpu/gencpu.c:2422: error: initializing argument 1 of `void genamode(amodes, char*, wordsizes, char*, int, int)' ../uae_cpu/gencpu.c:2422: error: invalid conversion from `unsigned int' to `wordsizes' ../uae_cpu/gencpu.c:2422: error: initializing argument 3 of `void genamode(amodes, char*, wordsizes, char*, int, int)'
It seems one cannot cast an unsigned bitfield to an enum in
g++
without a cast. There were only a bazillion locations to
change in that one file, but once done, I had Basilisk II running on my
Linux system.
A nice feature of Basilisk II is that it can mount a Unix directory as a
Mac “drive” so transferring files in and out of the virtual Macintosh is
very easy and I no longer need to use hfsutils
on disk
images.
Software archaeology is apparently a real thing
My job now was to smuggle these documents back into the company. I would be happy to just hand them over. But that doesn't make any sense to the company. The company officially has these documents (digitally managed!), and officially I don't. In reality, the situation is the reverse, but who wants to hear that? God knows what official process would let me fix that.
…
Oh, and as an external consultant, I'm not allowed to know some of the trade secrets in the documents. The internal side of the team needs to handle the sensitive process information, and be careful about how that information crosses boundaries when talking to the external consultants. Unfortunately, the internal team doesn't know what the secrets are, while I do. I even invented a few of them, and have my name on some related patents. Nonetheless, I need to smuggle these trade secrets back into the company, so that the internal side can handle them. They just have to make sure they don't accidentally repeat them back to me.
Via Flutterby, Institutional memory and reverse smuggling
This sounds like a cautionary tale of what happened to Stonehenge or the Pyramids of Giza—they were built, but now years later the project documentation got misfiled somewhere and we're stuck with trying to reconstruct how it happened.
Actually, now that I think about it, it also sounds like a lot of software projects.
Hmmm … oh my … no … just no …
“My unit test had moved Greenland into Argentina.”
… but on October 7th this year, Argentina announced that it wasn't going to use daylight saving time any more … 11 days before its next transition. The reason? Their dams are 90% full. I only heard about this due to one of my unit tests failing. For various complicated reasons, a unit test which expected to recognise the time zone for Godthab actually thought it was Buenos Aires. So due to rainfall thousands of miles away, my unit test had moved Greenland into Argentina. Fail.
Via Hacker News, OMG Ponies!!! (Aka Humanity: Epic Fail) - Jon Skeet: Coding Blog
I have no words for this, other than “be afraid. Be very afraid.”