Redditor: jaredcheeda

Redditor since 10/07/2011 (23611 link karma, 29238 comment karma)

Submissions

Where is the SWORD AF feedback thread, please answer before deleting this time

created by jaredcheeda on 05/05/2024 at 20:34 UTC - 1 upvotes (https, www.reddit.com)

0 comments

WHERE IS THE SWORDAF FEEDBACK THREAD

created by jaredcheeda on 05/05/2024 at 20:27 UTC - 1 upvotes (https, www.reddit.com)

1 comments

SwordAF is dying. Here's how to save it.

created by jaredcheeda on 05/05/2024 at 20:17 UTC - 1 upvotes (https, www.reddit.com)

1 comments

Anyone got a very basic Browser Extension boilerplate

created by jaredcheeda on 25/03/2024 at 22:33 UTC - 1 upvotes (https, www.reddit.com)

1 comments

Dear all Indiana restaurants, a simple request

created by jaredcheeda on 13/01/2024 at 22:08 UTC* - 0 upvotes (https, www.reddit.com)

181 comments

Girl's little brother dies, family is depressed. Award winning, pre-1998

created by jaredcheeda on 09/01/2024 at 02:16 UTC - 8 upvotes (https, www.reddit.com)

11 comments

Popup of gray square when clicking on edge of screen (Ubuntu) (VMWare) (Solved)

created by jaredcheeda on 01/01/2024 at 18:49 UTC - 1 upvotes (https, www.reddit.com)

1 comments

Something that can record your voice then play the recording as notes - but aimed at kids?

created by jaredcheeda on 06/12/2023 at 01:33 UTC - 10 upvotes (https, www.reddit.com)

19 comments

Reddit has informed me that my joke/parody subreddit will be deleted soon, enjoy it while you still can

created by jaredcheeda on 20/11/2023 at 04:33 UTC - 8 upvotes (https, www.reddit.com)

2 comments

The sequel needs Sokka. He's basically Link.

created by jaredcheeda on 03/07/2023 at 03:27 UTC - 16 upvotes (https, www.reddit.com)

4 comments

Phoebe the cat - "That Funny Feeling" cover of Phoebe Bridges cover of Bo Burnham [vocals] (2022) (8 views)

created by jaredcheeda on 20/04/2023 at 17:59 UTC - 3 upvotes (https, www.youtube.com)

0 comments

DALILAND Trailer (2023) Ben Kingsley, Ezra Miller, Drama

created by jaredcheeda on 06/04/2023 at 23:54 UTC - 22 upvotes (https, www.youtube.com)

1 comments

Who cut the bus in half best? Shang-Chi, Blue-Beetle, or Dr. Strange

created by jaredcheeda on 04/04/2023 at 12:37 UTC* - 18 upvotes (https, www.reddit.com)

14 comments

NPR story about parents that used 1-10 scale to see who cared about something more to avoid arguments (2014-2017) [unidentified media]

created by jaredcheeda on 05/03/2023 at 03:34 UTC - 8 upvotes (https, www.reddit.com)

3 comments

PSA: You can now modify any field in your package.json via CLI

created by jaredcheeda on 13/02/2023 at 19:21 UTC - 8 upvotes (https, i.imgur.com)

1 comments

Firefox "Take Screenshot" is black at the bottom [FIX]

created by jaredcheeda on 12/01/2023 at 16:27 UTC* - 3 upvotes (https, www.reddit.com)

2 comments

Guest checkout for Mubi gift card?

created by jaredcheeda on 24/12/2022 at 02:09 UTC - 1 upvotes (https, www.reddit.com)

0 comments

Can AI make my tests pass yet?

created by jaredcheeda on 14/12/2022 at 03:17 UTC - 0 upvotes (https, www.reddit.com)

11 comments

The MCU is over 400 hours long (here is a numbered watch order, based on release)

created by jaredcheeda on 24/11/2022 at 17:26 UTC* - 14 upvotes (https, www.reddit.com)

2 comments

Forbidden Iron

created by jaredcheeda on 17/11/2022 at 03:45 UTC - 37 upvotes (https, i.redd.it)

5 comments

How do I get on the wait list for the T30 (30th anniversary) Thinkpad, ya know, like the T25. I just want a new laptop with a good keyboard

created by jaredcheeda on 25/09/2022 at 04:08 UTC* - 2 upvotes (https, www.reddit.com)

11 comments

Hank Green - The Biggest Climate Deal in History Almost Didn't Happen [22:23]

created by jaredcheeda on 13/08/2022 at 10:44 UTC - 263 upvotes (https, www.youtube.com)

28 comments

The Bunny Circus - 2015 - 25 views

created by jaredcheeda on 06/08/2022 at 19:07 UTC - 14 upvotes (https, www.youtube.com)

1 comments

[TOMT] Psychology experiment where child assumes other child has the same knowledge as them

created by jaredcheeda on 04/08/2022 at 13:43 UTC* - 633 upvotes (https, www.reddit.com)

64 comments

Writing software, documents in separate files can be linked in a single document and reorganized, while still getting total word count

created by jaredcheeda on 29/07/2022 at 23:37 UTC - 3 upvotes (https, www.reddit.com)

3 comments

Comments

Comment by jaredcheeda at 10/01/2025 at 03:53 UTC

1 upvotes

Software Architect. I was answering webdev questions on Reddit before you even made an account here (checks notes) 7 years ago.

Sick and tired of React still being a thing anyone takes seriously. No one releasing JS Frameworks that are "Svelte, but I fixed one thing". React is the only option that is so bad hundreds of people have "fixed it".

Comment by jaredcheeda at 10/01/2025 at 03:48 UTC

1 upvotes

If we didn't relentless mock PHP for 15 years, they would have never fixed it. React is trash, if you use it, I do not respect you. There's a difference between a technology being a personality, and a person who refuses to use *literally* anything other than the worst option.

Comment by jaredcheeda at 10/01/2025 at 03:46 UTC

1 upvotes

most domain registrars offer an email service, or you can set up email forwarding to a gmail account, so you can have `yourname@yoursite.com` and it just forwards to `yourname@gmail.com`. If you want. The hosting of the website files is unrelated.

Comment by jaredcheeda at 05/01/2025 at 15:05 UTC

-14 upvotes

No, it's react garbage, you can see in the DOM it's using Next, also the screenshot shows shitty react code.

Ain't nothin' beautiful about that.

Do you think they know that React is THE WORST javascript framework? Like, you could pick ANYTHING else and it would be better. There's an entire subgenre of hundreds of JS Frameworks that are just "React, but it doesn't suck as much".

Or, ya know you could just use Vue, which is still the best option.

Comment by jaredcheeda at 05/01/2025 at 02:59 UTC

1 upvotes

One area that will need a lot of work is better integrating systems so they don't feel external. A chatbot told me "Click "exit" at the top of this window to end this session". But the UI didn't actually have anything that matched that. It's just little subtle things like that, that add up. Part of it's training data likely came from real humans replying with that phrase for other apps that *did* have a matching UI.

Then you have the experience of looking for meaningful information, but in it's place is an AI making things up. For example, on Doordash, I'd like to know more information about an item, sometimes it will have additional information about the ingredients or preparation, or options, and when written by a human, this is very helpful. But sometimes, the description is followed by *"This description was generated by AI"*. And I'm like, yeah no shit, I'm pretty sure this Authentic Indian restaurant doesn't have Black Forest German cake as a dessert option.

The experience feels cheapened. It gives off the same level of cheapness as those super thin dollar store cheap plastic toys from China that don't look like anything in particular, just vaguely like what's on the printed packaging[1]. There is a distinct lack of caring.

1: https://i.imgur.com/GgUQ7jr.jpeg

A lot of things with AI will get better over time, but stuff like that really can't, it's best guess today is still going to just be a guess tomorrow too. Without a human to correct it, it's always going to be "confidently wrong", and it will always give off a vibe of cheapness and apathy that reflect on the brand.

Comment by jaredcheeda at 05/01/2025 at 02:36 UTC

3 upvotes

I start from Google Fonts, but then when I find one I like I search for it to see if it is open source and on GitHub. Usually there are newer versions of them there.

Comment by jaredcheeda at 01/01/2025 at 03:07 UTC

2 upvotes

define "split"

you could create pngs for each frame from it, then use those frames to make new apngs, if you wanted

Comment by jaredcheeda at 31/12/2024 at 18:43 UTC

8 upvotes

legally he has a point.

or not, I don't know. you guys see that new superman trailer?

anyways

Comment by jaredcheeda at 31/12/2024 at 18:41 UTC

29 upvotes

Copyright is based on when the work was produced. Which means, every time you modify it, that new version has a new copyright.

Ultimately none of this matters though, because you legally can't use anything made by someone else unless it is explicitly licensed to you in a way that is compatible with your usage. And copyright in America lasts for 3000 eons plus the life of the solar empire, thanks to his holy mouseness.

And your site won't be around by then. Not after the great comcast wars, praise be to General Viacom.

Comment by jaredcheeda at 31/12/2024 at 17:09 UTC

5 upvotes

Some other quotes for you.

1. "Mature optimization is the square of all good." - Leszek Swirski

2. "A function should be small" - Uncle Bob

3. "A function should be *even smaller* than that" - Uncle Bob

4. "One. Idea. Per. Line." - The Jared Wilcurt

5. Keep It Simple Stupid (K.I.S.S.) - US Navy

6. Ya Ain't Gonna Need It (yagni)

7. "If you **never abbreviate** your code, you'll never be confused what `AbSefTarDuring` means. And neither will anyone else trying to read it after you wrote it. ...seriously, what was I thinking" - Anonymous

8. Other than a traditional `for` loop, where you use `i` to mean `index`, you should never use single character variable names. Also, don't use traditional `for` loops.

9. JavaScript uses Prototypal inheritance. Classes are just syntactic sugar for this. So before using Classes in JavaScript, try writing the code using prototypes instead. Then, when you see why that sucks, you'll understand why you should never use Classes in JavaScript.

10. "Now, what I'm about to say is controversial, but let me remind you... "controversial"... does not mean "wrong"." - Douglas Crockford, about to lay down a hard truth.

11. "TypeScript is a lot of extra work, to solve problems I don't have, in ways I don't like." - Kyle Simpson, author of the most influential series of books on JavaScript, "You Don't Know JS"

1. Everyone who says something based on years of actual experience on /r/learnjavascript is bound to be downvoted by the know-it-alls trying to get their first job.

Comment by jaredcheeda at 29/12/2024 at 01:41 UTC

1 upvotes

Tada, you can use repeated values this way too.

function getPermissions (user) {
  const userPermisionMap = {
    dev: 'readWrite',
    admin: 'readWrite',
    user: 'read',
    guest: 'read'
  };
  return userPermisionMap(user?.role) || 'noAccess';
}

If all the keys are of the same type, having them be grouped in an object is a better representation of the relationship between the key and the value. *That's why we have objects.*

It is also simpler to visually parse and look up information in this map, as it presents the data in a format closer to a table.

It's also easier to update any specific value in the object, or to add new values without having to look at all other values, or to remove a key/value pair.

This is better from a readability, maintainability, and code review (diffing), standpoint. There could be an argument that on very large objects it requires loading in all of the data into memory before it can execute the lookup. Which is true. An if statement tree with early returns for the most common cases might be more performant in that case. But because of all the clever tricks JS Engines do for optimization, and depending on how often this code gets re-run, it also *might not be*. Measuring the performance of different approaches of doing the same thing in JavaScript is notoriously difficult and inaccurate. But that is really the only place where a map is potentially worse. Switch statements have been an anti-pattern since *JavaScript: The Good Parts*.

If you haven't read it, it is one of the most influential books to all of JavaScript.

Comment by jaredcheeda at 24/12/2024 at 14:18 UTC*

-1 upvotes

I don't think I've *ever* seen a switch statement in production code at any place I've worked. You either use a map, or you use if statements. The need for switch cases is extremely rare.

Comment by jaredcheeda at 24/12/2024 at 14:13 UTC*

2 upvotes

And in almost all cases you'd be better off with a map than a switch. Way easier to understand and update. Don't try to represent data as logic if you can avoid it.

function getPermissions (user) {
  const permissionsMap = {
    guest: 'limited',
    user: 'read',
    admin: 'readWrite',
    dev: 'readWriteDelete'
  };
  return permissionsMap[user?.role] || 'noAccess';
}

Compared to `if`:

function getPermissions (user) {
  user = user || {};
  if (user.role === 'dev') {
    return 'readWriteDelete';
  }
  if (user.role === 'admin') {
    return 'readWrite';
  }
  if (user.role === 'user') {
    return 'read';
  }
  if (user.role === 'guest') {
    return 'limited';
  }
  return 'noAccess';
}

Compared to `switch`:

function getPermissions (user) {
  user = user || {};
  switch (user.role) {
    case 'dev': {
      return 'readWriteDelete';
    }
    case 'admin': {
      return 'readWrite';
    }
    case 'user': {
      return 'read';
    }
    case 'guest': {
      return 'limited';
    }
    default: {
      return 'noAccess';
    }
  }
}

Comment by jaredcheeda at 24/12/2024 at 03:57 UTC

2 upvotes

WinKey + R > `cmd.exe`

there ya go. You can also try `explorer.exe` if you wanna get freaky

Comment by jaredcheeda at 24/12/2024 at 03:49 UTC

5 upvotes

For-profit software is heavily reliant on pushing new features out:

However, this means you are constantly rushing out new features and never going back to fix bugs, polish the experience, and clean up the codebase with needed refactors.

Then it gets much worse once you achieve monopoly status (goal of all capitalism is to kill or buy out all competition). At that point you can start exploiting and abusing your users.

But even if you are trying not to do anything bad, with **MILLIONS** of users, a bug that has a 1 in 100,000 chance of happening, which no one would find in your competition, hundreds of people will find in your software. When you have to make a decision about how to guide users, you're always going to not be helpful enough for a large percent (inexperienced/dumb), and be annoying to another large percent (very experienced/low tolerance for interruptions).

The best UX is to follow Sakurai's "Kirbyism". Make something with extreme depth that experts can never reach the ceiling of, while being so approachable a child can use it. (See: Super Smash Bros). This is a super hard balance to strike. Honestly Photoshop does it better than most programs.

The real issue is connecting great designers to open source projects to make them better and giving them a leader with a defined vision for the product. Without those two things you end up with GIMP. But with them you end up with MuseScore or Blender.

Open source is the way, but it needs more designers to dedicate themselves to projects the same way programmers do.

Comment by jaredcheeda at 24/12/2024 at 03:36 UTC

1 upvotes

If you do drawing look up "free drawing app tier list" on youtube, or "free photo editing app tier list", or whatever. You'll find ~20 minute videos that go over 8 or so apps so you can see a few hours of use summed up in a few minutes for each. gives a good quick "first taste" to know what to look into more (*or avoid*).

Comment by jaredcheeda at 24/12/2024 at 01:29 UTC

2 upvotes

Been to Vue Conf is USA a few times, but the Amsterdam one looks really cool.

Comment by jaredcheeda at 24/12/2024 at 01:28 UTC

1 upvotes

You are conflating the novel corona virus, with the mass-lived-experience of a pandemic. When someone says "covid is over" or "done" the are referring to the shutdowns related to a global pandemic, and the impact there after.

But you knew that. You're very smart.

Comment by jaredcheeda at 24/12/2024 at 01:24 UTC

-4 upvotes

Same recommendation I give to everyone.

1. Rewrite it using prototypal inheritance. This is the foundation of JavaScript, and classes are just syntactic sugar for it.

2. Once you've done that you'll understand what is actually going on under the hood, and why it sucks. Then you'll learn to never use classes in JavaScript.

That's honestly the best advice I can give you. If you need more, look into any of the hundreds of books written over the past few decades trying desperately to warn people not to go down the path of OOP, as it is a dead end in computer science.

Comment by jaredcheeda at 22/12/2024 at 20:09 UTC

1 upvotes

Not when code is shared across multiple components. It's illogical to store a shared function inside a specific component, when it is used in 3 components. Which one do you pick as the "correct" place to store it? The correct place should be a JS file external to all the componentents. However, you end up with the problem I'm describing.

Your component is relies on composable `A` stored in `@/composables/X.js`, then you see it is a function made up of other function calls (`B`, `C`, `D`), and they are all imported from other files because they are also shared composables used for different contexts in different components and composables. And inside `B`, it is pulling in `E` and `F`, and `E` is pulling in `G`, all from different files.

In Mixins, I have to deal with 1 component using a mixin which uses another mixin, which uses another mixin. And the mixins are grouping shared logic related to the problem space they are designed for, so the entire file is logicially related and organized just like a component. I now have to understand:

So I now have 5 components and 3 mixins in my head. And yeah, that sucks, but I understand the context of each now, why they were broken up this way, and how they all add up to work for my use case, and if I change things, I'm *fairly* confident I won't break anything. The fact that I'm not certain is why this sucks.

But with composables, all that same information is spread to the wind as 35 different composables, imported across 15 composable files, each with like 85-200 unrelated functions in them, there is no obvious context as to how all of them relate to each other, or where they are being used in different components. You end up with having like 85 files in your head, and no clue if you change things what will break. This is a much shittier situation.

And there's no way to "fix" this, as each part was broken out because it was used in more than one place. Which is why all these function calls are so heavily nested.

It feels like someone took the ideas of functional programming and ran it through google translate so many times that became a sad, unrecognizable, parody.

Comment by jaredcheeda at 22/12/2024 at 17:18 UTC

1 upvotes

GH Pages hosts **static** webpages. Meaning they do not require a backend. WordPress uses PHP which is a server side language, meaning you need a hosting platform that can run a PHP backend.

You can use alternatives to Wordpress that don't require a backend, but if you absolutely must use wordpress, you'll need to find a different solution, as GitHub Pages is not compatible with it.

Comment by jaredcheeda at 22/12/2024 at 10:37 UTC

1 upvotes

Not sure why you are being downvoted. For several years (2017-2022) this was a super super common opinion.

The main drawbacks to Nuxt are:

If you already took the time to learn Nuxt, then the last downside no longer impacts you, just new devs working on the project.

Comment by jaredcheeda at 18/12/2024 at 03:27 UTC*

0 upvotes

Naive approach would be:

function removeFromArray (include, ...exclude) {
  return include.filter(function (item) {
    return !exclude.includes(item);
  });
}

But the right answer is to use a well tested and popular library. Lodash will do this for you. If you are doing this for work, use lodash. If you are doing this for a side project, use lodash. If you are doing this to learn how to code, then you should do it yourself.

<script src="https://cdn.jsdelivr.net/npm/lodash.xor@4.5.0/index.min.js"></script>
<script>
function removeFromArray (include, ...exclude) {
  return xor(include, exclude);
}
</script>

Comment by jaredcheeda at 08/12/2024 at 02:25 UTC

1 upvotes

Comment by jaredcheeda at 08/12/2024 at 00:29 UTC

3 upvotes

Been using **Vue-Doxen[1]** at work and it's the best option I've found for component documentation.

1: https://thejaredwilcurt.com/vue-doxen/getting-started#getting-started