Jens von Bergmann

Jens von Bergmann

@jensvb.bsky.social

Data, analysis, visualization, #CensusMapper, transportation cyclist. 📍Vancouver, BC

9.9K followers622 following2.8K posts

Jens von Bergmann reposted

looked at in longer perspective, it's striking how much this resembles the premodern system of exclusion, rents, and personalist connections, which was--and this part's important--radically worse than the modern system of impersonal rules and general taxation

Boston’s chief planner is a true believer in the San Francisco model, in which you make it impossible to profitably build apartments by-right so developers are forced into a politicized discretionary negotiation with the city, which relaxes the rules in exchange for below-market units.

View full thread

Being able to efficiently query remote parquet does require paying a little bit of attention how to organize the parquet files, r2parquet helps with that. For spatial data it automatically sorts by Hilbert Curve under the hood, enabling fast spatial queries. This one takes a little over a second.

If we need to access a particular parquet file often it's worthwhile to cache it locally. The package has built-in functionality for that and ensures the local cache stays up to date with upstream changes. Initial download takes time, but subsequent data access is much faster.

View full thread

3. parquet can carry rich metadata 4. cloud hosted parquet can act like a database server, you can remotely query parquet files for specific subsets of the data. (see attached example fetching just the 4k CoV dissemination blocks in sub-second time from remote parquet.)

But it's not just the ability to efficiently query subsets of the data, one can also perform joins on two remote parquet files, just like one would do if both datasets were in a local database. Again, a sub-second query, now involving two remote parquet files.

View full thread

r2parquet goes in a different direction, it facilitates the self-hosting of data. In that it is opinionated but not dogmatic. It strongly encourages publishing data in parquet, with rich metadata, hosted on R2. And it designs for selective reading of remote parquet data.

mountainmath.github.ioParquet and GeoParquet Files on Cloudflare R2 and S3Publish parquet and GeoParquet files on Cloudflare R2 or Amazon S3 and query them lazily. Creates R2 buckets with private or public access, including custom domains, uploads and removes (partitioned) ...

Why so opinionated, is parquet really better than sharing CSV? Yes! Let me count (some of) the ways. 1. parquet has a schema, no more reading character columns as integer 2. parquet compresses (don't zip a cloud hosted-parquet file for further compression though, see point 4)

Linked to footnote 3 with some more details and stats. -- Good stuff, I need to make a trip to the library to read the rest.

Nathan Lauster@lausterna.bsky.social

"As real incomes and aspirations rise, as people get married earlier and live longer, existing households split up, and there is a higher ratio of households to population, with a consequent increased demand for separate dwellings." Ruth Glass (1964, p xix) gets MHUs! cc: @jensvb.bsky.social

View full thread

Consider this example of trying to download data from StatCan. Traditional methods fail, but calling through `safeconduct::fetch()` works. (Although it requires waiting through a 2 minute Cloudflare curfue or solving a captcha to speed it up.)

{safeconduct} also provides a way to read webpages, for some StatCan data the only way to discover if data gets updated is scraping the web page. Which is blocked now using regular methods, safeconduct provides a drop-in method to still navigate this.

All polls have reported now, some races are still awfully close and we probably won't get official results for a while. CBC has not called any more ridings since Saturday night.

{safeconduct} solves the problem when programmatic data download has been disabled. It's a drop-in solution for `file.download` or `curl` to fetch remote data, although in some cases may require user interaction/captcha solves. This is a response to StatCan locking off some of their data.

mountainmath.github.ioFetch Files Through a Real Browser When a Plain Request Is RefusedSome servers refuse any request that does not come from a web browser, with a browser check or a block page instead of the file, Cloudflare being the common case. This package opens a real Chrome with...

Pretty sure we already trademarked the name for this planning practice and it’s called “Vancouverism”.

Boston’s chief planner is a true believer in the San Francisco model, in which you make it impossible to profitably build apartments by-right so developers are forced into a politicized discretionary negotiation with the city, which relaxes the rules in exchange for below-market units.

Still preliminary, but far enough along for some analysis. Comparing 2026 to 2024 vote share, Greens and Cons saw a fairly constant shift up in vote share, +1.2% for Cons and +2.6% for Greens with an almost flat slope a 1.07. NDP shows very different pattern, also positive intercept but slope 0.73.

In plain language, NDP's 2024 to 2026 change was not simply a vote shift where some percentage of their voters switched or did not show. They tended to hold or even improve their vote share where their vote share was low. And the higher the vote share, the more they lost.

Still some open races, but the vote swing has been pretty systematic. Everyone fairs better, except the NDP. Hindsight is 20/20, but there were plenty of people seeing this coming ahead of time.

Results are slowly rolling in, all preliminary. This is going to be a long night. At least I won't have to do anything any more. :-) (Assuming my scripts work as expected.)

672,639 votes counted, 1,933 of 7,361 polls reported, 32 of 93 ridings called. Still early, in 2024 there were a total of 2.1M votes. Looking at what has come in there is a lot of orange below the diagonal. And a lot of blue above.

While waiting for anonymous ballot markings, a quick graph on the geography of votes. People can vote at any place they want, but on average people tend to vote close to where they live. GREEN and ABC were the top two parties at every polling place, here is a map of the GREEN vote share advantage.

This just came up in a conversation earlier today, definitely “out of character” when it was built. By now the surrounding character adjusted.

This post is unavailable.

Jens von Bergmann reposted

In the real world, actualizing the right to housing requires that there are enough homes. This might seem self-evident, yet a surprising number of people struggle understanding this.

Ned Resnikoff@resnikoff.bsky.social

This piece, which fails to even gesture at the possibility that high cost European cities might have a shortage of housing, is inadvertently in object lesson in why the global housing crisis is hitting Europe so hard www.theguardian.com/commentisfre...

Jens von Bergmann reposted

Just reposting now for no particular reason…

In 2023 we did a quick rendering sketch for council motion by @christineboyle.bsky.social @onecityvan.bsky.social aiming to unlock new housing options in Shaughnessy... it didn't pass at the time, but here's the 2026 version to keep the dream alive.