Programming Leftovers
-
Jamie Brandon ☛ 0048: zest progress, zest ordering, wasm alignment, umbra papers, future of fast code, new internet, books, other stuff
All the compiler passes want data in the ir to be on the branch begin tags, so that they can make good decisions about how to handle children. But the interpreter wants data on the branch end tags so it can operate as a pure stack machine.
Type inference is also currently written as a stack machine to avoid the possibility of stack overflows from deep call trees. But this is increasingly difficult to work with eg if I want to do bidirectional tpye inference then I need two more stacks for passing types downwards and sideways. I originally wrote the codegen in this style but after rewriting it in recursive style the code was much more readable and flexible and I immediately spotted several bugs.
So I have two changes planned: [...]
-
University of Toronto ☛ In practice, abstractions hide their underlying details
Very broadly, there are two conflicting views of abstractions in computing. One camp says that abstractions simplify the underlying complexity but people still should know about what is behind the curtain, because all abstractions are leaky. The other camp says that abstractions should hide the underlying complexity entirely and do their best not to leak the details through, and that people using the abstraction should not need to know those underlying details. I don't particularly have a side, but I do have a pragmatic view, which is that many people using abstractions don't know the underlying details.
-
Brandon Pugh ☛ Tips for creating merge commits
A lot has been written about how to write good commit messages, but I rarely see the advice applied to merge commits. They may not be the most exciting type of commit, but they’re still very important.
-
Thorsten Ball ☛ Leave something for tomorrow
Here’s the crucial bit: “stop when you are going good and when you know what will happen next.”
-
Sven Luijten ☛ Git publish
I have a git alias set up to push the current (new) branch up to origin and set it as the remote-tracking branch: [...]
-
University of Toronto ☛ Mercurial's extdiff extension and reporting filenames in diffs
We have a long standing Mercurial 'alias' (it's not an alias in the Git sense) called 'hg sdiff' that provides diffs in non-context form, because for system administrator usage we're often changing things where the context of standard (context) diffs isn't useful and we want the terseness of standard diffs. For a long time we've had a little irritation, where if you changed only one file in a Mercurial repository 'hg sdiff' wouldn't show you the file name, but if you changed several files, 'hg sdiff' would. Today I dug into what was going on and it is more peculiar than I expected.
-
Python
-
Adnan Siddiqi ☛ Scraping HTML Data with BeautifulSoup [2024 Guide]
Have you ever wondered how to pull out useful information from websites without the hassle? BeautifulSoup is your go-to tool for scraping HTML data effortlessly.
In this article, we’ll walk you through the basics of web scraping using BeautifulSoup. No prior experience is needed! With its simple syntax and straightforward approach, you’ll quickly grasp the essentials of parsing HTML and extracting data from web pages.
Join us as we explore the world of web scraping in a beginner-friendly way. By the end, you’ll be equipped with the skills to gather valuable insights from any website with ease. Let’s dive in and uncover the magic of BeautifulSoup together!
-