@willmcgugan I think my favorite use of operator overloading in Python is in pathlib, because using slashes for directory separation is so common that it was *immediately obvious* to me what it meant.
@willmcgugan I think it mostly depends on who you want to optimize for. If I'm using textual on a regular basis, this is easy and might make it stand out more from other code. If I'm only touching textual because I'm fixing a random issue in an abandoned project, then post_message is clearer.
@AdamChainz edx-platform has a *lot* of dependencies, and we'll occasionally find slow-starting ones and do hacky things to mitigate that, like monkey patching Kombu's entry points (https://t.co/I9eFdUbOQn), or lazy-loading pynliner (https://t.co/PAs8VcD4iR).
@AdamChainz I've mostly just used cProfile to do the actual measuring, and either PyCharm's built-in profile viewer or Snakeviz to view it. Though it's been a while, and I'm guessing there are probably better tools for that these days.
Many people might be thinking about new jobs this week. 2U/edX is hiring: https://t.co/0Xq8nNYchC
Almost all of our software is open source (as @OpenEdX): we educate the world, and give away software so that others can too.
(plz RT? thx)
@nedbat Is there a word for when you've implemented something that is entirely consistent with the ruleset established for your language/system, but which results in entirely unintuitive behavior? When it fits the real model of the system, but not the obvious beginner view of the system?
@sampaccoud I'm not really familiar with the Mikado method beyond a couple of short blog posts though. Are there particular articles or books you would recommend for it?
@sampaccoud I think the Learning Core proposal is substantially less ambitious than a full refactoring of #openedx. The Mikado method sounds like the approach that was attempted with the Modulestore extraction, which produced some useful information and improvements, but was never finished.
@nedbat Would you write this in real code? I'm a little torn. I'd normally say "no" to a language idiom that I haven't run across in 14 years of coding Python. But once you know it's _possible_, the meaning seems intuitive. It does seem useful for a limited set of situations...
@nedbat I want syntax highlighting for that, because that's what my brain has been trained to believe code should look like. But I _know_ those methods/classes don't exist, and I don't want my IDE to scream at me about it when I'm just trying to play with ideas.
@nedbat One thing that always frustrated me when I tried PyCharm was the inability to quickly toggle off the red squiggly lines. I like import/variable checking 95% of the time, but sometimes I just want to _sketch_ the shape of an API.
@AdamChainz@jesseinit@testdrivenio@jesseinit: FWIW, I agree with @AdamChainz that it's a good starting position and will do the thing you expect more often when you're too busy to think about transactions. But you did ask for cons. :-)
@AdamChainz@jesseinit@testdrivenio There are drawbacks as your project grows in size/complexity though. If your pages are slow, writes can start locking on updating the same rows. You can also spin up a celery task that doesn't see a view-triggered update because the task runs before your transaction commits. etc.
After years of perf optimizations, JS is running way faster in the browser
Today, we're starting work to optimize JS perf in places where different rules apply, like Serverless and iOS devices
And this is possible because of WebAssembly 🚀
https://t.co/gajCsded4Z