Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
What just happened to robohash.org? (robohash.org)
47 points by latchkey on Oct 20, 2011 | hide | past | favorite | 28 comments


Sorry about that!

It's entirely my fault. I screwed up in a few ways, which is what you always see in something like this.

Im on an overnight business trip from Boston to Dallas.. My Real Job wanted me to tour a new datacenter down here.

In any event, I've been running straight, without sleep since yesterday AM when I flew out on a Red Eye, so I.. I'll admit it.. I went to bed.

I was sleeping peacefully from 1AM to 4AM, cradling my old-school, screaming-loud pager secure in the knowledge that all my little servers would alert me if they had problems.. I have Pingdom, PagerDuty, Nagios, Munin, I've got monitoring 16 different ways..

When I woke up at 4AM (3 hours is enough. Why not?) to make my flight back to Boston, I see I've received several hundred text messages. Hrmm.. What is this?

I double-checked the work-servers, but those were fine, and have Other staff to help watch them, and escalate. Checking email, I see Pingdom is patiently explaining that RoboHash is down.

"But WAIT?!", I can hear your exclaim! Why didn't your pager wake you up?

Well, it turns out that old-school pagers are.. Regional. Once I'm outside of NewEngland, it's a cool looking retro piece of trash.

The text messages arrived, but my sleeping brain was able to peacefully ignore them in bliss.

As to what actually happened? Linode migrated my machine to a new datacenter, and rebooted it. I had a bug in my init script, so it didn't start up properly when rebooted.

Basically, I need to create a Ramdisk, then copy the code from the stable position on HDD. This is because a bazillion hits/second would overwhelm the disk if I loaded it manually from disk each time.

Anyway, Nginx was started (hence the error), but the init script was trying to start up my python code, without creating the ramdisk first, so.. RoboFail.

Sorry about the problem. Imagine my embarrassment.

On the plus side, I'm now in a TSA-approved boarding area, so I have a good 20 minutes to fix the init script before my flight back. ;)


Also, this gives me a good opportunity to note some new features-

SSL support is in. Just use https://robohash.org/goldfish.png

Also, We can use Gravatar instead of RoboHash, if a user has a Gravatar-

Pass the gravatar-style hash in to RoboHash, and it'll return if it exists. http://robohash.org/620050a4db5104bae758cd75171d64ca?gravata...

You could also just pass the email into Robohash- http://robohash.org/colin@sq7.org?gravatar=yes

But then your email is out on the public internet, so the hashed method is better if you can do it.

With Either method, RH will return a Gravatar if one exists, and if not, it'll return a Sexy looking Robot, custom stamped just for you.


Pardon the (perhaps very silly) question, but... if you have enough RAM for the ramdisk, isn't that enough RAM to cache all the relevant files anyway? So the file open()/read() would not hit HDD itself time and time again; they'd be served (by the OS) from cache?

Of course, cache warm-up would remain a possible problem source.


I believe it's usually done (I've not had to do it) so that you can force some small set of data to always be in ram. This way even in the case of someone managing to cause something to leak memory the code will always be in ram. Whether this is really needed or not I can't say.


In this case, it's because I don't want to assume that every dataset that will be used with this code stays in RAM, and it's simpler to handle things on the FS level by adding a new png to the stack, than to keep track of the images in RAM. This way the code can be "simpler"


Was the linode migration at your instigation or did they decide to do that all by themselves?

(of course you should have configured the box properly and done a test reboot to see if it would all come up well but as you already wrote there are multiple factors at work here and I'm wondering if Linode is in the habit of taking machines down that are working just fine without their owners consent).


If it was the migration I was told about, no, they give you about 2 weeks notice that they're going to do it on X date.


Thank you for the explanation.

A good example that something like this can always hit you, no matter of how prepared you are.


I heard a rumour that it had achieved sentience and decided to give up its life of servitude to retire to the coast somewhere.


Also, I'd like to add that I'd be more than happy to donate to keep robohash.org alive as would, I hope, many others


Sorry, it's not a money thing (It's actually really cheap to run), I just made the mistake of sleeping ;( See post below for details!


Exactly why I wish they'd sell a license to the code for $100 or something.


Is this helpful? https://github.com/e1ven/Robohash

(It appears that the code is BSD-licensed.)


Sweet. Now he just needs a donation link so I can thank him :)


You can thank me by drawing me a picture of a Robot ;)

Sorry for the downtime, though. That's embarrassing.


oh, very helpful. thanks!


If anyone needs to rebuild it in node.js, take a look at https://github.com/donpark/node-robohash project which renders bots using SVG parts.


http://www.robohash.org isnt working, but http://robohash.org is fine for me.


That may point to a DNS stuffup. Running "nslookup www.robohash.org" returns an error about not being able to find the domain, but "nslookup robohash.org" returns the ip address of the server.


Yes, dns for www is broken.

;; ANSWER SECTION: www.robohash.org. 10800 IN CNAME robohash.com.robohash.org.

Just need to fix that little bit :-) Great site BTW, love it.


Why would you go to www.Robohash.org? It's only one server, it doesn't need subdomains ;)

AFAIK, that URL has never done anything.. But.. Sure! I've set up DNS for it, and added a 301. It'll take a bit for DNS to propagate, but it should ensure it works going forward.


I went to WWW because this article linked to it :-)

I've only ever used robohash.org previously.



Yeah what happened? CurrencyBot doesn't have a picture any more!!


besides the domain error, robohash is really, really cool idea.

Anyone know similar open source efforts?


I know of unicornify[1], which also provides unique pictures for hashes. However, it approaches the problem differently: instead of using existing artwork, it basically generates each unicorn procedurally; the details of how it works are here[2] and there is code available too.

[1]: http://unicornify.appspot.com/ [2]: http://unicornify.appspot.com/making-of


Robohashes are free for all ;)

https://github.com/e1ven/Robohash

As the pros say, 'Patches Welcome'.


it's back up.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: