The author, Jeremy Hylton, is now a Principal Engineer at Google working on AI search quality. It's quite remarkable that in 24 years, a single person's career has gone from a tongue-in-cheek memorialization of certain syntax being forbidden, to working on ubiquitous query systems that don't require dedicated syntax at all!
> The Stardate time format had nothing to do with Sun. I added it to Tcl while working at Scriptics, as an easter egg for the then-upcoming Tcl2K Conference. One of the conference events was a competition to implement a standard-to-stardate conversion utility, using an arcane formula. Only one guy entered the event. He spent a couple hours agonizing over the implementation (as he was looking for a job at Scriptics, he was eager to impress) only to have the easter egg revealed afterwards. Of course he won the competition anyway. And he got the job, too. –
Eric Melski
How is it remarkable? Random people didn't get to add stuff to Python in 2001. It was a niche thing and someone who was contributing to it was likely to be a smart and dedicated person who would naturally have an impactful career ahead of them.
It's a misconception that the informal playful hobby hacking things are their separate world from real professional development.
> In 2024 suddenly everyone is grown up and corporate and has never done anything wrong.
Trying to be considerate of others, even when they are different from ourselves, is indeed kind and good and does come with maturity. You needn't be corporate or have never done wrong to be considerate.
I thought getting cute with import-hooks was probably the most creative possible way to get fired, but I see now that this was naive. My only regret is that the codec regex probably prevents using stuff like "μtf8" to really troll people properly, so now I'm going to have to use import hooks, preprocessors, and sys.settrace to monkey-patch every function to the previously called one, while swapping stdout and stderr every 17 minutes.
Now, I don’t know how representative this book is of Murakami’s novelistic style, but I wonder: Is this low-maintenance, attention-deficit prose part of Murakami’s attraction, especially among the young? Do people enjoy reading him for the same reason they persist in listening to music as blandly familiar as Clapton’s? If Martin Amis is engaged in a “war against cliché” a phrase in danger of becoming a cliché itself then Murakami, on the evidence of this book, is a serial appeaser. How much does his thigh hurt? “Like crazy.” How do we know the weather is nice? Because as he tells us (twice) there’s “not a cloud in the sky.”
self-styled zero-percenter and book reviewer in the above
2.^_^?
(Norwegian Wood)
(Roughly, “growth is pain, nongrowth is unfortunate”)
If it hadn't been for Clapton, I probably never would've heard of Laylā bint Mahdī bin Saʿd bin Muzahim bin ʿAds bin Rabīʿah bin Jaʿdah bin Ka'b bin Rabīʿah bin Hawāzin bin Mansūr bin ʿAkramah bin Khaṣfah bin Qays ʿAylān bin Muḍar bin Nizār bin Maʿad bin ʿAdnan.
Beautiful song… I start to see where the … uh … tradition of responding to rejection with physical selfdestruction in that part of the world comes from…
As for Clapton, something tells me that wouldnt make a good snowclone :)
hmm... AK and margin lead me to Vereshchagin and Vitanyi, Kolmogorov’s Structure Functions and Model Selection (ca. 2002) — might this be something you have opinions on, or should I ask Hutter instead?
Marcus and Jürgen introduced me to the notion that the limes marks a node (corresponding to the second eigenvector?) on the Chladni plate of germany; on the southern side, the dot product (with this "barbarianism" eigenvector) has a negative value.
Lagniappe: Grund(Bläbst), Feuer am Limes (1987)
Das große Graph war viel zu weit,
für unsre Schnitte zu wenig Zeit.
Versuchen wir es wieder,
solang' man Spektren noch rechnen kann.
Not doubting that the confoederati were always destined to become Men of Culture!
Just observing that cultural boundaries might be interesting, even if the interiors might not be[0]
Should we close the Rao-Gelman thread then, or are you still working on it?
[0] no time or battery to source out a citation, there was an american (californian?) accusation that the helvetics are only capable of inventing cuckoo clocks
Edit edit: you have to admit M. Kowalski was abit trigger-happy in casting aspersions on Mr Quid? Otoh a flatlander might be blunt but also in their own way circumspect?
taykh? (Q. what do you call a strawberry from Bretagne? A. Une freizh)
Right now I'm going down the rabbit hole of expander graphs (aha, these also have a spectral gap?), but soon I shall have some bandwidth for coarse-graining coffee automata.
(I doubt you have my public key, but I fear that were you to take the inference closure of our convos and some gumshoe work, you could easily have 33 bits worth of identity)
Do I understand correctly that if we were to attempt to explain Kolmogorov Sophistication to Aristotle, we would say "the sophistication of `x` is the smallest essence over all proper[0] descriptions of x by, first[1] its essence, and then[2] its specific accidents"?
Intuitively, this would make sense, because as glass bead game players we are drawn to (beads whose cane was also formed from)* beads. As Körner would say, the height of distinction for a mathematician is to have, not an eponymous theorem, but an eponymous lemma.
[0] I don't understand what constitutes a proper description here yet, but am currently assuming it has to do with lying on a subsumption frontier, otherwise the trivial model would always be minimal.
[1] I think this has to be noncommutative, for otherwise we'd waste description bits on labelling the accidents? Compare canonical Huffman. (.a Lojban)
“You can hold yourself back from the sufferings of the world, that is something you are free to do and it accords with your nature, but perhaps this very holding back is the one suffering you could avoid.” - Franz Kafka
Python has a whole bit about how it is for "consenting adults" and that's why it lacks public/private visibility modifiers and presumably why it exposes all other manner of metaprogramming magic. If they were worried about "reasonable adults", these other design decisions would be curious. :)
Huh, that’s convenient and really useful. When I do ridiculous import hacks, i usually just do it be importing a module, that trades the ast module to rewrite code, exec it and shim in an exit(). A preprocessor would be so much more ergonomic.
I used the ast rewriting stuff mostly before dicts were all ordered - replacing fist literals with an ordered dict call, which was actually useful.
I love how flexible python is. Most cursed thing I ever did was mutating strings in place, which led me eventually abusing mmap as well to write scripts that mutated themselves. Now I feel need to write lisp interpreter as a producer.
Now, I'm left to wonder if this could have been used to better handle the Python 2-to-3 transition, e.g '# coding: six.python2' would adjust Python2 code to be valid Python3, or '# coding: six.python3' would adjust Python3 code to run under Python2 - e.g adding/removing the b"..." or u"..." prefixes!
It could help, but the parts it would help with are the easy parts. The challenges of py2 to py3 were the runtime behavior change: a Unicode and regular string containing ASCII were the same string in py2, as in you could use them as keys of a dict and they'd key the same entry. In py3 a bytes and str of the same ASCII would identify different entries in the same dict.
Some more nasty changes: various built ins like .keys() and .values() return lists in py2 but iterators in py3. Code gets very verbose if you use the six utilities or other workarounds to translate code safely - most times those are called they are used once, but every once in a while they are used twice.
Imo if you have such a tool that can rewrite at import time you should just commit the transformed code, and clean it up incrementally. The hard parts are the behavior changes that can cross long distances like the str v bytes behaving so different than py2 Unicode v str
Are the dependencies introduced via this coding hook strategy picked up by `pip freeze' or uv?
Otherwise, ..have fun with that :). Probably easier to rewrite any library rather than fight such dragons (because if someone put this in, what other traps await? Seems almost guaranteed.)
Super cool!
It would be kinda funny to make a pseudocode python that get’s “decoded” by an llm. Obviously it would be hideous but probably somewhat fun :)
except when it comes to downloading, installing, or running anything Python related. maybe by 2124 we can give users a python app and let them run it without 20 steps. (oh who am i kidding, by then we'll rewrite everything in whatever comes after Rust)
I think the title of this needs to be changed as it implies that this is a preprocessor project named Pydong. As far as I can tell that's simply the name of this blog and this post is about how python has a preprocessor built-in if you abuse the right mechanisms.
I remember that I wanted to implement a python module that would improve upon the builtin Django groups. So following a tradition of adding ex to the end of the existing name, I named my module "groupsex".
After taking a peek at it I decided to rename it to groups2 instead :)
10 years ago this was just a joke, but today, now that we're finally agile enough so that any disorganized jumble of completely unreviewed and unversioned notebooks might suddenly become a production pipeline? Why let a little thing like critical errors halt the execution of that perfect nightmare you've been working on! The only problem is that the database still won't let you shove a string into an integer slot, but data-science is looking forward to switching over to spreadsheets completely as soon as we can migrate the data from redshift.
> The web devs tell me that fuckit's versioning scheme is confusing, and that I should use "Semitic Versioning" instead. So starting with fuckit version ה.ג.א, package versions will use Hebrew Numerals.
There are also seeeeeveral LOVE2D libraries with overtly sexual names. The most egregious example that comes to mind is the (now defunct compat library) "AnAL." There's also HUMP, Pölygamy, Swingers, Adult Lib (debatable but close enough), Gspöt, Möan.lua, fLUIds (also debatable, but there's a clear theme here), and yaoui.
I had a partner that was a translation coordinator and they would play me this VM from one of the Vietnamese translators, every time he called he would say, “Hi this Phuc, ha ha that is funny to you, anyway …”
I had actually considered PrePy and variations thereof for the magic_codec project (which is the example implementation showcased in that post), unfortunately all of these had been used by other projects before. Pydong is the name of the blog :)
https://github.com/python/cpython/commit/ad3d3f2f3f19833f59f...
The author, Jeremy Hylton, is now a Principal Engineer at Google working on AI search quality. It's quite remarkable that in 24 years, a single person's career has gone from a tongue-in-cheek memorialization of certain syntax being forbidden, to working on ubiquitous query systems that don't require dedicated syntax at all!