- Greg Young (2014), The art of destroying software → https://vimeo.com/108441214
- 40-minute video of Greg's talk promoting "deletability" as part of software design.
- Design a program so you can delete it later if necessary and start over without fear.
- Richard Gabriel (2002), Objects have failed → https://www.dreamsongs.com/ObjectsHaveFailedNarrative.html
- From 20 years ago, this essay discusses the essence of smashmouth, in-your-face, non-cooperation that has infected "software" "engineering" as now pushed by right-wing reactionary technology "saviors" and self-styled "entrepeneurs".
- The truth is all this is driven by the obsessive fixation with static types which focuses on local optima and completely ignores objects as services that send and receive messages.
- Brett Slatkin (2022), The case for dynamic, functional programming → https://www.onebigfluke.com/2022/11/the-case-for-dynamic-functional.html
- All the problems with objects yoked to static types in the Gabriel essay melt away in this one.
Similar to how dynamic languages don't require you to "emulate the compiler" in your head, purely functional languages don't require you to "emulate the state machine". Functional languages reduce the need to reason about time and state changes.
- Bèr Kessels (2022), Using a Framework will harm the maintenance of your software → https://berk.es/2022/09/06/frameworks-harm-maintenance/
- Same goes for frameworks, which are "designed to take your project hostage'.
Liberation from framework dependency lock-in starts with custom elements, or "web components".
- Craig Buckler (2022), An introduction to native web components → https://blog.openreplay.com/an-introduction-to-native-web-components/
- Danny Moerkerke (2022), The Hidden Power of Custom States For Web Components → https://itnext.io/the-hidden-power-of-custom-states-for-web-components-dcae5b048e20
- You can use element internals to define a custom element's own custom states (AKA pseudo-classes sucha as
:checked
,:disabled
,:hover
)!
- You can use element internals to define a custom element's own custom states (AKA pseudo-classes sucha as
- Yves Goeleven (2021), Building offline Progressive Web Apps → https://www.goeleven.com/guides/building-offline-progressive-web-apps/
- Landing page and overview for the PWA philosophy. A lot of links to other articles Yves has written, such as...
- Yves Goeleven (2022), Task oriented user interfaces → https://www.goeleven.com/blog/task-oriented-user-interfaces/
- show only relevant state
- show related tasks
- form for each task
- show appropriate feedback
- create multiple small apps
Think of elements as whole applications.
- Christian Holst (2011), Redesigning The Country Selector → https://www.smashingmagazine.com/2011/11/redesigning-the-country-selector/
- From 2011, a select element made dynamic for country names, with a demo at https://baymard.com/labs/country-selector.
- Adam Silver (2022), Designing a time input → https://adamsilver.io/blog/designing-a-time-input/
- Why using a single text input is the best approach.
- @components_ai (2022), Accessible Color Combinations → https://randoma11y.com/
- Nice online tool for generating accessible foreground-background color combinations.
- @h_locke (2020), Why 'dark mode' causes more accessibility issues than it solves → https://scribe.rip/@h_locke/why-dark-mode-causes-more-accessibility-issues-than-it-solves-d2f8359bb46a
- Because of the "halation effect" caused by astigmatism which affects 47% of the population...
TLDR — dark mode makes astigmatism worse.
- Jen Simmons (2022), Using
:has()
as a CSS Parent Selector and much more → https://webkit.org/blog/13096/css-has-pseudo-class/- See in particular, Styling form states without JS.
Published by Krasimir Tsonev in 2022, here are my favorite two tips:
- Flux architecture → https://50tips.dev/tip/41/flux-architecture
- Comunicating sequential processes → https://50tips.dev/tip/43/flux-architecture
- @antirez (2022), In defense of linked lists → http://antirez.com/news/138
- Linked lists are educational, augmentable, useful, simple, conceptual