@cfbolz@mastodon.social
@cfbolz@mastodon.social avatar

cfbolz

@cfbolz@mastodon.social

PyPy/RPython contributor. Half time teaching at Uni Düsseldorf. Works on dynamic language implementations. Vegan. Love street art and art in public spaces, hiking, reading.
they/them/?

This profile is from a federated server and may be incomplete. Browse more on the original instance.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

This is my 30 years belated realization that PHIGS was a 'graphics' pun pretending to be an acronym. I'm not sure if that makes me hate it more or less. I'm leaning towards more. The focus on PHIGS was less welcome when I read Foley and Van Dam than the chapter on dot-matrix printing which at least had some timeless "how stuff worked" appeal. Teaching specific APIs in a textbook almost never ages well.

cfbolz,
@cfbolz@mastodon.social avatar

@pervognsen heh, I read 'GC textbooks' first and was a bit confused for a second

cfbolz, to random
@cfbolz@mastodon.social avatar

Anyone now what the least bad option is to express popcount of a bitvector in Z3 is? @regehr maybe? (I tried both a naive loop as well as a bit-twiddling advanced solution. the latter worked but was on the slow side, and the loop blows up all my timeouts)

cfbolz,
@cfbolz@mastodon.social avatar

@regehr right, that's kind of what I tried but it took ages. now I'm doing the fancy bit-twiddling thing and it's faster.

(sidenote: this is the fun trick I realized this week. you can pass z3 variables to python code that does straightline bit-manipulation and it will work just fine, due to dynamic typing and operator overloading. the popcount in the screenshot works both for python ints but also happily spits out a Z3 formula)

cfbolz,
@cfbolz@mastodon.social avatar

@pervognsen @regehr yeah, ifs are a problem. It's doable with some tricks maybe, I'm still thinking about it

villares, to python
@villares@ciberlandia.pt avatar
cfbolz,
@cfbolz@mastodon.social avatar

@villares @melissawm great post, thanks for the link! I also thought footnote 3 was quite interesting:

cfbolz, to random
@cfbolz@mastodon.social avatar

Look, someone clicked 'inspect element' on the street!

gvwilson, to random
@gvwilson@mastodon.social avatar

There are things science just can't explain: https://www.youtube.com/watch?v=c1IzS2oBBN0

cfbolz,
@cfbolz@mastodon.social avatar

@gvwilson I'm not sure it's helpful for anyone but me, but at some point I drew this to try to understand it

cfbolz, to random
@cfbolz@mastodon.social avatar

Well dressed older guy at the main station casually chatting on his Motorola Razr, unbothered by all the Discourse

cfbolz,
@cfbolz@mastodon.social avatar

@pervognsen I had one too, and same

mariatta, to random
@mariatta@fosstodon.org avatar

Obvious things conference speakers should do:

  • submit a talk proposal
  • take a photo/selfie
  • write up bio
  • give the talk

Not obvious things conference speakers should do:

  • update email filter so emails from conference organizers don't end up in spam
  • when traveling, plan to arrive at Talk day - 2 days, in case of flight cancellations
  • show up at least 30 minutes before the talk slot, not 5 minutes before
  • use light mode presentation slides (light bg, dark text)

anything else?

cfbolz,
@cfbolz@mastodon.social avatar

@jacob @mariatta it goes with the bathroom part, but still wanted to mention it explicitly: wash your hands thoroughly, it helps if you get sweaty hands when you're nervous.

(also, don't drink soda before a talk, being burpy with a mic is no fun)

wingo, to random

doing a big renovation/ addition project on a 90yo house. many unknowns, of both rumsfeld types. allow me to share some beliefs i have had, sequentially, over the course of 3 weeks:

  1. this house is directly plumbed to the sewer mains
  2. 1, but with interstitial 2m^3 concrete settling tank. adjacent to foundations (why?). tank was concreted over and never emptied in last 20y at least
  3. omg the tank has a leak at the bottom
cfbolz,
@cfbolz@mastodon.social avatar

@wingo this is fascinating and scary and all, we definitely do need some pictures of the excavator though

whitequark, to random
@whitequark@mastodon.social avatar

proposal for more body-part emoji https://jschoi.org/20/body-emoji/ (via @hexylena)

heck yeah let's goooo

cfbolz,
@cfbolz@mastodon.social avatar

@whitequark @hexylena this person does a ridiculous amount of things. here's their "hobbies and interests"

I found the homepage after google gave me a random gist with lots of research on algorithms to store the unicode codepoint database more compactly: https://gist.github.com/js-choi/320275d05d6f252f6bd55199f76489a6

ltratt, to random
@ltratt@mastodon.social avatar

An excellent debugging story from inside a garbage collector (always tough bugs!) from https://mastodon.social/@cfbolz https://www.pypy.org/posts/2024/03/fixing-bug-incremental-gc.html

cfbolz,
@cfbolz@mastodon.social avatar

@ltratt in the meantime I also found https://github.com/silentbicycle/autoclave which I am finding quite nice

(I still wonder whether the slight randomization that multitime does is helpful)

cfbolz,
@cfbolz@mastodon.social avatar

@dcreager @ltratt heh, I actually have used pytest, cffi and hypothesis to test C libraries. Works really well actually

cfbolz, to random
@cfbolz@mastodon.social avatar

"Fixing a Bug in PyPy's Incremental GC", the promised blog post on my recent debugging Odyssey:
https://www.pypy.org/posts/2024/03/fixing-bug-incremental-gc.html

cfbolz,
@cfbolz@mastodon.social avatar

I've worked on extending the Hypothesis property-based test for PyPy's garbage collector to exercise more of the GC's features.

I've now added tests for pinning (temporarily ask the GC to not move a string around in memory, to be able to pass it to a C function) and for Python's id function (takes an object and returns an integer that stays the same over the lifetime of the object).

Of course it immediately found more mem corruption bugs :-(. they're now fixed.

will test more features still…

cfbolz,
@cfbolz@mastodon.social avatar

I've chatted with Armin Rigo a bunch in the last weeks (author of Psyco, part of the group of people who started PyPy) and was whining about the GC problems, he then sent me this 😂🤷‍♀️

(source: https://addictivescience.kemono.cafe/comic/computer-science/ clearly predicted by Kafka)

cfbolz, to random
@cfbolz@mastodon.social avatar

I just merged my PyPy garbage collector bug fixes! Detailed blog post about the whole saga coming tomorrow (at first I thought I'd write a thread, but now it's like 4000 words long 😌).

Unfortunately in the process we discovered that there is as least one other unrelated GC bug still at large. Need to work on that one next.

cfbolz, to random
@cfbolz@mastodon.social avatar

autoclave: commandline tool that re-runs a command until it fails, with some convencience functions for log rotation, timeouts, starting debugger at the point of failure, etc.

https://github.com/silentbicycle/autoclave

Thanks @tekknolagi for pointing me to it!

(the debuggingposting will continue until the fix is merged)

cfbolz, to random
@cfbolz@mastodon.social avatar

just came up with this amazing python assignment:

() = data

was a bit surprised that it actually works, but well... 😅

(it's a sequence unpacking assignment, where the target sequence has length 0. so essentially an assert that 'data' is bound to a sequence of length 0)

cfbolz, to random
@cfbolz@mastodon.social avatar

'If you know what a floppy disk is, then it's maybe time to think about burial insurance'

cfbolz, to random
@cfbolz@mastodon.social avatar

two weeks with a broken dishwasher makes me appreciate having it a lot more

cfbolz, to random
@cfbolz@mastodon.social avatar

Here are some tools how to deal with segfaults/other tricky bugs on Github Actions:

how to upload core files as build artifacts, great how-to by @itamarst:
https://github.com/itamarst/gha-upload-cores

how to get ssh access to the action runner using tmate: https://mxschmitt.github.io/action-tmate/

(I have been debugging a super tricky PyPy bug that looks like memory corruption and originally only happened on Github CI. I've thankfully managed to reproduce it locally in the mean time, but still not fixed.)

cfbolz, to random
@cfbolz@mastodon.social avatar

"Light from Uncommon Stars" by Ryka Aoki is as good as everyone says. I ended up reading it in one go and am now starting it from the beginning again.

AlSweigart, to random
@AlSweigart@mastodon.social avatar

I watch YouTube videos at the lower 360p resolution out of some weird environmental conservation sense. It uses (roughly) 10x less bandwidth and (I assume) 10x less computing power for the server. Most videos I'm just watching at 2x to get some general ideas or info out of, and I don't really need the extra resolution.

Anyone else?

cfbolz,
@cfbolz@mastodon.social avatar

@AlSweigart there is https://listenbox.app/ which lets you do it for arbitrary youtube channels. but it's not free, unfortunately.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • GTA5RPClips
  • magazineikmin
  • tacticalgear
  • khanakhh
  • InstantRegret
  • Youngstown
  • mdbf
  • slotface
  • thenastyranch
  • everett
  • osvaldo12
  • kavyap
  • rosin
  • provamag3
  • DreamBathrooms
  • Durango
  • normalnudes
  • ngwrru68w68
  • vwfavf
  • ethstaker
  • modclub
  • cubers
  • cisconetworking
  • Leos
  • anitta
  • tester
  • JUstTest
  • All magazines