I've been learning how to use Massif, a tool in valgrind for memory profiling. It quickly paid off!
I discovered that difftastic sometimes attempts to preallocate absurd amounts of memory.
miniblog.
Go has a wonderful, accessible discussion of how it does inlining today, the downsides, and the plans for 1.22: https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw/mobilebasic
The book 'The Art of the Metaobject Protocol' has two chapters in the public domain and available online!
Chapter 5: Concepts
Chapter 6: Generic Functions and Methods
https://clos-mop.hexstreamsoft.com/
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
https://github.com/Wilfred/difftastic/releases/tag/0.49.0
I've learnt a surprising amount by looking at how other people are packaging my difftastic project!
(1) A local copy of the manual doesn't have the version (OpenBSD packaging fixes this).
(2) One of my dependencies has been yanked (Void Linux packaging fixes this).
Tried `just` (the task runner) today, and I really like it. npm has scripts, but `just` works anywhere.
Editor integration is also excellent: you can get by with Makefile highlighting, but in Emacs you can even run everything interactively!
https://github.com/casey/just
https://github.com/psibi/justl.el
Read-Eval-Patch loops and iterating on tests in a faster and more interactive manner: https://ianthehenry.com/posts/my-kind-of-repl/
I'm surprised that there are no ML tools for automatic log highlighting. Logs often have repetitive patterns that lend themselves to distinct colours.
Do any such tools exist?
Old news, but I really like how node v12.17 will speculatively execute pure functions in the REPL.
https://nodejs.org/en/blog/release/v12.17.0#repl-previews
TIL most userspace code in ChromiumOS is now written in Rust! https://chromium.googlesource.com/chromiumos/docs/+/HEAD/development_basics.md#Rust
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?
I've released difftastic 0.48! Highlights in this release:
* Subword highlighting in replaced strings! This is a big improvement in many situations.
* Better Scala parsing
* Better Haskell handling
https://github.com/Wilfred/difftastic/releases/tag/0.48.0
A neat IDE feature from Typescript 5.2: it completes object field names even if the previous field doesn't end with a comma!
Syntax recovery is super helpful sometimes.
https://devblogs.microsoft.com/typescript/announcing-typescript-5-2-beta/#comma-completions-for-object-members
@aburka Interesting, today I learnt.
I don't know the history of this syntax: there doesn't seem to be much precedent for ^ as a range in any PLs that I can think of.
I struggle with dependency syntax. I never remember what ^1.2.3 means or how it differs from ~1.2.3.
I believe both npm and cargo assign the same meanings to this notation, but it's less obvious than e.g. 1.x.
1.2.3 isn't an exact version constraint either! https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-cratesio
One interesting technique to reduce the review burden in Home Assistant, a project with a large community: ask PR authors to review other PRs!
Screenshot is from https://github.com/home-assistant/core/pull/96209
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/
Today I learnt about Solargraph, an LSP for Ruby which includes an impressive amount of type inference and type checking! https://solargraph.org/guides/type-checking
Type signatures are parsed from doc comments, similar to JSDoc with TypeScript.
Sweep is a really impressive demo of LLMs with coding: given your source code and an issue, it will generate a PR! Example: https://github.com/edreisMD/plugnplai/issues/65
I'd want to have a really thorough test suite if I was accepting LLM PRs though.
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
Showing 61-80 of 235 posts