-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BLOG] the story about building scipy with flang on windows #795
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
For context: I had drafted this in google docs and already incorporated some feedback from Ralf. The textual content of the blog should hopefully be relatively final already. What remains is getting things to build & render here correctly, and complete the checklist. W.r.t. to the alt text, I tried looking around how it should be added, but the example does not explain it, and I couldn't find other blog posts using it (except in the initial table with
Also, the error messages are pretty inscrutable to me. The only relevant-seeming error I see is:
One reason might be the raw HTML table, with which I hope to achieve the following effect:
it works in Github, but not sure if it works in the markdown flavour in use here? Finally, not sure what a good headline image for the blog would be. I've been looking at pictures of oncoming freight trains (a metaphor that appears in the blog), but I'm also fine to use one of the stock images. |
@bskinn or @gabalafou would you be able to help with the alt text, table and image questions here? @h-vetinari thanks! I'll review again once there's a preview. One thing you may want to do is reduce the size of |
Didn't notice, that wasn't intentional. What's a good size to aim for (in pixels or file size)? |
@h-vetinari, the syntax for in-flow Markdown images is:
Your images are in the right place, and from what I can tell you've constructed the src URLs correctly (starting with Other items:
I created an We'll see if/how the post builds with these fixes. A plain HTML table like that shouldn't break the build, though it might not format very nicely. We may have to do some custom component work to render that as an actual table. (Or, include it as an image.) |
Just saw this. If you want, we can request something from design. That would likely push back the earliest feasible go-live date, though. |
Let's convert to JPG (without resizing). It's already got some loss/blur to it, so a JPG conversion likely won't degrade much. By my GIMPing, it drops it to under 400kB. |
Thanks for the review!
I played around with https://svgeditoronline.com/editor/, but the resulting file was not idempotent upon re-import (some things got corrupted, not sure if the error would be in the SVG itself or just the software), and it also got ~2MB large (after including the logos in question). That said, I'm happy to try to fix the SVG and use that (EDIT: it's been a pain, I tried getting a higher quality extract; it's ~3600x1700px, so hopefully good enough)
I'm probably dating myself quite badly with the Indiana Jones meme, but I came up with a simple visual for the story. If that's not serious enough, I'm happy to take a stock image (unless someone like Ralf or Tania would like to wait for a design, I'd rather get this published). |
Hold any further commits for a bit, @h-vetinari -- I've fixed the build and need to push my changes to your fork. |
Ok, @h-vetinari -- commit pushed that fixed the build locally for me:
|
Oh, and I fixed a couple of things that looked like typos. And, the VS Code environment is set up to autoformat Markdown, so it did its thing there. We can revert whatever needed bits. It may be dating me, too, but FWIW I really like your Indy featured image, I suspect it accurately conveys the sense of rapidly impending kerblooie of the approaching deadline of the 3.12.0 release. I'll leave it to the Labs folks to actually decide, though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much for your help @bskinn! :)
Just one question
The table rendering we have configured does not look much like what you provided above. This has always been something of a struggle with this tech stack. I think the options here are either to (i) render the table elsewhere, screencap (or otherwise render to an image), and embed; or (ii) to build a React component that makes it look the way you want and include that. (The MDX will let us do that.) There could be other options, too... thoughts, @gabalafou? |
Depending on how much HTML the stack here supports, we could probably try to set Though I don't particularly mind if we pre-render the table... 🤷 |
Can I send one to your email address in the git log? |
Sure! |
@h-vetinari Photo now set in Storyblok. Kicked off a redeploy of the preview build to see how it looks. |
also put all footnotes at the bottom, to make it easier to find them (matches rendered result), and how many of them there are already.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks close to ready - the story reads well, and it's also in good shape visually. I did a last full review, all but two or three comments are minor textual ones. I think we can get this published once these are addressed.
Despite being the product of heroic efforts by many very bright people, | ||
`numpy.distutils` is generally regarded as a pile of hacks, and has been in | ||
minimal maintenance mode for years. | ||
In many ways, this is what led to the creation of conda. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something in this section, in particular related to this sentence and the wheels <-> distutils connection, is a little off. It's hard to propose a direct rephrase, but the basic issue is that distutils
/setuptools
are build systems, while wheels (and eggs) are package formats; distribution of those formats on PyPI was what fell short and led to Conda (and this predated wheels).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but the basic issue is that
distutils
/setuptools
are build systems, while wheels (and eggs) are package formats
I'm probably taking a few too many short-cuts here, but doing justice to all this without walls of text is really hard. In my defense, I did caveat in the beginning that the recap would be "incomplete and opinionated". ;-)
I can maybe highlight Dustin's talk more, which gives a very nice historical walkthrough (minus conda). In any case, I'll attempt a clarification.
distribution of those formats on PyPI was what fell short and led to Conda (and this predated wheels).
I wasn't around at that time, but from what I can tell, the timing coincided pretty closely. Continuum Analytics was started in 2012, and the wheel spec got defined around that time too.
My understanding is that the impetus for conda was by far not only about those package formats and their distribution on PyPI. Again from that blog post:
In fact, numpy.distutils replaces most of the innards of distutils but is still shackled by the architecture and imperative approach to what should fundamentally be a declarative problem.
Hence why conda was moving things from setup.py
(imperative; specs resolved at execution time) to recipes (declarative dependencies in advance).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Realised/remembered a couple things while working on this:
- I had wanted to setup some background for the removal of
distutils
later - The whole wheel thing came in because I wanted to also call out some successes and not just appear to have an entire section dedicated to how python packaging sucks.
- The flow of the story further up (+ the meme) made it a no-brainer to talk about wheels, as that's what was necessary to get rid of users needing a compiler.
In any case, I took a stab at rewriting that section and I think it's now better. It goes more to the heart of the issue, it works in some allusions to the imperative/declarative divide that spurred the creation of conda, and it relates much more directly to the embedded image.
Would be happy to hear your thoughts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, it is better now.
Hence why conda was moving things from setup.py (imperative; specs resolved at execution time) to recipes (declarative dependencies in advance).
I now understand what you meant. It's about install_requires
and build_requires
. To me, that's dependency specification and is only 1-2% of what's in setup.py
, and the other 98-99% is building the package - that remained unchanged. The metadata -> conda recipe move was basically pyproject.toml
rather than the wheel format, so a lot more recent.
Anyway, let's call this good, thanks for iterating on it.
Co-authored-by: h-vetinari <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM now, let's get this published. Thanks a lot @h-vetinari! And thanks @bskinn for help with the table & blog format.
Text styling
Non-text contents
For hero.png, I manually modified an existing svg using https://svgeditoronline.com/editor/, and added the following logos: