uwu
https://top.mail.ru/help/en/rating
> Top Mail.Ru is a statistics system for site owners. You need to get and install the counter code on the pages of your site to collect data.
you can see the same code snippet that's on archive.ph here: https://top.mail.ru/help/en/code/receive
filenames that are reserved names on windows (like NUL) or contain characters that are reserved on windows are refused with "Invalid filename", even on platforms and filesystems that don't have the same limitations
this might be desirable for enforcing portability in extensions, but the thing isn't mentioned in the documentation[1] for the api so you had to know about it beforehand (like most extension devs, probably) or find out the hard way when some of your downloads unexpectedly fail (like me)
i was using it on linux in a personal extension i wrote, and i thought it was silly that i had to add extra code to further sanitize and mangle the filenames for an OS i don't even use
[1] https://developer.chrome.com/docs/extensions/reference/downl...
> Inspired by the performance gains and to address the scalability issue of BOLT, we went about designing a scalable infrastructure that can perform BOLT-like post-link optimizations.
> Our experiments on large real-world applications and SPEC with code layout show that Propeller can optimize as effectively as BOLT, with just 20% of its memory footprint and time overhead.
Alice and Bob – Cast of Characters
> The DejaVu fonts are modifications of the Bitstream Vera fonts designed for greater coverage of Unicode, as well as providing more styles.
Rabbit starvation
you can get "LTO" in javascript by using a minifier together with something like webpack which can inline modules when it's safe to do so (instead of putting them in functions that are called by the module loader and can't be minified away), so i assumed "real" compilers must do that stuff a lot better with the language being less dynamic
i run latest chrome with the --disable-remote-fonts command line option
Building Lisp
it's limited to code outside of the node_modules folder to prevent dependencies from triggering an unactionable message
[1] https://nodejs.org/api/buffer.html#buffer_new_buffer_array
Arrow Endianness: How Gnome got sorting backwards (2012)
How humans write programs
that's up to tampermonkey but maybe it's possible that google wouldn't like it since it would let userscripts access extension apis
what tampermonkey does is inserting the script into the page in a script tag to isolate it from the extension[1] and let it access variables defined by scripts on the page, but if scripts are blocked on the page it just doesn't run
i made my own custom js manager (with no userscript api support) that lets you choose if the script should be ran in the extension or page context (defaults to extension which works with scripts blocked) but i don't know if it's in good enough state to put on the internet and i've never really made things for anyone but myself
[1] https://developer.chrome.com/extensions/content_scripts#exec...
the electron app is noticeably faster than the old client for me (on windows)
electron probably also means it'll be easier for them to add features in the future
the new client is actually much faster for me, it starts up faster (1.5s to show the gui fully loaded vs 4s to show the gui and another 3s to finish loading what's on the screen) and there's no lag when using it (unlike with the old client)
i also prefer the new ui, i find it to be clearer than the old one
textarea.onkeydown = event => {
// doesn't get the properties until they're accessed
const get {selectionStart, selectionEnd, value} = textarea;
// doesn't actually call .slice yet
const get selectedText = value.slice(selectionStart, selectionEnd);
// ...
if (event.key === "Enter") {
// initializes selectedText
console.log("selected text: " + selectedText);
// uses the same value, doesn't reinitialize it
selectedText;
}
};> This gives you the best of both worlds. You get the improved performance from only defining functions once, but you still get the simple method-like syntax.
i think this is wrong because class fields are evaluated in the constructor
i dislike the class fields proposal because it's confusing (as shown by the article) and adds little value (can already use a constructor) and lets you sprinkle the fields all over the class definition instead of having them in one place (the constructor)
also, how it makes own properties instead of prototype properties which would be consistent with how methods are already defined in the class body
only the static fields part of the proposal is good because it's useful (there's no constructor for static fields) and behaves as expected (no "own property vs prototype property" question to get wrong)
it's also easy to access: http://cdn2.ubergizmo.com/wp-content/uploads/2012/11/site-in...
i wish firefox came with something similar
someone explained how it works here: https://news.ycombinator.com/item?id=14891850
it bothers me how the examples are often misleading or just misusing language features but people who don't know the language will gladly agree with them and have their "js sucks" belief reinforced
nice
it was never on by default in v8 and it was completely removed recently which makes me sad
here's what i use instead:
/* forgot if this was needed but i think using !important here broke something */
transition-property: none;
/* maybe not needed */
transition-delay: 0!important;
/* non-zero to support "transitionend" event */
transition-duration: 0.0000001s!important;
/* possible tiny optimization */
transition-timing-function: linear!important;
i don't know if `animation` has events associated with it but i haven't came across any sites breaking without them