Rust is exploring ideas that allow it to generalise over effects, so you don't need foo and foo_async.
It's an unusual name, and potentially complicates error messages, but it's good problem to examine.
miniblog.
I haven't found a nice way of reporting "N/N tasks done" in progress interfaces.
Users don't like seeing "Baking cakes 10/10 (100%)", especially if the last cake is slow. It's weird to them to see 100% when you haven't finished, but mathematically it's logical.
If I created a brand new programming language today, I'd be very tempted to write a bootstrap compiler in JS.
This would make it much easier to provide web playgrounds for people to write small programs and play with the language.
Difftastic spends a remarkable 49% of its runtime just reading and writing to a FxHashMap of ~1 million items. This hashmap stores the predecessor vertex when calculating the shortest route.
I'm running out of ideas. I can't use perfect hashmaps, are there other speed tricks?
Difftastic is effectively computing the "tree edit distance" between two ASTs, and there's a bunch of papers on this topic. Literature review is hard though: sometimes a paper takes a while to digest, only to realise that they're solving a slightly different problem.
The Carbon language has a notion of a 'painter', a designated person to handle design debates that are just bikeshedding ("choosing the colour").
Less dramatic than a BDFL, and a cute name.
https://github.com/carbon-language/carbon-lang/blob/trunk/docs/project/evolution.md#painter
Should programming language docs come with exercises for the reader to test their understanding?
This feels like a great way to help people learn, and you could even measure docs by pass rate.
I've seen online books occasionally use this format, but never official resources.
I've started using Logseq for note taking: it's roughly in the same space as Roam/Obsidian but OSS and using markdown on your local disk.
So far it works really well. I like using [[Link]] syntax for cross-referencing themes that I mention in several places.
I've never seen a JIT with an "eject" option.
If I'm happy with the steady-state performance of my system, I'd rather disable the JIT and lose additional optimisation in favour of removing the tracing overhead. Do any languages offer this?
It's interesting how [.] is increasingly the standard for talking about dangerous domains: http://evilsite[.]com
It's not a format that needs to be consumed by anything, although I suppose a standard makes grepping easier.
Google changing Goobuntu to rolling release based on Debian testing, rather than big-bang releases every two years based on an LTS: https://cloud.google.com/blog/topics/developers-practitioners/how-google-got-to-rolling-linux-releases-for-desktops
A really nuanced take from the Department of Defence on the economics of OSS and why people contribute fixes:
Difftastic 0.31 is released:
* Two new languages: Hacklang and SQL
* Updates to: C#, Dart, Elm, Gleam, Haskell, HCL, Java, JSON, OCaml, PHP, Python, Ruby, Scala and TypeScript
The tree-sitter parser maintainers have been busy!
I'm really flattered that IntelliJ users are requesting structural diffs and referencing difftastic!
(FWIW I'd love to eventually ship a reusable library, but APIs are just changing too fast right now.)
https://youtrack.jetbrains.com/issue/IDEA-291212
Fascinating deep dive on Twitch deliberately constructing a 10GiB array to reduce the number of GC cycles in Go: https://blog.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap/
(This trick is no longer necessary in the new Go 1.19 apparently, as it's added a GOMEMLIMIT environment variable.)
Showing 706-720 of 7,549 posts


