Thanks for the link and tl;dr, even though it's a quite short video (3:16). I found your explanation very interesting because I have intuitively felt like this is accurate, but never knew what the underlying process is. I have been following this for years already, first absorbing information about anything where I need to make a decision, and then just leave it to stew in the back of my mind. And after a while the answer just appears in my mind, without me really understanding where it comes from.
I’ve heard this being discussed as focused and diffuse modes of thinking - https://fs.blog/focused-diffuse-thinking/ - although not in relation to verbal and non-verbal thinking.
There are probably several libraries that offer this functionality, the question is just what your other requirements are. It is also built into most modern web browsers, just check out the MDN for Intl.DateTimeFormat with the dayPeriod option [1].
You are right, these quirks are not something you struggle with very often. The only one that has been troublesome at some point during my now 8 years as a professional, mainly Javascript with Vue, web developer is the automatic semicolon insertion example.
The simplest fixes for it is to just insert semicolons yourself, always use const, and not start any lines with [ or (.
I recently switched jobs, and as I've become more comfortable in my new job, I realized that my old job completely sucked the creativity and fun out of programming for me. I did not have any energy for any projects in my spare time while working in my previous job, so the 1,5 months I've been focusing on taking small ideas and running with them.
This weekend I got an idea to create a 2D-pattern from a 1D initial pattern. I put it on https://ige.land/, and I find it very fun and satisfying to play around with. It's not so elegant and pretty, but it's fun for me, and that's all I was looking for! Click any cell to change that color in the pattern. Right click or long press to set the length of the 1D pattern. It's also fun to first create a pattern and then resize the browser window to see how it looks like.
So, what I'm working on is not really an interesting project or product. I'm working on my creativity, playing with code, and in general having more fun with programming. Making it magical for myself again.
I'm not sure if it's 100% in line with the spirit of the thread, but it's what I'm most excited to be working on! :-)
I clicked around a little and I think that the correct page for me is this one, perhaps it is the correct one for you too? The script doesn't work, but it looks like it could work with some tweaking. https://www.facebook.com/adpreferences/ad_settings/?section=...
I love userscripts, and I'm so happy to see and hear that other are using them and developing them. Well done, Will! I hope you keep making userscripts!
Thank you and I really appreciate userscripts too. While I'm taking a break from userscripts to make my website on Val Town, I only handled the main problems of my two primary forums. I'm sure I'm going to at least make versions of what I have for my other forums and new userscripts to improve their forum searches.
I think that that is supposed to prepare web apps for verification in the browser, in order to not allow them to run or connect to a remote server unless they are confirmed to be not tampered with, and that the main goal of this is to disallow usage of websites and related services unless ads are served. An adblock-blocker in the browser, sold as a security feature that protects against no real threats.
I refuse to believe that rouge browser extensions and userscripts are such a big problem that Meta decides to invest in security against those attack vectors.
Because it's Facebook, I can't say that they aren't planning that.
But if anyone else mentioned this tech, I would assume it was benign. Subresource Integrity (https://developer.mozilla.org/en-US/docs/Web/Security/Subres...) is primarily aimed at servers proving to clients that their code is unaltered, not the other way around. I haven't personally tried it before, but I can't imagine why extensions wouldn't be able to override integrity strings or remove them from script elements.
For WhatsApp I'm not sure I see the point necessarily, but it's an understandable goal for Open Source and offline webapps or for apps that use 3rd-party CDNs. The main problem for personally hosted code is that the integrity string is also getting served from the server, so there's no reason it can't also be altered if the server that gives the HTML is compromised.
In theory with some tweaking and a way to pin integrity strings in a user-controlled way (which an extension could do I suppose) it could be a step towards allowing users to know when a PWA is being updated, which would be helpful for some security models. In its current state it's fairly niche and I'm not sure how useful the standard is outside of securing CDN requests.
Although why that would matter to WhatsApp, :shrug: It does feel weird that Facebook would be leading that push.
Do ad blockers modify client-side scripts? I figured they just use some feature allowing extensions to block network requests. If they are modifying client-side scripts, then it might be tricky for a tool like this to allow some forms of modification without allowing other forms of modification.
Here's what ChatGPT says:
Most ad blocker browser extensions primarily work by intercepting and blocking network requests made by web pages to known advertising servers or domains. When a web page loads, it typically requests various resources such as images, scripts, and stylesheets from different servers. Ad blockers analyze these requests and compare them against a list of known ad servers or patterns commonly associated with advertising content. If a match is found, the ad blocker prevents the resource from loading, effectively blocking the ad from appearing on the page.
Some ad blockers also employ additional techniques such as element hiding, where they modify the Document Object Model (DOM) of the webpage to hide elements that are recognized as ads. This can include hiding divs, iframes, or other HTML elements that contain advertising content.
Overall, while there are variations in implementation, most ad blockers primarily rely on blocking network requests to known ad servers or domains, with some employing additional techniques to hide or remove ad content from web pages.
I use Ripgrep daily, and it helps me a lot when navigating codebases, and I even use it to search through my notes. A while ago, I made a script that looks for file paths in the output from Ripgrep in order to turn the paths into clickable links, as I couldn't get it to work properly back then. I'm so happy to hear that «the headlining feature in this release is hyperlink support»! I'm really looking forward to using the new update.
reply