Making sense of the Y‑Combinator
Y = f => (x => x(x))(x => f(y => x(x)(y)))
Saw it and couldn't make much sense of it. On my nth try though…On Agility
Nothing to do with Scrum!
Mostly about:- delivery – adding value
- while maintaining the ease, and momentum, for future delivery.
On Code Comments
“Code Smell” is a signal. A hint from the code itself, that there might be a deeper issue with it. Not an immediate problem though, but rather a potential long-term affect on the code quality and maintainability.
Here’s a thought: code comments, often seen as helpful, are actually a code smell. Why? Because they are either redundant – adding to the mental load, or an indication of the fact that the code is overly complicated — too much context, too many tasks being done, mismatched abstraction levels, etc.
Comments aren’t inherently bad, they have their place. But if there’s a comment, there’s often an opportunity to improve the code.
The hardest – and usually a crucial part of any thing is maintenance. Even with wearing glasses the hardest part is to keep them clean.
What does not need constant maintenance and keeps giving is such a joy. A speaker that sounds the same as when it was last sat up.
On Css-in-JS
What I think is close to:
My two cents on styling:
- It sure depends on the context and requirements. Usually:
- a minimal global css file, that handles overall look and feel for the website. Ex: fonts and typography, spacing, responsive design targeted media queries, colors, links and hovers.
- Global classes for common use cases (ex: image and caption in a blog, meta texts, code)
- CSS in JS for specialized cases, unique components, samples, styles related to code heavy components.
- Prefer CSS to JavaScript for styling when possible. Hovers, media queries, transition animations and the sort, all should be handled natively by CSS rather than JavaScript – don’t reinvent the wheel.