1,761 karma · joined October 15, 2019
Userscript for sticky, contextual comment trees on HN: https://greasyfork.org/en/scripts/427429
This seems to have been a design decision from the very start, but I have a hard time understanding why. It seems like a conceptual mistake to me. It also eats up system resources like crazy, but that's a lost cause anyway. Instead of harnessing the capabilities of existing implementations, every "wrapper" kind of language needs to build its own solution, which leads to these solutions often not being great. For example, said HTML/JS solution has issues with external dependencies [3]. Or, I've been trying to enable support for CoffeeScript or Elm inside Vue Single File Component files, but I couldn't so far, even though I'm the author of the CoffeeScript extension. [4][5]
Any source file always has exactly one language type assigned to it (possibly auto-detected), so no, dynamically "switching" is not possible without manually changing it for the entire file. For things like SQL inside PHP, Jetbrains products really are superior.
[1] https://code.visualstudio.com/api/language-extensions/embedd... [2] https://github.com/microsoft/vscode/blob/7fd6f1b1d46bd2223a9... [3] https://github.com/microsoft/vscode/issues/26338 [4] https://github.com/vuejs/language-tools/issues/3200 [5] https://github.com/vuejs/vetur/issues/1184
Unfortunately, the malicious state of Flutter web has not changed.
For example, this update brings us computed properties, an essential feature for any complex performant web application that was made popular by Vue.js 10 years ago [1]. And now in 2023 we get it in Angular, essentially a confirmation by its devs that its lack had always been a design error.
I also cannot understand the "mature" argument. For example, it took five years for documentation on the integral `<ng-content>` to arrive [2]. This is something I'd expect from the side project of a lone programmer, not an enterprise-level framework.
The only upsides of Angular are its "batteries included" approach and the (debatable) default of RXJS, while the downsides are plenty (see other comments).
[1] https://github.com/vuejs/vue/tree/218557cdec830a629252f4a9e2... [2] https://github.com/angular/angular/issues/17983
Keysharp / AHK_X11 on the other hand ship their own runtimes that will be / are compatible with the actual programming language AutoHotkey v2 / v1 and thus cannot be used in conjunction with other languages, apart from shell invocation. For a detailed feature comparison with AutoKey you will have to research this yourself, but there's at least one feature which is exclusive to AHK_X11 right now, and that is accessibility-related commands such as ControlClick or WinGetText.
On an unrelated note, I made the same thing (barebones), but for Linux and theoretically also Windows: https://github.com/phil294/vimium-everywhere
> There is currently no protocol, stable or unstable, for programs to implicitly grab the content of surfaces under the pointer, let alone read text of textboxes.
Yes there is, AtSpi, the accessibility protocol. But a normal window-independent `Click, X, Y` would indeed be quite important to have...
I'm wondering if there is a way to somehow get active window position, move windows around etc. using root privileges, without relying on a custom compositor extension. Could not find anything.
this is an AutoHotkey script for Linux/Windows that works like the basics of Vimium [1], but everywhere. This means that upon pressing F, you'll see keyboard-activatable hints for all interactive elements on the current window (there's a gif in the Readme). I built this partly to showcase the recently added accessibility-related features of AHK_X11 0.4.0 [2], my AutoHotkey-for-Linux implementation. a11y on Linux is a mess [3], but IMO it mostly works, just needs a lot of tweaking [4]. Getting all relevant applications to work has been a huge patchwork effort though [5].
I hope I'm not being too impertinent reusing the name "Vimium"... but it's the best I could come up with, and this can probably never be a noteworthy competitor inside browsers anyways, as normal Vimium has the advantage of Browser APIs.
[1] https://github.com/philc/vimium [2] https://github.com/phil294/AHK_X11/releases [3] https://scribe.rip/@r.d.t.prater/linux-accessibility-an-unma... [4] https://wiki.archlinux.org/title/Install_Arch_Linux_with_acc... [5] https://github.com/phil294/AHK_X11/blob/4ff6e749f5f783471f3c...
Apart from that, I assume it's quite difficult for anyone to help you based on the error description "doesn't work".
And most of all, it's fast.
Recently, I've been attempting to create a global user style sheet that applies a reasonable set of nicely accessible rules to every website, essentially forcing buttons to look and behave like buttons, and to have a consistent theme across the internet. I started out by applying Window 95-like styles, and this is how it currently looks: https://waritschlager.de/share/0E7AB89CE86B1319A671D35EA2697... (background not changed to grey for now), not finished yet. Turns out, writing a global stylesheet is really difficult. For example, you cannot just "make all buttons grey":
First of all, there are many different ways to identify a button. This is a subset of my current button matching rule:
button, input[type=submit], input[type=button], a[class*="btn" i], a[class*="button" i], *[role=button], *[role=tab], *[role=menuitem], *[role=menuitemcheckbox], a:not([role=button] ...etc) > *:not(div ...etc)
with the last one probably being the most important one next to `button`. ...and this still does not catch all, because you wouldn't believe how often web devs just take some div and put an onclick handler on it without making it accessible.Secondly, as soon as you overwrite the background color of all buttons, you will lose its background images which may be important. This happens way too often, also surrounding elements which actually have nothing to do with button semantics. So you need to apply a partially transparent background color. While it can still look perfect with the right tuning, it will then look horrible on non-white backgrounds.
There are also way too many nested buttons and empty buttons out there, it all needs consideration.
Finally, to detect a "pressed down" state, you'd normally use `aria-selected`, but barely anyone ever uses that, so it's back to matching class names `.active` and `.selected`, but then you also need to exclude `.inactive`, `.interactive`, `.deselected` and so on...
My conclusion so far is that building a global style sheet is definitely possible, but can get ugly sometimes. And instead of hand-crafting my own styles, I can now integrate 98.css's ones, that's great :-)
Also worth mentioning: A near-perfect win95 XFCE theme: https://github.com/grassmunk/Chicago95
Why does every website have to reinvent the wheel?
More details in the docs [3]:
> You can think of Coffee-AHK as a dialect of CoffeeScript. It is compatible with the existing AHK code and adds new features to AHK such as anonymous functions, destructuring assignment and even package management support. It is also a subset of CoffeeScript, which compiles into JavaScript code correctly for execution on all platforms.
Fascinating and exotic mix. I've never seen anything like it before.
[1] https://github.com/phonowell/coffee-ahk/network/dependents?p... [2] https://github.com/phonowell/genshin-impact-script/blob/mast... [3] https://github.com/phonowell/coffee-ahk/blob/master/doc.md