• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics with the tag "user created". Back to normal view
    1. Tildes Userscript: Tildezy

      Updated: June 29th 2023 Hello folks, Like many of the other people that have been around lately, I'm new to Tildes, I've been browsing it without an account since last Monday or so while waiting...

      Updated: June 29th 2023

      Hello folks,

      Like many of the other people that have been around lately, I'm new to Tildes, I've been browsing it without an account since last Monday or so while waiting for an email response (thanks @Deimos), and in that time I've been working on a little tool to add some QOL features I thought would make my experiences with the site feel better.

      I didn't plan on sharing it initially, because I didn't think I'd be able to get the javascript into a usable state, and I'm not fond of sharing my code in general, as I always get a big wave of impostor syndrome whenever I do, "What if they look at my messy code and see how silly I do some things", that sort of thing. But with Tildes I want to try to correct some of my internet behaviours, for years I've generally stayed as a lurker, never commenting or sharing content of my own, so, hello there, hopefully, I stick to my guns and you see more of me.

      Onto the script itself, currently, I've built five main features into it all of them being rather minor on their own, I did do bug testing on everything and couldn't find anything else, but if you notice anything please feel free to report it to me or post an issue on the repo. It's easy to miss bugs when you've only got one set of eyes.

      Tildezy Github

      The GitHub contains installation instructions if you've never used a userscript before, and contains some images showing off each feature described below.

      Comment Collapser The comment collapser was built because, with my shakey hands, I had a few times when I would click someone's name instead of the [-] beside it. With this feature *Triple* clicking anywhere on a comment, be it text or header, will collapse it as if you used the [-] button. It's set to 3 clicks as sometimes I double-click to begin copying a line and didn't want the conflict, but it can be changed to any amount of clicks on line 132

      https://github.com/TeJayH/Tildezy/blob/main/Tildezy.user.js#L132

      Group Stars/Favourites Allows you to click a ☆ beside each ~group on the Tildes homepage to *favourite* it, moving it to the top of the list. Supports as many or as few favourites as you'd wish.
      Scroll to Top Button Adds a button pinned in the top right of every Tildes thread that sends you back to the top of the page. No more scrolling or reaching for the home key
      Open Comments in New Tab Replaces the default function of a posts "x comments" to open the page in a new tab instead of the current tab
      User Colors This one is the thing that I made the entire script for, an entirely useless feature but one I love for silly reasons. Replaces the stock username color with a randomized one based on a hash made from the user's username. So everyone gets assigned their own color which will always be their color anywhere you see them. This one helps multi-person conversations flow better in my head
      New Comment Traveller Gives you navigation buttons either beside the Collapse Replies/Expand all buttons when scrolled up, or pinned in the top right when scrolled past those buttons. Navigation buttons jump quickly between each new comment in a thread.
      Markdown Buttons Adds a selection of various buttons under every comment box that automatically insert markdown for you. No more forgetting which bracket style goes first for a clickable URL.
      Settings Not really a *feature* on its own, but it exists. Adds a "Tildezy Settings" beside the Log In/Username button in the top right of the header, which opens a settings window to enable/disable any and all features of the script. Features can also be disabled by modifying lines 26-41 in the script, allowing you to hard toggle everything *including the settings itself* off should you wish.

      https://github.com/TeJayH/Tildezy/blob/main/Tildezy.user.js#L26-L41

      Hopefully, someone gets some use out of this with me, I look forward to chatting with you all.

      EDIT
      Refactored the code and added a new comment traveller feature based on some of the comments below.

      EDIT 2
      Up to 1.3.0, we've got markdown buttons now, see comment explaining the change or check out the github readme

      120 votes
    2. Lazy userscript

      Just a hack job, but I'd seen some comment about it being inconvenient to ignore posts so I made a quick userscript (tested with Tampermonkey on Firefox) that adds hotkeys for...

      Just a hack job, but I'd seen some comment about it being inconvenient to ignore posts so I made a quick userscript (tested with Tampermonkey on Firefox) that adds hotkeys for bookmarking/ignoring/voting on a post. It can also navigate to the link or comments or prev/next pages (/). Only implemented for posts 1-9 at the moment.

      Ex:

      i+2 ignores and hides the 2nd post (or restores, if ignored)

      ? shows a summary of hotkeys

      // ==UserScript==
      // @name         Tildes
      // @namespace    http://tampermonkey.net/
      // @version      0.1
      // @description  Quickie convenience hotkeys for tildes.net
      // @author       TT
      // @match        *://tildes.net/*
      // @icon         https://www.google.com/s2/favicons?sz=64&domain=tildes.net
      // @grant        none
      // @require      https://unpkg.com/hotkeys-js/dist/hotkeys.min.js
      // ==/UserScript==
      (function () {
          "use strict";
          let Action;
          (function (Action) {
              Action[Action["Invalid"] = 0] = "Invalid";
              Action[Action["Bookmark"] = 1] = "Bookmark";
              Action[Action["Comments"] = 2] = "Comments";
              Action[Action["Ignore"] = 3] = "Ignore";
              Action[Action["Open"] = 4] = "Open";
              Action[Action["Vote"] = 5] = "Vote";
          })(Action || (Action = {}));
          const regex = /tildes\.net(\/~(?<group>\w+))?/gi;
          let match = regex.exec(document.location);
          //In a group if I wanted to support hotkeys there?
          if (match.groups.group) {
              //alert(match.groups.group);
          }
          else {
              addArticleNumbers();
              addMainHotkeys();
          }
          //Route
          function routeAction(action, event, handler) {
              event.preventDefault();
              //Grab index.  Zero-index?
              let indexText = handler.key.substring(2);
              let index = parseInt(indexText) - 1;
              if (isNaN(index))
                  return;
              actOnArticle(action, index);
          }
          function actOnArticle(action, index) {
              //Get article for index
              let article = document.querySelector(".topic-listing").children[index].children[0];
              //Do the thing
              switch (action) {
                  case Action.Bookmark:
                      if (article.style.borderStyle === 'solid')
                          article.style.borderStyle = 'none';
                      else
                          article.style.borderStyle = 'solid';
                      article.querySelector('button[data-ic-put-to$="bookmark"]').click();
                      break;
                  case Action.Comments:
                      article.querySelector(".topic-info-comments a").click();
                      break;
                  case Action.Ignore:
                      //Hide vs blank?
                      if (article.style.visibility === "hidden")
                          article.style.visibility = "visible";
                      else
                          article.style.visibility = "hidden";
                      // article.style.display = 'none';
                      article.querySelector('button[data-ic-put-to$="ignore"]').click();
                      break;
                  case Action.Open:
                      article.querySelector(".topic-title a").click();
                      break;
                  case Action.Vote:
                      article.querySelector(".topic-voting").click();
                      break;
              }
          }
          function addArticleNumbers() {
              let titles = Array.from(document.querySelectorAll(".topic-title a"));
              for (let i = 1; i <= titles.length; i++) {
                  let title = titles[i - 1];
                  title.text = i + " - " + title.text;
              }
          }
          function addMainHotkeys() {
              //Set up handlers
              const handleBookmark = (event, handler) => routeAction(Action.Bookmark, event, handler);
              const handleComments = (event, handler) => routeAction(Action.Comments, event, handler);
              const handleIgnore = (event, handler) => routeAction(Action.Ignore, event, handler);
              const handleOpen = (event, handler) => routeAction(Action.Open, event, handler);
              const handleVote = (event, handler) => routeAction(Action.Vote, event, handler);
              hotkeys("shift+/", (e, h) => alert(getHelpText()));
              //Page nav
              hotkeys("left", (e, h) => Array.from(document.querySelectorAll(".pagination a")).find((e) => e.textContent == "Prev").click());
              hotkeys("right", (e, h) => Array.from(document.querySelectorAll(".pagination a")).find((e) => e.textContent == "Next").click());
              for (let i = 1; i <= 9; i++) {
                  hotkeys("b+" + i, handleBookmark);
                  hotkeys("c+" + i, handleComments);
                  hotkeys("i+" + i, handleIgnore);
                  hotkeys("o+" + i, handleOpen);
                  hotkeys("v+" + i, handleVote);
              }
          }
          function getHelpText() {
              return `
          ←/→ = navigation
          b = Bookmark, i = Ignore, v = Vote,
          c = Open comments, o = Open link,
      
          Action+[1-9] calls that action on the corresponding article`;
          }
      })();
      
      13 votes
    3. I wanna hear your music!

      I was told by the overlords that this was the way to ask permission to hear you! I wanna share, discover, and enjoy your personal music. I’ll add myself and some other projects to the bottom of...

      I was told by the overlords that this was the way to ask permission to hear you! I wanna share, discover, and enjoy your personal music. I’ll add myself and some other projects to the bottom of this post, but I truly only want to hear you.

      https://jlawson.bandcamp.com/album/visions

      https://jeakams.bandcamp.com/

      https://on.soundcloud.com/VkPckGcot1Xt9mjA7

      Much love,
      Jeakams

      30 votes
    4. My own dry rub for meats

      Sweet Smokey Rub Ingredients 1 Cup Brown Sugar 1 Package Onion Soup Mix 1/3 Cup Smoked Paprika Method Place in the blender and blend on high until all of the onion bits are fully powderized. Using...

      Sweet Smokey Rub

      Ingredients

      • 1 Cup Brown Sugar
      • 1 Package Onion Soup Mix
      • 1/3 Cup Smoked Paprika

      Method

      Place in the blender and blend on high until all of the onion bits are fully powderized.

      Using

      Dip your meat in oil then in the dry rub.
      As it cooks the sugar melts and creates a nice crispy coating.

      18 votes
    5. Finished project: 32L hiking backpack

      In my infinite wisdom I posted this to r/myog yesterday, just before the blackout started. I'm going to repost it here as a way to gauge how well it fits in on Tildes – this type of post is pretty...

      In my infinite wisdom I posted this to r/myog yesterday, just before the blackout started. I'm going to repost it here as a way to gauge how well it fits in on Tildes – this type of post is pretty central to the r/myog community and I am hoping some of us can migrate here.
       

      Goldilocks Pack

       
          In April of 2021, lo these many years ago, Reddit user savvlo posted in the r/myog Swap Thread that he was placing a wholesale order for Ecopak Ultra EPL200 and was wondering if anyone wanted a few yards. I had heard of this material and was eager to get my hands on some; none of the major UL pack manufacturers had started offering it yet and the only way to have an Ultra backpack was to build it yourself. I had the skills (4 or 5 packs already under my belt) and I aimed to be one of the first.
       
          Well, so much for that. I fell out of love with MYOG for a year or so, and by then the project seemed so insurmountable that I didn't even know where to start. I did plenty of designing and redesigning (because that's the fun part) but the truth was that I just didn't really need another backpack, so there was no motivation to start a project that would consume dozens of hours. And then finally, this spring, my trusty old Hyperlite started showing its 4000+ miles and gave me the kick I needed to actually make this damn thing.
       
          You can guess from the title that this pack fills a hole in my lineup – for years my two pack options were my 40L Windrider and my 27L summer pack, and most often I found myself wishing I had an in-between option in the 33L range. The MLD Burn fits right in that pocket and after seeing one in action on a high route trip with a friend I knew that was going to be my model. The overall dimensions of my pack match the Burn exactly; the main modifications I've made are to the pockets, straps, and components. The comments in the Imgur album go over the specifics.
       

      Specs Imperial Metric
      Weight 13.3 oz 376 g
      Internal Volume* 2000 in^3 32 L
      Width 10 in 254 mm
      Depth 6 in 152 mm
      Height 29 in 737 mm
      Torso 19 in 483 mm

      *this is just my best guess, I don't have a good way to measure volume
       

      Thoughts

          I'm from the Midwest and I hate tooting my own horn so you'll know I speak truth when I say that this is, undoubtedly, my finest work. Other than a few trivial mistakes everything pretty much fell together perfectly. This is not normally the case with my projects and naturally it makes me quite nervous.

          The one thing I can't get over is this fabric! I can't believe this stuff only weighs in at 3.5 osy. It feels so much tougher than the Hybrid DCF I'm used to working with; it's so hard to cut through even with my sharp sewing scissors. Only time will tell if this pack really is as tough as it feels, but my hopes are sky high. Thanks for reading and looking at my pictures!

      24 votes
    6. Came up with some cocktails to represent my D&D party :)

      Was a fun little project. I worked on the drinks myself first, then gave them to my roommate for a blind taste test, and asked her to describe the kind of character she thought the drink was...

      Was a fun little project. I worked on the drinks myself first, then gave them to my roommate for a blind taste test, and asked her to describe the kind of character she thought the drink was about. If she wasn't at least mostly right, then I'd have to try again - but they somehow ended up a lot more accurate than I expected to be, despite the fact that she knows nothing about this D&D game, haha. I guess we're just really on the same wavelength?

      Anyway, without further ado, here are the recipes! If there are any other mixologists on here, I'd love to hear what you think - and you want to try (something like) any of these drinks but are missing an ingredient or two, let me know and I'm happy to try to suggest a few possible substitutions.

      Avery

      • 0.75 oz chartreuse
      • 0.5 oz montenegro
      • 0.5 oz black walnut liqueur
      • 0.5 oz distilled water

      Liz

      • 0.75 oz peated gin
      • 0.75 oz crème de violette
      • 10 drops lemon juice
      • yuzu bitters

      Matoya

      • 1 oz mezcal
      • 1.5 oz lemon tonic
      • cardamom bitters

      Morgana

      • 1 oz plum gin
      • 1 oz white rye
      • 1 oz distilled water
      • lavender lemon bitters

      Sylvaire

      • 0.75 oz cognac
      • 0.25 oz pomegranate liqueur
      • 0.25 oz grand marnier
      • 0.75 oz peach juice
      • peychaud’s bitters

      V

      • 0.75 oz peated gin
      • 0.25 oz galliano vanilla
      • 0.25 oz absinthe
      • 1 oz peach juice
      • hibiscus rosehip bitters
      • cucumber twist (i.e. take a thin lengthwise slice of a baby cucumber and curl around the inside of the glass)
      10 votes
    7. The Great Wave off Kanagawa cross-stitched!

      There was quite a bit of interest in last week's thread and I'm happy to say that I'm finally done with this project! It has taken about a month and a half, it's full coverage 100 stitches in...

      There was quite a bit of interest in last week's thread and I'm happy to say that I'm finally done with this project!

      It has taken about a month and a half, it's full coverage 100 stitches in diameter - 18 cm using 14 count aida - and thankfully fit perfectly into my grandmother's hoop! The pattern is by Sarah Baumann (NeedleMinderLair on Etsy)

      Anyway, here's The Kawaii Wave off Kanagawa!

      54 votes
    8. Pokemon Pride Team: A commissioned artwork

      In March, I asked a question here about commissioning artwork. I was then lucky enough to be contacted by @cc-louis. I was struck by the use of color in his portfolio and engaged with him to...

      In March, I asked a question here about commissioning artwork.

      I was then lucky enough to be contacted by @cc-louis. I was struck by the use of color in his portfolio and engaged with him to create some artwork as a gift for my husband.


      The Artwork

      I thought about putting this at the end for suspense, but I know people are just going to scroll to get to the good stuff, so without any further delay:

      Here it is!
      And here is the print!

      I'm in the back holding the Pokeball cupcake from the previous batch of cupcakes (I am the de facto taste tester of my husband's baking). My adorable husband is the one pulling the current batch out of the oven. Our adorable dog is looking up, holding his favorite toy in his mouth, hoping something will fall on the floor so that he can try to eat it.

      We're surrounded by my husband's Pokemon Pride Team, some of which have been helping him out with the baking, all of which are eager to get at those delicious fresh-baked goods.


      The Setup

      My husband is a lifelong Pokemon fan and has been playing the games since he was a kid. He doesn't just keep up with the series -- he often goes back and replays old games, doing Nuzlocke runs and themed teams for his playthroughs.

      I surreptitiously found out from my husband what his Pokemon team would be if he did an LGBT Pride theme, choosing six Pokemon based on the colors of the rainbow flag. He chose the following:

      Red: Scizor
      Orange: Kingler
      Yellow: Ninetales
      Green: Bellossom
      Blue: Marill
      Purple: Arbok

      My husband also loves baking (and I love eating my husband's baking).


      The Brief

      I wanted to get artwork of us with this Pride Team. I also wanted the Pride theme to be a bit more subdued. As much as I love the rainbow flag, it can be a little too gaudy and rigid for me sometimes. I wanted something that read as a cohesive scene, with the rainbow being more embedded and suggested than outright overt.


      The Artist

      I cannot speak highly enough of @cc-louis.

      While I think the quality of his work speaks for itself, I'll also say that he was a joy to work with. He was consistently prompt and professional in all of our interactions. Furthermore, he was eagerly collaborative throughout the entire process. He would solicit my feedback and respond to any notes I gave him, while also smartly incorporating his own ideas (that were better than mine!). He sent me multiple drafts throughout his creative process to make sure I was happy with the direction he was taking things each step of the way.

      The color, overall composition, and many of the incredible details in the pieces, were all him, not me. Early on he suggested a "cozy" feel with the oven as a centerpiece and a source of warm light, and I cannot say enough how much I love how it turned out. It is so beautiful and heartwarming to me.

      If any of you are looking for commissioned artwork, I strongly recommend him. If I ever commission another piece, he will be first on my list.

      (Hopefully it goes without saying, but @cc-louis did NOT ask me to give this review, nor did he pay me for this endorsement. I'm doing this purely as a very satisfied customer. I actually asked him for permission to give him a plug here!)


      The Print

      I also asked here about printing the image, and ended up selecting a local print shop. I couldn't really judge the quality of online print services and was worried I'd end up ruining the amazing artwork with a cheap-looking print. I figured a local shop would have a bit more expertise, and that I'd also be able to speak to real people if something came out wrong.

      The local print shop did an incredible job, and their price was actually better than some of the online services I was looking at. The image now lives on a 22"x36" canvas, which will be mounted on our wall shortly.

      I tried taking a picture of it, but my phone camera doesn't do it justice and makes it look kinda bad. The colors look muted and it looks like there's an odd texture on it that doesn't appear in person (might be small reflections of light?).

      Everyone will just have to take my word on it that the artwork looks even better in person. I actually choked up a bit when I picked up the print because it was so beautiful and heartwarming.

      I was secretly hoping my husband would happy cry when I showed it to him, but instead he got incredibly giddy (which was even better!) and immediately and proudly started texting the picture out to everyone we know on every single group chat we're on to show it off.

      Overall, I am incredibly happy with how it turned out. My husband absolutely loves the piece, and I am beyond grateful to @cc-louis for turning my clumsy idea into a thing of beauty.

      18 votes