How good are your error messages? Wouldn't it be nice if there was a tool that told you if your error messages were unhelpful?
Proactive Detection of Inadequate Diagnostic Messages for Software Configuration Errors https://homes.cs.washington.edu/~mernst/pubs/inadequate-diagnostics-issta2015.pdf
miniblog.
Today I learnt that Pharo has integrated history!
This isn't a VCS, this is just a convenient way of reverting changes at the granularity of a method ('message' in ST terminology). It's a good level of granularity (cf file-level undo in a text editor).
I used to know people who sold thin client devices rather rather traditional PCs. The thin client model didn't gain much traction.
Looking at it today, were they ahead the time?
I used to read articles about how consumer CPUs were going to grow the number of cores exponentially, but most stopped at 4.
This is for server CPUs, but it's amazing to hear about 64 core parts!
When I started out writing lisp, I found the distinction between foo and 'foo tricky to grasp. It bothered me that 'foo wasn't printed 'foo.
I think this is easier to learn when symbols are printed differently. If 'foo is printed user::foo it's easier to grasp what a symbol is.
It used to be much more common for websites to allow users to modify CSS on pages that showed their content. MySpace profiles were sometimes so busy they were hard to read.
This seems to have almost entirely disappeared. Reddit is the only exception I can think of today.
Smalltalk shows a lint error if you recurse unconditionally: you've basically written a pointless infinite loop.
I've not seen lints for this elsewhere, but it's a really nice touch.
Today I learnt that Arch Linux has a paccache.timer built-in service. This service (you can enable it from systemctl) ensures your package cache doesn't grow excessively.
Really handy, though I wonder why it isn't enabled by default.
Skimming the docs, it's interesting to see that they allow you to return values inside a void function: https://sorbet.org/docs/sigs
The value is thrown away by their signature wrappers though.
Stripe has released a static gradual type system for Ruby! https://sorbet.org/blog/2019/06/20/open-sourcing-sorbet
Perhaps the moral here is to worry about a building a great runtime, and only worry about the type system if your language gains traction?
Super impressed to see that Monzo (a modern mobile-first UK bank) has published a detailed post-mortem of a recent outage: https://monzo.com/blog/2019/06/20/why-bank-transfers-failed-on-30th-may-2019/
Favouring interface inheritance over class inheritance, and some examples of gotchas:
Perhaps 'awesome lists' on GitHub are today's web ring?
Although the nice property of awesome lists is that anyone can contribute to them, not just the original authors of the sites.
Smalltalk takes a hardline view on syntax errors and undefined variables: you can't save a new method until it's fixed.
It's a nice way to work, as methods tend to be small, so virtually all your code is in a runnable state all the time.
Showing 346-360 of 736 posts


