cb22
A huge benefit is having to think and be explicit about the limits up front. To take your example of arbitrary sized JSON and flip it around: how would you do it normally?
Maybe, you'd allocate a buffer to hold your entire object when it comes in - but now you'll end up crashing when you get a large document that exceeds your available memory.
Maybe you can do things in a fixed amount of memory, using streaming or chunking - which would be pretty simple to turn to static allocation!
Static allocation forces understanding of those limits upfront.
More custom stuff (eg 100Gb/s NICs) takes a bit longer, but they've always been super responsive and quick to sort out any issues!
The price / performance you get from something like their AX162 is just crazy, although unfortunately with the whole RAM / NVMe shortage the setup fee has gone up quite a lot.
Actual SIGSEGVs are pretty rare, even during development. There was a pretty interesting one that affected our fuzzing infra a little bit ago: https://ziggit.dev/t/stack-probe-puzzle/10291
Almost all of the time we hit either asserts or panics or other things which trigger core dumps intentionally!
* Idle @ 50% brightness, WiFI on: 3.5W
* mpv + hardware acceleration: 15W
* Firefox + hardware acceleration: 19W
* Firefox software decoding: 29W
The test video was https://www.youtube.com/watch?v=LXb3EKWsInQ - which is 4k 60 FPS and got scaled to 1920x1080 for display.I'm part of that sample set! Was quite surprised how easy it was to get it up and running on FreeBSD. Benchmarking on tmpfs on both, it even had a ~10% lead on Linux.
(Of course, that's not exactly the intended use case, so don't pay too much attention to that number!)
This manages about 100 client nodes. No need for a cluster since we don't need high availability on our control plane, and there's no actual state stored there that isn't created from our CI pipeline.
I'm not talking about a reduced functionality style offline mode either; the watch computes all metrics locally, you can load OSM for navigation, copy MP3 files to it and copy GPX traces off of it.
On a BlackBerry, it would shut down the radio and give you a "Battery too low for radio use" message, but you could trick it into turning the radios back on by dialing 911 and then hanging up really quickly.
Various Android manufacturers do their own version of this, Sony had Ultra STAMINA mode and Samsung have an option to do a whole bunch of power optimizations as well as limit apps to those explicitly specified.
For me, the main critical purpose of my phone is to communicate with others in realtime which happens using things like WhatsApp, Slack or Email (maybe the odd call). If I can't use those, then it might as well be dead!
I've been working on a Pi Zero W based carputer (really, it's headless and just interfaces with my phone over Bluetooth / the existing radio head unit and steering wheel menu and controls).
Boot time is probably around ~8 second mark currently (fully booted with buildroot / systemd, it's powered from 12V switched by the key) and it already feels fast enough. I normally start my car, put on my seat belt and look around. By the time I've finished doing that it has connected to my phone.
Of course, it would be possible to do even smarter things. Hook up a low power micro that can interface with the CAN bus and a MOSFET, and you can instead power it from the battery and turn it on when the car is unlocked and off after a timeout based on the engine going off.
[1] https://ark.intel.com/content/www/us/en/ark/products/196597/...
Single core turbo 3.9GHz, maintains indefinitely, temperature hovers around ~75 degrees, fans around 5000RPM
All core turbo: Keeps 3.4GHz and ~45W TDP for around 10 seconds, before dropping to 2.7GHz and ~25W TDP indefinitely. Temps still around ~75, with the fans around 8000 RPM.
That's without any undervolting, but with the processor set for 25W TDP (like the Windows "Ultra Performance" mode). Adding in some undervolting gets the all core turbo up to 2.9GHz.
Really? I love my XPS 7390 2-in-1, it's the best laptop I've used and owned by far and that includes Macbooks. Combined with a WD19TB dock (and a useful trick of flipping it around so it's an inverted L) it makes a great work from home setup. Its thermal profile is relatively aggressive by default but it should stay at 15W (and ~65 degree temps) indefinitely. Upping the power limit to 25W (like the Windows / Dell "Ultra Performance" mode does) and it appears it can maintain that too. I mean, Crysis can even run on the thing [1].
That said, I'd probably lose my mind if I had to run Windows on it. A suggestion for getting good old S3 sleep to work: enable the hack for reenabling S3 sleep in the Windows registry, then disable "Early Signs of Life / Dell Logo" in the BIOS [2]. I'm not sure if this will work on Windows, but it works flawlessly on Arch.
[1] https://www.youtube.com/watch?v=3MXS_KJf_M0 [2] https://wiki.archlinux.org/index.php/Dell_XPS_13_2-in-1_(739...
It still is, it's part of the WebRTC spec, and when you use a WebRTC data channel, you're using SCTP over DTLS over UDP! (or TCP, possibly with a TURN relay, which may end up tunneling the whole thing over TLS over TCP :))
There are a lot of acronyms in WebRTC, thankfully there's https://webrtcglossary.com
Maybe I'm in the tiny minority here, but I much prefer the way touchpad handling on Linux behaves compared to both Windows and macOS. At least on sway, it feels more 'accurate' than either of those two - you move your finger and the cursor actually goes to where you want it.
> But, as far as I know, Apple still releases the source code for Darwin, right? So shouldn't it be possible to port the trackpad functionality from there?
Unfortunately not! I worked on reverse engineering a driver for the SPI touchpad found in newer (but not too new) Macbooks and based most of it on packet captures from Windows' Event Log [1]
[1] https://github.com/cb22/macbook12-spi-driver/issues/3#issuec...
We've got a pretty long pipeline of features, one of them includes a better setup for things like webinars, with one presenter and a large number of consumers.
We started out building online tools for education but soon began using them to have our own meetings. Behind the scenes, things are powered by a CRDT (specifically, https://github.com/y-js/yjs) and we're using Janus as a WebRTC SFU.
It's not peer to peer, but this brings some advantages (simplicity, more reliable connections, better support for large rooms) and a few disadvantages (bandwidth usage, among others). We're still in beta and working on new features and bug fixes so any feedback is greatly appreciated!