Ask HN: Worst working conditions you have written code in?
PS: I asked this question on StackOverflow but it was closed.
PS: I asked this question on StackOverflow but it was closed.
Here's what the simulators look like: http://blafsen.net/photos/simulator.jpg
I changed the code, and brought the simulator up on motion to test it... and the machine started bucking like a horse and tossing me around the cabin. I had the instructor console right in front of me, and for a while it was physically impossible to hit the freeze button - I was being tossed around too badly.
That day I learned a lesson about testing: first check it with motion OFF.
- The pilots and instructor inside the cabin manipulate controls/switches/CBs/panels, sending signals to an bunch of interface cards.
- The interface cards convert voltages to values, and move them into a big chunk of shared memory on the host computer.
- The host computer recalculates the new state of the simulation, updating everything in the shared memory, 60 times a second.
- New values in the shared memory are sent to the interface cards.
- The interface cards convert values to voltages, driving the instruments, sound, visual and motion systems.
It all happens so fast that the pilots never sense the latency between their action and the effects in the cockpit. The host computer is the brain of the system, that's why a small bug there can be dangerous.
When they tried it in the sim, both of them were similarly thrown around and a terrified few seconds as neither were able to reach the panic button :-)
Most memorable event on the factory floor was when a hydraulic jack failed on a sim, and the resulting jet of fluid punched a hole through six layers of hand wire-wrapped PCBs on the sim next door.
I think it put them back six weeks. Luckily the penalty clause for lateness was only $50,000 per day. Gulp.
"Error - good luck finding the bug".
Steve Wozniak's story about rewriting floppy drive low-level software the morning of a big demo:
>I got it to where it was writing data on a track, reading the data on a track. Then I got it to where it was reading the data in the right byte positions. Then I got it to work with shifting tracks, and we wanted a simple program where we would say "run checkbook" or "run color math" and it would run the programs that were stored on the floppy disk. So we went off to Las Vegas, and Randy and I worked all night and we got it done to where it was working. At the very end, it was 6:00 a.m. and I said, 'We have to back up this floppy disk." We had one good disk that we prepared with the data hand-massaged to get it just right. So I stuck it in the floppy and wrote a little program, and I typed in some data and I said "read track 0," stuck in the other floppy and said "write track 0, read track 1, write track 1." There were 36 tracks—I had to switch floppies back and forth.
When I got done, I'm looking at these 2 floppies that look just the same. And I decided that I might have written onto the good one from the bad, and I did. So I had lost it all. I went back to my hotel room. I slept for a while. I got up about 10:00 a.m. or so. I sat down and, out of my head and my listings, recreated everything, got it working again, and we showed it at the show. It was a huge hit. Everybody was saying, "Oh my God, Apple has a floppy!" It just looked beautiful, plugged into a slot on our computer. We were able to say "run color math," and it just runs instantly. It was a change in time.
But the real eureka moment for me was the very first time I ever read data back. I wrote it on the floppy, which was easy, but read it back, got it right. I just died.
I think that Steve's entire interview is probably one of the most inspiring in Founders at Work:
I used to catch myself surfing the web in the clean room after hours. "Wait!" I would say to myself, "I could be doing this outside the clean room, where I could take off this silly suit!"
But they are stressful places to work. The noise is quite troublesome and the ergonomics are generally awful.
There was a day when I was sitting there in an academic fab, in my bunny suit, and a fly flew by. At first I didn't notice. Then I did a hilarious double-take.
I believe the airlock design has been improved since then.
Since there was nothing else to do apart from listen, I wrote code the entire night. The problem was that writing code can get very mentally taxing after a few hours in the night, and combined with the thought that spacing out can result in a persons death, it was a very demanding task, particularly in the period from 4am to 6am.
I haven't done anything that crazy but have debugged (and fixed) a few memorable, painful, stressful software (usually system integration) problems on frantic conference calls mere hours before the paid-for-and-scheduled on-site training on the software commenced.
"Safety margin"! What's that? ;)
I was proud of my team, that is what got me through the days.
After that my boss denied my salary raise with the suggestion that if I don't like the salary, I know where the doors are.
I was insulted by the insolence. That was what got me through the door.
Rails freelance is awesome.
I now freelance django / RoR and PHP and I do not complain about any of them, ever. ColdFusion is the language one should be forced to work with whenever they complain about any other language, it will fix their aversion to the language in question very, very quickly.
PHP is a great language for the basic stuff, but you try to do serious things with it and you have to wrestle with it. And it's all so ... badly designed. You sob because it can all be done so much better and... cleaner.
So I had to implement a "will take only 15 minutes but is extremely important" feature, lying on my stomach with laptop on the floor, with my head dizzy because of the pain killers and a bloody butt.
I had been out for a week waiting for the stone to pass, I hadn't slept more than 15 minutes in a row in more than a week -- and those 15 mins were from sheer exhaustion and vicodin. I was hallucinating continuously and vigorously. Hadn't been eating either.
Good times.
The automated equipment we were debugging (and volume testing with things moving around continuously) was the least of it... the huge site was still under construction. All around me there was racking being cut and welded, electricians installing stuff, aromatic concrete floor sealant being applied, various random drilling and banging.
I had to write large amounts of new code on the spot as we found problems (missing features, mostly) during testing, while the automation engineers stood around annoyed and waiting.
When I first got to the site, I didn't even have a laptop - had to lug a desktop PC and CRT monitor there and back every day (carrying it across half the site and the loading dock) for the first couple of weeks. For part of the time, this involved carrying it across iced concrete, since it had been snowing.
Oh, and there was the engineer from one of the third-party equipment suppliers, an Italian company - nice chap but he didn't speak very good English; the noise level didn't help the already poor communication, and when we started our testing, we discovered he had developed his control software from an interface specification three versions old and half a year out of date.
There was free coffee though.
I was there too!!
It was 3AM and I had sweat dripping down my palms and wrists that I had to lay toilet paper over the keyboard and mosquitoes buzzed at my ear and neck nonstop. I had to fight with an aggressive postfix filter that kept sending mail to a lisp process and did no error checking to see if Lisp ran and processed the mail. I had to remove the filter, and manually rebuild stuff later after I had the system running around 12PM the next day.
It was one day in hell, taught me that the unix errno and process exit status can be a fucked thing to debug if you're forking multiple process from a script.
[Edit: right now I'm coding sitting on the toilet seat, with my pants on, because I'm a moody SOB and like to move around the house as the day passes :-]
oh my! you guys scare me off. I've always dreamed of an office for my startup where we work in a really nice garden full of trees and green grass, sitting on bean bags and chairs (freedom of posture :P) Maybe I should just do this. It's going to be really cheap and comfortable considering the temperature in my location is around 20c-24c during normal days.
I hate air-conditioned rooms. there's nothing better than the smell of green grass and evening wind blowing your nose. And listening to soft music in such an environment is really cool. But I would have to opt for a silent area for the office (which is far away from traffic jams) which would mean compromising the utilities/accessibility of the city center. When you have sounds of sparrows and pigeons in place on that soft-music, it sounds even more cooler.
I'll also have a huge hall to run for shelter incase it rains :)
And also I'll plant an umbrella kinda thing above every fella working, coz I don't want them to waste time washing them or their notebooks of crow/pigeon shit :D
P.S: anyway it's a dream office for my startup and sounds a do-able task :)
Also the 'quiet room' was anything but - if only one person wasn't being quiet then you would hear every sinlge syllable they uttered. Very distracting.
In addition, behind me is the CEO's office. The wall is glass and everytime I open my web browser to do some research he comes and asks what I'm doing - as far as he's concerned I should be doing nothing but writing code.
Also, to my left is a door to the office balcony where the smokers do their thing, so every five minutes during winter I get an icey blast and the stench of tobbaco when they open the door to go out and again when they come back in.
Finally, directly above my desk is an AC chiller unit that blows cold air down my back from spring to autumn making my hands so cold I can barely type.
Seriously? You need to get me out of zone just because you have succeeded to sell another piece of software?
Freelancing kicks ass.
Hard to get work done with that right point firing and visible from the window.
http://stackoverflow.com/questions/741581/what-are-the-worst...
For the first 6 months, it was very exciting, but eventually the sensory overload and taxing environment got to me, and I started having health problems. In retrospect, I think the open-plan office was much more of a contributor than the noise, which could be tuned out pretty easily. Open plan => needing to pay constant attention to how one is perceived => anxiety => diminished productivity => more anxiety => immune system fails => very sick.
I think 107 F is worse, though. I stop being productive around 90, and I'm pretty sure I'd die after 8 hours in that heat.
As for the perception issue, that's more of a showmanship issue. For people who aren't in your field but do judge, I find a few stereotypes work out well. At my last job, I filled unused screen space with random API references. The busier and more technical my screen looked, the busier and more technical I looked as a result. It's the game you have to play when people don't let good work speak for itself.
As humans, though we share this with most animals, we have a strong desire to do important things (eating, defecating, sex, spiritual journeys) with at least some degree of privacy. Work, at least of the mentally taxing kind, falls square into that category.
Some hackers love trading, for what it's worth, and there are finance jobs out there that have better working conditions than what I described.
2. In a dorm room for a year with 10kb/s internet, tops. FTP was impossible without net2ftp.com. SSH and most other traffic would not get anywhere either (SVN, IRC, etc.), and I was working many hours on web projects. No Windows VM, so all IE6-7 testing had to be through BrowserShots. But I had a bunch of great Mac software which eased the pain.
The worst time is at school, when my friends (tech-savvy people) ask me for questions in a very noisy way that I loose concentration. So I agree with most of you about concentration, we can class it then
Concentration
Computer bugs and speed
Screen (if u sit for long hours)
Mouse and Keyboard (especially for those cheap laser mouses!!!)
Computer noise (if it's an old dirty one)
your girl friend (if u got one!!!)
Those are all factors that can affect your programming or whatever you are doing if it's mind related, like Math or Physic calculations
Also I posted it in SOF, no the question was not closed