Some stats: - Total number of links: 23983
This was a response to a Hacker News comment asking me what I've been up to since 2010. I'm posting it here since HN rejects it with "that comment is too long." I suppose that's fair, since this ended up being something of an autobiography.
--
What happened after 2010?
The package that linked you here is now pure ESM. It cannot be require()
'd from CommonJS.
This means you have the following choices:
- Use ESM yourself. (preferred)
Useimport foo from 'foo'
instead ofconst foo = require('foo')
to import the package. You also need to put"type": "module"
in your package.json and more. Follow the below guide. - If the package is used in an async context, you could use
await import(…)
from CommonJS instead ofrequire(…)
. - Stay on the existing version of the package until you can move to ESM.
-
use livestream_saver to download from the first segment. Can also record membership-only streams by supplying it your cookies (uses yt-dlp to download)
-
use ytarchive which basically does the same thing, except a bit better.
-
use youtube_stream_capture. You can use cookies file to get member-only streams too. Be aware that this script currently fails to download chunks as soon as the stream has ended (this might be a bug).
-
or use live-dl which does monitoring of streams too. This is a wrapper around streamlink and yt-dlp.
A friend recently learned about Proebsting's law and mentioned it to me off hand. I knew about the law's existence but I never really asked myself - do I believe in it?
For people who aren't aware, Proebsting's law states:
Compiler Advances Double Computing Power Every 18 Years
Which is to say, if you upgrade your compiler every 18 years, you would expect on average your code to double in performance on the same hardware.
The discord.js interactions PR has been merged, and d.js master (v13 dev) now has proper support for slash commands!
Official resources:
const internalIp = async () => { | |
if (!RTCPeerConnection) { | |
throw new Error("Not supported.") | |
} | |
const peerConnection = new RTCPeerConnection({ iceServers: [] }) | |
peerConnection.createDataChannel('') | |
peerConnection.createOffer(peerConnection.setLocalDescription.bind(peerConnection), () => { }) |
As Gecko is moving toward more Rust code, the cases where Rust and C code interoperate will become more common.
This document is an attempt to ease the learning curve for engineers facing it for the first time. It assumes no prior experience with cross-language C interfaces (called FFI).
It also assumes that Rust code is already built into Gecko. If you need help with that, read Introducing Rust code in Firefox.
- Download the latest zsh package: https://packages.msys2.org/package/zsh?repo=msys&variant=x86_64
Example:
zsh-5.7.1-1-x86_64.pkg.tar.xz