Hacker News new | past | comments | ask | show | jobs | submit login
HTTP Cats (http.cat)
427 points by peterkos on May 19, 2022 | hide | past | favorite | 63 comments



Slightly superior version: https://http.dog/


The interesting thing is that .dog os one of the new TLDs anyone can register while .cat is exclusive to Catalans. Typical of cats.


anyone can register a .cat domain and you don't need it in their language, though it may be against their "rules"


anyone can cash a fraudulent check, though it may be against their "rules"

edit: Quite puzzled that this is being downvoted. The comment I responded to is suggesting to disregard the TLD's rules when registering domains. You certainly can do that but as far as I understand it is a form of fraud (you are materially misrepresenting yourself and your situation to the TLD). Realistically probably the worst that will happen to you is that your domain will get yanked if they figure it out but that might well be a problem for you and regardless it doesn't change that what you did likely violated multiple laws.


Exactly. I know anyone can fake an address but I didn't consider that an option. It seems that's not the prevalent thought here.



Lies.


That was significantly less funny, I think :(. Regardless of cat vs dog. More just funny dog pictures than ones connected to the status codes.


OTOH the dog one doesn't arbitrily crop the already fixed aspect ratio pictures for the overview so it at least has that going for it.


> superior

They probably told you on the Internet, nobody knows you're a dog? See, that was a lie. :)

j/k



They support .jxl! <3 I’m so psyched to see this out in the wild


402 payment required XD


420 enhance your calm


304 NOT MODIFIED

lol


I don’t know what is says about me as a software engineer, but that site is the first place I visit to look up more obscure statuses.


I do the same. It’s easy to remember, to the point, and no fluff. Ok, there’s lots of fluff.


I always "!wiki http status codes", but I think I like your way better. May start doing that.


I always "!wiki http status codes"

You can save yourself three keystrokes by using "!w http status codes"

For some reason, I always do Duck's bang things backwards. Like "http status codes w!"


you could save yourself 3 keystrokes by typing in "https://http.cat"


You can save yourself another 2 keystrokes by adding Wikipedia as a search engine to your browser, giving it the shortcut "w" and typing "w http status codes" Works on Firefox and Chrome, hit sure about other browsers


Wow... TIL that the placement of the bang in the search string (and even the position of the exclamation mark) doesn't matter!


I like this one, but it's arguably less fun:

https://httpstatus.in/


Reminds me of my most customer-visible screwup.

- Implement rate limiting on a site to deal with scrapers

- Include the https://http.cat/429 in the template for 429 responses.

- Time passes

- Implement API for displaying an information widget in customer company’s own website (big pharma regent suppliers), content get injected as an iframe loaded from our site.

- Customer employees all visit their own website from behind a reverse proxy with the same IP, trigger the (poorly configured) rate limiting

- Panicky customer contact: “Why is your widget displaying cat pictures on our website and could you please stop it right now”

This now forms a key foundation in my “no whimsy in code” rule along with one or two near misses with dummy data/content.


One of my coworkers, a UX designer, used to work at a newspaper. They used Osama Bin Laden’s FBI most wanted photo as a placeholder image to avoid accidentally running prints without photos because it was funny and because, you know, who could miss that? Well, everyone, it turns out. Some poor guy got Osama’s photo in his obituary and that was the end of that.


Hahah. Reminds me of the time I used to work at a place where the software's demo company was called ISIS and that didn't used to be a big deal until ISIS itself became a thing. Part of our solution contained a web-portal we could up-sell to our clients that their end users could manage their accounts through etc. Anyway I remember one fun afternoon hacking graphics of ISIS the terrorist organization into the web-portal of the demo org and showing it around the office for laughs. It never made it to a customer site thankfully and it was pretty funny at the time but my boss told me to cut it out pretty quick just in-case hahaha.


It's also a routing protocol: https://en.m.wikipedia.org/wiki/IS-IS


Related:

HTTP Cats - https://news.ycombinator.com/item?id=20283794 - June 2019 (74 comments)


Not saying I’d ever actually use this (though also not saying I wouldn’t lol), but what is the best practice for using external sources like this?

When using something like Unsplash I know they’ve got lots of resources and a good setup so calling out to their API seems safe enough.

But for a random service like this, I have no idea if they have the infrastructure to support a lot of calls. I don’t want to abuse a random service.

In this case I assume it is all behind a cdn and it’s no big deal for them.

But if you’re not sure and it turns out to be an important part of what you’re building, do you just setup your own cached version using varnish or something?


The instructions at the top of the page encourage you to hot-link directly to the images they host. It would be hard to say sending them a ton of traffic is "abuse" when they literally suggest you do that.

In general though hot-linking across domains like that is bad practice because the content on the other domain might change in a way you don't like. This was a pretty common practice for a while: https://tvtropes.org/pmwiki/pmwiki.php/Main/HotlinkedImageSw...

If those images turn out to be important to your project such that http.cats going down would be an issue, absolutely you should serve a copy of that content from your servers (assuming all the copyright licenses are in order).


I’ve been a big fan of this site since it was introduced to me when I first learned to code. But to your point, I can’t really imagine a scenario where it would become an ‘integral’ part of an project.

For use in development & testing, sure. Or just as a goof to one of your coworkers. Honestly, I’ll admit I’ve used it countless times over the years to refresh my memory on a particular code, while knowing I’ll get a nice giggle of from it.

But in the scenario you are asking about, in an important production environment, you would be wise to cache the images and serve them in your method of choice yourself. Or better yet, just clone the repo and add install it on your server. It’s MIT licensed, so no worries as far as getting in trouble. Problem solved! :)


Considering the license seems to be MIT https://github.com/httpcats/http.cat you could probably just host the images yourself (or on your CDN/etc)


MIT is a software license. Does it even give you rights to the images? Also I'm not positive that the owner of that repository was the one who created all of those images.


Ah I missed the GH link, that does seem like the right move in this case.


Is Cloudflare capable of serving 67 jpegs?


My question is more generic. Not for this specific service, but for any random service you don’t have good visibility into how they run it.


Good point, I use http://butt.holdings quite often and never thought to check.

Headers say they're running varnish, so it's probably safe to keep using it.


Amazing, gonna have to add that one to the list of great single purpose sites.


These all return 200s for me. Or am I missing the joke?


It's because 200 is correct if you are getting the correct image. I believe you're meant to hotlink the images in an HTML error page when your site returns the given code.


416, the joke was out of your humor range.


The guy in 451 is noted cat fancier Ray Bradbury. I couldn't find the cat's name.


Thanks! I was trying to work out who this was and their relevance in the picture. I thought perhaps it was something 'Darker' than a Fahrenheit 451 ref.

I feel an obligatory 'Joe Exotic' reference should be considered here (but goes against the housecat vibe)


Thanks, I knew there was more to that picture that I could see.


I totally didn't get that gag! Thanks for the hint!


I started by scrolling straight to 418, to see how they handled that one.


Same here, it did not dissapoint!


This is something like 10 years old.

Some previous discussion:

3 years ago https://news.ycombinator.com/item?id=20283794


It's more than 10 years old.

I don't care. It's so wonderful that I WANT this to show up on my feed every so often.


I hope this app is catainerized


If not, it could be catastrophic.


You could be infected with meoware


I've had an idea for a Python web app framework (because that's what Python needs, another web framework), maybe I'll have a "use_cats" option to automatically use these with status codes.


this reminds me of http://placekitten.com, the most useful URL for placeholder images ever: placekitten.com/<width>/<height> (e.g. http://placekitten.com/640/480).


Given the precedent of netcat, I wasn't sure whether to expect the animal or the tool.

414 definitely brought back some memories...


Thank you. I am finally empowered to build the API I've been planning to build for years!


I don't get the cat for HTTP 308. (The rest are hilarious.)


I wish the response status actually matched the request


My fave is 406.


TIL HTTP code 420 is a thing.


It was invented by Twitter as a code for "you're exceeding our rate limits" and just sorta stuck.

Less cool companies use 429.


is there a way to auto filter a domain extensions by popularity? e.g. a way to discover http.dog and others. Unfortunately http.human does not exist


this is pushing the boundaries of pedagogy




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: