Difftastic 0.36 is out! In this release:
* Better diffs: Punctuation is now treated separately in the cost model
* Nicer display: Changes in comments are now underlined too
* New languages: Hare, Pascal and QML
* Smarter detection of binary files
miniblog.
Shower thought: Printing runtime values is far more useful for product types than sum types.
For a struct it's useful to see all the fields, but for a nullable int it's less useful to see 123.
On the tendency for short term software design decisions to impact thousands of people for years:
https://beebo.org/haycorn/2015-04-20_tabs-and-makefiles.html
I tend to shy away from automatic, implicit behaviour in software. I've seen CMake setups where FindFoo.cmake is automatically picked up for configuring the Foo library.
What are examples of tools with a larger amount of automagic behaviour that you like?
Today in aggravating edge cases: difftastic would crash when line-wrapping content where Unicode combining characters occurred on the boundary. Argh.
One habit I've picked up from blogging is putting *important statements in bold*.
It's a really helpful technique, in moderation. It doesn't seem to be common in print media though.
"Slots" seems to have almost entirely fallen out of favour relative to "properties".
Python uses both terms, are there any other cases where languages distinguish?
Tired:
Unexpected IndexError
Wired:
Tried to access index 10 in a 4 item list ["x", "y", "z", ""]
Neither Spotify nor Skype use peer to peer functionality any more.
Are there any consumer apps that still leverage P2P designs? Has bandwidth just become so cheap that it's unnecessary?
Today I learnt that Emacs displays null bytes as ^@ in files.
https://blog.phronemophobic.com/dewey-analysis.html is an absolutely delightful post quantifying Clojure usage.
Functions outnumber macros 20:1, the most popular single letter variable is x, and 63% of projects have zero mutable references!
Blogged: Difftastic, the Fantastic Diff
https://www.wilfred.me.uk/blog/2022/09/06/difftastic-the-fantastic-diff/
On building great engineering teams with UX empathy, and the role of product managers on engineering-led teams.
https://www.elidedbranches.com/2022/08/the-product-culture-shift.html
Today I learnt that Scheme (1975) is actually older than Common Lisp (1984)! I'd assumed that Scheme designs were a response to CL.
Many of the CL features were created earlier, in fairness. CL was standardising the feature set.
As Rust grows in popularity as a systems language, I expect that someone will develop a dynamic language explicitly designed with great interop in mind.
C++ games seem to use Lua for this, and I've seen Java projects use Groovy.
Are there any up-and-coming contenders for Rust?
I like Discord's model of usernames, where I can be wilfred#12345 even if other people have the same name.
Perhaps package managers could do the same thing? It'd save the hassle with name collisions that many systems have. You could also compare download numbers if unsure.
I'm beginning to suspect that the act of writing a blogging engine is just to trick yourself into writing a few blog posts.
Difftastic works really hard to find similarities between the before and after file. Sometimes this works wonderfully (see first screenshot) and sometimes it goes way too far (see second screenshot).
It's matched up a few variables and semicolons from adjacent functions!
On writing small, personal apps: https://www.robinsloan.com/notes/home-cooked-app/
I've released difftastic 0.35! In this release:
* Basic support for Makefile syntax
* Support for UTF-16 files (helpful on Windows)
* Several quality of life improvements, including the ability to see what languages are currently supported
Showing 121-140 of 384 posts