Dreaming the future of software; Project Editor ECMAScript 2015; Reformed Smalltalker JavaScript historian dl.acm.org/doi/abs/10.114@allenwb@mastodon.social

Sherwood Oregon USA
Unix and Smalltalk (and Lisp machines) matured roughly contemporaneously. And at a time when each computer manufacturer and product line was its own bubble universe. There was no “outside”. A few languages and libraries worked in multi-bubbles, but with significant effort.
Smalltalk and other full programming systems came later, each with a different core set of ideas - alternative bubbles. The Unix bubble prevailed, grew to surround us and now we're making bubbles inside of it using the *Unix-centric* composition models.
1
3
6
Unix introduced what became an “universal” API model and OS-level services. Smalltalk introduced what became the “universal" user interaction style and enabling technologies. Both had to adapt to the other.
1
5
So, I did an Amazon search for “unique gifts” and it suggested these. How "manly of it". I shudder to think what in its accumulated order profile of me made it think me or anybody I might gift would want any of these things.
1
2
“Browsers not supporting strict mode will run strict mode code with different behavior from browsers that do” Not exactly, strict mode was designed such that if strict mode code runs without error in a strict mode browser it will produce the same result in a non-strict browser
Why Do We Need Strict Mode: JavaScript's strict mode, introduced in ECMAScript 5, is a way to opt in to a restricted variant of JavaScript, thereby implicitly opting-out of "sloppy mode". Strict mode isn't just a subset: it intentionally has different… dlvr.it/RnnGlf
5
3
5
Exactly, our existing software environment is too large and useful and messy to think it can be replaced or hidden. We need to figure out how to empower humans to "live" comfortably and creatively in our messy and continually evolving software augmented world.
On reflection, I'm going to claim that the "habitation" metaphor is dangerous and destructive. I don't want a privileged "inside". The idea that everyone can aspire to their own special cosy interior is exactly what *makes* the outside world (creepingly) into a mess. 1/n
1
1
Allen Wirfs-Brock retweeted
FP is great for algorithmic manipulation of large datasets of mostly homogeneously structured data. OO is great for building complex heterogeneous data models. Many modern systems need both.
1
2
10
Finally. A principle I learned in the 1990s that I passed along during ES6 development was: Never conflate module organization and configuration management. Using paths as module identifiers violates that principle. Import maps are the solution.
This further reduces the building required during development (when using plain JavaScript).
1
2
18
Purging old technology. First time in 20 years cleaned out cupboard under recently decommissioned landline phone. This was the state of the art city navigation technology in 2020.
1
Allen Wirfs-Brock retweeted
How to define and translate "trap" in ES2015 proxy? It looks like the trap in OS that switches to kernel mode, but its direct translation "陷阱" works poorly in Chinese, which strongly implicates something malicious. How about "hook" or "intercepter"? @awbjs
1
1
2
Tell us your first computer without telling us your first computer.
1
4
"Research, like everything else, requires proof of work. And I don’t have graduate students to do it." Something I've seen apparently work for a few people is the Guru+Disciples approach. The are always smart non-academic hackers looking for projects to rally around.
Update, interrupted "I guess the point of this post is to help me work through the research grieving process." alarmingdevelopment.org/?p=1…
2
Allen Wirfs-Brock retweeted
Old: "JavaScript is a prototype-based language with class syntax pasted on top." New: "JavaScript is a class-based language with an extremely unusual metaobject protocol."
8
34
436
As object programming languages were being introduced in the 1980s the concept of “object models” was also introduced. OOP programming was model building. But it was often misunderstood as “OOP programs should fully model the real world.” That was never the intention.
What do you see in the picture? A piece of cardboard? Some junk? No! — It’s a model! Thread on models and bounded contexts 1/9 #DDDesign #BoundedContext
1
13
36
By 1995, OOP was becoming established as the preferred paradigm going forward. The main pedagogical alternatives were c++ (too complex, not pure OOP) or Smalltalk (too weird, too expensive, too dynamic). Java was real OOP, relatively simple, well-designed, and free.
Java was first released in mid-1995, just 6 months before JS. By 98, when I went to college, Java was already used for all the first level courses in the CS program. How did it catch on so quickly (just 3 years) to shift university curriculum, which is usually so slow/behind?
2
6
23
Our semi-DYI project to get fiber to our rural home is done! 1st became aware of the posssibility in May 2019. We did most of our part this summer & Sherwood Broadband got the trunk lines installed this fall. Results? Left: current DSL Right: new Fiber
DIY country cord cutting. Next week we and our 3 neighbors are going to attempt to trench in a half mile of conduit along our private road so we can get fiber installed. Can't wait to say goodbye to ex-Frontier DSL, land lines, and over priced Directv
1
2
14
So the saga continues... Sherwood Broadband getting ready to drill under the county road. Looks like we might have live fiber before the end of October. @rebeccawb
DIY country cord cutting. Next week we and our 3 neighbors are going to attempt to trench in a half mile of conduit along our private road so we can get fiber installed. Can't wait to say goodbye to ex-Frontier DSL, land lines, and over priced Directv
1
7
This morning they came back to actually pull the fiber to our house. Monday morning at 8am an installer is scheduled to show up to put a connector on the end of the fiber and give me a media converter (an "ONT") to connect the fiber to the CAT5 that runs to my router 💥
2
4
The final connection! Sherwood Broadband tech put a connector on the end of the fiber and plugged it into the ONT. This was supposed to happen Monday Nov. 30, but I could live with Friday Dec. 4. Now tweeting via semi-DYI “gigabit” fiber.
6
DIY country cord cutting. Next week we and our 3 neighbors are going to attempt to trench in a half mile of conduit along our private road so we can get fiber installed. Can't wait to say goodbye to ex-Frontier DSL, land lines, and over priced Directv
3
1
29
We still have to hand dig 4 of these vaults ( it's upside down) 2 feet into the ground at each place conduits join. Segment length limit is about 550 feet to enable pulling the fiber. One vaults has 4 conduits, shared trunk + 2 service drops.
1
1
5
Splicing tweet threads
So the saga continues... Sherwood Broadband getting ready to drill under the county road. Looks like we might have live fiber before the end of October. @rebeccawb
1
Allen Wirfs-Brock retweeted
25 years ago today (Dec 4, 1995) JavaScript officially got its name. Here is the press release that announced it to the world web.archive.org/web/20020606…
17
35
So here are the heuristics I applied in proposing the term “realm”: 1) the term should not already be regularly used with another meaning in JS or closely related technologies. 2) the commonh meaning of the word should be weakly suggestive of its technical meaning. 1/ @leobalter
Replying to @leobalter
Instance, Environment, Host, Sandbox, Runtime, Invocation, Boundary (or Bounds)...... Border (Wall), Kingdom, Territory, Land(s), Zone, Edge, Outer, Scope, Global, World, Universe, Thread, Engine, Wrapper, Envelope
2
5
3) The common meaning of the word must not be technically misleading (eg: wall, universe, envelope) 4) The common usage should not carry emotionally strong implications (eg: kingdom, country) I consider all the @getify alternatives and more. “Realm"scored highest. 2/2
1