# Did someone actually get fired over the "Google Safe" flub yesterday morning?

**URL:** <https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038>\
**Category:** Factual Questions\
**Created:** [February 1, 2009, 10:53pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038 "2009-02-01T22:53:02Z")\
**Posts on this page:** 19\
**Page:** 2

<div class="post-metadata">

**Author:** ![dre2xl](https://avatars.discourse-cdn.com/v4/letter/d/34f0e0/32.png) [@dre2xl](https://boards.straightdope.com/u/dre2xl)\
**Post date:** [February 2, 2009, 3:15pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/21 "2009-02-02T15:15:11Z")

</div>

> [@SmackFu](#):
>
> When I see something like this, it makes me think they have controls problems somewhere. Any change that goes out to the production systems should be reviewed by a second person, just to prevent this kind of mistake. (In my experience, web companies often skimp on this kind of process, right up until the time someone makes a big screw-up.)
> 
> My guess as to the failure is that it’s due this file being huge and having a large number of entries, since it lists every one-off phishing site. So even assuming it ends up being reviewed, the reviewing is something like “oh, 900 new entries, that looks about right”.
> 
> Firing someone wouldn’t solve any problems. I would want answers to these questions:
> 
> 1. Why wasn’t this caught?
> 2. Why is an illogical value allowed in the file?
> 3. Why didn’t we have a test case for this?
> 
> And then from those answers you would work to a solution.

UTs are (generally) not keyed to data. Of course, they should’ve tested for the extreme edge case (“/”), but generally you’d be testing the blacklisting code and not data in the UT file except for maybe empty-url/null-url check… besides, you’d be surprised at how little UT goes on in the most respected places.

As I said above, config (IMO) is the most common of production crashes that slip by QA. Programmers tend to think of data / configuration as something that does not need a rigorous QA process, which costs the company valuable money and time. The zone file is another great example.

Why wasn’t it caught? Who knows? The changes may not even have gone through programmers. A lot of the non-static content is set up so that it is completely self-service and goes straight to copywriters, and I’d imagine that “dangerous sites” are another one of those cases that are too numerous to require manual approval. You don’t want a programmer to have to manually check every new advertisement that goes through.

---

<div class="post-metadata">

**Author:** ![CurtC](https://avatars.discourse-cdn.com/v4/letter/c/ce73a5/32.png) [@CurtC](https://boards.straightdope.com/u/CurtC)\
**Post date:** [February 2, 2009, 4:33pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/22 "2009-02-02T16:33:18Z")

</div>

> [@Q.E.D](#):
>
> A file containing information about zones. Duh.

Ah, I see. Sort of like a henweigh.

---

<div class="post-metadata">

**Author:** ![flyboy](https://avatars.discourse-cdn.com/v4/letter/f/4da419/32.png) [@flyboy](https://boards.straightdope.com/u/flyboy)\
**Post date:** [February 2, 2009, 5:05pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/23 "2009-02-02T17:05:39Z")

</div>

This mistake was nothing. I’d think a simple slap on the wrist once they find out why the guy made the mistake, even if it was a simple mistake to make.

Now, the folks that got 30 seconds of free porn in Arizona during the Superbowl–whoever is responsible for that is going to get the boot. Hopefully.

---

<div class="post-metadata">

**Author:** ![Quercus](https://avatars.discourse-cdn.com/v4/letter/q/7ab992/32.png) [@Quercus](https://boards.straightdope.com/u/Quercus)\
**Post date:** [February 2, 2009, 8:48pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/24 "2009-02-02T20:48:14Z")

</div>

> [@flyboy](#):
>
> Now, the folks that got 30 seconds of free porn in Arizona during the Superbowl–whoever is responsible for that is going to get the boot. Hopefully.

Wait, free what-now?

[Must resist… can’t make jokes .. about whoever responsible getting the shaft.. or get the boot–bootie, that is!..]

---

<div class="post-metadata">

**Author:** ![Q.E.D](https://avatars.discourse-cdn.com/v4/letter/q/51bf81/32.png) [@Q.E.D](https://boards.straightdope.com/u/Q.E.D)\
**Post date:** [February 2, 2009, 10:22pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/25 "2009-02-02T22:22:54Z")

</div>

> [@CurtC](#):
>
> Ah, I see. Sort of like a henweigh.

Unfortunately for you, I’ve heard that one. Can’t fool me, I’ve got snoo in my brain.

---

<div class="post-metadata">

**Author:** ![Santo\_Rugger](https://avatars.discourse-cdn.com/v4/letter/s/e95f7d/32.png) [@Santo\_Rugger](https://boards.straightdope.com/u/Santo_Rugger)\
**Post date:** [February 2, 2009, 11:15pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/26 "2009-02-02T23:15:37Z")

</div>

> [@Q.E.D](#):
>
> Unfortunately for you, I’ve heard that one. Can’t fool me, I’ve got snoo in my brain.

Try some updog. That ought to take care of it for ya.

---

<div class="post-metadata">

**Author:** ![Mbossa](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@Mbossa](https://boards.straightdope.com/u/Mbossa)\
**Post date:** [February 2, 2009, 11:45pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/27 "2009-02-02T23:45:13Z")

</div>

I prefer using a voltamp.

---

<div class="post-metadata">

**Author:** ![Q.E.D](https://avatars.discourse-cdn.com/v4/letter/q/51bf81/32.png) [@Q.E.D](https://boards.straightdope.com/u/Q.E.D)\
**Post date:** [February 2, 2009, 11:50pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/28 "2009-02-02T23:50:43Z")

</div>

> [@Mbossa](#):
>
> I prefer using a voltamp.

A watt?

---

<div class="post-metadata">

**Author:** ![Apocalypso](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Apocalypso](https://boards.straightdope.com/u/Apocalypso)\
**Post date:** [February 3, 2009, 2:06am UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/29 "2009-02-03T02:06:36Z")

</div>

> [@Stealth\_Potato](#):
>
> […]When Google’s search system finally achieves sentience, it’ll probably still produce errors like this from time to time: and what are you going to do then, fire the entire product? 😛

Me? I’ll be hiding in the basement with a shotgun and plenty of ammo

---

<div class="post-metadata">

**Author:** ![Musicat](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/musicat/32/20189_2.png) [@Musicat](https://boards.straightdope.com/u/Musicat)\
**Post date:** [February 3, 2009, 2:20am UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/30 "2009-02-03T02:20:12Z")

</div>

I blame the person who wrote the code that made “/” into a wildcard, not the person who entered “/” into the badware list. Under what circumstances was that going to be a good idea? When would you want every web site in the world to be flagged as bad?

---

<div class="post-metadata">

**Author:** ![Joey\_P](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Joey\_P](https://boards.straightdope.com/u/Joey_P)\
**Post date:** [February 3, 2009, 2:50am UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/31 "2009-02-03T02:50:41Z")

</div>

> [@Musicat](#):
>
> I blame the person who wrote the code that made “/” into a wildcard, not the person who entered “/” into the badware list. Under what circumstances was that going to be a good idea? When would you want every web site in the world to be flagged as bad?

I could be completely wrong here, but I didn’t read it as “/” being a wildcard, but rather that the google checks every website against the list and since every URL contained a “/” it was tagged as a dangerous site, sort of like if the list contained ‘.’

---

<div class="post-metadata">

**Author:** ![Frylock](https://avatars.discourse-cdn.com/v4/letter/f/ce7236/32.png) [@Frylock](https://boards.straightdope.com/u/Frylock)\
**Post date:** [February 3, 2009, 3:02am UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/32 "2009-02-03T03:02:07Z")

</div>

> [@Musicat](#):
>
> I blame the person who wrote the code that made “/” into a wildcard, not the person who entered “/” into the badware list. Under what circumstances was that going to be a good idea? When would you want every web site in the world to be flagged as bad?

You wouldn’t want that, but you might want every website that begins “[http://www.getyourmalwarehere.com/](http://www.getyourmalwarehere.com/)” to be flagged as bad. Making hte final slash a wildcard would accomplish that.

Total WAG though.

-FrL-

---

<div class="post-metadata">

**Author:** ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)\
**Post date:** [February 3, 2009, 3:02am UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/33 "2009-02-03T03:02:32Z")

</div>

> [@Joey\_P](#):
>
> I could be completely wrong here, but I didn’t read it as “/” being a wildcard, but rather that the google checks every website against the list and since every URL contained a “/” it was tagged as a dangerous site, sort of like if the list contained ‘.’

I would not suspect that it was a simple character match, but rather a hierarchical match. So, for example, adding ‘[Straight Dope Message Board - Your direct line to thousands of the smartest, hippest people on the planet, plus a few total dipsticks.](http://boards.straightdope.com/sdmb/)’ to the list would block that URL plus everything under it, like ‘[Did someone actually get fired over the "Google Safe" flub yesterday morning? - Factual Questions - Straight Dope Message Board](http://boards.straightdope.com/sdmb/showthread.php?t=504652)’. If you entered a single ‘/’, it probably got interpreted as blocking the root of the entire hierarchy, resulting in disaster.

---

<div class="post-metadata">

**Author:** ![Musicat](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/musicat/32/20189_2.png) [@Musicat](https://boards.straightdope.com/u/Musicat)\
**Post date:** [February 3, 2009, 2:45pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/34 "2009-02-03T14:45:49Z")

</div>

I can’t find a current news article to support my assertion, but I had thought that the bad entry was a single URL of “/”, and the software interpreted that much like “\*” is used as a big wildcard, a “match everything” symbol in other situations.

So when [http://anyurl.com](http://anyurl.com) was fed to the matching routine, it came back with a match to badware everytime, since “[http://anyurl.com](http://anyurl.com)” = “/” (=true). Nothing could escape.

---

<div class="post-metadata">

**Author:** ![control-z](https://avatars.discourse-cdn.com/v4/letter/c/eada6e/32.png) [@control-z](https://boards.straightdope.com/u/control-z)\
**Post date:** [February 3, 2009, 3:52pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/35 "2009-02-03T15:52:07Z")

</div>

I don’t add error checking for stuff like that to our in-house programs, but if I was accepting data from third-parties I would definitely validate it every way I could think of. Of course for every program there’s always a user that stumbles into a way to break it that you never would have conceived.

---

<div class="post-metadata">

**Author:** ![sandra\_nz](https://avatars.discourse-cdn.com/v4/letter/s/eada6e/32.png) [@sandra\_nz](https://boards.straightdope.com/u/sandra_nz)\
**Post date:** [February 3, 2009, 5:52pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/36 "2009-02-03T17:52:56Z")

</div>

Hey, Google got in the news headlines without spending a penny. I doubt anyone got fired.

---

<div class="post-metadata">

**Author:** ![Joey\_P](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Joey\_P](https://boards.straightdope.com/u/Joey_P)\
**Post date:** [February 3, 2009, 6:31pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/37 "2009-02-03T18:31:53Z")

</div>

> [@sandra\_nz](#):
>
> Hey, Google got in the news headlines without spending a penny. I doubt anyone got fired.

But OTOH people spent a few hours using other search engines (or not using them at all) which means a lot of ad revenue lost.

---

<div class="post-metadata">

**Author:** ![Musicat](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/musicat/32/20189_2.png) [@Musicat](https://boards.straightdope.com/u/Musicat)\
**Post date:** [February 3, 2009, 6:52pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/38 "2009-02-03T18:52:43Z")

</div>

> [@control-z](#):
>
> I don’t add error checking for stuff like that to our in-house programs, but if I was accepting data from third-parties I would definitely validate it every way I could think of. Of course for every program there’s always a user that stumbles into a way to break it that you never would have conceived.

It’s a newbie programmer mistake to not validate input.

Accept input –\> validate –\> process. It’s very important to include step #2.

---

<div class="post-metadata">

**Author:** ![Joey\_P](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Joey\_P](https://boards.straightdope.com/u/Joey_P)\
**Post date:** [February 3, 2009, 7:08pm UTC](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038/39 "2009-02-03T19:08:08Z")

</div>

> [@Musicat](#):
>
> It’s a newbie programmer mistake to not validate input.
> 
> Accept input –\> validate –\> process. It’s very important to include step #2.

Perhaps they were only worried about PROFIT!!!

[Previous page](https://boards.straightdope.com/t/did-someone-actually-get-fired-over-the-google-safe-flub-yesterday-morning/484038.md?page=1)
