news
Programming Leftovers
-
SICP ☛ Essence and accident in language model-assisted coding | Structure and Interpretation of Computer Programmers
In 1986, Fred Brooks posited that there was “no silver bullet” in software engineering—no tool or process that would yield an order-of-magnitude improvement in productivity. He based this assertion on the division of complexity into that which is essential to the problem being solved, and that which is an accident of the way in which we solve the problem.
-
Jussi Pakkanen ☛ 3D models in PDF documents
PDF can do a lot of things. One them is embedding 3D models in the file and displaying them. The user can orient them freely in 3D space and even choose how they should be rendered (wireframe, solid, etc). The main use case for this is engineering applications.
Supporting 3D annotations is, as expected, unexpectedly difficult because: [...]
-
Keith Harrison ☛ Format Swift with a Git Commit Hook
How do you automatically format your Swift code every time you commit it to your Git repository?
-
[Old] PivotNine Pty Ltd ☛ Open Source Has Too Many Parasocial Relationships
If you don’t want to do all the work yourself, you need to establish a relationship with other people. But if you’ve just been picking up software you found lying around the place, you don’t have a relationship with the people who built it. Not really. You might think you do, but one could argue that what you actually have is a parasocial relationship with free software, not a reciprocal relationship based on mutual advantage.
A lot of people have treated free software as a kind of naturally occurring resource, something that spontaneously happens in nature rather than as a product of directed human effort. Maintaining software takes work, and that work is done by people. People who might decide to do something different today, like changing the license, or selling their company, or letting someone else take over maintenance because they’re tired of the thankless toil, someone who inserts a back door into the code.
-
Lesley Lai ☛ Fifty Shades of OOP
The industry and the academy have used the term “object-oriented” to mean so many different things. One thing that makes conversations around OOP so unproductive is the lack of consensus on what OOP is.
What is Object-Oriented Programming? Wikipedia defines it as “a programming paradigm based on the concept of objects.” This definition is unsatisfactory, as it requires a definition of an “object” and fails to encompass the disparate ways the term is used in the industry. There is also Alan Kay’s vision of OOP. However, the way most people use the term has drifted apart, and I don’t want to fall into essentialism or etymological fallacy by insisting on a “true” meaning.
Instead, I think it is better to treat OOP as a mixed bag of interrelated ideas and examine them individually. Below, I will survey some ideas related to OOP and mention their pros and cons (in my subjective mind).
-
Noel Rappin ☛ Ruby And Its Neighbors: Lisp
So, after writing two articles basically assuming what Ruby’s influence are, it occurred to me to check the About Ruby page on the official Ruby site.
It says this:
Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: RcppQuantuccia 0.1.3 on CRAN: Micro Maintenance
A minor release of RcppQuantuccia arrived on CRAN moments ago. RcppQuantuccia started from the Quantuccia header-only subset / variant of QuantLib which it brings it to R. This project validated the idea of making the calendaring functionality of QuantLib available in a more compact and standalone project – which we now do with qlcal which can be seen as a successor package to this earlier package. qlcal tracks QuantLib (releases) closely and provides approximately quarterly updates. Switching to using qlcal is generally recommended.
-
Perl / Raku
-
Rakulang ☛ 2025.47 Advent Calling
We already have 9 days covered by 5 authors. Don’t miss out and reserve your slot now for the festive fun at the authors.md page. All it takes to get on the schedule is to make a quick PR with your name and your proposed festive post title(s). Beginner, Intermediate or Genius level – your call. It would be great to see some RakuAST related posts and unique Raku things such as Slangs and Grammars are always a lot of fun … plus would be cool to see something about SBOM, since no one wants the festivities ruined by hackers.
-
-
R / R-Script
-
Michaël ☛ Toponymy
Day 24 of 30DayMapChallenge: « Places and their names » (previously).
BDTOPO is the most detailed topographic GIS database for France, made by IGN under a free licence. It includes names. It’s massive (40 GB) so take a break while downloading…
-
-
Java/Golang
-
Anton Zhiyanov ☛ Gist of Go: Concurrency testing
Testing concurrent programs is a lot like testing single-task programs. If the code is well-designed, you can test the state of a concurrent program with standard tools like channels, wait groups, and other abstractions built on top of them.
But if you've made it so far, you know that concurrency is never that easy. In this chapter, we'll go over common testing problems and the solutions that Go offers.
-