<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://notes.iansinnott.com/blog/posts/nnn+is+so+close+to+being+great</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Your+Browsing+History+is+not+Your+Own</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Yazi+is+a+better+Finder+TUI</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Work+Culture</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/WordPress+Theming+From+Scratch</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/WordPress+Development+Server+-+Full+Set+Up+Guide</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/WordPress+Needs+Better+Automation</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Why+I+Don't+Paginate</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/What+is+going+on+with+Quora's+UI</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Vim-+It's+Awesome</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Victory!+The+realization+of+a+goal</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Using+Key+Remap+4+MacBook's+Private.xml</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Using+Emoji+in+Excerpts+on+GitHub+Pages</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Using+Dokku+As+A+Personal+Heroku</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Using+Docker+on+a+Mac+with+Boot2Docker</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Useful+Bash+Commands+For+Web+Developers</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Use+SSH+ForwardAgent+for+fun+and+profit</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Use+RedCarpet+to+Render+Markdown</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/TypeScript+with+implicit+any+is+a+great+dynamic+language</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Time+Machine+to+the+Rescue</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+importance+of+Webpack+context</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+death+of+a+dog</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Wonders+of+CSS+Frameworks</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+WP_Post+Object</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+TL%3BDR+Should+Come+First</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Steam+Deck</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+State+of+the+Art</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Risk+of+Mediocrity</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Joys+of+Using+What+You+Build</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Importance+of+Community</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Hero+JS+Needs</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Testing+Webpack+Plugins</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Teaching+a+React.js+Workshop</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Teaching+My+Brother+To+Code</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Switching+Away+From+Mongoose</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/SvelteKit-+Hitting+the+frontend+sweet+spot</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/SvelteKit+-+A+biased+review</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Solving+problems+is+the+biggest+win</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Solving+Technical+Education</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Software+Optimism</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Software+I+Like</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Software+Engineering+is+not+Descriptive</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Show+me+the+source+or+show+me+your+business+model</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Setting+Up+a+Python+Project</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Setting+Up+Hydra+Config+on+A+Mac</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/September+Newsletter</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Searching+vs+Filtering</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Running+a+Meteor+App+on+Dokku</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Road+to+Absterdam+Part+1</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Rewind.ai+Review</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Replacing+Dropbox</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Rent+vs+Buy</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Programmer%2C+Maker+or+Both</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Predictable+Progress</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Portfolio+Update+%2B+Future+Site+Update</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Podcasts+I+Like</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Pairwise-+A+retrospective</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Page+reloads+are+a+thing+of+the+past</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/On+turning+30</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/On+Productivity</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/On+Clojure</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Notion+as+a+backend+for+your+bookmarks</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/New+Site+in+the+Works</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/New+Site+Is+Live</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Migrating+to+GatsbyJS+Part+1</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Migrating+my+blog+to+Gatsby+(Part+2+of+Gatsby+migration)</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Migrating+from+Jekyll+to+Hexo</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Meteor+is+(Almost)+Awesome</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Managing+state+and+controlled+form+fields+with+React</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Life+Upgrades+%26+Reasons+To+Write+More</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Learn+Vim+%26+Code+Like+a+Boss</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Jekyll+Theming+Like+a+Boss+With+Gulp</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Jekyll+Management+Like+a+Boss</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/JavaScript+Everywhere</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Is+my+couch+hurting+my+productivity</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Integrating+Alfred+With+Keyboard+Maestro</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/In+search+of+the+ultimate+tooling+workflow</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/I'm+famous+on+GoBodyLanguage.com!</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+to+prioritize+speed</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+to+get+VSCode+extensions+in+Windsurf</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+to+Trade+on+the+Taiwanese+Stock+Market</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+to+Disable+Live+Reload+in+create-react-app</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+I+Nearly+Gave+Up+Coffee</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+I+Learned+to+Code</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+I+Ended+Up+In+Taiwan</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Going+fully+HTTPS+(SSL)+fo'+free</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Goals+2025</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Getting+Started+with+Flow+and+Webpack</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Getting+Productive+With+Fish+Shell</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Functional+Pipelines+in+JavaScript+Using+async-await</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/From+Startup+Idea+to+(In)validation+in+a+Week</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Founder+Diaries-+Leaving+the+comfort+zone</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Faster+unit+tests+with+Bun</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Express+Basics</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Editor+Overload</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Dokku%2C+Mongo+%26+Node.js</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Do+you+know+what+Github+is</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Discoverability+vs+Manipulability%2C+GUI+vs+CLI</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Discoverability+and+Productivity</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Custom+Post+Types-+A+Great+Article</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Curation+vs+Fire+Hose</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Could+Notion+be+More+Than+Just+Another+App</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Contextual+recommendations+matter</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Conflicting+Priorities</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Commands+vs+Clicks</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Coming+To+Clojure+from+JavaScript</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Cold+Showers</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Chinese+is+hard%2C+and+easier+than+you+think</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Business</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Becoming+A+Developer+Is+A+Process</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Back+to+the+JavaScript+Basics</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Alfred+needs+an+app+store</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+solution+to+so+many+apps+for+so+many+things</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+refreshing+dose+of+minimalism</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+better+brain-computer+interface</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+Site+a+Day</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+New+Direction</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+Review+of+Alternative+Browsers</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+Month+In+San+Francisco</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+Lame+Jailbreak+and+the+Trouble+with+Monetization</loc></url><url><loc>https://notes.iansinnott.com/blog/Blog+Index</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Weekend+Effect</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/400+Hours+Later+-+On+reading+The+Wheel+of+Time</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+case+for+note+taking</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Software+Updates</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Working+around+limitations+in+Obsidian+Publish</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Markdown+as+a+blogging+platform</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Time+enough+for+kids</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Setting+up+a+new+computer</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Poorly+Designed+Gondolas+in+Taipei</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Delta-v+by+Daniel+Suarez</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Has+Bun+won%3F</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+review+of+o1+Pro+so+far</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Model+Context+Protocol</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Gemini+Experimental+Advanced+vs+O1+Pro</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/One+video+a+week%3F</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Mom's+Post+Going+Viral</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Going+to+the+gym+in+sandals</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Build+a+Bun+project+for+Node.js</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Progress+on+creating+YouTube+videos+quickly</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Walking+for+different+reasons%2C+at+different+speeds</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Trialing+new+software+-+Calendar%2C+Email</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Appeal+of+Costco</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/I+don't+talk+to+my+computer+enough</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Business+Trips+as+a+form+of+Time+Travel</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Smart+Scales+are+Overrated</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/A+ban+on+dev+work%3F</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Time+on+the+weekends</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Taiwan+Winters+are+Wonderful</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+First+50+Videos+are+for+You</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Descript+Feels+Slow</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Intuitive+is+Subjective</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+to+Assess+Non-fiction</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Building+side+projects+with+AI%3F+Time+to+procrastinate</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Github+Offering+Free+Inference</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Weight+loss%2C+muscle+gain%2C+better+sleep.+Choose+two%3F</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Better+Python+Scripting%3F</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Net+time+saved+with+AI+coding</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Threads+and+their+Dark+Patterns</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Who's+going+to+post+online+in+the+future%3F</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/In+the+market+for+video+editing+software</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/This+is+better+than+AI</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Speech+to+text%2C+2025</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Anthropic+Codes+for+You</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/React+Native+after+all+these+years</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Having+at+least+one+initiative+on+track</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Progress+Report+-+March+-+3+months</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Finding+you+have+users+by+breaking+your+app</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/DeepSeek+%26+ChatGPT+as+Chinese+Tutors</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/DIY+Software</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/AI+Tutor%2C+Human+Mentor</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/How+I+Use+LLMs</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Dad+Skills</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/AI+Recommends+a+Cafe</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Fewer+Naps+due+to+Exercise%3F</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Underwhelmed+by+Notion+AI</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Dear+text+editors%2C+please+embed+Vim</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/200+Subs</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Where+Chinese+is+Easy+and+Hard</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Node+apps+as+a+single+binary</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Epic+Games+Store</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Limitless+Pendant+-+First+Impressions</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/TIL+You+can+combine+Claude+Code+with+VSCode</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Difficulties+with+MCP+over+HTTP</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Apple's+Transparency+Problem</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Sunsetting+Prompta+-+My+LLM+Chat+App</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Usage+Based+Pricing</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Trying+out+Linear+for+free+for+3+years</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Trying+out+Zed</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/LLMs+might+finally+move+me+past+my+Chinese+plateau</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Clarity+of+Code</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/6+months+of+consistency%2C+RP+Strength%2C+Fitness+Habits</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/The+Founder+Frame</loc></url><url><loc>https://notes.iansinnott.com/blog/posts/Joining+Anthropic</loc></url></urlset>