blank_dvth's recent activity

  1. Comment on Reddit communities are switching to NSFW to create some friction and rob Reddit of ad revenue in ~tech

    blank_dvth
    Link Parent
    I won't say anything about whether it was the right call or not, everyone can have their own opinions on that. However, we did mark our entire sub NSFW to ensure that this would not happen. By...

    I won't say anything about whether it was the right call or not, everyone can have their own opinions on that. However, we did mark our entire sub NSFW to ensure that this would not happen. By default, all users are opted-out of seeing NSFW content, they would have to explicitly opt in for this content to be shown. The content is also blurred until the users clicks on it (unless they have a client configured to do otherwise), which serves as an extra barrier. I believe more than enough measures were taken to prevent unaware or involuntary parties from seeing NSFW content.

    Although, Reddit did themselves toggle off the R18 setting without notice to anyone (either user or mod), that we had to correct ourselves after we noticed. That action Reddit took could very well have exposed someone to the NSFW content on the sub.

    11 votes
  2. Comment on Reddit communities are switching to NSFW to create some friction and rob Reddit of ad revenue in ~tech

    blank_dvth
    Link
    Yet another new development; Reddit has begun removing, and suspending, mod teams of subs who have gone NSFW. I'm (was) a mod on a decent sized sub that went NSFW. They cite two conflicting...

    Yet another new development; Reddit has begun removing, and suspending, mod teams of subs who have gone NSFW. I'm (was) a mod on a decent sized sub that went NSFW.

    They cite two conflicting reasons for this:

    It's not ok to show people NSFW content when they don't want to see it

    and

    Mods should not make malicious changes [...] encouraging the submission of sexually explicit (18+) content in previously safe-for-work spaces."

    For context, that particular subreddit did have NSFW-content on it to begin with, it definitely wasn't a "previously safe-for-work" space. Many rules (including ones against NSFW content) were relaxed, and the community was marked NSFW to ensure that people who don't want to see NSFW content don't see it. Regardless, their content policy does state that even with just excessive profanity, subs should be marked NSFW, so it's funny they're angry that subs are marked NSFW.

    It's pretty likely they're looking for any reason to boot mod teams and restore subs that allowed more NSFW content in protest, so they can retain their revenue.

    Message Source (Screenshot)

    54 votes
  3. Comment on Squarespace purchases Google Domains in ~tech

    blank_dvth
    Link Parent
    I've considered moving to Cloudflare, but they don't have support for the TLD for the domain I have on Google Domains yet. From what I've heard, it's good enough both price and functionality wise,...

    I've considered moving to Cloudflare, but they don't have support for the TLD for the domain I have on Google Domains yet.

    From what I've heard, it's good enough both price and functionality wise, and I use it for DNS anyway.

  4. Comment on Reddit CEO pledges to not force subreddits to reopen. Admin team then immediately threatens moderators who closed their subreddits with removal. in ~tech

    blank_dvth
    Link Parent
    I'm still sticking around on Reddit for the few communities that I moderate, as a last stand-type situation. The second this is over, though, I'm out of there faster than spez's comments get...

    I'm still sticking around on Reddit for the few communities that I moderate, as a last stand-type situation. The second this is over, though, I'm out of there faster than spez's comments get downvoted. While I hope it doesn't happen, I can definitely foresee me finally being the one eating popcorn on the sidelines, watching as everything burns.

    7 votes
  5. Comment on Are there any plans to publish an official API? in ~tildes

    blank_dvth
    Link Parent
    I don't think the HTML for Tildes is cached anyhow, as it'd cause loads of problems in being able to see new comments as they're posted. Taking a guess by the technology page on the blog, the...

    I don't think the HTML for Tildes is cached anyhow, as it'd cause loads of problems in being able to see new comments as they're posted. Taking a guess by the technology page on the blog, the pages are probably dynamically generated each time they're loading (might be cached for a very short amount of time). Not to mention that API GET requests for posts could be cached as well, not that there's usually a point considering they'd need to be refreshed pretty often.

    4 votes
  6. Comment on Are there any plans to publish an official API? in ~tildes

    blank_dvth
    Link Parent
    Returning all the HTML required to render a page (which is a lot) is a waste of resources when all the client needs is the data itself in some readable way (usually JSON). It saves bandwidth for...

    Returning all the HTML required to render a page (which is a lot) is a waste of resources when all the client needs is the data itself in some readable way (usually JSON). It saves bandwidth for the site, and also speeds up clients by a significant amount. HTML parsing takes a lot longer than you'd think, and is a waste of both time and resources for the end user. I did a quick test, and simply parsing the comment data for this topic (which doesn't have many comments) takes about 2x longer than just getting the HTML page itself (getting a JSON endpoint would be even quicker), and this likely would not be a linear scale as the number of comments increases.

    8 votes
  7. Comment on What operating system do you run your home servers on? in ~tech

    blank_dvth
    Link
    My server is primarily used for NAS storage, but I also have it doubling as a local application host. Currently, it's running TrueNAS Scale, with apps deployed through the integrated k8s system....

    My server is primarily used for NAS storage, but I also have it doubling as a local application host. Currently, it's running TrueNAS Scale, with apps deployed through the integrated k8s system. Works well enough for my uses.

    2 votes
  8. Comment on Tildes UserScript: Comment Link Fix in ~tildes

    blank_dvth
    (edited )
    Link Parent
    I do agree that it's much better to have a fix actually in the site itself, rather than needing people to install user scripts. Sadly, I just don't currently have the free time (at least for this...

    I do agree that it's much better to have a fix actually in the site itself, rather than needing people to install user scripts. Sadly, I just don't currently have the free time (at least for this month) to do that, although I do plan to as soon as I get the time. The script is more meant as a quick patch for now, before I get the time to work on an actual fix. It appears the last PR action taken was 2 years ago as well, there's a large backlog of PRs right now -- it will probably take some time for the PR to get reviewed anyhow, so a script is a good temporary fix.

    6 votes
  9. Comment on Tildes UserScript: Comment Link Fix in ~tildes

    blank_dvth
    Link Parent
    Oh wow, RES has made my life so much better through the years. Thanks for making it, it's truly an amazing extension.

    Oh wow, RES has made my life so much better through the years. Thanks for making it, it's truly an amazing extension.

    4 votes
  10. Comment on Tildes UserScript: Comment Link Fix in ~tildes

    blank_dvth
    Link Parent
    Thanks for the link to Violentmonkey! It seems like a great choice, didn't even know it existed before this.

    Thanks for the link to Violentmonkey! It seems like a great choice, didn't even know it existed before this.

    1 vote
  11. Tildes UserScript: Comment Link Fix

    I joined Tildes a couple of days ago, and I'm absolutely loving the interface and community. In the last few days of using Tildes, I noticed a particular problem that was mildly annoying; if you...

    I joined Tildes a couple of days ago, and I'm absolutely loving the interface and community.

    In the last few days of using Tildes, I noticed a particular problem that was mildly annoying; if you have the "Collapse old comments when I return to a topic" setting on, and you click on a link that is supposed to lead to a comment in a topic you have already visited, it won't jump to that comment.

    Searching around, I found a post about it from a day ago, in which long-time users have mentioned that it's been a known problem for a while now. In those comments, someone mentioned permalinks as a solution, but it appears that's still in the works.

    For now, I've made a quick userscript that will address this issue (and adds some slight related functionality). It hasn't been thoroughly tested yet, so if any issues occur, please let me know. This userscript is designed to be used with Tampermonkey (a privacy-friendly alternate that should work is ViolentMonkey), which is available in all popular desktop browsers. Installation instructions for Tampermonkey are available on their site (it's installed like any other extension).

    To install the script, you can head to this GitHub Gist which contains the code (click "Raw" to open the TamperMonkey install prompt), or you can copy and paste the code from the following dropdown block into a "New script" on the TamperMonkey dashboard. The dropdown is not guaranteed to contain the latest version.

    Code
    // ==UserScript==
    // @name         Tildes Comment Link Fix
    // @namespace    https://gist.github.com/blankdvth/6da89fff580e8cf6e50f88847ddb5729
    // @version      1.2.0
    // @description  Fixes comment links (anchors) not working as a result of Tildes' comment collapsing feature.
    // @author       blank_dvth
    // @match        https://tildes.net/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=tildes.net
    // @grant        none
    // ==/UserScript==
    
    /* 
        USER SETTINGS
        This script is not big enough to warrant a visual settings menu, so adjust settings here.
        true = enable, false = disable
    */
    const alwaysRun_S = false; // If enabled, will always run the script, even if the comment was not collapsed (site works fine in this case). This is useful if you want to make use of the other settings.
    const smoothScroll_S = false; // If enabled, will smoothly (animated) scroll to the comment. If disabled, will jump to the comment.
    const uncollapseIndividual_S = true; // If enabled will uncollapse parent comments into one line instead of fully uncollapsing them.
    const uncollapseChildren_S = true; // If enabled, will uncollapse all children of the comment. If disabled, will leave them collapsed.
    const collapseIrrelevant_S = true; // The script uncollapses all parents to ensure the comment is visible. This will collapse irrelevant (not direct parent) comments again.
    // END OF USER SETTINGS
    
    /**
     * Uncollapses the comment if it is collapsed.
     * @param {HTMLElement} element Article element of the actual comment
     * @param {boolean} individual If true, will "uncollapse" into one line instead of fully uncollapsing
     * @returns {boolean} True if the comment was collapsed, false if it was not
     */
    function uncollapse(element, individual = false) {
        if (element.nodeName !== "ARTICLE") return false;
        var removed = false;
        if (
            !individual &&
            element.classList.contains("is-comment-collapsed-individual")
        ) {
            element.classList.remove("is-comment-collapsed-individual");
            removed = true;
        }
        if (element.classList.contains("is-comment-collapsed")) {
            if (individual)
                element.classList.add("is-comment-collapsed-individual");
            element.classList.remove("is-comment-collapsed");
            removed = true;
        }
        return removed;
    }
    
    /**
     * Uncollapses all direct parents of the comment.
     * @param {HTMLElement} element Article element of the actual comment
     * @param {boolean} collapseIrrelevant If true, will collapse irrelevant comments again
     * @param {boolean} individual If true, will "uncollapse" into one line instead of fully uncollapsing
     * @returns {boolean} True if any parent was collapsed, false if none were
     */
    function uncollapseParents(element, collapseIrrelevant, individual) {
        const relevant = []; // List of relevant elements (direct parents)
        var wasCollapsed = false; // Whether any parent was collapsed
        while (
            element.parentElement &&
            element.parentElement.nodeName !== "SECTION"
        ) {
            element = element.parentElement;
            relevant.push(element); // Add parent to relevant list
            if (uncollapse(element, individual)) wasCollapsed = true;
            // Collapse all irrelevant sibling comments (if feature enabled)
            if (collapseIrrelevant && element.nodeName === "ARTICLE") {
                element
                    .querySelectorAll(
                        `article#${element.id} > ol.comment-tree > li.comment-tree-item > article:not(.is-comment-collapsed)`
                    )
                    .forEach((child) => {
                        if (!relevant.includes(child))
                            child.classList.add("is-comment-collapsed");
                    });
            }
        }
        return wasCollapsed;
    }
    
    /**
     * Uncollapses all direct children of the comment.
     * @param {HTMLElement} element Article element of the actual comment
     */
    function uncollapseChildren(element) {
        element
            .querySelectorAll("article.is-comment-collapsed article.is-comment-collapsed-individual")
            .forEach(uncollapse);
    }
    
    (function () {
        if (!location.hash.startsWith("#comment-")) return; // Not a comment hash
        const comment = document.getElementById(location.hash.substring(1)); // Get comment element
        if (!comment) return; // Comment does not exist
        // Uncollapse the comment itself, and it's parents, then perform other actions if needed/enabled
        if (
            uncollapse(comment) |
                uncollapseParents(
                    comment,
                    collapseIrrelevant_S,
                    uncollapseIndividual_S
                ) ||
            alwaysRun_S
        ) {
            // Uncollapse all children (if feature enabled)
            if (uncollapseChildren_S) uncollapseChildren(comment);
            // Scroll to the comment
            if (smoothScroll_S) comment.scrollIntoView({ behavior: "smooth" });
            else comment.scrollIntoView();
        }
    })();
    
    Settings Description

    There are comments that already contain short descriptions for each setting in the code, but here are more in-depth descriptions.

    • alwaysRun: By default, the script does not run if the comment and its parents are already uncollapsed (this means the in-built anchor will work as expected). However, when this setting is enabled, the script will still perform the additional options (such as uncollapsing children and collapsing irrelevant).
    • smoothScroll: When enabled, will use a smooth animated scroll. When disabled, will jump directly.
    • uncollapseIndividual: Parent comments need to be uncollapsed in some shape or form in order for the script to work. This allows you to choose what type of uncollapse is used. When enabled, it will uncollapse the parent comments into a single line (shows a short preview). When disabled, it will fully uncollapse the parent comments (everything is visible).
    • uncollapseChildren: When enabled, will automatically uncollapse all child comments (replies) to the linked comment.
    • collapseIrrelevant: When enabled, it will automatically collapse all sibling/cousin comments (comments that have a shared parent but are not directly ancestors of the linked comment)
    Changelog (Last Updated 2023-06-12 22:55 EST)
    • v1.2.0:
      • Prevent entire sibling/cousin chains from being collapsed, only collapse toplevel
      • Ensure individually collapsed children are uncollapsed properly
      • Ensure proper exiting if comment does not exist
    • v1.1.0:
      • First public release
    33 votes
  12. Comment on The most liberating decision: just deleted my Reddit account in ~tech

    blank_dvth
    Link Parent
    The public API will still be available, just rate-limited. I believe it was 100 requests/minute, which isn't the worst. Besides, mass-edit/delete tools can (and probably will) just emulate a user...

    The public API will still be available, just rate-limited. I believe it was 100 requests/minute, which isn't the worst. Besides, mass-edit/delete tools can (and probably will) just emulate a user login or use some other method even if the API shuts down.

    8 votes
  13. Comment on These subreddits are going dark or read-only on June 12th and after. Some already are. in ~tech

    blank_dvth
    Link Parent
    A large focus and main public point of the blackout currently is the 3rd party apps, as it's the most high profile and easiest to understand. The visually impaired have it especially rough, as...

    A large focus and main public point of the blackout currently is the 3rd party apps, as it's the most high profile and easiest to understand. The visually impaired have it especially rough, as Reddit's site and official app are practically useless in terms of accessibility -- they have to rely on third-party apps to be able to browse Reddit at all.

    Putting aside 3rd party apps now, the API change affects tools other than just 3rd party apps. Anything that uses the API a decent amount will be affected, examples of this are the API-intensive utility bots and moderation bots. Moderation bots are used by the larger subs to offload some of the workload in dealing with spammers, advertising bots, etc. If those are lost (Reddit says they'll "work with the devs" to make sure they stay functional, but they have a history of making empty promises) then existing mod teams who are already (a) overwhelmed and (b) are doing all of this work in their free time (for free), will have it a lot rougher. It's likely this will reflect on the quality of comments in subs as well, as mod teams will have it harder. Utility bots may also get affected to some degree -- I'm not extremely sure on this one, so I won't comment much.

    Reddit also recently banned Pushshift from the Reddit API (although this news has been overtaken by the API change news), which aggregates and archives posts/comments for preservation. Reveddit, unddit, and other similar tools that allow users to see deleted content all make use of the Pushshift API to access this. Mods very commonly use this data to be able to act on disruptive users who have deleted their comments (say, if a comment was reported, but a mod didn't see it in time). It's common for users to use this functionality as well, for various legitimate purposes. Reddit has since been in talks with Pushshift, and is said to be restoring the functionality for moderators only, but that's still up in the air right now.

    especially the NSFW ones.

    A large reason the NSFW subs especially are blacking out is because the API change affects NSFW subs. After it goes into place, NSFW content would be inaccessible through the API at all. This means bots, third-party clients (if some dev somehow has the pockets to pay for it), and other API-reliant tools would not be able to view, comment, or do anything on NSFW subs/posts.

    Now, the largest one for me, is that Reddit is going down a bad path. What's to stop them from removing old reddit, removing/charging for other features, etc? They started out as a fairly user-friendly company, they actually listened to feedback, treated developers well, etc. That's (from what I hear) a large part of the reason why Digg refugees went to Reddit and staid for so long. I, along with many others, believe that this is a critical turning point. It might be the last chance we get to do something before we've already gone too far (Reddit is going public soon as well).

    In summary, yes, the loss of third-party apps is especially devastating (for both users and the development community), but the API change brings about more than just the loss of third-party apps. It is also showing the direction that Reddit is going currently, and the future looks grim if things continue they way they're going now. This may just well be the last chance we get to turn things around.


    I'm more interested in how many of these subs will STAY blacked out though- I expect that of the 5,000 going dark, at least half of them may possibly be back online after the two days.

    Many large subs have decided to go dark indefinitely until things get better, my conservative guess is 1/4. A large majority of the remainder have expressed interest in continuing to participate in coordinated blackouts (this 2 day blackout will definitely not be the last if things don't go well) as needed.

    8 votes
  14. Comment on These subreddits are going dark or read-only on June 12th and after. Some already are. in ~tech

    blank_dvth
    Link Parent
    Never underestimate the dev community on Reddit. There are a lot of passionate and dedicated devs, which is just one of the countless reasons why this API change (a) sucks so much and (b) is...

    Never underestimate the dev community on Reddit. There are a lot of passionate and dedicated devs, which is just one of the countless reasons why this API change (a) sucks so much and (b) is probably going to end badly for Reddit. I would not have used Reddit for more than a month without third-party clients and browser extensions.

    12 votes
  15. Comment on What programming/technical projects have you been working on? in ~comp

    blank_dvth
    (edited )
    Link Parent
    I agree with what ispotato said. Very often it's considered that game development and other things where you can see a visual product are the most attracting. My first project (following the book...

    I agree with what ispotato said. Very often it's considered that game development and other things where you can see a visual product are the most attracting. My first project (following the book I was using to learn at the time) was a game, and I didn't really enjoy it that much. Not to say it's a bad option, it just might not be for everyone.

    For me, and a fair few people I know, it was the ability to automate things and create your own applications to make your life easier that truly brought me into programming. I started off with Discord bots to offload moderation work, then made a bunch of very niche desktop software (both CLI and GUI) for myself, and recently to browser extensions & user scripts (once again to implement QOL things).

    While it may not be extremely suitable for a beginner course, I'd recommend giving it some thought. Maybe near the end of the course (where they've learned a decent bit about the language and how to use it), ask them to come up with one simple digital task that annoys them. Perhaps it's a repetitive task, or potentially it's something they have to remember to do every X days, etc, then create something to automate that.

    Unfortunately, depending on the task, it could require varying skill levels. I'll use Python as an example here since it's more beginner-friendly, but same goes for any language. It could be a basic problem solvable with a simple script and potentially built-in modules, it could also require input control (pyautogui), maybe it'll need web tools (e.g. Selenium & BS4), maybe it'll need a GUI library (e.g. tkinter or QT5), etc. I think it's worth considering, it will show a very practical use for programming and also give them something they can use to make their own life easier. They can also continue to improve that software themselves even after the course if over if they choose to continue using it, likely learning more in the process.

    EDITS: Minor rephrasing to improve flow and grammatical errors.

  16. Comment on What are some Minecraft content creators that you enjoy watching? in ~games

    blank_dvth
    Link
    ilmango has some really nice technical builds. I recently found Squibble as well, who has some interesting redstone ideas. iTMG makes really well edited videos.

    ilmango has some really nice technical builds.

    I recently found Squibble as well, who has some interesting redstone ideas.

    iTMG makes really well edited videos.

  17. Comment on r/DataHoarder project to archive reddit before the API changes (link to request a copy of your personal data in comments) in ~tech

    blank_dvth
    Link Parent
    That is extremely true. And if it's not server processing time, Reddit may be [pure speculation from this point] purposefully delaying these exports until after the API cutoff date (or at least...

    That is extremely true. And if it's not server processing time, Reddit may be [pure speculation from this point] purposefully delaying these exports until after the API cutoff date (or at least delaying it to some extent).

    Luckily, the ArchiveTeam Warrior is unaffected (it scrapes). A lot of the common deletion tools/scripts also shouldn't be affected. Most of the ones I know of "log in" to Reddit just as you normally would, which shouldn't be subject to the API rate limit (it has a rate limit, just not the API one)

    2 votes
  18. Comment on r/DataHoarder project to archive reddit before the API changes (link to request a copy of your personal data in comments) in ~tech

    blank_dvth
    Link Parent
    I requested a data export a couple of days ago as well and have yet to get it. It's highly likely that they're overwhelmed with them at the moment. Even during standard operations, data requests...

    I requested a data export a couple of days ago as well and have yet to get it. It's highly likely that they're overwhelmed with them at the moment. Even during standard operations, data requests can take a meaningful amount of server time to process and prepare for a user. I suppose one potential upside to the delay, depending on how you look at it, is that it probably means many users are requesting their data which also means it will cost Reddit a pretty penny to process, which is just extra salt on their current wounds.

    4 votes
  19. Comment on What's your go-to mono font? in ~tech

    blank_dvth
    Link
    For anything that I need to send to other people (whether digitally or printed), I use Consolas. It's a decent standard built-in font, but it's not really great for anything other than that...

    For anything that I need to send to other people (whether digitally or printed), I use Consolas. It's a decent standard built-in font, but it's not really great for anything other than that purpose.

    I'm currently using FiraCode for my own personal use, I enjoy the look and feel of it, and have come to like the ligatures as well (used ligature-less Jetbrains Mono previously, not going back).

  20. Comment on YouTube orders ‘Invidious’ privacy software to shut down in seven days in ~tech

    blank_dvth
    Link Parent
    Paying for YouTube Premium is a perfectly valid option for many people, I definitely wouldn't say that it's really an unpopular opinion. If people simply seek an ad-free experience (with other...

    Paying for YouTube Premium is a perfectly valid option for many people, I definitely wouldn't say that it's really an unpopular opinion. If people simply seek an ad-free experience (with other features), and are willing to pay for it, they'll probably end up doing that. There's also the crowd that like ad-free content without wanting to pay, which I can see the appeal in.

    Unfortunately, what premium isn't able to offer you is the additional privacy that an alternate front-end can offer. By scraping the content and displaying it on a frontend that is without trackers, and with all traffic proxied through the server that hosts it, it prevents a large majority, if not all of the tracking that Google can do on their site. For some people, they care more about that than anything else.

    Lastly, the premium experience is something to consider as well. It's an unfortunate fact that in numerous instances, the offerings of premium come up short when compared to the more...illegitimate options. Personally, if I'm going to pay $12/month for a product (and I'm not doing it to donate/support a product I enjoy), I'd expect that it is extremely close to, on par, or superior to the alternate free options. One such example that I heard in a YouTube video recently covering the Invidious situation involves the offline viewing functionality that YouTube Premium provides. The offline download through premium expires, and rather quickly at that. If you aren't able to or forget to connect to the internet for a few days, you lose access. When compared to downloading it, using a service like youtube-dl, where you'll have permanent access, it's not nearly as appealing.

    In the end, it really is just up to what personal priorities and preferences people have.

    Edits
    • Minor repetition
      • downloading it permanently, [...], where you'll have permanent access
    • Hide edit list behind dropdown