wingolog
wingolog: A mostly dorky weblog by Andy Wingo
CompilersLisp / Clojure / SchemePerformance / optimizationSociety / politics / economy
- Posts
- 554 from 31 May 2002 to 16 May 2026
- Posting
- monthly (16 in the last year)
- Kind
- personal blog
- Feed
- https://wingolog.org/feed/atom
2026 14
- soot, solar, sedimentation, sin, & 'centers
- on hayek's bastards
- wastrel milestone: full hoot support, with generational gc as a treat
- the value of a performance oracle
- wastrelly wabbits
- free trade and the left, quater: witches
- nominal types in webassembly
- free trade and the left, ter: mises and my apostasy
- free trade and the left, bis: from cobden to lenin
- two mechanisms for dynamic type checks
- free trade and the left
- six thoughts on generating c
- ahead-of-time wasm gc in wastrel
- pre-tenuring in v8
2025 18
- in which our protagonist dreams of laurels
- the last couple years in v8's garbage collector
- wastrel, a profligate implementation of webassembly
- whippet hacklog: adding freelists to the no-freelist space
- guile lab notebook: on the move!
- whippet in guile hacklog: evacuation
- whippet lab notebook: guile, heuristics, and heap growth
- guile on whippet waypoint: goodbye, bdw-gc?
- a whippet waypoint
- partitioning ambiguous edges in guile
- whippet lab notebook: untagged mallocs, bis
- whippet lab notebook: on untagged mallocs
- tracepoints: gnarly but worth it
- whippet at fosdem
- baffled by generational garbage collection
- here we go again
- an annoying failure mode of copying nurseries
- ephemerons vs generations in whippet
2024 26
- preliminary notes on a nofl field-logging barrier
- needed-bits optimizations in guile
- fedi is for losers
- whippet progress update: feature-complete!
- conservative gc can be faster than precise gc
- on taking advantage of ragged stops
- whippet update: faster evacuation, eager sweeping of empty blocks
- javascript weakmaps should be iterable
- whippet progress update: funding, features, future
- finalizers, guardians, phantom references, et cetera
- copying collectors with block-structured heaps are unreliable
- enable persistent history in gdb
- cps in hoot
- hoot's wasm toolkit
- growing a bootie
- on hoot, on boot
- partitioning pitfalls for generational collectors
- hacking v8 with guix, bis
- on the impossibility of composing finalizers and ffi
- guix on the framework 13 amd
- family bike transportation
- nombrilliant, actually
- micro macro story time
- missing the point of webassembly
- scheme modules vs whole-program compilation: fight
- v8's precise field-logging remembered set
2023 27
- service update
- sir talks-a-lot
- a simple hdr histogram
- v8's mark-sweep nursery
- the last 5 years of V8's garbage collector
- colophonwards
- tree-shaking, the horticulturally misguided algorithm
- a whiff of whiffle
- whiffle, a purpose-built scheme
- i accidentally a scheme
- requiem for a stringref
- on safepoints
- a negative result
- on « the ministry for the future »
- parallel futures in mobile application development
- approaching cps soup
- structure and interpretation of ark
- structure and interpretation of flutter
- structure and interpretation of nativescript
- structure and interpretation of react native
- structure and interpretation of capacitor programs
- sticking point
- a world to win: webassembly for the rest of us
- pre-initialization of garbage-collected webassembly heaps
- whippet: towards a new local maximum
- three approaches to heap sizing
- parallel ephemeron tracing
2022 16
- ephemeral success
- i'm throwing ephemeron party & you're invited
- we iterate so that you can recurse
- a simple semi-space collector
- are ephemerons primitive?
- ephemerons and finalizers
- the sticky mark-bit algorithm
- on "correct and efficient work-stealing for weak memory models"
- new month, new brainworm
- accessing webassembly reference-typed arrays from c++
- just-in-time code generation within webassembly
- coarse or lazy?
- unintentional concurrency
- an optimistic evacuation of my wordhoard
- blocks and pages and large objects
- defragmentation
2021 6
2020 9
- on "binary security of webassembly"
- malloc as a service
- a baseline compiler for guile
- understanding webassembly code generation throughput
- multi-value webassembly in firefox: a binary interface
- multi-value webassembly in firefox: from 1 to n
- firefox's low-latency webassembly compiler
- state of the gnunion 2020
- lessons learned from guile, the ancient & spry
2019 5
2018 7
2017 8
2016 9
2015 9
2014 18
- state of js implementations, 2014 edition
- there are no good constant-time data structures
- scheme workshop 2014
- on yakshave, on color, on cosines, on glitchen
- generators in firefox now twenty-two times faster
- ffconf 2014
- ffs ssl
- high-performance packet filtering with pflua
- a wingolog user's manual
- revisiting common subexpression elimination in guile
- on gnu and on hackers
- flow analysis in guile
- effects analysis in guile
- stack overflow
- es6 generator and array comprehensions in spidermonkey
- compost, a leaf function compiler for guile
- elf in guile
- a continuation-passing style intermediate language for guile
2013 16
- optimizing let in spidermonkey
- a register vm for guile
- scheme quiz time!
- es6 generators and iteration in spidermonkey
- time for money
- but that would be anarchy!
- ecmascript generators from a performance perspective
- no master
- generators in v8
- inside full-codegen, v8's baseline compiler
- thoughts on blink
- sexuality and sexism
- on generators
- closedgl particle simulation in guile
- knocking on private back doors with the web browser
- an opinionated guide to scheme implementations
2012 19
- corps: bespoke text codecs
- Geneva
- quasiconf 2012: lisp @ froscon
- lakewards
- inside javascriptcore's low-level interpreter
- dltool mines dwarf
- rococo, and then rubble
- 10 years of wingolog
- inline cache applications in scheme
- list of ian lance taylor's linker articles
- stranger in these parts
- doing it wrong: cse in guile
- the merry month of ma
- an in-depth look at the performance of guile's web server
- for love and $
- palindromically delimited carnival
- unexpected concurrency
- eval, that spectral hound
- javascript eval considered crazy
2011 31
- webkittens! lexical scoping is in danger!
- fscons 2011: free software, free society
- JavaScriptCore, the WebKit JS implementation
- the user in the loop
- what's your C migration plan?
- partial evaluation in guile
- a schemer at jsconf.eu
- from ssa to native code: v8's lithium language
- the gnu extension language
- to guadec!
- a closer look at crankshaft, v8's optimizing compiler
- static single assignment for functional programmers
- v8: a tale of two compilers
- guile 2.0.2: building the guildhall
- security implications of jit compilation
- on-stack replacement in v8
- V8 is faster than GCC
- what does v8 do with that loop?
- value representation in javascript implementations
- javascript in 2011
- meta: per-tag feeds
- new beginnings
- git-brunch(1)
- storage primitives for the distributed web
- bart and lisa, hacker edition
- /usr/local, fedora, rpath, foo
- ports, weaks, gc, and dark matter
- guile 2.0 is out!
- gnu at fosdem
- "free as in beer"?
- types and the web
2010 23
- doing it wrong
- on the new posix
- meta data
- words that don't mean what you want them to: limn
- cap a la vaga general
- abusing the c compiler
- planetary rotations
- shoptalk
- living in a (hac)k-hole
- slouching towards bethlehem
- towards a gnu autonomous cloud
- code not burgers
- recent developments in guile
- ides of march
- with the prophetic voice
- guile and delimited continuations
- lunches and lunches
- sidelong glimpses
- sindicat, dia zero
- nukular
- readings
- twenty ten
- girations
2009 34
- gnu, gnome, and the fsf
- maxwell's equations of software
- in which our protagonist forgoes modesty
- codification
- hacker culture, permaculture
- class redefinition in guile
- optionals, keywords, oh my!
- case-lambda in guile
- digital interfaces
- rememberings
- read what i wrote on my shirt
- thigh fives
- wikipedia & guile
- goto 1965
- farewell, amat ciutat
- the good hack
- guadec ho!
- the chosen one
- in the beginning was the word
- hospitalized for approaching perfection
- poverty, riches
- the very merry month of may
- international lisp conference 2009, day three, part 1
- international lisp conference -- day two
- international lisp conference 2009 -- day one
- libreplanet 2009
- on psyntax
- notes from the city margins
- call/cc and ecmascript
- ecmascript for guile
- visualizing statistical profiles with chartprof
- days, months, years
- a brief history of guile
- git and bzr
2008 53
- i, lucifer
- another (turkey) bites the dust
- things I did
- dangling pointers
- ((lambda (x) ((compile x) x)) '(lambda (x) ((compile x) x)))
- whoisi impressions
- barna dispatch
- election night drinking games
- guile bar mitzvah
- dynamic dispatch: a followup
- dispatch strategies in dynamic languages
- libtool + gdb, a cure for pain
- merging in unrelated git branches
- breadcrumbs for future me
- the economy, stupid
- breaking silence, innocuously
- on the many roads to perdition
- introducing griddy
- so you want to build a compositor
- equanimity
- guile ? clutter ? quoi ?
- how to choose between equivalent options
- notes from the bosphorus
- stable guile-gnome released
- sunset skies; a plea for help; an outgrowing
- red pill
- pompous notes from the passive tense
- regarding decadence
- gnome in the age of decadence
- bounce!
- iraq veterans against the war; guile-vm
- an admission
- catching memory leaks with valgrind's massif
- a preview look at quagmire
- spamming the world into submission
- metablog
- object closure and the negative specification
- readings, and expoundings thereon
- git: a transcriptional database
- allocate, memory (part 2 of n)
- allocate, memory (part one of n)
- hear, memory
- fedora is the new ubuntu
- breathe it out, let it in
- how to vanish the hour
- random rules
- remorse
- using newfangled version control systems from emacs
- si cuela, cuela
- biting the hand that feeds
- I'm telling you
- hackings
- readings
2007 43
- yuletide notes
- in which our protagonist changes jobs
- convert a bazaar repository to a set of patches
- eeeevil
- when the mike is in my hand, i'm never hesitant
- reducing the footprint of python applications
- myopic ajuntament
- looking at the working week
- quarterly shmorterly
- the wax wing bits
- brought to you by torres viña sol
- random things
- b-b-b-barcelona
- vignettes
- monday evening dispatches
- unas merecidas vacaciones
- go put it in a washing machine
- happy birthday gnome!
- roundup
- dealing with mail
- documenting language bindings
- to birmingham!
- on the wire
- fold, xml, presentations
- mixed nuts
- rest in peace, anthony.
- bread crumbs
- foreign interfaces
- -*- text -*-
- the phoneless
- steal our code
- mayday, mayday
- random rules: ombliguismo
- How to switch a wordpress installation to use Debian packages
- photophonic updates
- positive
- fosdem, presentations, foo
- presentations and svg
- catalan dispatches
- Facts
- (pop! stack) => 'guadec-archives
- mucosidad
- refrigerator
2006 41
- songs about pottery
- why god made buttermilk
- radical adults
- autumn sweater
- high on sodium vapor
- curiosity and the catechism
- spottie ottie
- poetic notes of highschool journal keepers
- from france to the new continent, via galicia and barcelona
- the wild green yonder
- exciting papers!
- dissemination
- Irimi
- group w bench
- for every action
- sittin in a park in paris france
- rain on tin
- the verb calificar and the dance sardana
- the world is our clique
- Tunage
- pleasantries
- cypherpunks writecode
- cashing in your policy
- divendres
- passing through unconscious states
- So you want to stream a conference?
- feverish days, sleepless nights
- inside and outside
- pallet on the floor
- tenuous verticality
- tape ate the player
- it can't be all that pretty
- lost my wallet and feeling fine
- come on feet
- american dispatches
- quickly
- enjoying the widening gyre
- cvs-bisect
- bang bang
- Musical roundup of 2005 (yee ha)
- Slime
2005 48
- Craft; deceitful cunning; &c.
- plane from spain
- pos-pavo
- turkey preparations
- alice and bob
- post-harvest moon
- Google profiler a nice gesture but.
- Profiling
- Roundup
- Muneca
- dv capture
- eclipse
- Suboptimality
- Collected works
- buggin out
- new orleans
- lost days
- August fulcrum
- updates
- muntanya
- up to the date
- Zmake
- ppc ruminations
- and the jets
- Lists
- computerisation
- meeting morning from night
- Headed home
- how to know your visit is too long
- much ado
- sunday collection
- american updates
- text relocations and malicious media
- continuations
- pretending we're bunny rabbits
- odds and evens
- vaquero
- advogato plugin for wordpress 1.5
- Rollin the dice
- Inversion of inversion of control
- chocolate?
- purity of intent
- Powda
- Regarding Mr. Schaller
- Down settleage
- deceptive labelling
- spanish diaries
- canonical source
2004 52
- advogato importer for wordpress
- end of the year clearance
- notes from the +1 country code
- compound fractures
- culture and code
- turkles
- cromulation
- weenies
- bonobo-slay
- photobloggin
- nine months with arch
- wp-advogato
- Anarchists now and then
- Antelopes
- All Aboard
- SXML and authoring
- Precipitation
- XAML Schmaml
- Driving Mr. Schaller
- heading out
- literate programming with guile-lib
- oh, the luck!
- project updates
- schoolnet, guile-gnome
- cornucopioid
- advogato plugin for wordpress
- meta-notes
- classroom notes
- still hackin
- notes from the computer lab
- it shouldn't be this way
- random meditations
- post-advogato.
- posting from gnome-blog
- first post!
- administrative note
- 22 May 2004
- channeling satan
- pulling knuthes
- oversized crania
- canine consumption
- where we're at
- call the batmobile
- africasource postmortem
- africasource
- season of omagongo
- ondjuhwa oto lika po
- to be juiced
- cage writings
- Advogato 29
- liquid from the sky
- roasted baby jesus