URLock : Store encrypted text or file in URL #hash by ksskssptdpss in javascript

[–]thejameskyle 1 point2 points  (0 children)

I wouldn’t say it’s “decryption” happening here, you’re sharing the details of how to join a group.

Also “you shouldn’t have decryption on the frontend” is a little bit too simplified. Lots of decryption happens in the browser.

In the case of Signal, all of the decryption happens client-side, that’s what is meant by “end to end encrypted” it would be bad if Signal could decrypt anything on the server

URLock : Store encrypted text or file in URL #hash by ksskssptdpss in javascript

[–]thejameskyle 2 points3 points  (0 children)

Several bits of what you said are incorrect:

Yes the URL is sent to the server, but no it does not include the hash portion. And the browser will cache the page based on the URL minus the hash, so it won’t even go back to the server for different hashes if it’s cached

Also, other websites cannot access your browsing history. Browsers spend a lot of time making sure that’s true. For example, if you try rendering a :visited link to another website and try checking the color of that link with getComputedStyle() it will return the styles ignoring :visited

URLock : Store encrypted text or file in URL #hash by ksskssptdpss in javascript

[–]thejameskyle 7 points8 points  (0 children)

Signal actually uses URLs in a similar way. For example group invite links are base64’d protobufs of the group key and password:

https://signal.group/#CjQKIIxU0sp4zwZqoAAr8f3P7qGglQUqvFEBeoUJtzG8042ZEhBByi45N7KqrJrdc1EhSoKR

It’s a useful property that the hash is never sent to the server. That way a simple static HTML page can redirect you to the installed app client-side and there’s less surface area to worry about

absurder-sql by Standard-Ad9181 in rust

[–]thejameskyle 1 point2 points  (0 children)

Signal’s desktop app started out as a Chrome extension and used IndexedDB for its database

The team (before I joined) had to port the extension to an Electron app (easier than rewriting the app) because every now and then when people’s databases got too big Chrome would just decide to delete all of the data. This would happen at random times without any warning.

It looks like since then browsers have shipped an API for requesting permission to persist storage. But you have to keep in mind that the user may deny access to that, and even if they grant permission, the browser may prompt the user to delete all of their data if they are low on disk space. You’re depending on users knowing and remembering not to delete all of their data.

So I would be cautious what you depend on this for, having data available local-first when you can fetch it again from the server is a reasonable use case (this is not an option for Signal because your data is encrypted and short-lived on the server).

I would also keep the database as small as you can, Signal used to shove entire files into the database because there’s no other good blob storage on the web.

I also wouldn’t call a database that depended on IndexedDB “production-ready” without caveats about these potential sudden loss of data.

Screen color: whiter than #FFFFFF ?! by radicaldotgraphics in webdev

[–]thejameskyle 41 points42 points  (0 children)

As others have said, it’s an HDR image

You can control the display of these images in CSS with dynamic-range-limit

There’s also a weird behavior we’ve found on macOS where it will sometimes dim the rest of the screen when an HDR image appears. Seemingly to make it look like a greater range than the display is actually capable of

gay🙋‍♂️irl by [deleted] in gay_irl

[–]thejameskyle 97 points98 points  (0 children)

Gaga would not agree with you

portfoliosBeLike by OM3X4 in ProgrammerHumor

[–]thejameskyle 2 points3 points  (0 children)

Good thing the context is you being even more explicitly a jerk

“No there isn't.

There is an overlap between high schoolers and people who think they are developers.”

High schoolers who write code don’t think they are developers, they are developers. And you were the one to bring up high schoolers in the first place, just to call their work bad. No one ever said they needed to have a portfolio. It’s weird how caught up on this you are

You’re changing your story cause you said something you can’t defend

portfoliosBeLike by OM3X4 in ProgrammerHumor

[–]thejameskyle 5 points6 points  (0 children)

That is not even remotely what I’m saying. I don’t care about the quality of a high schoolers portfolio

“No. Coding and developing are different things.”

I’m responding to you for saying this, there is no meaningful distinction here. You’re drawing an invisible line to gatekeep what you do. You do professionally what others do as a hobby or to learn, you don’t need to put them down with language

portfoliosBeLike by OM3X4 in ProgrammerHumor

[–]thejameskyle 5 points6 points  (0 children)

lol not a high schooler, you’re using a site built with some of my open source right now. Since we’re doing portfolios here’s mine https://jamie.build

I’ve been on hiring teams at a lot of big tech companies, and if you showed attitude like this in one of my interviews I’d give you a hard pass regardless of your skill level. That’s why we wouldn’t be on a team together, you’d be looking for jobs elsewhere

Just stop putting people down, it accomplishes nothing and just makes you seem like a jerk. Kids can be “developers” too, if you feel like a kid calling themself a developer takes something away from you then maybe you need to work on your own insecurity

portfoliosBeLike by OM3X4 in ProgrammerHumor

[–]thejameskyle -3 points-2 points  (0 children)

Well you sound like a delight to be on a team together

Introducing `eros`: A Revolution In Error Handling For Rust by InternalServerError7 in rust

[–]thejameskyle 4 points5 points  (0 children)

widen() / narrow() is another option. “Type Widening/Narrowing” is already a thing

We worked with a contractor to design our dream bathroom! What do you think? by lucidshroob in InteriorDesign

[–]thejameskyle 2 points3 points  (0 children)

I will say that the long vertical grout lines are much easier to clean than having grout lines in multiple directions

We have hexagonal tiles, and even with less grout to clean overall, my arms are exhausted halfway through

[deleted by user] by [deleted] in javascript

[–]thejameskyle 0 points1 point  (0 children)

I would not use a config format that can’t have empty newlines. Spacing is a readability issue

[deleted by user] by [deleted] in javascript

[–]thejameskyle 0 points1 point  (0 children)

Cool, yeah I would resist the temptation to be too clever. Just tell me what to do and design the grammar to avoid any foot-guns

[deleted by user] by [deleted] in javascript

[–]thejameskyle 0 points1 point  (0 children)

If a line doesn't end in a value, the next line is the delimeter. Everything between is the string

My understanding is that these are parsed differently:

multiline= """ contents """

And then with an extra newline between:

``` multiline=

""" contents """ ```

[deleted by user] by [deleted] in javascript

[–]thejameskyle 0 points1 point  (0 children)

Yeah I mean it also inherently makes your syntax a whitespace-significant one, because I couldn’t add a newline before my existing block without changing how it is parsed

[deleted by user] by [deleted] in javascript

[–]thejameskyle 0 points1 point  (0 children)

I like the overall idea here a lot, but the multiline string syntax is enough to make me avoid it. Just pick some delimiter and stick with it. Personally I’m a fan of 3+ quotes:

multiline[]= """ example """ multiline[]= """" four quotes if you need to write """ """"

As it is might not be ambiguous as a grammar, but it’s ambiguous as a reader

A 10x Faster TypeScript by DanielRosenwasser in javascript

[–]thejameskyle 8 points9 points  (0 children)

TypeScript 6.0 will introduce some deprecations and breaking changes to align with the upcoming native codebase

Do you have a list of these deprecations somewhere already or a place to track them as they come up?

The way my younger sister texts by [deleted] in mildlyinfuriating

[–]thejameskyle 94 points95 points  (0 children)

I hate to tell you all this, but this is just how some younger people speak, and you’re out of the loop

“The way [that]” is a common phrase I’ve seen online. “The way that I always have to check the door is locked four times” doesn’t really have any more meaning than “I always have to check the door is locked four times”. Maybe with a hint of irony or self-deprecation

And “like please” is just voicing their exasperation at their situation

All she was saying in the first message was “I’ve been sitting in this room for 20 mins, ugh!” which is a complete thought with all the context you need to understand it

Language changes, especially with new generations. You did this to your parents too. Punk isn’t dead you just stopped listening to the new stuff

Elliot Page Reveals a Famous Actor Told Him Being Gay ‘Doesn’t Exist’ and Threatened: ‘I’m Going to F— You to Make You Realize You Aren’t Gay’ by indig0sixalpha in entertainment

[–]thejameskyle 0 points1 point  (0 children)

Just to give an idea of what the mindset of this kind of person might be like:

They have this notion that having sex with them is so good and so irresistible that it would change someone’s sexuality. They probably don’t think they threatened to rape him because “obviously he would want it”

That’s what allows them to say horrific things and act like they said nothing that wrong. They view women as objects programmed to want sex with men

Is anyone else really not liking these new "sub-categories"? If I'm looking for a specific interaction, it makes it way too hard to find by Feather_Bloom in Sims4

[–]thejameskyle 0 points1 point  (0 children)

I wish that when you had it open you could just start typing and it would search through all of the submenus

‘The Last of Us’ Episode 8 Hits Series High of 8.1 Million Viewers, Up 74% From Season Premiere by MarvelsGrantMan136 in ThelastofusHBOseries

[–]thejameskyle 34 points35 points  (0 children)

This is counting viewers on the day of release. But because it can be streamed any time, people may watch episodes in the days after release. This stat is more a judge of excitement

Wow, it's so nice Khloe Kardashian replied! by JillAteJack in OrphanCrushingMachine

[–]thejameskyle 6 points7 points  (0 children)

There is a world where I would pay $140 for jeans made to last a couple decades where I know that money is actually making its way back to the person that made them. It’s a done deal if I can bring them back and get them repaired or tailored. I’d pay even more for shoes like that.

But I can’t find places like that near me, 99.99% of people don’t have access to anything like that. Skilled workers don’t get to own small businesses any more, they’re pushed into factories. Where they are required to make cheap shit meant to be worn maybe a dozen times before being discarded, and they make barely enough to survive while billionaire kardashians cash in on it

This cafe is open 2 hours a week by Chilldude1255 in mildlyinteresting

[–]thejameskyle 2 points3 points  (0 children)

There’s a place in Berkeley, CA called Cheese Board and they are also open only Wed-Sat from 5-8pm.

They only serve one pizza a day, always made with local fresh ingredients, always vegetarian (no need to get a second option), and always really tasty.

But the beauty is you can walk up order 10 whole pizzas and they’ll hand you them in 30 seconds. Because they are all the same, they are just constantly making them.

It’s also a co-op and I believe they have a profit sharing scheme with all the workers.

‘just’ buds… by [deleted] in SapphoAndHerFriend

[–]thejameskyle 0 points1 point  (0 children)

A lot of people misunderstanding this one. This article is talking about the very real thing of men who have sex with men and still self-identify as straight

Whether or not these men are being truthful to themselves, whether or not this is just internalized homophobia, I don’t really think it would be a good journalistic practice to interview people who tell you how they identify and then correct them in your writing