Dreaming the future of software; Project Editor ECMAScript 2015;
Reformed Smalltalker
JavaScript historian dl.acm.org/doi/abs/10.114…
@allenwb@mastodon.social
2/ TypeScript is technically “unsound”: you cannot *rely* on types to draw security conclusions. E.g., if an API says it takes `Payment`, someone could still invoke it with a `Window`, and confuse or break an unprepared target. Thus, programmers must understand the untyped code.
My new favorite word of the day: Dord... Also like the term "ghost word." Wondering...do we have an equivalent word for software capability/feature that was implemented by mistake and never gets removed?
They say that if you visit our office late at night on the eve of a new edition, you can still hear the ethereal call of the ghost word... merriam-webster.com/words-at…
Here is an example of a Word bug I discovered that derived from a hidden load bearing architectural decision:
The JavaScript standard spec makes extensive use of Word’s outline format lists to specify algorithms. The 2015 edition more than doubled the number of algorithms. 1/
"Introducing a new [programming] language doesn't work… but people will embrace what looks like a useful new application in itself." books.google.com/books?id=0d…
ALT Our basic argument is that the problem with programming is not pro-
gramming; it is the languages in which people are asked to program.
The difficulty for end users has been that, for the most part, we have
not developed the right formal languages to meet their needs. In a few
cases, when we have developed such languages, end users have been spec-
tacularly successful in programming their own applications… Stephen Wolfram, the inventor of Math-
ematica, has remarked, “Mathematica’s success is based on a trick. Intro-
ducing a new [programming] language doesn’t work ... but people will
embrace what looks like a useful new application in itself.” The source
of the success of the formal end user programming languages in these
software systems is that the language primitives are the application-level
primitives with which users are already familiar. A mathematician, in a
broad sense, already knows Mathematica, an accountant already knows
Lotus 1-2-3, a statistician already knows SPSS.
My personal tech ruin. Medium-sized satellite dish slowly being engulfed by nature. Used to "pirate" TV distribution feeds in 90s. Replaced by Directv service about 2000.
At first this chart seemed quite busy but the article is very clear and useful at explaining how life-long careers progress. I love the concept of leverage. Quibble: over the span of a long career multiple switches between paycheck and gig paths are likely.
For some reason there has been very little national coverage of Oregon's very successful vote by mail system. For over 20 years all voting in my home state has been by mail. It is an excellent system! Other states should clone it.
Ok, so how do people speak the name of the ECMAScript 2020 optional chaining operator.
For example, how would you speak this code:
fun?.()
‘conditionally call func”?
“existentially call func”?
“non-nullish call func”?
???
Great Talk by Richard Gabriel about this Inkwell system.
How RPG combined old-school symbolic AI and ML to turn a misinformation bot into a provocative poet.
youtu.be/6Vax07bD_Lw
It’s common in the Twiterverse to run into JS developers who take umbrage at the slogan, “Don’t break the web.” Generally, there is something about JS that they don’t like and they think should be fixed, even if it is a breaking change. 1/
If you are a JS developer who primarily works on short-lived, frequently changing web apps you probably aren't very concerned about changes to JS that “break the web” as your code will likely be discarded before it can be broken
6/
I wonder if the concept of "durability" could be explicitly incorporated into the evolution of the web technology stack and how we think about web development.
7/7