41554 blogs · [ { "id": "01a07d5d-a4b0-739c-8344-83bfebfe8e7a", "title": "Notes on Adversarial Interoperability", "url": "https://swyx.io/adversarial_interoperability", "published_at": "2020-09-13T23:37:49+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bfece9f536", "title": "Against Namespacing Personal Sites", "url": "https://swyx.io/namespacing-sites", "published_at": "2020-09-09T22:15:08+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bfedc53336", "title": "How to Set Up SvelteKit with Tailwind CSS", "url": "https://swyx.io/svelte_tailwind_setup", "published_at": "2020-09-08T16:30:58+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bfee9a835b", "title": "If You Sell Anything Online, This Book Will Make You Money", "url": "https://swyx.io/rob_hope_hot_tips", "published_at": "2020-09-07T19:16:56+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bfef6cb382", "title": "How to Create Luck", "url": "https://swyx.io/create-luck", "published_at": "2020-08-29T21:23:06+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bfef9afc2c", "title": "Putting your Keyboard on Steroids with Karabiner Elements", "url": "https://swyx.io/karabiner_lindquist", "published_at": "2020-08-28T02:10:46+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bfefe06b1f", "title": "First Look at AWS Amplify Flutter (Developer Preview)", "url": "https://swyx.io/amplify-flutter", "published_at": "2020-08-25T18:25:14+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff0d144b8", "title": "Cheatsheet for moving from Master to Main", "url": "https://swyx.io/master_to_main", "published_at": "2020-08-21T03:04:51+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff16c1437", "title": "Prerecording Talks for Online Conferences", "url": "https://swyx.io/prerecording-talks", "published_at": "2020-08-17T23:26:34+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff252dcaf", "title": "Developer Exception Engineering", "url": "https://swyx.io/developer-exception", "published_at": "2020-08-15T17:20:15+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff30629ea", "title": "Realtime Offline-First Chat App in 100 Seconds", "url": "https://swyx.io/realtime-offline-first-chat-app-in-100-seconds-with-amplify-datastore-react-and-graphql-47d4", "published_at": "2020-08-12T22:27:32+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff32ef836", "title": "A Developer's Guide to Startup Fundraising", "url": "https://swyx.io/brief-guide-to-startup-fundraising-terminology-7k2", "published_at": "2020-08-12T00:21:55+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff369ead2", "title": "5 Q&A's on Writing and Selling My First Book", "url": "https://swyx.io/5-q-a-s-on-writing-and-selling-my-first-book-18d1", "published_at": "2020-08-10T23:24:57+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff45de38b", "title": "Notes on \"Growing a Language\"", "url": "https://swyx.io/notes-on-growing-a-language-by-guy-steele-5501", "published_at": "2020-07-28T20:50:13+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff51f8c15", "title": "4 Things I Learned from Mastering Mongoose.js", "url": "https://swyx.io/4-things-i-learned-from-mastering-mongoose-js-25e", "published_at": "2020-07-26T09:53:19+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff5737d90", "title": "8 Landing Page Tips from Rob Hope", "url": "https://swyx.io/8-landing-page-tips-from-rob-hope-338l", "published_at": "2020-07-23T22:19:19+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff57e8238", "title": "8 Q&A's for Bootcamp Students in 2020", "url": "https://swyx.io/8-q-a-s-for-pre-bootcamp-students-in-2020-1phh", "published_at": "2020-07-23T17:37:24+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff5af05f8", "title": "Unofficial VS Code Snippets for AWS Amplify", "url": "https://swyx.io/unofficial-vs-code-snippets-for-aws-amplify-1959", "published_at": "2020-07-23T16:08:16+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff63aeb74", "title": "Semi-Automatic npm and GitHub Releases with `gh-release` and `auto-changelog`", "url": "https://swyx.io/release-automation", "published_at": "2020-07-17T18:57:45+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff6e789f5", "title": "Lessons and Regrets from My $25000 Book Launch", "url": "https://swyx.io/coding-career-launch", "published_at": "2020-07-03T04:06:47+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff7c24433", "title": "Launching the Coding Career Handbook!", "url": "https://swyx.io/launching-coding-career", "published_at": "2020-07-01T13:08:37+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff7f23075", "title": "Versioned Docs in 30 Seconds with Amplify Console's Branch Subdomains", "url": "https://swyx.io/amplify-console-branch-subdomains", "published_at": "2020-06-26T16:34:09+00:00" }, { "id": "01a0e2c2-9756-705b-8dd0-628634c76362", "title": "swyx.io", "url": "https://www.swyx.io/", "published_at": "2020-06-24T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff8779f18", "title": "Notes on RSI for Developers", "url": "https://swyx.io/rsi-tips", "published_at": "2020-06-19T18:45:25+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff8dd436d", "title": "#HeyForGood", "url": "https://swyx.io/hey-for-good", "published_at": "2020-06-18T21:37:56+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff9c5685a", "title": "My Life as a Con Man", "url": "https://swyx.io/con-man-life", "published_at": "2020-06-14T19:46:24+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff9da0789", "title": "4 Q&A's on Blogging for Developers", "url": "https://swyx.io/4-q-a-s-on-blogging-for-developers-lc9", "published_at": "2020-06-11T23:17:37+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bff9f8c899", "title": "Making AWS Amplify work with Rollup", "url": "https://swyx.io/making-aws-amplify-work-with-rollup-2d9m", "published_at": "2020-06-02T22:22:28+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffadca945", "title": "Bringing AWS to App Developers", "url": "https://swyx.io/hello-aws", "published_at": "2020-05-29T12:35:53+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffbd22241", "title": "The Third Age of JavaScript", "url": "https://swyx.io/js-third-age", "published_at": "2020-05-20T14:57:23+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffc2c6692", "title": "Working The Reverse 9 to 5", "url": "https://swyx.io/working-reverse-9-5", "published_at": "2020-05-18T14:27:19+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffc48b088", "title": "Slack is Fumbling Developers", "url": "https://swyx.io/slack-fumble", "published_at": "2020-05-17T16:43:08+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffc799493", "title": "IE11 Mainstream End Of Life in Oct 2020", "url": "https://swyx.io/ie11-eol", "published_at": "2020-05-13T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffd6df554", "title": "The Day I Became A Software Engineer", "url": "https://swyx.io/the-day-i-became-a-software-engineer", "published_at": "2020-04-27T16:24:19+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffdb15bfa", "title": "Developer's Guide to Tech Strategy", "url": "https://swyx.io/dev-guide-to-tech-strategy", "published_at": "2020-04-22T17:09:50+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bffe83ccbd", "title": "Cloud Distros", "url": "https://swyx.io/cloud-distros", "published_at": "2020-04-21T20:16:58+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83bfff74ebbb", "title": "OSI Layers for Coding Careers", "url": "https://swyx.io/osi-layers-coding-careers", "published_at": "2020-04-15T18:08:26+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0001038a6", "title": "How to Market Yourself", "url": "https://swyx.io/marketing-yourself", "published_at": "2020-04-13T19:17:31+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0007b516a", "title": "I'm Writing A Book!", "url": "https://swyx.io/i-m-writing-a-book-45a8", "published_at": "2020-04-10T17:17:35+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0009e2ab1", "title": "5 Things I Learned from The DynamoDB Book", "url": "https://swyx.io/dynamodb-book", "published_at": "2020-04-07T17:40:45+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c001500cae", "title": "How to Use class instead of className with Preact and TypeScript", "url": "https://swyx.io/how-to-use-class-instead-of-classname-with-preact-and-typescript-2bjh", "published_at": "2020-04-05T06:08:05+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00241f9d1", "title": "Want Better Design/CSS Skills? Spot the Difference!", "url": "https://swyx.io/spot-the-difference", "published_at": "2020-04-04T15:03:06+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0029c0e1d", "title": "How and Why to Un-Reset Tailwind's CSS Reset", "url": "https://swyx.io/tailwind-unreset", "published_at": "2020-04-04T13:04:49+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c002c8b856", "title": "Instant GraphQL with OneGraph", "url": "https://swyx.io/instant-graphql-onegraph", "published_at": "2020-04-03T06:23:06+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0032c2517", "title": "How to use Web Components with Next.js and TypeScript", "url": "https://swyx.io/how-to-use-web-components-with-next-js-and-typescript-4gg1", "published_at": "2020-04-03T01:07:42+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c003ec0439", "title": "Make your own Dev.to CMS livestream - Part 4", "url": "https://swyx.io/make-your-own-dev-to-cms-livestream-part-4-6em", "published_at": "2020-04-03T00:15:38+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c004087a21", "title": "A World Without Plugins", "url": "https://swyx.io/a-world-without-plugins-cig", "published_at": "2020-04-02T06:30:52+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00475c0d9", "title": "10 Principles I Learned from Tiago Forte's Building a Second Brain", "url": "https://swyx.io/tiago-forte-second-brain", "published_at": "2020-04-01T09:22:32+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00509662d", "title": "Make your own Dev.to CMS livestream - Part 3", "url": "https://swyx.io/make-your-own-dev-to-cms-livestream-part-3-c65", "published_at": "2020-04-01T05:29:01+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c005b19a34", "title": "How To Add Monaco Editor to a Next.js app", "url": "https://swyx.io/how-to-add-monaco-editor-to-a-next-js-app-ha3", "published_at": "2020-03-30T23:29:25+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c005d87a1a", "title": "Make your own Dev.to CMS livestream - Part 2", "url": "https://swyx.io/make-your-own-dev-to-cms-livestream-part-2-6mf", "published_at": "2020-03-29T00:08:08+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c005dca384", "title": "Make your own Dev.to CMS livestream - Part 1", "url": "https://swyx.io/dev-to-cms-stream-1", "published_at": "2020-03-27T22:41:36+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0065ee01b", "title": "The Computer History Museum YouTube Channel", "url": "https://swyx.io/computer-history-museum-youtube", "published_at": "2020-03-25T02:10:46+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00736e0e3", "title": "Every Public Engineering Career Ladder", "url": "https://swyx.io/career-ladders", "published_at": "2020-03-24T04:42:35+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00808a248", "title": "Mise en Place Writing", "url": "https://swyx.io/writing-mise-en-place", "published_at": "2020-03-22T22:05:45+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00894dbcd", "title": "6 Things Markdown Got Wrong", "url": "https://swyx.io/markdown-mistakes", "published_at": "2020-03-22T04:06:49+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c009786734", "title": "Farewell, Netlify", "url": "https://swyx.io/farewell-netlify", "published_at": "2020-03-20T21:34:22+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c009fedc78", "title": "What You Can Do with Netlify Build Plugins", "url": "https://swyx.io/netlify-build-plugins", "published_at": "2020-03-19T20:24:55+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00ac4ec42", "title": "Twitter as Universal Meta-Commentary Layer", "url": "https://swyx.io/twitter-metacommentary", "published_at": "2020-03-19T03:04:54+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00b6f836a", "title": "Observability for Frontend Developers", "url": "https://swyx.io/frontend-observability", "published_at": "2020-03-17T14:43:24+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00b898ee2", "title": "Every Web Performance Test Tool", "url": "https://swyx.io/webperf-tests", "published_at": "2020-03-17T03:30:30+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00c03f5c3", "title": "Essential Plugins for Gatsby Remark", "url": "https://swyx.io/gatsby-remark-essential-plugins", "published_at": "2020-03-16T03:43:23+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00c0a7e6e", "title": "Formats over Functions", "url": "https://swyx.io/formats", "published_at": "2020-03-14T16:21:08+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00cc45a00", "title": "JavaScript: the First 20 Years by Allen Wirfs-Brock and Brendan Eich", "url": "https://swyx.io/js-20-years", "published_at": "2020-03-14T03:00:44+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00ce3d000", "title": "The Power of Lampshading", "url": "https://swyx.io/lampshading", "published_at": "2020-03-13T04:14:44+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00d48605f", "title": "Unit and Integration Testing for Plugin Authors", "url": "https://swyx.io/testing-plugin-authors", "published_at": "2020-03-11T23:54:58+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00df60ee0", "title": "React Single File Components Are Here", "url": "https://swyx.io/react-sfcs-here", "published_at": "2020-03-11T03:02:23+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00ef51780", "title": "You May Not Need Controlled Form Components", "url": "https://swyx.io/no-controlled-forms", "published_at": "2020-03-09T23:29:43+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00f226101", "title": "The Coronavirus Recession and What it Means for Developers", "url": "https://swyx.io/coronavirus-recession", "published_at": "2020-03-07T05:28:29+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00f2854e9", "title": "Guo Lai Ren (过来人)", "url": "https://swyx.io/guo-lai-ren", "published_at": "2020-03-07T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00f35708a", "title": "Feedback Ladders", "url": "https://swyx.io/feedback-ladders", "published_at": "2020-03-06T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00f4a7b56", "title": "Working at a Startup From Series B to C", "url": "https://swyx.io/working-from-series-b-to-c", "published_at": "2020-03-04T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c00fe766c9", "title": "Why Svelte? (The Short Version)", "url": "https://swyx.io/why-svelte-short", "published_at": "2020-03-04T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0106a30ed", "title": "Compile Svelte in Your Head by Tan Li Hau", "url": "https://swyx.io/compile-svelte-lihau", "published_at": "2020-03-02T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0109bd160", "title": "Three Jobs of Containers", "url": "https://swyx.io/containers-3-jobs", "published_at": "2020-03-01T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c010f43256", "title": "Starting Svelte Society", "url": "https://swyx.io/starting-dev-community-meetup", "published_at": "2020-02-29T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c011b92e28", "title": "Switching to Android after 13 years of iOS", "url": "https://swyx.io/android-vs-ios", "published_at": "2020-02-28T03:16:47+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0121a8aea", "title": "Mocking and Using CRUD APIs with MirageJS and React-Query", "url": "https://swyx.io/react-query-miragejs-crud", "published_at": "2020-02-28T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0124bcd94", "title": "How I Approach First Principles Thinking", "url": "https://swyx.io/first-principles-approach", "published_at": "2020-02-28T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01338759e", "title": "Digital Garden Terms of Service", "url": "https://swyx.io/digital-garden-tos", "published_at": "2020-02-25T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0133c92fa", "title": "Metrics, Logs, and Traces in JavaScript Tools", "url": "https://swyx.io/js-tools-metrics-logs-traces", "published_at": "2020-02-24T04:40:36+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0135153ac", "title": "Fixing Up the Svelte Community Site", "url": "https://swyx.io/svelte-community-fixup", "published_at": "2020-02-24T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01357bc06", "title": "Using DEV.to as a CMS", "url": "https://swyx.io/devto-cms", "published_at": "2020-02-22T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01420c066", "title": "Serverless Functions are Stateful", "url": "https://swyx.io/stateful-serverless", "published_at": "2020-02-21T06:10:18+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c014aad4a3", "title": "Good Enough", "url": "https://swyx.io/good-enough", "published_at": "2020-02-21T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0153990af", "title": "React Distros", "url": "https://swyx.io/react-distros", "published_at": "2020-02-19T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01587c943", "title": "The Platinum Rule", "url": "https://swyx.io/platinum-rule", "published_at": "2020-02-18T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01683b04e", "title": "Avoiding Flash of Unthemed Code", "url": "https://swyx.io/avoid-fotc", "published_at": "2020-02-17T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c016ba4ec9", "title": "Branding Bundles", "url": "https://swyx.io/branding-bundles", "published_at": "2020-02-16T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0177c70cb", "title": "How to Contribute to Open Source Frameworks", "url": "https://swyx.io/svelte-contributing", "published_at": "2020-02-15T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0178f76ca", "title": "Google Sheets v4 API with Netlify Dev", "url": "https://swyx.io/netlify-google-sheets", "published_at": "2020-02-14T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c0188dd13e", "title": "2019 /r/ReactJS Survey Results", "url": "https://swyx.io/react-survey-2019", "published_at": "2020-02-13T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c018a1b3c2", "title": "Clientside Webmentions", "url": "https://swyx.io/clientside-webmentions", "published_at": "2020-02-12T02:48:02+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c018dd8b63", "title": "To Understand Concurrent React, Look Outside React", "url": "https://swyx.io/react-outside", "published_at": "2020-02-12T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01966af01", "title": "Big L Notation", "url": "https://swyx.io/big-l-notation", "published_at": "2020-02-10T20:43:29+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01a031745", "title": "\"No Code\" vs RPA", "url": "https://swyx.io/no-code-rpa", "published_at": "2020-02-09T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01a40c3dc", "title": "Intro to Node-RED", "url": "https://swyx.io/node-red-intro", "published_at": "2020-02-08T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01a80159f", "title": "How To Deploy a Django App to Render.com", "url": "https://swyx.io/django-on-render", "published_at": "2020-02-07T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01ada16e9", "title": "Scrollbar Shenanigans", "url": "https://swyx.io/scrollbar-shenanigans", "published_at": "2020-02-06T00:00:00+00:00" }, { "id": "01a07d5d-a4b0-739c-8344-83c01b9e6339", "title": "Jan 2020 Recap", "url": "https://swyx.io/recap-2020-jan", "published_at": "2020-02-05T00:00:00+00:00" } ] posts Claim your blog
Back to Shawn Wang
Blog · corpus.blog/blogs/swyx.io/posts

Shawn Wang

swyx.io

2020