• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. What are you reading these days?

      What are you reading currently? Fiction or non-fiction or poetry, any genre, any language! Tell us what you're reading, and talk about it a bit. Previous topics Previous topics are listed in the wiki.

      11 votes
    2. Fitness Weekly Discussion

      What have you been doing lately for your own fitness? Try out any new programs or exercises? Have any questions for others about your training? Want to vent about poor behavior in the gym? Started...

      What have you been doing lately for your own fitness? Try out any new programs or exercises? Have any questions for others about your training? Want to vent about poor behavior in the gym? Started a new diet or have a new recipe you want to share? Anything else health and wellness related?

      5 votes
    3. Ask Tildes: Design practices for retrieving dozens (or hundreds) of related records over a RESTful API

      I'm looking for some feedback on a feasible mechanism for structuring a few API endpoints where a purely RFC-spec compliant REST API wouldn't suffice. I have an endpoint which returns $child...

      I'm looking for some feedback on a feasible mechanism for structuring a few API endpoints where a purely RFC-spec compliant REST API wouldn't suffice.

      I have an endpoint which returns $child entries for a $parent resource, let's call it: /api/parent/:parentId/children. There could be anywhere from a dozen to several hundred children returned from this call. From here, a child entity is related to a single userOrganization, which itself is a pivoting entity on a single user. The relationship between a child and user is not strictly transitive, but can each child only has one userOrganization which only has one user, so it is trivial to reach a user from a child resource.

      Given this, the data I need for the particular request involves retrieving all user's for a parent. The obvious, and incorrect solution to the problem is to make the request mentioned above, and then iterate through and make an API request to retrieve each user. This is less than very good as this would obviously be up to several hundred API calls.

      There's a few more scalable solutions that could solve this problem, so any input on these ideas is great; but if you have a better proposal that also works, I'm keen to explore that!

      Include user relationships in the call by default.

      This certainly does solve the problem, but it's also pumping down a load of data I don't necessarily need. This would probably 2x the amount of bytes travelling along the wire, and in 8 out of 10 calls, that extra data isn't needed.

      Have a separate /api/parent/:parentId/users call.

      Another option that partially solves the issue: I need data from both the child and the user to format this view, so I'd still need to make the initial call I documented earlier. Semantically, it feels a bit odd to have this as a resource because I don't consider a user to be nested under a parent in terms of database topology.

      Keep the original call, but add a query parameter to fetch the extra data

      This comes across as the 'least worst' idea objectively, in terms of flexibility and design. Through the addition of the query parameter, you could optionally retrieve the relationship's data. This seems brittle and doesn't scale well to other endpoints where it could be useful though.

      Utilize a Stripe expands-style query parameter.

      Stripe implements the ability to retrieve all related records from an API endpoint by specifying the relations as strings. This is essentially the same as the above answer, but is scaled to all available API endpoints. I love this idea, but implementing it in a secure way seems fraught with disaster. For example, this is a multi-tenancied application, and it would be trivial to request userOrganization.user.organizations.users. This would retrieve all other organisations for the user, and their users! This is because my implementation of expands simply utilises the ORM of my choice to perform a database join, and of course the database has no knowledge about application tenancy!


      Now, I do realise this problem could easily be solved by implementing a GraphQL API server, which I have done in the past, but unfortunately time and workload constraints dictate implementing a GraphQL-based solution is infeasible. As much as I like GraphQL, I'm not as proficient in that area as compared to implementing high quality traditional APIs, and the applications I'm working on at the moment are focusing on choosing boring technology, and not using excessive innovation tokens.

      Furthermore, I do consider the conceptuals around REST APIs to be more of an aspirational sliding scale, rather than a well defined physical entity, because let's face it, the majority of popular APIs today aren't REST-compliant, even Stripe's isn't, and it's usually both financially healthier and feature-rich to choose a development path that results in a rough product that can be refined later, than aiming for a perfect initial release. All this said, I don't mind proposals or solutions to my problem that are "good enough". As long as they aren't too hacky! :)

      10 votes
    4. Choosing a new printer

      I'm thinking about getting a new printer. My needs are basically to print out textual documents 2-3 times per month from macOS. I don't need to print photos. I will not buy an inkjet because of...

      I'm thinking about getting a new printer. My needs are basically to print out textual documents 2-3 times per month from macOS. I don't need to print photos. I will not buy an inkjet because of the outrageous price of the ink. I would like to have fax support (my spouse sees a lot of doctors and they still use fax machines a lot, and we're not comfortable sending personal medical info via a fax service on the web), and it would be nice if we could also scan documents. So I'm thinking a multi-function device.

      We currently have a Brother 7840W MFC with print, fax, copy, and scan. It's over 10 years old (maybe 15?) and I dislike it. It's been slowly losing functionality over the past 5+ years. The WiFi went out, but I was able to connect it via wired ethernet to a computer and share it from there. The drivers insist that there's a paper jam, but there isn't and it prints just fine (but sounds like some of the internal mechanical components are going to die any day now.) The UI of the printer is awful. I recall having to use the phone pad to enter my WiFi password, and it was like texting on a Motorola StarTAC. (Like if you want the letter "C" press the number "2" three times, etc.) The drivers and related software don't work like normal macOS software. (Disclosure: I also once wrote a scanner driver for Brother and it was horrible, but they shipped it, so I'm not real comfortable putting their software on my computer. But that was 25 years ago, so maybe they're better now?)

      I've heard horrible things about the drivers and software of most other major printer makers - HP, Epson, Lexmark, etc. I'm guessing what I'm looking for doesn't exist, but I just want a multi-function device in as small a package as is reasonable, and with a UI on the device and software that doesn't suck and that won't die on me in < 5 years. Does such a thing exist?

      17 votes
    5. What have you been watching / reading this week? (Anime/Manga)

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was...

      What have you been watching and reading this week? You don't need to give us a whole essay if you don't want to, but please write something! Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.

      If you want to, feel free to find the thing you're talking about and link to its pages on Anilist, MAL, or any other database you use!

      7 votes
    6. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      12 votes
    7. Hard drive dying, trying to save a VM

      I have a large VirtualBox VM on an external HDD. The HDD fails the S.M.A.R.T. test. The VM still works fine, but any regular attempt to copy the VM files over to a healthy drive fails ... there is...

      I have a large VirtualBox VM on an external HDD. The HDD fails the S.M.A.R.T. test. The VM still works fine, but any regular attempt to copy the VM files over to a healthy drive fails ... there is clearly already something corrupt in the VM's virtual HDD, although it is not (apparently? yet?) affecting the functionality of the actual VM.

      Any suggestions on how to save the VM? Linux Mint Guest OS, Pop_OS (Ubuntu) Host. The VM is nearly 800 GB. Both regular copy and rsync fail.

      Thanks,
      Eric

      PS: (and perhaps I should have led with this, but...) is it okay to ask these kinds of specific, technical, "help me with my tech-stuff" questions here on Tildes?


      Update to the update ... moved update info into a comment ... will keep my progress updated in that primary comment.

      Danke, y gracias to all

      14 votes
    8. Happy 2020 everyone!

      I’m a bit tipsy, but I sincerely mean this to you all: I wish you a prosperous year and decade. This site has been an encouraging sign the last year - May it last ever on! I wish a peaceful and...

      I’m a bit tipsy, but I sincerely mean this to you all:

      I wish you a prosperous year and decade. This site has been an encouraging sign the last year - May it last ever on!

      I wish a peaceful and prosperous new year on all :)

      44 votes
    9. Super totally official Happy New Year thread

      Happy 2020 Tildes people! Here's to good health, personal growth, and much success to each and all of you in the new year. It's always a good time to remember we have the power to shape our lives...

      Happy 2020 Tildes people! Here's to good health, personal growth, and much success to each and all of you in the new year. It's always a good time to remember we have the power to shape our lives however we want them to be. Peace and blessings.

      22 votes
    10. What have you done in the last ten years?

      Asked in the spirit of the new decade. I am 14, so mostly growing up and realizing that the world is probably going to enter a recession when I reach adulthood which will suck for reaching...

      Asked in the spirit of the new decade.

      I am 14, so mostly growing up and realizing that the world is probably going to enter a recession when I reach adulthood which will suck for reaching financial independence.

      Going through puberty, even if it's just the beginning of it and seeing one of my cats die from kidney failure and hearing that my grandma died from cancer, which is very sad :(

      27 votes
    11. Don't trust online reviews (personal anecdote)

      I recently bought a product online. I wasn't able to find it in a bricks-and-mortar shop, so I had to buy it online to even see it, let alone try it. I received it, and it wasn't right for me. I...

      I recently bought a product online. I wasn't able to find it in a bricks-and-mortar shop, so I had to buy it online to even see it, let alone try it. I received it, and it wasn't right for me. I was able to exchange it for a different version, but even the different version wasn't right. So I returned the product and got a refund. All along, the customer service was excellent, but the product itself turned out not to be what I wanted.

      The way the product failed for me was connected to the "headline" description of the product. It wasn't a minor failure. It did something that they explicitly said it wouldn't do, which was one of the main selling features of the product.

      After the dust settled, I wrote a review of the product. I don't normally do this: I neither write nor read reviews. However, I know that other people do rely on reviews and, seeing as this product is only available online, and its failure was linked to a major selling feature of the product, I felt duty-bound to inform other prospective buyers that it might not suit some people. I gave it a 2-star (out of 5) rating, as well as writing up why it didn't suit me (while allowing that it might still suit other people).

      Since I submitted the review, I have checked the website (I'm an egotist: I wanted to see my words being published!). Other reviews with more recent timestamps have appeared, but my review has not appeared. I've now noticed that the lowest rating in their reviews is a single 3-star rating, with some 4-star reviews and lots of 5-star reviews. There are no 2-star or 1-star reviews. My only conclusion is that the company selects which reviews to publish - and which ones not to publish.

      I've always wondered if companies would post negative reviews of their own products. Now I know for sure that at least one company does not.

      18 votes
    12. What are some games like VA-11 HALL-A and Read Only Memories : 2064?

      I played VA-11 HALL-A quite a while ago and recently played ROM 2064. Both have similar aesthetics, sound, themes although they have different mechanics. I really liked how ROM had voice acting...

      I played VA-11 HALL-A quite a while ago and recently played ROM 2064. Both have similar aesthetics, sound, themes although they have different mechanics. I really liked how ROM had voice acting too which is a shame to say is not the case of VA-11 HALL-A but I still quite enjoyed both. 2064 perhaps more since it felt more engaged but perhaps that's just memory tricking me.

      I know there's N1RV Ann-A and ROM Neurodriver coming in 2020 but well, after that, I'll still have nothing so, what games have you played which are similar?

      PS : Have a happy new year and hope I've not posted in the wrong place, I'm not sure if it would've fit in the recurring topic.

      9 votes
    13. Ability to hide posts that link to specific websites

      I'd be interested in a feature where I can have a list of top-level domains that I want to ignore content from. For example, I'm never in a position to watch a video when I'm browsing tildes. So...

      I'd be interested in a feature where I can have a list of top-level domains that I want to ignore content from. For example, I'm never in a position to watch a video when I'm browsing tildes. So I'd like the option to just not see any link to youtube.com or vimeo.com. Maybe I think all content posted to example.com is inflammatory click-bait, so I just want to ignore those links, too.

      Would that be possible?

      11 votes
    14. TV Tuesdays Free Talk

      Have you watched any TV shows recently you want to discuss? Any shows you want to recommend or are hyped about? Feel free to discuss anything here. Please just try to provide fair warning of...

      Have you watched any TV shows recently you want to discuss? Any shows you want to recommend or are hyped about? Feel free to discuss anything here.

      Please just try to provide fair warning of spoilers if you can.

      4 votes