Hacker Newsnew | past | comments | ask | show | jobs | submit | accelbred's commentslogin

C with Zig's comptime is compelling though. Zig doesnt allow you to access all the features your C compiler does, and puts you in the LLVM ecosystem. I've been working on something similar; extending C with both Zig/C++ inspired reflection and linear types, with a compiler that compiles to a subset of C to allow you to leverage GCC and all its extenstions.

Whelp time to figure out how to disable it or patch it out.


why? Web Serial is one of the better web-based integrations out there. There is no functionality available without an explicit authorization, all that website can do is to pop up a dialog. And you approve individual port on per-site basis, so it's not like it can grab a random port without your knowledge.

This is my favorite model for web: anything more complex should be gated behind user permission. A site which requires that functionality will get that permission with no problem, and a random clickbait fingerprinter will get nothing.


As others have said, you'll get a dialog if any site actually tries to use this. But if you want to fully turn it off, just set "dom.webserial.enabled" to false in about:config (and restart Firefox)


Should be a single click just like with all the other permission based stuff.


More like RIP bun. Wouldn't have paid any attention bun if it weren't for Zig. Now I need to figure out what the "normal" runtime is to switch my work typescript stuff to.


Sounds like a feature.


This level of quality is why they have my business. We had a CI setup with rpi boards that needed fans (uart clock tied to cpu clock so heat meant slowing down and the uart dropped characters). I got tired of seeing random test failures on some board and driving up to the office to replace the fan that had failed. And they were loud and annoying. I ended up frustrated and expensing hundreds of dollars of noctua fans. Dead quiet, did a better job, and not even one ever failed on me.


A quiet PC is one reason I've always removed the GPU cards from used ones I've gotten. The crappy little fans on GPUs that constantly whir up and down drives me nuts.


When my GPU fans went bad and I didn't want to buy a new GPU (nothing wrong with my 1070, it still runs the games I care about) I bought some smaller noctua fans and 3D printed an adapter plate (in PETG). The connectors were non-standard, but the signals weren't, so I had to splice together some cables with soldering and heatshrink tubes.


I think Noctua makes GPU heatsinks now too, so you're in luck. MSI was pretty good at making almost dead silent cards once upon a time too.


> I think Noctua makes GPU heatsinks now too

I got really excited for a while, been struggling to find a 3rd party heatsink for a noisy GPU that won't make it even more noisier.

But, seems what you're talking about is this? https://www.tomshardware.com/pc-components/air-cooling/noctu..., which seems to have been just for the GH200 and seems to be more like a "super-cooler", as it's cooling both the CPU and the GPU.

Went to Noctua's website and found no GPU coolers at all, so I think it might have been limited to just showing off at Computex 2024 maybe.


Nah I mean like they partner up to design that part for specific models, it would be hard to make a generic one-size-fits-all given how much PCBs differ, though now that I've looked into it it seems that they currently just have the 5080 available which is odd.

https://www.noctua.at/en/products/asus-geforce-rtx-5080-noct...


Kdenlive is great. With zero video-editing experience, I was able to easily edit a demo video, cutting portions, clipping pauses, etc.


The one problem I have with the trusted files thing is that I have no way to trust non-file-visiting buffers. Why is *scratch* untrusted!? *scratch* should always be trusted, without me having to configure anything, ideally. Though a setting to automatically trust non-file-visiting buffers would be nice. I just ended up stopping using the scratch buffer because of that issue.


Right, the fact that the initial scratch buffer is untrusted is a bug AFAICT. I'm considering adding a workaround to this issue in trust-manager, although ideally it should (also) be solved upstream.


Shouldn't something like this fix the problem, at least for scratch buffers:

(add-hook 'lisp-interaction-mode-hook (lambda () (setq-local trusted-content :all)))


Pretty sure that's unsafe, don't do that.

Only the scratch buffer is to be exempted, not every buffer that gets this mode.


Do note that I only configure this for `lisp-interaction-mode', which in practice really only gets used for the *scratch* buffer. But there are a few other instances in core that also use it, and if that concerns you, you can extend the above snippet with a check like

    (when (equal (buffer-name) "*scratch*") ...)


Agree. This is probably better:

    (with-current-buffer "*scratch*"
  (setq-local trusted-content :all))


In practice this should also work. Do keep in mind if you just add this to your init.el then this will not persist if you re-create the scratch buffer.

If we are already experimenting with different ideas, this should also work (and gives a hint of how you want to fix the issue upstream):

    (define-advice get-scratch-buffer-create (:filter-return (buf) trusted)
      (with-current-buffer buf
        (setq-local trusted-content :all))
      buf)


Because the Emacs trust model is incoherent.


now now don’t insult the emacs mafia


I have the opposite experience. I have no trouble navigating Gnome apps, and now when selecting an application for a task, I'll choose a Gnome or GTK4 one first. Other apps implement odd controls that don't mesh with the rest of the system.


Most of the deadlocks I've faced are with different proccesses/devices both waiting on reads from each end of a socket/uart/etc. I've taken to putting timeouts on read calls, though then you have to deal with legitimate long request cycles timing out.


I have anecdata from my gamedev work that people tend to make mistakes when threads are pinned to some CPUs. Normally, when only time is a variable people can understand what can happen in their code. What confuses them is that space where those threads execute can be already taken. If a thread that should make whole system progress fails to grab a time slice these deadlocks are hard to reason about. Granted that lock ordering is the basic technique and if system did not had it all bets are off.


Putting timeouts on things that used to deadlock upgrades you to the next level of hell: livelocks.


I somehow misread the title as "Robot cat ears" and was quite confused when scrolling through the article.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: