Ask Slashdot: Where's the Most Unusual Place You've Written a Program From?
theodp writes: "Michael Raithel was polling the SAS crowd, but it'd be interesting to hear the answers to the programming questions he posed from a broader audience: 1. What is the most unusual location you have written a program from? 2. What is the most unusual circumstance under which you have written a program? 3. What is the most unusual computing platform that you wrote a program from? 4. What is the most unusual application program that you wrote?"
That would be in the butt, Bob.
A 24 Horus deadline? Just six of those falcon-headed bastards strutting around all godlike and hassling me about missed TPS reports is bad enough, but 24... To be honest, at that point I might just throw myself into the Nile and let my ka move on to the realm of Osiris.
Weren't you afraid of a core dump? Or, worse, a buffer overflow?
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
1. From inside the base of a wind turbine tower in rural Inner Mongolia province, China. Or, alternatively, from a caravan in the middle of a forest in Eastern Finland in the middle of winter - minus 30 C outside.
2. While nearly frozen to death (see 1b).
3. Wrote a program from? Or wrote a program for? The latter is probably a Danish PLC which I will not name here. It has an in-house OS with an in-house executable format which is based on ELF, loosely enough that none of the standard ELF tools work on it. A serial console is the only debugging interface available. An actual debugger is out of the question. All debugging output is truncated to 20 characters. The thing has a 100MHz CPU and all floating-point math is done in software (no FPU). Its reaction to almost any programming error is to hard reboot (and "programming error" here includes calling printf with any but the most basic formatting string). Perhaps most frustratingly, when it hard reboots it claims to write a stack trace of the faulting code; about 4 times in 5, this is truncated to some extent, often to only the first function in the stack.
4. A Windows programme to drive EtherCAT IO modules from a standard Ethernet socket.
Do I win?
Slashdot - News for Nerds, Stuff that Matters, in ISO-8859-1 Has just realised that beta makes this signature redundant
Dripping with sweat, inside a demountable building with no air con and 12 other programmers + machines (including CRT monitors, heat makers that they are) in the middle of a large black-tar carpark in the middle of an Australian summer.
The company we worked for was trying to get us to quit, so they dumped us there.
We quickly reasoned that if they were prepared to pay us for working in debilitating conditions, we were going to take their money and produce the small amount of work it was possible to get done under those circumstances.
Work attire was the first thing to go, replaced by shorts and hawaiian shirts. Management dropped in and threatened to put a mark on our files - prelude to being allowed to terminate our employment - until we pointed out that it was not in their interest for us to get the work safe authority involved.
This continued for several months while our effective output dropped to near zero, but they were still paying us.
Management blinked first. One lunchtime we all watched while the biggest forklift I've ever seen picked up the whole demountable and carried it inside one of the warehouses on site, where it became our home for the next couple of years.
The warehouse was used for military storage. One day I came into work and looked over at Mark.
"Hey, Mark" I yelled out.
"Whaddya want?" he said
"OK, " I replied, "follow these instructions. Put your chair in front of your monitor. Look at your screen. Now, swivel 90 degrees left".
Mark was a sport, so he did all that.... pointed straight at his head on the other side of his window was some sort of military artillery cannon. He screamed and fell off his chair. How we all laughed!
So this is more of an "unusual way to patch a system" story...
Back in the day, I used to code for an LP mud, and I accidentally locked myself - and everyone else who wasn't already logged in - out of the mud. The guy who could reboot the thing was often inaccessible, and there was only one person - another wizard (coder) - still logged in, coding away and oblivious to what had just transpired. I managed to get him to resolve the problem by inserting a file in his working directory called "(His name)_PLEASE_DO_NOT_LOG_OUT,_READ_THIS_IMMEDIATELY!!!.txt", which explained the problem and how to fix it. Half an hour later, he noticed the file and undid my mess ;)
The problem was the consequence of a coding arms race (oh, coding for LP muds was so dang fun.... every instantiated class object is treated as a physical object, its functions can be bound to user commands, and you can override the default interaction functions). Wizards (coders) often made "dest" tools - tools designed to destruct player objects, aka, kick them (temporarily) off the mud and make them have to log back in. Often they were done with artistic fluorishes, such as a long leadup sequence.
My friend at the time - oh, let's just pick a name nobody would realistically have and call him "Elim" - created this elaborate dest, wherein the target sees him pick up a flower and play "she loves me / she loves me not" with it, and when the last petal is plucked ("she loves me not"), the target would get kicked off. After he used it on me once, I wrote a counter tool which would detect when he was using his dest, and instead kick him off instead with my parody of his dest**. So he wrote an alternative dest tool, which would instantly kick me off without any leadup to detect, and do the flourishes afterward. So I wrote a tool which would be invisible and hop into his inventory and detect when he tried to use his dest tool, take precedence, and kick him off instead; plus a tool that would sit in my inventory and look for any unexpected objects and instantly destruct them. And on and on the code war went. The problem that one night, however, was when a bug led to my inventory-protector desting me and thus dropping to the floor, where it would wait to destruct any objects it could see in the same room (thinking the room was my inventory). And stupid me was coding in the login room at that time (which led to a new policy, never code in the login room! ;) )
** My parody of his dest involved sticking a paralyzation object into his inventory (one that would intercept and ignore all of his commands) and had a giant ogre run into the room, pick him as the flower, and play "She loves me, she loves me not" with his limbs making him randomly scream out for help.
Very well; let this abomination unto the Lord begin!
Currently I'm sitting in the rift valley of Kenya, in a small rural Maasai community. We are the last house on the power line. No one south of us has any Utility power. We had a Giraffe just outside the back yard a few days back. Internet is via the cell network... there is a single spot in the yard where I've found 3g works. So I've planted a short pole, which has a power and a spot for the hotspot modem to sit. It's covered with a plastic bottle with the bottom cut out. to keep the rain and dust off.
About a month before I left in April, now slightly seasoned myself and quite used to the regular rocket attacks, I was coding up a personnel tracking system in CPOF. For the first time the operations officer could, in real time, know exactly where everyone was for whom he was responsible. It was towards the evening when about 80 meters away you heard the familiar THUD! followed by the alarm 10 seconds later. Not a drill and at this point annoying. Imaging being in the zone for hours, when suddenly you need to stop and run out to a crowded concrete bunker for hours. Damn! I was just about to compile, too. Well, being the operations center, Marines can't just leave. They have to continue running the war. So some them stay with the helmet and vest in case of a direct hit in the operations center.
Some time later I finally returned and say the assist operations officer, a very tall Marine Major (now LtCol) and one of the nicest guys you could ever meet, taking off his battle rattle. I notice a tomahawk on the back of his vest.
"Sir, what's up with the tomahawk?".
"This? Oh, I was platoon leader in Fallujah. Our designation was tomahawk and I was tomahawk-6." I smiled in genuine amazement which quickly turned to sadness.
"That is so cool! All I've done so far in my life is sit in a cube coding."
The Major stepped back and said "Wait a minute, you were just coding, weren't you?"
"Yes. The perstat program for the OpsO."
"Well, you were just coding under ENEMY FIRE. You are a COMBAT SOFTWARE ENGINEER!". He said with the seriousness you sometimes see in Marine Corps officers. It put the biggest smile on my face for the rest of my time there. On my last day, the team I worked with gave me a flag and plaque designating me a "Combat Software Engineer" which to this day is one of my most cherished possessions.