From 967d0f419ace63b1c8bd105096a1dffefcd71ca2 Mon Sep 17 00:00:00 2001 From: Offirmo Date: Fri, 11 Oct 2024 16:27:51 +1100 Subject: [PATCH] +++ --- stack--current/0-CONTRIBUTING/10-toolchain.md | 5 + stack--current/0-meta/tsconfig.json.md | 6 + .../2-foundation/prettify-any/README.md | 1 + .../browser-features-detection/README.md | 2 + .../css--framework/src/themes/README.md | 1 + .../3-advanced--browser/css--reset/NOTES.md | 3 + .../css--reset/src/browser--safari/NOTES.md | 3 + .../bite-sized/lists/senior-dev/career.md | 107 +++++++++++++++++- .../bite-sized/lists/senior-dev/interview.md | 2 + .../lists/senior-dev/tech-bites--concepts.md | 4 + .../senior-dev/tech-bites--frontend-web.md | 16 ++- .../tech-bites--product-and-strategy.md | 5 +- .../lists/senior-dev/tech-bites--system.md | 6 + .../lists/senior-dev/tech-bites-TOSORT.md | 56 ++++++--- .../lists/serious-memes/mental-models.md | 24 +++- .../active--no-pkg/disrupt/email/NOTES.md | 1 + .../active--no-pkg/disrupt/pdf/NOTES.md | 4 + .../active--no-pkg/disrupt/trust/NOTES.md | 2 + .../9-rpg/xx-notes/common/notes--polish.md | 2 + .../the-boring-rpg/interfaces/src/actions.ts | 8 +- 20 files changed, 234 insertions(+), 24 deletions(-) diff --git a/stack--current/0-CONTRIBUTING/10-toolchain.md b/stack--current/0-CONTRIBUTING/10-toolchain.md index 27921b75..46a2038c 100644 --- a/stack--current/0-CONTRIBUTING/10-toolchain.md +++ b/stack--current/0-CONTRIBUTING/10-toolchain.md @@ -71,6 +71,8 @@ TODO evaluate Rpack https://rspack.dev/ ## linting TODO re-evaluate ESLint https://eslint.org/blog/2024/07/whats-coming-next-for-eslint/ + https://eslint.org/blog/2024/10/eslint-json-markdown-support/ + TODO https://biomejs.dev/ ## environment manager @@ -139,3 +141,6 @@ https://github.com/folke/ultra-runner - TODO evaluate https://yarnpkg.com/features/release-workflow - TODO evaluate changesets https://www.totaltypescript.com/how-to-create-an-npm-package + + +TODO https://knip.dev/ diff --git a/stack--current/0-meta/tsconfig.json.md b/stack--current/0-meta/tsconfig.json.md index 925e16f4..803064b9 100644 --- a/stack--current/0-meta/tsconfig.json.md +++ b/stack--current/0-meta/tsconfig.json.md @@ -29,6 +29,12 @@ REMINDER: the build script relax a few rules in dev mode (--watch), see `build-t * added nouncheckedsideeffectimports https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/#the---nouncheckedsideeffectimports-option * +### PENDING 2024/10/11 5.7 +https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-beta/ + +path rewriting `allowImportingTsExtensions true "rewriteRelativeImportExtensions": true,` +es2024 + ### 2024/08/29 big pass following some issues diff --git a/stack--current/2-foundation/prettify-any/README.md b/stack--current/2-foundation/prettify-any/README.md index 5b5438fd..891dce08 100644 --- a/stack--current/2-foundation/prettify-any/README.md +++ b/stack--current/2-foundation/prettify-any/README.md @@ -54,3 +54,4 @@ Note: was formerly using prettyjson and got inspired by it. "@types/prettyjson": "^0.0.30", TODO review https://github.com/jestjs/jest/tree/main/packages/pretty-format +TODO review https://www.npmjs.com/package/@parischap/pretty-print diff --git a/stack--current/3-advanced--browser/browser-features-detection/README.md b/stack--current/3-advanced--browser/browser-features-detection/README.md index 911d9c80..080790d3 100644 --- a/stack--current/3-advanced--browser/browser-features-detection/README.md +++ b/stack--current/3-advanced--browser/browser-features-detection/README.md @@ -11,3 +11,5 @@ MUST be semantic!! * TODO device detection to refine the inset? https://css-tricks.com/snippets/css/media-queries-for-standard-devices/ + +TODO https://css-tricks.com/recipes-for-detecting-support-for-css-at-rules/ diff --git a/stack--current/3-advanced--browser/css--framework/src/themes/README.md b/stack--current/3-advanced--browser/css--framework/src/themes/README.md index 5cc43873..a7656be0 100644 --- a/stack--current/3-advanced--browser/css--framework/src/themes/README.md +++ b/stack--current/3-advanced--browser/css--framework/src/themes/README.md @@ -37,6 +37,7 @@ Color selection * https://uxmovement.com/content/why-you-should-never-use-pure-black-for-text-or-backgrounds/ * https://ianstormtaylor.com/design-tip-never-use-black/ * https://bestmotherfucking.website/ is using true white/black + * Ideas "Alternatives to Using Pure Black" https://codepen.io/marcobiedermann/pen/ExqKeoW * Github is using rgb(36, 41, 47) ### TODO additional themes? diff --git a/stack--current/3-advanced--browser/css--reset/NOTES.md b/stack--current/3-advanced--browser/css--reset/NOTES.md index 8c29b198..754a5226 100644 --- a/stack--current/3-advanced--browser/css--reset/NOTES.md +++ b/stack--current/3-advanced--browser/css--reset/NOTES.md @@ -29,3 +29,6 @@ TODO look at https://wiki.csswg.org/ideas/mistakes TODO https://survey.devographics.com/en-US/survey/state-of-html/2023/yFuZtjtGXu0jQtnJNbota/finish + + +https://fxdx.dev/ "Firefox Developer Experience" diff --git a/stack--current/3-advanced--browser/css--reset/src/browser--safari/NOTES.md b/stack--current/3-advanced--browser/css--reset/src/browser--safari/NOTES.md index fe08dfb4..6963c1f4 100644 --- a/stack--current/3-advanced--browser/css--reset/src/browser--safari/NOTES.md +++ b/stack--current/3-advanced--browser/css--reset/src/browser--safari/NOTES.md @@ -5,3 +5,6 @@ * can't style "details" * progress becomes greyed when out of focus * + + +https://webkit.org/blog/15865/webkit-features-in-safari-18-0/ diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/career.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/career.md index a19184c5..bedb449d 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/career.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/career.md @@ -1,4 +1,17 @@ + +## overall direction + +IC or management ? +TL vs PM vs EM ? + +https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/ + +"director ceiling" https://www.reddit.com/r/ProductManagement/comments/10ldwq7/how_to_make_the_jump_from_senior_to_director_at_a/ + + +------------------------------------------------------------------------------------------ +https://www.teamblind.com/post/Made-it-to-FAANG-Director-without-a-single-promotion-ever-NS2LaxE7 https://www.teamblind.com/post/Made-it-to-FAANG-director-without-a-promotion-ever-HVX5th8f I finally (recently) made it to FAANG Director without ever being promoted in my entire career. @@ -52,18 +65,106 @@ New btw, is my own company that I use to manage my rental properties. TC 1.1million Yoe 15 Net worth 8 million (single income family) +------------------------------------------------------------------------------------------ +## Day performance (minimum pre-requisite) +### perf categories +* demonstrable impact from main role + * ex. dev = code, PRs, tickets implemented, features shipped, bugs fixed +* Engineering Excellence AKA “I do hard things” + * Code reviews that I’ve given that I’m proud of. +* Direction = Technical decisions and proposals +* Organizational Impact + * interviews + * mentoring -https://www.techinterviewhandbook.org/understanding-compensation/ +### evidences / data signals +* Take weekly notes! +* Beware of recency bias! Polish your start & end of review period! -https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/ +1:1 notes +Pull requests +Jira tickets +Documentation, Architectural diagrams and other artifacts + +Relevant Slack threads, e.g. debating a technical decision (links & screenshots) + +Projects you’ve both led and contributed to + +Mentorship and development + +Positive feedback from others: + Kudos + Slack call-outs + Thanks in retro + Verbal shout-outs from your manager or key stakeholders, public or private + +Interviewing and recruiting successes/wins + +Leadership opportunities, directly connected to your technical efforts or otherwise (e.g., community efforts, team-building exercises, implementing team-wide processes, helping with new hires onboarding, share performance/self-development tools) + +### self-assessment + +### individual goals + +See SMART goals (MModels) + + +Descriptive action +(what you plan to do and who you plan to do it with) + +Outcome you want to achieve +(result) + +Specific success measure +(metric) + +Due date +(timeline) + + +Also: +- manager: 1. Build a shared understanding of expectations and goals from the outset +- manager: 2. Distribute opportunities, support, and resources equitably +- manager: 3. Hold yourself accountable for providing timely, fair, and actionable feedback. + + +## progression + + +> Promotion is this carrot that dangles in front of you. When you focus on it, you’d be miserable. +> Always focus on actual work and scope. You’d be rewarded by jumping ship sooner than the next promo lands. + + +P3 should be learning how to engineer high quality software +P4 should be doing the lion’s share of engineering +P5 should be leading your team’s execution on engineering +P6 should be driving action in your teams, after identifying opportunities themselves + + +## job change + +### offboarding +* internal blog posts +* networking +* private files on own computers +* CV blurbs, incl. numbers!! + + +### onboarding +* meet everyone + * "what should I know?" + * "who should I meet?" + + + +## TOSORT -"director ceiling" https://www.reddit.com/r/ProductManagement/comments/10ldwq7/how_to_make_the_jump_from_senior_to_director_at_a/ startups diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/interview.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/interview.md index 032f8f09..1c0aee6c 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/interview.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/interview.md @@ -3,6 +3,8 @@ antisèche https://docs.google.com/spreadsheets/d/1KBBw1IkffjMwoy6anErauYwmKkVMW funnel https://posthog.com/newsletter/how-to-get-job-startup +https://www.techinterviewhandbook.org/understanding-compensation/ + https://www.techinterviewhandbook.org/ diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--concepts.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--concepts.md index f92ad527..a8fdf125 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--concepts.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--concepts.md @@ -235,6 +235,7 @@ IAM -- CIAM "Customer Identity and Access Management" = a type of identity and a IAM -- CIAM -- 01 Improves customer registration and login experiences while reducing the risk of account takeover (a rampant problem in the consumer space because of password reuse) IAM -- CIAM -- 02 Offers customized and branded experiences for consumers, businesses, and enterprise customers IAM -- CIAM -- 03 Provides a scalable solution that can support hundreds of millions of customers +IDE "You're not productive enough without a productive IDE" IDE (Integrated Development Environment) IDEALS IDEALS -- 1 Interface segregation @@ -282,6 +283,7 @@ languages -- weekend https://stackoverflow.blog/2017/02/07/what-programming-lang layer -- abstraction layers -- shearing lazy-loading +legacy code = code without good testing coverage that we don’t recall writing https://www.booktopia.com.au/working-effectively-with-legacy-code-michael-feathers/book/9780131177055.html let's deploy to production https://www.youtube.com/watch?v=5p8wTOr8AbU LIFO linked list @@ -295,6 +297,7 @@ loop - breaking out of LTS, maintenance LTS, active LTS https://nodejs.org/en/about/previous-releases magic number map +math https://math4devs.com/ MDN memory -- heap memory -- stack @@ -476,6 +479,7 @@ test -- test double https://martinfowler.com/articles/mocksArentStubs.html the room https://lethain.com/getting-in-the-room/ this thread +threads -- virtual https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html TLS "Transport Layer Security" tool -- http://devdocs.io/ tool -- sprawl diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--frontend-web.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--frontend-web.md index d7e16718..94e65863 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--frontend-web.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--frontend-web.md @@ -50,6 +50,9 @@ client/server -- multi-tier architecture -- 03 business client/server -- multi-tier architecture -- 04 data access client/server -- multi-tier architecture https://en.wikipedia.org/wiki/Multitier_architecture collaborative experiences https://zknill.io/posts/collaboration-no-crdts/ +design -- intuitiveness vs. confusing, cluttered, dense, not practical, lack of visual hierarchy +design -- ease of use vs. clunky, all over the place, +design -- design aesthetic components https://www.componentdriven.org/ Contrast ratio https://www.siegemedia.com/contrast-ratio CORS (Cross-Origin Resource Sharing) @@ -106,6 +109,12 @@ CSS -- zoom https://www.oddbird.net/2024/07/09/zoomies/ CSS https://developer.mozilla.org/en-US/docs/Learn/CSS/First_steps/Getting_started dark patterns -- hall of shame https://hallofshame.design/ dark patterns https://www.uxtigers.com/post/dark-design +data fetching -- 1 fetch on render +data fetching -- 2 Fetch-Then-Render +data fetching -- 3 Render-as-You-Fetch +data fetching -- 3 Render-as-You-Fetch -- Relay EntryPoints https://github.com/relay-tools/typescript-relayjs-examples/issues/1 +data fetching -- preload-on-intent +data fetching https://17.reactjs.org/docs/concurrent-mode-suspense.html#traditional-approaches-vs-suspense data fetching https://martinfowler.com/articles/data-fetch-spa.html design -- guides https://owickstrom.github.io/the-monospace-web/ design quality -- 1 Intuitiveness vs complicated, overwhelming, cluttered, steep learning curve, significant cognitive load. @@ -131,6 +140,7 @@ DOM -- Nodes -- 10 Document Type = DOM -- Nodes -- 11 Fragment DOM -- Nodes -- types = ELEMENT, ATTRIBUTE, TEXT, CDATA, PROCESSING_INSTRUCTION, COMMENT, DOCUMENT, DOCUMENT_TYPE https://devdocs.io/dom/node/nodetype DOM tree = Nodes = text, elements, attributes, comments... includes elements such as and , among many others. +ECMA -- 2024 https://socket.dev/blog/tc39-advances-10-ecmascript-proposals-key-features-to-watch ECMAScript - European Computer Manufacturers Association Script (ES) emojis https://nolanlawson.com/2024/09/17/the-continuing-tragedy-of-emoji-on-the-web/ events -- event delegation @@ -157,6 +167,7 @@ hypermedia hypertext i18e Ecosystem Performance = Cleanup, Speedup, Levelup. One Package at a time. https://e18e.dev/ iframe +spirit -- browsing https://christianheilmann.com/2024/09/15/lets-bring-back-browsing/ iframe -- fenced iframe -- sandbox iframe -- seamless @@ -167,6 +178,7 @@ JS -- book -- Exploring JavaScript (ES2024 Edition) https://exploringjs.com/js/b JS -- exports https://webpack.js.org/guides/package-exports/ JS -- tasks & microtasks https://devdocs.io/dom/html_dom_api/microtask_guide JSON - Javascript Object Notation +latency -- high latency environments https://csswizardry.com/2024/09/optimising-for-high-latency-environments/ layout composer https://github.com/namecheap/ilc lazy loading -- preloading https://www.differentshelf.com/lazy-loading-isnt-just-lazy-its-late-the-web-deserves-faster/ lib -- react -- v19 https://vercel.com/blog/whats-new-in-react-19 @@ -176,12 +188,13 @@ MIME - Multipurpose Internet Mail Extensions monitoring -- labs = made by a lab, ex. camera monitoring -- Real user monitoring (RUM) = passive monitoring technology that records all user interaction with a website or client interacting with a server or cloud-based application (vs. lab) https://en.wikipedia.org/wiki/Real_user_monitoring monitoring -- synthetic = own test bot https://en.wikipedia.org/wiki/Synthetic_monitoring +native apps with JS https://v2.tauri.app/ node -- tenant isolation = node is single thread, hence issues with security, esp. AWS lambda! solutions: workerd? organic vs inorganic concept = coming from a real user or a bot/AI or app etc. perf -- content jump = https://css-tricks.com/content-jumping-avoid/ perf metrics -- "9 must known" https://twitter.com/alexxubyte/status/1769748487317651962 perf metrics -- core web vitals -- 01 Largest Contentful Paint (LCP) = loading performance. LCP must occur within 2.5 seconds of when the page first starts loading -perf metrics -- core web vitals -- 02 Interaction to Next Paint (INP) = interactivity. To provide a good user experience, pages must have a INP of 200 milliseconds or less. +perf metrics -- core web vitals -- 02 Interaction to Next Paint (INP) = interactivity. To provide a good user experience, pages must have a INP of 200 milliseconds or less. https://www.debugbear.com/blog/inp-element-interactions perf metrics -- core web vitals -- 03 Cumulative Layout Shift (CLS) = visual stability. To provide a good user experience, must should maintain a CLS of 0.1. or less. perf metrics -- core web vitals -- First Input Delay (FID) DEPRECATED https://web.dev/articles/fid perf metrics -- core web vitals https://web.dev/articles/vitals https://web.dev/explore/learn-core-web-vitals @@ -248,6 +261,7 @@ UI -- views User Agent Interface (UA) https://www.bram.us/2021/07/08/the-large-small-and-dynamic-viewports/#large-viewport UX -- Above the fold = is the area of a webpage that fits in a browser window without a user having to scroll down. This is the content that is first seen by the user and often dictates whether they’ll continue reading the webpage. UX -- honeycomb = useful + usable + findable + desirable + accessible + credible = valuable https://en.wikipedia.org/wiki/User_interface#A_model_of_design_criteria:_User_Experience_Honeycomb +vanilla https://plainvanillaweb.com/index.html viewport viewport -- small <= dynamic <= large viewport -- visual diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--product-and-strategy.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--product-and-strategy.md index e3f00546..2aef15ed 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--product-and-strategy.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--product-and-strategy.md @@ -1,4 +1,3 @@ - 6 Reasons Users Hate Your New Feature https://www.slicedbreaddesign.com/blog/6-reasons-users-hate-your-new-feature [ ] https://skamille.medium.com/ [ ] personal MBA @@ -17,6 +16,9 @@ computers should adapt to users = not necessarily if the solution is good (ex. t core actions core actions -- active users core mental models (of the product) +CSAT -- visual appeal +CSAT -- hard to move +CSAT customer segmentation = Strategic, Enterprise, Mid-Market, SMB earliest -- 01 feedback-able product (EFP) earliest -- 02 testable product = first release that customers can actually do something with @@ -58,6 +60,7 @@ first-mover advantage https://en.wikipedia.org/wiki/First-mover_advantage funnel Go-To-Market (GTM) = plan of an organization, utilizing their outside resources (e.g., sales force and distributors), to deliver their unique value proposition to customers and to achieve a competitive advantage https://en.wikipedia.org/wiki/Go-to-market_strategy growth +++ https://growth.design/ +growth -- bundles growth -- cognitive load growth -- concepts https://growth.design/psychology growth -- friction diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--system.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--system.md index be4398d9..28dbc94f 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--system.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites--system.md @@ -9,6 +9,7 @@ [ ] concepts https://dgraph.io/docs/design-concepts/ [ ] great articles https://dgraph.io/blog/ [ ] https://carloarg02.medium.com/how-i-scaled-amazons-load-generator-to-run-on-1000s-of-machines-4ca8f53812cf +[ ] https://discord.com/blog/how-discord-stores-trillions-of-messages [ ] https://medium.com/@sureshpodeti/system-design-twitter-a98e7d134634 [ ] https://newsletter.pragmaticengineer.com/p/building-the-threads-app [ ] https://slack.engineering/scaling-datastores-at-slack-with-vitess/ @@ -393,6 +394,11 @@ scaling ~ elasticity search -- https://vespa.ai/ (NO OpenSearch) security serverless +serverless -- debugging sucks, but can be alleviated by fast dev-cycle and using unit tests/not including too much code in Lambda itself +serverless -- Default architecture everyone arrives at seems to be: Lambda → SQS/SNS/Kinesis → Lambda +serverless -- Deploy your app as one (all Lambdas as one, rather than each Lambda individually). Cloudformation helps (blue green deployments FTW) +serverless -- Don’t break things down too small (dare I say microservices). Keep your lambdas and code grouped logically rather than striving for smallest unit of work +serverless -- forces devs into working within limits - mainly memory and time per lambda function invocation. This then forces good habits around breaking down complex operations, which by default results in better resilience and scalability. E.g. we have to break down large rule executions into multiple executions per issue (instead of processing 1000s of issues in bulk) service service = software functionality https://en.wikipedia.org/wiki/Service_(systems_architecture) service availability diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites-TOSORT.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites-TOSORT.md index 7c6c65e0..79e40625 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites-TOSORT.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/senior-dev/tech-bites-TOSORT.md @@ -1,16 +1,47 @@ -Senior Dev tips! -* individual contributor -* TL vs PM vs PM vs EM -* progress over perfection -* submarine -* better ask for forgiveness than for permission -* journalists +Pull Requests: +- small = easier to review, less conflicts +- clean separated commits = easier to review, easier to cherry-pick / move +- if comments: + - rebasing = cleaner final result + - adding commits = easier to see what was amended +- QA demo +- book a slot to unblock! +- a Reviewer has to Approve, Reject, Comment or Delegate. No bullshit. +- first, get an approval from an internal reviewer, ensure green builds, then add your Shepherd / external + + + + + “Clean Craftsmanship”Medal by Robert C. Martin Code quality + + Turned out to be EXCELLENT book. Definitely technical. Half of it forms the most comprehensive resource on TDD I’ve ever read. (I’m contemplating creating a separate category for Testing/TDD). + + “Fundamentals of Software Architecture” by Ford, Richards Software architecture + + I think it’s a better, more useful, more comprehensive intro than Uncle Bob’s “Clean Architecture”. Does not have a ton of soul, but is not completely dry, either. + + “Effective TypeScript” by Dan Vanderkam TypeScript + + Top 2, but still losses to “Programming TypeScript” IMHO, for most people. + + “You Don’t Know JS Yet” by @getify JavaScript + + Still reading this multi-book encyclopedia JavaScriptica grinning face with smiling eyes + + “Revising Prose”Medal by Richard A. Lanham Writing + + Does one thing, and does it very well: improves your sentence structure. + + “Dichotomy of Leadership” by Jocko Willink Leadership + + Standalone book, like the original “Extreme Ownership”, but adds more about balance & tradeoffs – and removes little, so you can read it as a standalone book. + + -~~~~~~~~~~~~~~~~~~~~ TOSORT ~~~~~~~~~~~~~~~~~~~~~~ monolith refactoring @@ -33,7 +64,8 @@ and then more importantly, https://ryanwarnock.me/blog/260222.html -https://twitter.com/dan_abramov/status/1470613731071696896?lang=en + +https://twitter.com/dan_abramov/status/1470613731071696896 how to build resilience how to influence others @@ -56,10 +88,7 @@ https://web.dev/patterns/layout/ https://programmingisterrible.com/post/139222674273/how-to-write-disposable-code-in-large-systems -P3 should be learning how to engineer high quality software -P4 should be doing the lion’s share of engineering -P5 should be leading your team’s execution on engineering -P6 should be driving action in your teams, after identifying opportunities themselves + privacy: @@ -70,7 +99,6 @@ privacy: compétition https://www.booklets.io/b/creativity-inc-by-ed-catmull-booklets repo of bite-sized programming concepts -* * https://github.com/labs42io/clean-code-typescript diff --git a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/serious-memes/mental-models.md b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/serious-memes/mental-models.md index 63ae3701..238e2d05 100644 --- a/stack--current/5-incubator/active--no-pkg/bite-sized/lists/serious-memes/mental-models.md +++ b/stack--current/5-incubator/active--no-pkg/bite-sized/lists/serious-memes/mental-models.md @@ -14,12 +14,19 @@ 3-strike pivot strategy -- Strike 3: Make the Pivot 3-strike pivot strategy = give 3 chances https://blog.gouravkhanijoe.com/p/3-strike-pivot-strategy-to-become 5 Harsh Truths for Success from Linus Torvalds https://medium.com/codex/5-harsh-truths-from-linus-torvalds-406ab20cea02 +5 mantras -- 1% better = You don’t need to change the world. Just make something — anything — 1% better, every day. Movement of the smallest rocks can cause the greatest landslides. +5 mantras -- Don’t get stuck = when I feel stuck it is because I am being too stubborn to change, too egotistical to ask for help, or too tired to invite creativity into my thinking. There is rarely no way out. +5 mantras -- Find joy in the journey = We give so much of our lives to our work, so we should put some effort into making it something that brings us joy. We probably find that joy in different places, but it’s important that we know what fuels us. Our work, and our lives, are better for it. +5 mantras -- Prototype the path = The only way through is to do. Hard problems get a hell of a lot easier when we get our hands dirty, equip our curiosity, and start trying things out. +5 mantras -- You are enough = I don’t tell myself this often enough. I’d dare to say that you don’t either. But it’s a mantra that I repeat to myself often. +5 mantras = by Christopher Davis (burnout) 5 regrets of dying 80/20 rule (Pareto) [ ] AAA TODO https://flinkliv.com/ [ ] AAA TODO https://www.forbes.com/sites/joshsteimle/2013/05/27/five-war-books-for-entrepreneurs/ [ ] https://amir.rachum.com/mental-models/ [ ] https://boz.com/ +[ ] https://en.wikipedia.org/wiki/Cognitive_bias [ ] https://en.wikipedia.org/wiki/Power_(social_and_political) [ ] https://paulgraham.com/faq.html [ ] https://perell.com/essay/50-ideas-that-changed-my-life/ @@ -30,7 +37,7 @@ acceptance advocacy affirmative action? agency -agile "what the client wanted" +agile -- "what the client wanted" alcohol https://podcastnotes.org/huberman-lab/episode-86-what-alcohol-does-to-your-body-brain-health-huberman-lab/ https://www.soberonadrunkplanet.com/ ally -- barriers = Diffusion of Responsibility, Lack of Awareness or Skills, Fear of Retaliation, Fear of Causing Disruption or Embarrassment ally -- howto = Be Present, Provide Options, Know Your Role, follow/beware laws/policies @@ -46,6 +53,7 @@ Baptists and Bootleggers https://a16z.com/ai-will-save-the-world/ base rate: The average outcome for an event over time. They’re like batting averages for life, and they work best with big sample sizes. For example, if you’re starting a business, avoid the restaurant business where margins are low and competition is high. be prepared bee browsing +better ask for forgiveness than for permission bike shed Effect: A group of people working on a project will fight over the most trivial ideas. They’ll ignore what’s complicated. They’ll focus too much on easy-to-understand ideas at the expense of important, but hard to talk about ideas. For example, instead of approving plans for a complicated spaceship, the team would argue over the color of the astronaut’s uniforms. biographies -- Profiles in Courage https://en.wikipedia.org/wiki/Profiles_in_Courage bonnes et mauvaises cartes @@ -63,6 +71,8 @@ Charlie Munger 3 basic rules -- Work only with people you enjoy Charlie Munger 3 basic rules https://www.cnbc.com/2023/11/29/charlie-munger-these-basic-career-rules-made-me-successful-in-life-with-warren-buffett-i-had-all-3.html circle of competence: Define the limits of your knowledge. Hint: the limits are smaller than you think. That’s because being an expert in one area doesn’t make you an expert in anything else. Be clear about what you know and don’t know. cognitive bias +cognitive bias -- recency https://en.wikipedia.org/wiki/Recency_bias +cognitive bias https://en.wikipedia.org/wiki/Cognitive_bias collaboration issue -- Compromise, where the estimates contain only "lowest common denominator" language collaboration issue -- Gridlock, where many different interests slow the analytic process collaboration issue -- Groupthink, where opposing views are subconsciously discouraged @@ -105,6 +115,7 @@ elevator pitch https://www.atlassian.com/team-playbook/plays/elevator-pitch emergence: When things interact, they often birth new, unpredictable forms. Therefore, the sum total of a system is more than its component parts. As a system evolves, its structure can transform — just like how water becomes cold water until it turns into ice. emotionally secure https://www.cnbc.com/2024/01/03/harvard-psychologist-if-you-answer-yes-to-any-of-these-questions-youre-more-emotionally-secure-than-most-people.html English +equality vs equity https://medium.com/@CRA1G/the-evolution-of-an-accidental-meme-ddc4e139e0e4 equity every occupation has its pro/cons everything must be paid for twice https://www.raptitude.com/2022/01/everything-must-be-paid-for-twice/ @@ -132,6 +143,11 @@ game theory game theory -- prisoner's dilemma https://www.bennorthrop.com/Home/Blog/2007_11_17_prisoners_dilemma.php giftedness and talent https://campbellms.typepad.com/files/gagne-a-differentiated-model-of-giftedness-and-talent-dmgt.pdf https://www.gigers.com/matthias/gifted/gagne_dmgt.html go-for-it window = Large gaps between accelerating technologies and stagnating social norms create lucrative new business opportunities. But they are only available for a short time when people can capitalize on the difference between the real and perceived state of the world. For example, 2007 was the perfect time to launch the iPhone, but Google Glasses launched too early. +goals -- S.M.A.R.T. -- 01 S (Specific) Make the goal specific to what you are trying to achieve. It should clearly define what you want to accomplish. +goals -- S.M.A.R.T. -- 02 M (Measurable) Include measures and metrics where progress can be tracked and quantified. For bigger goals, include milestones that are steps toward the bigger goal. +goals -- S.M.A.R.T. -- 03 A (Aspirational yet Achievable) Write Individual Goals that are within your control and influence, but make them aspirational – push yourself (and us) to be bold and ambitious! Discuss with your manager on how to establish a healthy amount of "stretch" in your goals, while referencing your Growth Profile, so that it can lead to significant impact. +goals -- S.M.A.R.T. -- 04 R (Relevant) Align the goal with your team’s mission, values, department/team OKRs, and strategic and business objectives. Clearly articulate the reason(s) for pursuing the goal and how this contributes to our short- and long-term objectives. +goals -- S.M.A.R.T. -- 05 T (Time-bound) Create a specific end date for the goal. This instills a sense of urgency and helps you develop a work plan that prioritizes tasks leading up to the delivery date (e.g., one month, one quarter, or longer). good life questions https://radreads.co/10k-questions/ Goodhart’s Law = When a measure becomes a target, it ceases to be a good measure. One hospital took too long to admit patients so a penalty was given for 4+ hour wait times. In response, ambulance drivers were asked to slow down so they could shorten wait times. grit @@ -162,6 +178,7 @@ https://cobeats.com/folder/ryfTgPr9H https://www.teamblind.com/post/Made-it-to-FAANG-director-without-a-promotion-ever-HVX5th8f human trafficking ideas -- structuring -- "Pyramid Principle" https://strategyu.co/structure-your-ideas-pyramid-principle-part-1/ https://strategyu.co/pyramid-principle-part-2-communicate-top-down/ +identity -- " I’d tied my identity and reputation to hard work" if you grow as a frog, you become a shinier, jump higher frog. But you need a kiss from the princess to become you. a core deep in oneself able to do things beyond ordinary ikigai impostor syndrome @@ -237,6 +254,7 @@ naiveté: abus sexuels, mafia needs / wants https://en.wikipedia.org/wiki/Need never-Ending Now: The structure of our social media feeds blinds us to history, as it causes us to live in an endless cycle of ephemeral content consumption. The structure of the Internet pulls people away from age-old wisdom. no conflict / safe conflict / extreme conflict +Nobel https://www.nobelprize.org/all-nobel-prizes-2024/ non-violence normalisation de la déviance https://macbidouille.com/news/2024/07/13/samedi-securite-la-normalisation-de-la-deviance-suite not for profit -- The dirty dozen myths https://www.linkedin.com/pulse/dirty-dozen-myths-profit-sector-jo-owen @@ -292,6 +310,7 @@ productivity productivity -- GSD Capture Everything, Clarify, Organize, Review, Engage https://todoist.com/productivity-methods/getting-things-done productivity vs. impact, value progress over perfection +progress over perfection psychological safety Pulitzer prize -- biographies https://en.wikipedia.org/wiki/Pulitzer_Prize_for_Biography purchasing "messy middle" https://www.thinkwithgoogle.com/intl/en-emea/consumer-insights/consumer-journey/navigating-purchase-behavior-and-decision-making/ @@ -348,6 +367,7 @@ start with why Stigler's law of eponymy = inventor = the one who bring to attention, not the discoverer https://en.wikipedia.org/wiki/Stigler%27s_law_of_eponymy stoicism -- Rudyard Kipling "If" https://en.wikipedia.org/wiki/If%E2%80%94 Sturgeon's law = "90% of everything is crap" https://en.wikipedia.org/wiki/Sturgeon%27s_law +submarine = hidden project until ready Sun Tsu’s three rules of warfare -- Only fight when there is a prize worth fighting for Sun Tsu’s three rules of warfare -- Only fight when there is no other way of achieving your goal Sun Tsu’s three rules of warfare -- Only fight when you know you will win: the best fight is an unfair fight @@ -377,6 +397,7 @@ tools -- trello top-down/bottom-up tradeoffs / can't have everything Tree Decision Rights Model http://www.cio.com/article/2386119/careers-staffing/how-it-leaders-can-empower-teams-to-become-decision-makers.html +tribal knowledge trichotomy https://en.wikipedia.org/wiki/Trichotomy_(philosophy) trilemma https://en.wikipedia.org/wiki/Trilemma trolley problem https://neal.fun/absurd-trolley-problems/ @@ -385,6 +406,7 @@ trust -- takes years to earn and seconds to lose / Trust is built slowly, and lo trust -- trust, but verify truth -- fully convinced vs probably https://christianity.stackexchange.com/questions/92352/believing-that-christianity-is-probably-true-vs-being-fully-convinced-that-ch truth -- verificationism https://christianity.stackexchange.com/a/89891 +tyranny of the urgent https://www.psychologytoday.com/us/blog/human-flourishing-101/202309/how-to-conquer-the-tyranny-of-the-urgent unlearn vanilla verifiability https://en.wikipedia.org/wiki/Wikipedia:Verifiability diff --git a/stack--current/5-incubator/active--no-pkg/disrupt/email/NOTES.md b/stack--current/5-incubator/active--no-pkg/disrupt/email/NOTES.md index 7d0c7476..2e1c7ad7 100644 --- a/stack--current/5-incubator/active--no-pkg/disrupt/email/NOTES.md +++ b/stack--current/5-incubator/active--no-pkg/disrupt/email/NOTES.md @@ -15,6 +15,7 @@ unified inbox https://www.theverge.com/2023/8/9/23824562/slack-redesign-app-dms- components https://resend.com/blog/react-email-3 +notifications "enables message makers of all types to reach their users with relevant messaging delivered through compelling experiences" https://devdocs.io/dom/contactaddress Universal Postal Union website's Addressing S42 standard diff --git a/stack--current/5-incubator/active--no-pkg/disrupt/pdf/NOTES.md b/stack--current/5-incubator/active--no-pkg/disrupt/pdf/NOTES.md index bea3c5f5..4e18ffa6 100644 --- a/stack--current/5-incubator/active--no-pkg/disrupt/pdf/NOTES.md +++ b/stack--current/5-incubator/active--no-pkg/disrupt/pdf/NOTES.md @@ -17,6 +17,10 @@ https://www.mathjax.org/ markdown header +docx https://docx.js.org/#/ + +declaration vs. object model + length of text / intro https://www.researchgate.net/publication/324329159_How_Constraints_Affect_Content_The_Case_of_Twitter%27s_Switch_from_140_to_280_Characters diff --git a/stack--current/5-incubator/active--no-pkg/disrupt/trust/NOTES.md b/stack--current/5-incubator/active--no-pkg/disrupt/trust/NOTES.md index 77c678e6..e5d89f90 100644 --- a/stack--current/5-incubator/active--no-pkg/disrupt/trust/NOTES.md +++ b/stack--current/5-incubator/active--no-pkg/disrupt/trust/NOTES.md @@ -10,6 +10,8 @@ https://en.wikipedia.org/wiki/Elsagate https://devdocs.io/dom/reporting_api +Assigned numbers / codes, issues with countries https://every.to/p/the-disappearance-of-an-internet-domain + https://www.abc.net.au/news/2024-06-11/inside-the-scam-factory-pig-butchering-and-cyberscams/103937064 diff --git a/stack--current/9-rpg/xx-notes/common/notes--polish.md b/stack--current/9-rpg/xx-notes/common/notes--polish.md index 0a6f1055..aa677641 100644 --- a/stack--current/9-rpg/xx-notes/common/notes--polish.md +++ b/stack--current/9-rpg/xx-notes/common/notes--polish.md @@ -3,3 +3,5 @@ folded paper https://codepen.io/lynnandtonic/pen/PoZpjOr time of the day https://codepen.io/RAFA3L/pen/BagqMGE + +Text Illumination https://codepen.io/RAFA3L/pen/YzomKrR diff --git a/stack--current/A-apps--core/the-boring-rpg/interfaces/src/actions.ts b/stack--current/A-apps--core/the-boring-rpg/interfaces/src/actions.ts index 40f15df6..d43510a9 100644 --- a/stack--current/A-apps--core/the-boring-rpg/interfaces/src/actions.ts +++ b/stack--current/A-apps--core/the-boring-rpg/interfaces/src/actions.ts @@ -33,7 +33,7 @@ export type ActionType = Enum // eslint-disable-line no-redec // TODO all those actions should be in the state package! (v2) export interface BaseAction { //v: 1 // not sure needed - time: TimestampUTCMs + time?: TimestampUTCMs // not recommended! better inferred at dispatch! But can be useful for tests or replay. expected_revisions: { [k:string]: number } @@ -132,14 +132,14 @@ export function getꓽaction_types(): string[] { ///////////////////// -export function create_base_action(time: TimestampUTCMs = getꓽUTC_timestamp‿ms()): BaseAction { +export function create_base_action(time?: TimestampUTCMs): BaseAction { return { - time, + ...(time && { time }), // only if provided expected_revisions: {}, } } -export function create_action(attributes: Omit, time: TimestampUTCMs = getꓽUTC_timestamp‿ms()): SomeAction { +export function create_action(attributes: Omit, time?: TimestampUTCMs): SomeAction { return { ...create_base_action(time), ...attributes,