I'm a little confused by your comment. I've been using the Prawn library to generate PDFs on the backend for a side project I am working on for quite sometime https://github.com/prawnpdf/prawn
(Admittedly, the PDFs I generate are most certainly not beautiful, so maybe that's the difference)
Prawn really is great. I use it to generate invoices and for exporting a billing overview in client projects. And it’s quite fast as well, since it generates the PDF directly without the need to spin up a browser.
unfortunately the API I'm currently using only searches audiobooks/ebooks. I'll definitely consider doing this in the future though! It's just not trivial
Nope lol. Can you give me an example of a search that shows physical book availability? I’d definitely be interested in figuring out how they do it bc it seems like people are interested in this!
I'm a little confused... I feel like most of these exist in some form already? I've seen chat likes, message indicators, notification reply, homescreen before.
Tagging in a chat app seems like it's trying to make a chat app be something it's not. Unless I'm wildly unfamiliar with how many people use chatting. (totally possible!)
That said, the timeline jump is the idea in here that made me say, "ok that is slick" I feel like I sometimes want to go back and find a photo someone sent me several days ago and I, well, don't even bother because I won't even remember exactly WHEN it was sent.
Telegram supports Tags by using Hashtags which are linked an can be clicked on. When clicked, it just invokes the normal search. I mostly use it with the "Notes to myself" feature, where I can write down a quick note.
Telegram also has some form of the timeline view [1] . When tapping a date in the chat, you get a calendar in a month view. If you've sent a photo to that person on a day, that day will have a thumbnail of that photo as a background. It's a pretty hidden feature but I regularly use it to look for messages.
In iOS Messages, if you tap on the icon at the top of the chat, one of the things that gets displayed is a list of all the photos, links and locations from that chat. So as long as you remember who sent you the photo, it should be pretty easy to find.
I don't now how iOS caches or retrieves that content, but I find it's not super reliable if the messages were more than a few days/weeks ago. When it works it's great, though.
I would love tagging in chat. People send each other helpful or entertaining things all the time, then 6 months later you're trying to find it and you can't remember when they sent it to you.
I switched some of my side projects (simple Rails apps) over to Render on someone's recommendation. Render charges $7 for the lowest tier, which I'm confident is all I'll need probably ever.
While that $7 isn't going to break the bank, these new "Basic" Tiers on Heroku seem way more economical for my silly side projects, if I'm doing my mental math right (and it's quite possible I'm not...)
We're still developing those relationships, and we haven't generated any novel data that is deeper than web URLs. I'm based in Pittsburgh so we're still working with local journalists, activists, etc. to understand how they use the data and how we can help.
I don't understand how those situations you mentioned should be given high priority given the number of people who are being paid poverty-level wages currently.
I'll grant there is a high count of counter-examples, but the number of potential employees that match those counter-examples feels quite low.
Is that fully accurate? Do players know how fast the other teams players run? The frequency with which they can catch the ball? How successful their blocking will be?
Random elements do not interfere with perfect information. Adding a coin toss to chess won't make it a game of imperfect information. It will make it a game that is less deterministic than chess-without-the-coin-tossing. The opposite of "perfect information" is "hidden information", not "fallibility".
(Admittedly, the PDFs I generate are most certainly not beautiful, so maybe that's the difference)