Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

See title, but I am asking from a technical perspective, not

Take my 40 year old virgin niece on a date or you're fired.


locked by ChrisF Mar 25 '14 at 17:32

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Mark Trapp May 13 '11 at 20:59

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

If she's a 40 year old virgin, she's probably also an employee. Wouldn't that be against policy? – Tim Post Sep 9 '10 at 18:23
can you return her unopened next morning? – Mawg Sep 10 '10 at 1:49
Go read – Pierre-Alain Vigeant Sep 10 '10 at 20:11
This whole Q+As is like Dilbert, but in real life. – Agos Sep 10 '10 at 22:40
Ah, the mods strike again against clear community interest (70 up-votes!). Sigh. You know, maybe if so many very popular questions are against rules, maybe rules need changing? – James May 13 '11 at 21:48

64 Answers 64

up vote 184 down vote accepted

To market Neal Stephenson's sci-fi thriller Snow Crash, I was asked to write a "benign" computer virus. It would "benignly" pretend to take over the user's computer and replace the screen with snow, a.k.a., a "snow crash." After a minute or so of snow, the snow would fade out and be replaced by an advertisement for the book. This would be "benign," you see. The virus would spread through normal means, but nobody would mind because after taking over their computer "you'd just get a fun ad and then be relieved that nothing bad happened to your computer."

I was actually told to do this at a major worldwide corporation. I had to write a memo explaining all the laws this would break and all 17 bad things that could happen if they really made me implement this.

You were told to do this at Viacom ??? – Carlos Muñoz Sep 10 '10 at 3:37
Holy balls. That's the most perfect example of the "It's only evil if other people do it -- if WE do it it MUST be all right!" mindset I've heard in a while. – BlairHippo Sep 10 '10 at 14:15
Meh. It wouldn't have been any worse than the book itself... ;) – Mason Wheeler Sep 10 '10 at 16:37
That's awesome. We can sell it in a bundle with my 'benign' keylogger that serves up ads when users visit competitors sites, and we'll be rich. – µBio Sep 10 '10 at 17:21
@Neil G: 1. have something blatantly illegal done for you 2. profit! 3. blame employee when you get caught 4. more profit!!! (this worked for the Sony rootkit, IIRC) – Piskvor Sep 13 '10 at 16:10

My boss once insisted to me that Google's search results were all sorted by the highest bidder. He flatly refused to believe that Google tried to order its results by usefulness to the user. I tried to explain with simple logic that a system like that would result in the worst internet search engine imaginable to no avail.

In fact, he argued so vehemently that I'm pretty sure he'd just promised the client "the number one spot on Google if they were prepared to pay"... but didn't want to have to call back and look like an idiot.


I think you've got a typo: "...and reveal himself as an idiot." seems like the thing you wanted to say. – dr Hannibal Lecter Nov 21 '10 at 15:55

At a credit bureau company, I was asked to replace a 100k C code service that checked fraud databases. Asynchronous multithreaded programming in Java replaced old C fork-join thechniques. The time frames were about 400-500 ms and 1-1.5 sec with stress. We managed to get 600 ms with ocassional peaks from databases' cache flushing.

  1. My boss asked to configure it with 100 threads because "you never know" -- I did some research and testing and found 20 threads worked best.
  2. The service depending on the one I wrote suddenly had trouble, my boss asked me to put a hardcoded timeout to cause more trouble, so we can assure I was not the faulty programmer.
  3. My boss asked me to log every single operation to have control of all the process. That's ok I know. He asked me to go production with this version: Gigabyte logs every day. Two monts later I managed to change log to INFO from DEBUG and got 30% faster.
  4. I was asked to go to five or six installations at 3 a.m. to replace the jar and change the name of the jar in the script that launched the service (the old C app was a mess and they were afraid I did the same thing).
  5. The worst: I was forced to manage a team of 8, 5 were outsourcers, at the middle of the project. 1 of us never did anything, the outsources did a web app that 2 years after is not in production yet.
Let me guess. You got blamed for the web app that isn't completed? – Jason Baker Nov 23 '10 at 5:56

At the ISP I worked for back in the mid 1990s, the boss was friends with officers from our local police and sheriff stations. They were interested in catching securities fraud. So my boss hatches a plan:

Write a program to scan websites for evidence of securities fraud. That is:

  • Start with IP address
  • End at
  • Scan every web page you find at each IP

This was back when pretty much every web server had a unique public-facing IP and virtual hosts didn't exist, so technically it was feasible. This was also back when a 1.5Mbps T-1 was really, really fast.

The problem? Even if we could scan ten IPs per second, the entire job would take almost 5,000 days to complete. Yep, had we gone through with such a program, it would be just now finishing its first scan of the entire Internet.


Just last week someone asked me to make a simple change to an existing DLL (left pad a numerical value with leading zeros).

It was a COM DLL, originally coded in VB 6 - source code long since lost - which interfaced on one side with some external hardware (interface unknown) and whose functions were called from an Active X control on a web page (interface, again, unknown).

It only took me a week and I only slept overnight on the office floor twice.

But I got it done and it is live in the field as of yesterday - working.

Punchline - it was a government project, of course.

Did you bust out your trusty HEX editor? – James Dunne Sep 10 '10 at 16:02

My brother and I were working on a multimedia heavy-website for a very famous rock star many years ago.

When the client saw the site he noticed some compression artifacts on some of the JPEGs and asked what was wrong with them. We explained that images need compression for bandwidth purposes and that the images were currently compressed at about 80% quality. He was offended and said something to the effect of

I haven't gotten to where I am today by doing things at 80%, set it to 100%.

We tried to explain how it would affect users, but he would have none of it. It resulted in the slowest "virtual world" website ever. This actually happened.

"All these computers and digital gadgets are no good, they just fill your head with numbers and that can't be good for you." -… – Evan Sep 11 '10 at 1:03
At least he didn't ask you to turn it up to 110%. – Barry Brown Nov 15 '10 at 17:38
John. It really was him. Trust me, if I wanted to dress fancy or play the electric guitar like a wizard, he would be the first person I would go to. But not for web design best practices. – jessegavin Nov 19 '10 at 2:16
At first I was reading it as wanting 100% compression, not 100% image quality! – Andrew Grimm Jan 14 '11 at 8:09
"I haven't gotten to where I am today by doing things at 80%, set it to 100%." That's actually an AWESOME quote. The person who said it is Prince right? not some manager or something? – Ziv May 14 '11 at 13:36

I had to create and integrate a TCP Server into a Microsoft Access VBA Application.

It works kinda well, but it's probably the most insane piece of software I have ever written.


Coming late on that one but... I once worked as part of a QA team for a... let's say fairly big software project, which ultimately is part of a big telecommunications infrastructure.

Think big, as in really big, as in a few million people use it, to, well, communicate. Write, talk. Short distance and international stuff. That comes with billing as well to make sure it really matters.

The reason for me working with this team was that the technical launch date was approaching, and that they were quite late on the QA and defect identification front.

One morning I show up for our stand-up meeting, and the programme manager tells us that after a review meeting with the project's executives yesterday, they've decided that instead of having the software run on Windows 32 bits servers (which was decided like 2 years ago), they wanted it to run on HP/UX 64-bits machines.

No reason except that at the time 64 bits what becoming all the rate, so it must be better right? And totally justified. It was now only 2 weeks before the technical launch. Easy.

We fought this dearly (and with laughter).


I was asked to write a report to show all sales and expenses for the future, a Nostradamus module for our accounts system :P He was very serious, it was not supposed to be a prediction but the actual values.

Tel them, that according to Nostradamus (at least believe by some people) world is going to end in 2012. So, reports can not display after 2012. – Chris Jul 28 '11 at 11:30
And development of the module will complete 2012-12-31. – Bill Karwin Aug 30 '11 at 17:33

Back in 2003 we were two developers and a designer that got this...

I want you guys to do an imageserver application where you can just drag'n'drop images to upload them, without any extensions in the browser and it have to work on all platforms.

Truth be told we all looked at him and said something along the lines of

If we knew how to do that, we wouldn't sit in these chairs in your company right now.

Thanks to HTML 5 this is now almost possible, Ah progress. – Neil Aitken Nov 18 '10 at 13:43
I like the "almost" possible :) but if we cranck the pessimist glasses it won't be ready until 2022 :P – cyberzed Nov 18 '10 at 14:25
@Neil Aitken, it's possible in not IE. – zzzzBov Sep 28 '11 at 5:04

In my case it would be a client requesting a Web App feature to "block print screen" while on the application, which makes absolutely no sense because in order to do that you have to either disable the clipboard, disable the key for the whole computer, but no, they wanted to disable the print screen key client-side (through javascript), which makes it even more senseless, on top of that no matter what you do as long as you are not affecting the whole computer functionality (which, you shouldn't), the user could work around it by just focusing another application and using print screen when the focus is on that other window.



I was asked to create a tenant blacklist website for landlords handling rental properties.

Sounds like a great idea to me, though they should call it a blocklist. Some tenants habitually cause real physical damage to properties, never pay, and get kicked out of place after place. How about calling it or ? – Scott Fletcher Oct 5 '10 at 17:50

i swear to $Deity that a client once asked me to change (a+b)*0.5 to (a+b)/2

context? Depending on the language, those might actually be two different things. – MatrixFrog Dec 11 '10 at 19:11

Boss: I find it disgusting that you come in at 11am every day. I want you here at 8am, to help the data in-putters with any problems, and stay and help the dev team. When they go home at 7pm, you can start uploading changes to the sites.

Ofcourse, because of the ubersecurity for these sites (pharmaceutical company), we can only have one connection from our IP address to their servers, and I had 24 sites to upload. I was coming in at 11am because id be in the office till 3 or 4am uploading sites.

I left very shortly after.


Client: When the power is lost, the electronic door lock should go to the failsafe position.

Me: Yes, of course. Just for clarification -- the failsafe position is "unlocked", right?

Client: Could you make it configurable in software whether the door is locked or unlocked when the power fails?

Me: (speechless).

Been there, heard that. Sometimes they want it normally closed so no one can break-in. Other times they want it normally opened so they don't die a horrible, burning death in case of fire. Maybe next time we'll install two locks, just in case. – mcotton Sep 28 '10 at 16:00
They want a persistent actuator in the lock for setting the fail-safe position. In the defence industry this wouldn't even be very remarkable. – Tim Williscroft Dec 7 '10 at 22:37
Not funny as they probably meant can I make it configure it (while the power is up) and set what will happen the next time power goes out. Just make that 'configuration' available thru software. – Michael Durrant Nov 30 '11 at 3:11

The question is in Bold, It needed a build up.

Client: "You need to write Automated tests using RFT against our popular Web application"

Me: "Okay, in which environment is it deployed?"

Client: "It is deployed in QA but you don't have permission to access it"

Me: "Yikes"

Client: "Can you somehow finish writing the Automated tests without the application?"

Me (in my mind): "I could, if I was superman or Chuck Norris"


"Is there a way to make bar codes appear on the screen so that the user can scan them into the computer?"

I've seen that done before. It can make sense in certain contexts (plant control, etc) where there isn't a keyboard. – Brian Knoblauch Jan 14 '11 at 17:44
As Abraham Maslow almost said, when the only pointing device you have is a bar code reader, you tend to perceive all problems as bar codes. – Robert Rossney Jan 14 '11 at 19:38

Can you add some post-processing so that the red part of this greyscale image is emphasised more than the green and blue parts?


Make websites...

  • without version control
  • create them on the production server
  • make changes using FTP direct to the production server
  • start programming with no finalised idea of features or design
Been there, done that. – Jon Purdy Sep 22 '10 at 4:52

Do some work for free.

I've been asked that too. "We've run out of funding, can you work unpaid for a couple weeks until we get some customers?" – µBio Sep 15 '10 at 20:46

The last company that I worked for (and went bust) got a few bad reviews of the product.

So the decision was made by the upper management not to fix the problems but instead rebrand the product and relaunch it. Bugs included.

The other thing that made it really hard to stomach was the fact that the rebranding consisted of nothing more than a name change, which meant about 3 image swap-outs within the app and a few string replacements. The app looked the same, behaved the same, crashed the same.

Can't say I'm surprised the company didn't last.

Did you work for Microsoft? – Chris Jul 28 '11 at 11:26

I once had a client specification that literally called for code capable of traveling backwards in time.

My employer harvested data for the client, and we were to deliver it in file format X at ten-minute intervals between 9 AM and 5 PM, save for the final delivery, which was in format Y (just X with a different footer). I did just that ... and they freaked. We were collecting low-volume data, and really only had one or two data points to deliver on any given day.


Okay. So, my code checked every ten minutes, and only delivered if there was anything to deliver. Fair enough.


(* -- It is possible I'm misremembering portions of the conversation.)

"So, I'm only to deliver the file if there's fresh data to deliver."


"And the final delivery for the day is supposed to be a different file format."


"Except I have no way of knowing which file will be the last of the day until the end of the day."


"So the only way for me to implement this is to write code that goes backwards in time at the end of the day to redo the format on what turned out to be the final delivery."


I refused, in part because violating causality is an unethical programming practice, in part because didn't have a module that would let me do it. (I checked.) In the end, they allowed me to send a file in format Y at the end of the day, regardless of whether or not it had any actual data. I'm pretty sure their bandwidth survived the hit.

+1 for "violating causality is an unethical programming practice". Now there's a rule that needs more attention. – sbi Sep 13 '10 at 18:43
And you didn't consider sending a file every day at 11:59:59 in format Y containing "This is the last file of the day"? – DJClayworth Sep 13 '10 at 19:38
This reads like The Oatmeal. – Kyralessa Sep 29 '10 at 1:55
You could've withheld the last piece of data for each delivery to roll it over to the next one. This way at the end of the day you will always have at least one piece to send in format Y. :) – Fixpoint Oct 2 '10 at 0:45
@Joey Adams: On the internet, nobody knows you're a snail. – Alan Pearce Mar 10 '11 at 11:49

We work as a Scrum team and do our estimates for user stories in story points. When I looked at my second half goals for this year is was a requirement the the our story points must be within +/- 10 percent of the actual development hours spent on the story. For those involved in Agile you know story points are unitless and are based on a Fibonacci number sequence. I have yet to figure out how to make estimate match the actual how anyone could put such a requirement on the team.


Someone asked me to create a website which "copies what Google Local Search does and merges its data with other information coming from a database". I drew something in paper and the customer said it was ok; I charged him with 700 pounds (1000 US dollars) for a 5-days job.

I developed it in 3 nights and delivered it. I was proud of what I wrote until the customer said "It's almost ok. Why are you using the googlemaps rubygem? I asked you to copy, not to use"



I was asked by my TL to connect the phone line directly to USB (no MODEM type converter in between).

I tried to explain him that it is not possible technically (the connecting of phone to USB directly). but he didn't want to listen.

Then, I had to write him a 20 page document explaining that phone is analog while USB is digital so a converter is very much required. Then he dropped the idea altogether.

@Nailer Depends on how sarcastic you want to be. In this situation I'd hapilly copy / paste entire academic documents explaining why he's asking for the impossible. – Neil Aitken Nov 18 '10 at 13:48
Can you share that document? I don't want to write anything like that if I need so. – Chris Jul 28 '11 at 11:35

Well, this one time I bid on a freelance reverse engineering job, only to discover that they quite literally wanted me to be able to change the past.

This cries out for more detail. – Michael Petrotta Sep 11 '10 at 21:17
They wanted me to be able to wait until winning lottery numbers were called, and then have their point of sale system report that they'd sold a winning ticket. Which, at the time, I was really hurting for money, and the system wasn't in the US, and I'd have done that. But it didn't report numbers in a cluster after the winning numbers were revealed. It reported every time someone bought a ticket. So I explained that if I had the power to do that, I'd be able to win the lottery at will, and wouldn't need their money. – Torvaun Sep 20 '10 at 16:32
Youch, not only impossible, but also illegal and unethical. I feel for you Torvaun... – brice Sep 21 '10 at 15:26

I was a part of a mainframe support team that did shifts with other support teams in a data center. After the shift we would usually have a briefing with managers and the team of the next shift. One day our new director showed up and asked the question: "Why average CPU load during your shift was only 72%, while previous shift shows near 95%? I think if we try real hard, we could eventually achieve 100% CPU load!"

Sounds like a 6 month project in Hawaii... – user1249 Nov 22 '10 at 9:23

First week - Have separate code base line for 2 different client (yes two copy of same code for 2 different client )

Second week (another boss) - No merge both codes and put IF - Else condition on every page


Small team of programmers, boss wants us to do a ticket reservation system for a small airline (in a very short timeframe, of course). Team says:

-- as you can imagine, we will need some testers for this project

Boss says:

-- don't worry, learn from the car industry. They recall cars from time to time: users will do the testing.

Crash test comes to mind... – brice Sep 21 '10 at 15:33
Sounds good, if airline has only 1 plane with 6 seats. – Chris Jul 28 '11 at 11:12

We had a product release date pushed back a week so we could get the internal company footy tipping competition system running in time for the start of season...

You work in Sydney don't you? That sounds like something that goes on where i work too. – user2358 Sep 23 '10 at 0:32
Melbourne, actually. – Evan Sep 23 '10 at 1:08

protected by bigown Nov 29 '10 at 16:17

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.