@amszmidt there's at least one user! https://difftastic.wilfred.me.uk/fossil.html
I'm not a Fossil user myself so I can't say how well it works with difftastic though.
@amszmidt there's at least one user! https://difftastic.wilfred.me.uk/fossil.html
I'm not a Fossil user myself so I can't say how well it works with difftastic though.
I'd heard the conventional wisdom that UX research states that mice are more efficient than keyboards, but turns out there's virtually no research on this!
I'm intrigued to see that Google has quantified that new code is generally buggier and less secure than code that has existed in your codebase for longer: https://security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html
An ad hoc, informally-specified, bug-ridden, slow implementation of half of a text adventure game -- or as I like to call it, a compiler.
Difftastic is written in Rust, so I was surprised to get a user report of a segfault.
After some investigation, it turns out that it's a segfault in git itself, which has existed since 2014! https://lore.kernel.org/git/CAFXAjY7XcL1APhLRXU8TO96z=f7957f2ieK56dHVsXUay55vpg@mail.gmail.com/T/#u
(Upstream has already kindly written a patch.)
Running a package manager host for a popular language is really expensive. TIL that Python costs several million dollars per year!
I've released difftastic 0.49! In this release:
* LaTeX support
* Smarter diffing in languages that prefer the outer delimiter (JSON, Lisps)
* Improved parsing for C, C++, Java and Haskell
I've been thinking about making difftastic smarter about context. In principle it understands structure, so I could limit context to the enclosing definition.
However, sometimes it's nice to see surrounding code. Line 644 isn't useful, but maybe 655 is. Opinions?
A great deep dive on building GitHub's code view, optimising React, scaling to thousands whilst supporting both Ctrl-F and syntax highlighting: https://github.blog/2023-06-21-crafting-a-better-faster-code-view/
Steve Jobs famously asked for smooth scrolling (i.e. not line-by-line) in a Smalltalk demonstration and they changed the UI live.
Here's a lovely 2 minute YouTube video demonstrating that modification: https://www.youtube.com/watch?v=eEz08IlcNMg
I've just added closure support to my toy programming language: https://github.com/Wilfred/garden/commit/d1fb4566a2187dfe98fb1d2278a7a0d2acd8059e
Closures are more fiddly than I expected, but I now have a much better understanding of what downward/upward funargs are :)
(Downward: passing a closure, upward: returning a closure)
Rust has an elegant solution to testing private functions: you put the test in the file that defines the function. It generally works well.
I've even seen people argue that it makes mocking much less necessary! I've not felt the need to mock in Rust so far.
Advice from one of the authors of Common Lisp on PL work: established languages tend to win in their domain. It really helps if you enjoy working in this space.
(There is a ton of PL skill and insight in the smaller languages IME.)
Tired:
Unexpected IndexError
Wired:
Tried to access index 10 in a 4 item list ["x", "y", "z", ""]
Programming geek, natural languages nerd, and occasional writer. he/him
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.