✉️ Not subscribed yet? Subscribe to the Newsletter
Future of Coding Weekly 2020/02 Week 3
2024-04-10 10:07
Announcing the awesome program for the Convivial Computing Salon 2020 - ‹Programming› 2020
Demos
Raathi Kugarajan shared his project JSBubbles: Re-imagining reading and navigating JavaScript codebases in VSCode
I was tinkering with a VSCode extension inspired by Code Bubbles but my effort was mostly focused on navigating and reading JavaScript code bases.
--
Andrew Reece posted a second DevLog for WhiteBox, a live debugger/REPL for C(++) - now with a GUI, a familiar debugger-like data tree, graphing variable value changes across a function.
WhiteBox DevLog 2 - GUI, data trees and graphing values over time
--
Bloques Web Update by Mariano Guerra
An update to the tool to teach HTML/CSS/JS to non programmers, added new high level blocks, some even for layout, two lower level layers that get closer and closer to textual HTML. Also added import/export.
From our Community
Talk presenting Geometric Algebra for Computer Graphics which seems to simplify operations compared to other representations.
More information on the website https://bivector.net/
Clifford's Geometric Algebra enables a unified, intuitive and fresh perspective on vector spaces, giving elements of arbitrary dimensionality a natural home.
Implementations in Javascript, c++, c#, rust and python at the ganja.js project.
--
Jason Laster shared Web Replay which supports Time Travel Debugging
Web Replay records your entire application, so you can track bugs down faster, understand your code better, and always get perfect bug reports.
--
Greg Law on Debugging, Record & Replay of Data, and Hyper-Observability by Greg Law via Karki
Topics discussed included: the challenges with debugging modern software systems, the need for “hyper-observability” and the benefit of being able to record and replay exact application execution; and the challenges with implementing the capture of nondeterministic system data in Undo’s LiveRecorder product for JVM-based languages that are Just-In-Time (JIT) compiled.
--
All Programming Languages are Wrong by David A. Moon (Slack Thread)
Most current-day programming languages seem to be based on the idea that computation is slow, so the user and the compiler must work hard to minimize the number of instructions executed.
Compromises to minimize instructions extend so far as to make familiar-looking operators like + and < behave in unintuitive ways. If as a result a program does not work correctly in some cases, it is considered to be the programmer's fault. But it is really the language designer's fault.
--
Ryan Florence on twitter:
Whenever I talk to teenagers about programming they want to do it on their phone.
And an interesting Slack conversation about it.
--
Graydon Hoare on "text is already a highly-structured graphical notation" via yoshiki
many technical innovations are latent in textual notations. Visually unambiguous yet uniform symbol sets, combinatorial-positional word formation, linear spatio-temporal segregation, punctuation and structured page layout .. these are all technologies in writing that we had to laboriously invent, and they have purposes, advantages! Similarly in coding, we had to invent and adapt technologies from verbal and mathematical notations refined over millennia: lines and columns, indentation, block layout, juxtaposition and precedence, scope, evaluation order, comments, grammars, version control, diff and merge algorithms ... the pile of structuring technologies embedded in the textual representation of programs isn't free, and it isn't useless
So I'm just really cautious when people suggest throwing it all out for some hypothetical reinvention. You need those structures: so you've got an immediate problem of "what are you going to use instead", and a longer-term question of "what makes you think you're not going to wind up right back at the same place ten thousand years of refining graphemes-on-a-page wound up"?
There's more where those quotes came from: Re: Graphical Editors
--
Chris Knott shares an interesting story about evolving clocks to solve a particular problem in a Slack conversation. A similar story about the MacCready Gossamer Albatross is shared there too.
Some quotes:
importance of not confusing incidental problems for fundamental problems
the entire issue is not solved, but sidestepped