Slashdot Mirror


Would You Add Easter Eggs To Software Produced At Work?

Mr. Leinad writes "Do you add Easter Eggs to the software that is produced at the office? I mean, if you have complete control over the final product, do you spice it up with that little personal touch, which, as unlikely as it is that anyone will see, carries with it an 'I was here' signature? I've just finished the development of a large software product, and I have a couple of days left to try to add my own personal Easter Egg code, but given that the software is quite professional, I don't know if I should. What do you think? Should we developers sign our creations?"

20 of 747 comments (clear)

  1. I would by malkir · · Score: 5, Insightful

    Subtlety is key, even if it's for something like proving the program was coded by you if some asshole attempts to take credit...

    1. Re:I would by Rary · · Score: 4, Insightful

      Surely there isn't something malicious about having a buried feature to display some info about the software's developer(s)?

      No, but it raises the question: what else is buried in there?

      In fact, if I were trying to bury something malicious in code, I might consider hiding it in a seemingly harmless easter egg.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

  2. Of course! by ohxten · · Score: 5, Insightful

    Of course! Doing so in an unobtrusive, unharmful way only adds charm to the product.

    --
    Need an automatic screenshot taker? Try here.
  3. Shit happens by gmuslera · · Score: 4, Insightful

    Is a pending accident waiting to happen. Maybe because the change adding the Easter Egg the application have a problem (security, speed, space, whatever), maybe people find or know about your easter egg, do every possible misuse of the application to try to find another, and something breaks somewhere. And adding something not requested/approved by your company is a bad precedent, another way to put an "i was here" message is called "backdoor".

  4. Sure. But you had better be careful. by Anonymous Coward · · Score: 5, Insightful

    If your "easter egg" causes bugs that end up costing the company money, your ass is grass.

  5. God, no by eddy+the+lip · · Score: 4, Insightful

    These make for great legends, but as much as I hate to admit it, I've gotten very serious about my work. Easter eggs are not generally appreciated by the Powers That Be, or by clients paying big cash for a product. My personal reputation, and producing a quality product have become important to me.

    There's also the fact that that more code == more bugs. You can't get around that. Why open up a professional product and your reputation as a developer by making it more likely that you'll screw up?

    I can see certain exceptions to this - for instance, games with easter eggs (approved, of course) can add to the charm of a product. An easter in egg in Quicken would be less cool.

    --

    This is the voice of World Control. I bring you Peace.

  6. Re:Professionally Signed by Burnhard · · Score: 5, Insightful

    Speaking as a Software Engineer (I consider myself a professional); you are undermining the customer's trust in your product simply to massage your own ego. Customers are naturally concerned about integrity and security (more so today than ever before). Once you've demonstrated a desire to hide "secret features" in their products, they may start to wonder what other (perhaps malign functionality) is lurking in the code.

  7. Re:More for the Testers by Beardo+the+Bearded · · Score: 4, Insightful

    That's just good practice. You should put in a handful of bugs and see how many your QA department finds.

    If you put in 10 and they find 8 of those plus 24 other bugs, then you can roughly estimate that there are about 30 bugs in the code that you have to fix.

    Test your testers.

    --

    ---
    ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
  8. Ask yourself one thing. by khasim · · Score: 5, Insightful

    How are your going to be able to explain NOT fixing a bug that got through in your code when you had time to include an un-spec'ed Easter egg?

    This isn't about charm. This is about having to explain to management why a customer is unhappy.

    1. Re:Ask yourself one thing. by BigZaphod · · Score: 4, Insightful

      Ugh. I've seen this comment (more or less) all over this thread and I just have to say: Why are so many of you living with such FEAR of your management? It can't be healthy! Lighten up, people! How can you even work for your management if you can't even think of them as *humans* who might like a joke as much as the next guy? Geesh. </rant>

    2. Re:Ask yourself one thing. by bill_mcgonigle · · Score: 4, Insightful

      could end up costing your ability to supply roof and food.

      in theory. Even if he got fired, he'd almost certainly find a new, and probably better job.

      However the effects of stress are real and demonstrated. Humans tend to overly guard their immediate downside risk at the cost of the long-term downside risk.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    3. Re:Ask yourself one thing. by Lumpy · · Score: 4, Insightful

      Both of which can be had with a walmart job. So your excuse has no merit.

      Quit treating your management like they are your lord and king and treat them like the people that should be thankful you are working for them.

      Cripes. Grow a pair.

      --
      Do not look at laser with remaining good eye.
  9. Re:Professionally Signed by ScrewMaster · · Score: 4, Insightful

    Speaking as a Software Engineer (I consider myself a professional); you are undermining the customer's trust in your product simply to massage your own ego. Customers are naturally concerned about integrity and security (more so today than ever before). Once you've demonstrated a desire to hide "secret features" in their products, they may start to wonder what other (perhaps malign functionality) is lurking in the code.

    Thank you. I was starting to think that attitude was entirely missing from the Slashdot crowd. "Easter Eggs", bah. Programmers and engineers should make their mark in the world by designing and implementing quality products and not, as you say, massaging their obviously-inflated egos.

    --
    The higher the technology, the sharper that two-edged sword.
  10. Re:Professionally Signed by ScrewMaster · · Score: 5, Insightful

    I am a robot. I do only as instructed. Beep beep. Bloop Bloop.

    Be insulting if you wish. If you're a programmer or a software engineer, one day you may get involved with a project that has a serious penalty for failure (and no, I don't mean a bank or e-commerce Web site or something equally safe.) Believe me, when that happens you'll change your tune and get pretty damn serious. "Easter Eggs" and other irrelevancies suddenly become significant liabilities, and you don't even think about them anymore.

    I'm happy when a customer notices that the software functions well, is easy to work with, and is solid. In other words, if get noticed it's because I did my job right, not because of some childish desire for attention.

    Still, if you work on trivial applications it's okay to treat them like toys, I suppose. I don't, on either score. In any event, I agree with Burnhard. It boils down to whether you want to satisfy some psychological need, or want to earn the trust of both your employer and your customers. The latter is usually more satisfying.

    You decide.

    --
    The higher the technology, the sharper that two-edged sword.
  11. Re:Well, yes by Free+the+Cowards · · Score: 4, Insightful

    Authority is never worth respecting merely because it's authority.

    --
    If you mod me Overrated, you are admitting that you have no penis.
  12. Yes, but keep it simple! by kalislashdot · · Score: 4, Insightful

    I was working on a Web App that has date fields. There is an example of how to format the date next to it and I put my wedding day. The spec did not call for any certain date. I can look at it years from now and see where I left my mark.

    I do not get any more adventurous then that. Once were were going to make a database table called WEGAS, which stood for Who Else Gives A Shit, it was a list of people who wanted to be notified when the issue/ticket was updated. We chickened out and called it Notification.

    Also if you have a small shop, then it is fun, but in a larger shop it is usually frowned upon. then you also may have to explain it in a code review. So just stay light like I do.

    Once I wrote in the document about paging I put "Example page 7 of 9". to me this is an Easter egg. I could have but page 3 or 10, but that means nothing, and 7 of 9 works just as well.

  13. Re:Well, yes by Splab · · Score: 4, Insightful

    Uhm, RAID 10 on databases has for a very long time been the defacto way of doing things (mirror and stripe everything). And your comment below about it being a raid 5 raided over 5 makes little sense - to me it seems like you have no idea what you are talking about.

    Granted these days you would most likely opt for RAID 60 if you got the money for it, but RAID 10 is still the best price/performance for databases.

  14. Re:Professionally Signed by neomunk · · Score: 4, Insightful

    But that's not the choice you're being given. I'd say a better analogy is choosing between a doctor who gives you an EEG with regular white pads and a doctor who gives you an EEG with pads that are colored like nipples (or polka-dots at a family doctor). You're getting the same quality of work (or at least the quality is unaffected by this particular variable) with only slight change in aesthetic.

    I'm not disagreeing with your main point about software integrity, but your analogy struck me as disingenuous.

  15. Easter Eggs are unprofessional by kaladorn · · Score: 5, Insightful

    Some of the responses in this thread make me think a lot of the folks responding either don't do contract software development for a customer, don't work on any sort of mission critical software, or aren't terribly mature.

    An easter egg is: a) extra code that could introduce a new bug (accidents happen, even in easter eggs - I've seen a screwed up easter egg crash a program and leave the machine locked up)
    b) something that is not part of requirements and if caught during client code reviews or after installation, would put your employer in a complicated position since your spending time on such an unallocated task could basically be considered a form of fraud if the client is paying for your services
    c) a sign of vanity - professionals do the job, do it well, and move on, not write silly-ass amateur crap just to amuse themselves and stroke their egos
    d) something some other poor software engineer might have to fix or remove and they might not find so darn funny

    A professional should take satisfaction in a job done well.

    Do civil or mechanical engineers leave easter eggs? Do nurses? Do doctors? Grow the hell up... people bitch about software folks never being given the same respect as other engineering fields and it is the attitude of the average programmer that has a sizable part in explaining this.

    Would you want your doctor leaving an easter egg? Would you want your dentist? Or would you find it funny if your phone dialed random numbers on some developers birthday? Or if your traffic light flashed all green every summer solstice? I think not.

    I suspect the gulf here between those respondents who manage programmers and deal with clients or who work in any form of mission critical software or professional services and those who write shrink-wrapped software or less critical applications when it comes to easter eggs is probably sizable. All it takes is seeing a co-worker having his ass kicked because a manager had his chewed off by an angry client to understand that, in professional environments, this kind of stuff doesn't fly (and shouldn't).

    You're not paid to be an artist. If you were, they'd cut one copy of your code and display it up in a museum. You're paid to implement requirements as defined by your employer and possibly your customer. When you aren't doing that, you're basically screwing the pooch and exploiting your employer. Some may feel justified doing this, but that's a crock. If you don't like the job, GTFO. If you do like the job, be a professional and leave the high-school hijinks behind.

    (And yes, I've worked for 15 years in mission critical software for the police, the military, air navigation training systems, cell phone portals, VOIP and call processors, HR systems, and so on, so it does colour my view on easter eggs...)

    --
    -- Mal: "Well they tell you: never hit a man with a closed fist. But it is, on occasion, hilarious."
  16. Other Engineers leave Easter Eggs of sorts as well by jotaeleemeese · · Score: 4, Insightful

    Although I agree with the general gist of your post (not the tone mind you) this need to leave something personal in a major work is not a new thing.

    Workers in cathedrals of all times always took a bit of time to leave personal marks, from signatures to most complex features (faces, figures, etc) to sign a piece of work well done.

    Electronics Engineers nowadays make minuscule engravings in the circuits they design.

    Civil Engineers and Architects very often leave an small sculpture, signature, aesthetic feature that is not in the specifications but that adds a final personal touch.

    I can't imagine that a client paying for a service that is delivered in time and budget would object in the terms you are putting to a silly joke, but I tend to agree that in the case of software, unlike an added feature to a bridge or a building, a joke can always bring a system to its knees (even if it is coded carefully and cleanly, software is exponentially complex, so it is almost impossible to foresee all the possible conditions under which an Easter Egg could cause havoc).

    --
    IANAL but write like a drunk one.