Show HN: Lorem Picsum – Lorem Ipsum but for photos
picsum.photos
picsum.photos
All of this accomplished (landing page and documentation) in just a few scrolls of the mouse. I went from novice to expert in a minute. There was a real effort to communicate with the end-user from an (empathic) end-user perspective.
Even the parsed json page listing a default 30 images (with credits) is easy to navigate with all the pertinent information available - including urls that open in a new tab (so a user doesn't lose their place on the origin page).
You mentioned in another comment that 400 million images are served per month. Yet... it has the feel (and performance and care) of a small static site.
One minor nitpick is the use of "random" where they mean "arbitrary". :)
Also, it's still a bit unclear how caching of images would work when you append an arbitrary parameter: text implies none of the images would be cached (presumably because of cache headers or browser behaviour), but I'd prefer it if they were indeed cached by browsers as distinct images instead (iow, soft-reloading X/Y?something=foo will give you the same image).
Basically, I'd like them to figure out all the caching semantics and behaviour, and just do the right thing ;)
This one looks nice in that you wouldn't be embarrassed if it goes live since the images are generally nice looking but part of the appear of YAPHS (Yet Another Placeholder Service) is that it is really obviously a placeholder so you catch it before it goes live.
[1] https://placekitten.com/ (warning: contains fluffy kittens)
[2] http://placezombie.com/ (warning: contains images of simulated violence)
I wear corgi t-shirts, carry a little felt corgi keyring charm, have unicorgi stickers on laptop and tech bag both, my lunch bag is printed with corgis... there's a pattern here.
I didn't mention five corgi plushies: one memory foam pillow and four Unicorgis. One pair of the Unicorgis are set to fly -- they had wings and the previous owner left hooks in the ceiling so it was pretty self evident what I needed to do...
https://teespring.com/shop/corgi-symbol_copy_1
:D
http://neil.panchal.io/articles/quantum-lorem-ipsum/
https://github.com/neilpanchal/quantum-lorem-ipsum
Edit: Created a Github repo
An interesting comparison of the "Modern" typesetter's lorem ipsum and the likely source text is in the Wikipedia article:
> The lorem ipsum text is typically a scrambled section of De finibus bonorum et malorum, a 1st-century BC Latin text by Cicero, with words altered, added, and removed to make it nonsensical, improper Latin.
Could you please provide source? I am curious now.
Alternate argument is that my version represents real actual text from real books :-), but to be honest, it is a tongue-in-cheek attempt.
I think the assertion that designers want to have a perfect normal distribution of word lengths is arguable. I’d be curious to analyze large datasets of books to see what the actual distribution of word lengths is. Heck, this may be an opportunity to actually fix vanilla Lorem Ipsum and write a script that can generate paragraphs that simulate real world distribution of word lengths! Looks like I have a project ahead of me this upcoming weekend :-).
I feel like after reading just a few words my eyes glaze over, but its still English. Even if I jump around, its all proper grammar nonsense.
Thank you!
This one is genius.
Very happy with both services, been a customer of DO for years.
[0] - https://medium.com/@dsabar/error-messages-don-t-have-to-be-b...
EDIT: Wonder it we will have to change the domain on our app to point to this new domain, or will the old unsplash.it one still be used going forward?
The old domain will keep working, but I’d encourage you to switch to the new one. It’ll save you a redirect as well :)
Anyone used belugacdn before? Care to share your experience?
https://www.custompcguide.net/keycdn-vs-bunnycdn-vs-belugacd...
I think it would be really useful to be able to get a picture of a random animal or a random landscape rather than just a random anything. But I'm not sure if that's outside of the scope of the project.
Citing from https://unsplash.com/license:
> This license does not include the right to compile photos from Unsplash to replicate a similar or competing service.
I'd argue this is exactly the type of "similar or competing service" that is meant by this sentence.
Edit: Did Unsplash give their consent?
We're on good terms with the Unsplash team, and think they're awesome.
This seems like a bandwidth heavy service. I am curious to hear how you are thinking about managing/scaling this.
Hoping to do a write-up of the architecture in the future, but the source and deployment setup is available at https://github.com/DMarby/picsum-photos if you're interested
If you have not thought about it: images does not really work for place holders for charts. Maybe placeholders for pie-, bar- and line-charts etc, can be a feature to come?
I eventually settled on Pixabay, but if Lorem Picsum has added more images recently, I might need to give it another look.
You can literally use https://source.unsplash.com/random/800x600 (with or w/o the dimension) and get the same result, one level less abstract.
Meanwhile, filter() in CSS provides both greyscale and blur with way more power.
I like your homepage - but what does this add to my workflow?
This one might win the contest on beat name though. I feel like it's a "Doh!! Why didn't I think of that!" moment.
Really cool, great work!
lorempixel.com
Didn't have any particular issues with NodeJS in terms of performance, just felt like using Go when I was rewriting it.
http://www.ecologytheme.com/top-10-image-placeholder-service...
There are literally dozens of them.
Bill Murray filler. It does go down occationally.
Sometimes we are way too harsh and pedantic on each other. Instead of trying to help each other grow, we call our fellow engineers out for making decisions we disagree with.
This service is offered for free, and new routes can likely be added without trouble. It isn't like this is a choice that actually impacts anyone. It's merely a matter of style.
The only thing terrible here is the way the criticism is being offered. So I'm offering you feedback.
It is a great site and idea, and I think many people have already suggested that.
Common pattern for such a service. There is no 'id' in the path, that isn't how it works, you just want the one path component for the size in order to return a square image and then if you give a second path component you get the y dimension. It is as simple as that.
I'm surprised it hasn't been written this way from the start, with the url rewriting on top. I don't know much about Go but in the "good old days" we would use apache to do the http stuff, including url rewriting, and {insert moudly language here} to just use the params it was given by the web server. It didn't matter if the url was rewritten for aesthetics or it used query string params. You could even run the same script from the command line. Magic!
Nowadays it seems like the front-end languages like to get their hands dirty in the url parsing for better or for worse. Often worse IMO. The application layer should be dealing with business logic, not http transport. Again, this just my (slightly dated) opinion.
Good points: It is semantically correct and self documenting. There is no resource called 300 nested under a resource called 200 so lets not pretend there is. The query string seems perfect for the job of providing size parameters. You can then extend this interface to take other factors you want to affect the image, and keep it backwards compatible. Function over form.
Is it `/width/height` or `/height/width`?
To me this is very similar to languages that use names parameters vs positional.