[{"domain":"twitter.com","count":278,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"https://twitter.com/drbarnard"},{"sourceUrl":"https://blog.jim-nielsen.com/2014/defining-beauty-on-the-web/","targetUrl":"https://twitter.com/beep"},{"sourceUrl":"https://blog.jim-nielsen.com/2014/logo-integrity/","targetUrl":"https://twitter.com/thegaw"},{"sourceUrl":"https://blog.jim-nielsen.com/2014/logo-integrity/","targetUrl":"http://twitter.com/jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/a-web-of-people/","targetUrl":"https://twitter.com/timothymeaney"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/marketing2/","targetUrl":"http://twitter.com/jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://twitter.com/d_run"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://twitter.com/search?f=tweets&vertical=default&q=sassme.arc90.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-november/","targetUrl":"https://twitter.com/marcprecipice/status/791737937448677376"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"https://twitter.com/practicingdev/status/811956403745210368"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/designing-and-engineering-event-management-at-timshel/","targetUrl":"https://twitter.com/nick_alesandro"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://twitter.com/seldo/status/900214967286345728"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"https://twitter.com/flarup"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://twitter.com/Mantia/status/1013508524830121984"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://twitter.com/Mantia/status/1013855859007340544"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://twitter.com/thekitze/status/1012392146186489858"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://twitter.com/dan_abramov/status/1012663626723987457"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://twitter.com/jimniels/status/1011285302944698371"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://twitter.com/ycparak/status/940646088389939201"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://twitter.com/gooeyblob/status/507615539586273280"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://twitter.com/LeBinoclard/status/507553432488529920"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://twitter.com/jimniels/status/942805152234332160"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://twitter.com/brian_d_vaughn/status/1025045172818563072"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://twitter.com/CarlForrest/status/1026331321281470465"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://twitter.com/perlberg/status/1019968000458481664"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/dark-mode-on-the-web/","targetUrl":"https://twitter.com/rafahari/status/1055463780812050432"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/dark-mode-on-the-web/","targetUrl":"https://twitter.com/HarshilShah1910/status/1055327222150483968"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://twitter.com/asymco/status/1047366402590629889?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://twitter.com/jimniels/status/1054726634052468736"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://twitter.com/jimniels/status/1054746927139565568"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-november/","targetUrl":"https://twitter.com/necolas/status/360170108028600320"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-november/","targetUrl":"https://twitter.com/jimniels/status/1064547820496146433"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-january/","targetUrl":"https://twitter.com/jaffathecake/status/954285104720957440"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/generating-shades-of-color-using-css-variables/","targetUrl":"https://twitter.com/tylergaw"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://twitter.com/jimniels/status/1065309175549476865"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://twitter.com/jimniels/status/1065309175549476865"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://twitter.com/jimniels/status/1054726634052468736"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditional-syntax-highlighting-in-dark-mode-with-css-imports/","targetUrl":"https://twitter.com/tylergaw"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://twitter.com/Twitter/status/1087791357756956680"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://twitter.com/cameronmoll/status/1119276324651012096?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://twitter.com/philhawksworth/status/1107646222582587392"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://twitter.com/Netlify"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://twitter.com/lekoarts_de"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://twitter.com/lekoarts_de/status/1107620649021960193"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://twitter.com/kitopastorino"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-rich-harris-talk/","targetUrl":"https://twitter.com/Rich_Harris"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-rich-harris-talk/","targetUrl":"https://twitter.com/Rich_Harris/status/1168896800268464129"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://twitter.com/jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://twitter.com/jimniels/status/1171434990636171266"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://twitter.com/reichenstein"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"https://twitter.com/housecor/status/1088419498846244864?lang=en"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://twitter.com/jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://twitter.com/AndrewGoodricke"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-i-what/","targetUrl":"https://twitter.com/jimniels/status/1176892638143713280?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-i-what/","targetUrl":"https://twitter.com/swyx"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-i-what/","targetUrl":"https://twitter.com/jimniels/status/1182305914575114240?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://twitter.com/swyx"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://twitter.com/jimniels/status/1098672051890671617?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://twitter.com/jimniels/status/1100532780423888898?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://twitter.com/jimniels/status/1176892638143713280?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://twitter.com/jimniels/status/1176892638143713280?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://twitter.com/swyx/status/1176918485626216448"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://twitter.com/alazyreader"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://twitter.com/kitopastorino"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/stuff-to-say-on-twitter/","targetUrl":"https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/summary"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-december/","targetUrl":"https://twitter.com/ryanflorence/status/1201997439915311104?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://twitter.com/flarup"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://twitter.com/flarup/status/1240323082474176512?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://twitter.com/thegaw"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://twitter.com/funkatron"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://twitter.com/steveschoger"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://twitter.com/steveschoger/status/1245010003691479041"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-april/","targetUrl":"https://twitter.com/dresouzax/status/1250872568111751168?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/user-controlled-system-level-aesthetic-preferences/","targetUrl":"https://twitter.com/jimniels/status/1259867275588448262"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/user-controlled-system-level-aesthetic-preferences/","targetUrl":"https://twitter.com/othermaciej/status/1261209849829810177?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/user-controlled-system-level-aesthetic-preferences/","targetUrl":"https://twitter.com/othermaciej"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/user-controlled-system-level-aesthetic-preferences/","targetUrl":"https://twitter.com/jimniels/status/1261308238546587650?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-may/","targetUrl":"https://twitter.com/jimniels/status/1258464896418807812?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/book-notes-mlk/","targetUrl":"https://twitter.com/ryanflorence/status/1267248772041474049?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/css-naked/","targetUrl":"https://twitter.com/zachleat/status/1248619958038220800?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/css-naked/","targetUrl":"https://twitter.com/mxbck/status/1263899490093879297?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://twitter.com/jimniels/status/1219304625448398857"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://twitter.com/tomdale/status/965681976199077889"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://twitter.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/web-technologies-and-syntax/","targetUrl":"https://twitter.com/housecor/status/1088419498846244864"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/make-me-think/","targetUrl":"https://twitter.com/dhh/status/1250090346010140675?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-september/","targetUrl":"https://twitter.com/patrick_oshag/status/1310012662290558979?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://twitter.com/simevidas/status/1315767829795401730?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/ten-anti-principles-of-good-design/","targetUrl":"https://twitter.com/johnnie/status/1030488024906313728?s=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://twitter.com/jimniels/status/1323108913278029831?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-missing-hit-and-the-open-web/","targetUrl":"https://twitter.com/jimniels/status/1336750558888284160?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://twitter.com/davatron5000/status/1294379691177017346?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-style-sheet-in-safari/","targetUrl":"https://twitter.com/chockenberry/status/1162440345830846464?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/codbase-collaboration-between-humans-and-robots/","targetUrl":"https://twitter.com/jimniels/status/889921238809837568?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/codbase-collaboration-between-humans-and-robots/","targetUrl":"https://twitter.com/davatron5000/status/1327292373244792832"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/codbase-collaboration-between-humans-and-robots/","targetUrl":"https://twitter.com/davatron5000/status/1356704436391993345"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/codbase-collaboration-between-humans-and-robots/","targetUrl":"https://twitter.com/davatron5000/status/1377261802778689537?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/ikea-and-javascript/","targetUrl":"https://twitter.com/kocienda/status/1355344814166876163"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://twitter.com/tylergaw/status/1339632596142026752?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://twitter.com/jimniels/status/1339646136773206017?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/speculative-prefetching/","targetUrl":"https://twitter.com/simevidas/status/1371633821079248897?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-is-in-fact-awesome/","targetUrl":"https://twitter.com/Mandy_Kerr/status/985351593972252672"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/web-languages-as-compile-targets/","targetUrl":"https://twitter.com/wycats/status/1376963953054547970?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://twitter.com/jimniels/status/1379190180792430594?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://twitter.com/tommygeorge/status/1379223423772151809?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://twitter.com/jimniels/status/1379251591233015810?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://twitter.com/jimniels/status/952593010738384897"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://twitter.com/Mr_Jean/status/1395679182483562500?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflections-on-html/","targetUrl":"https://twitter.com/d_run/status/1390991826384048129"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://twitter.com/tomayac/status/1403097455059779584?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://twitter.com/guyzmo/status/1402769388533649409?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://twitter.com/alexkaessner/status/1402211519518085121?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://twitter.com/feross/status/1406851155842330625?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://twitter.com/hj_chen/status/1413815862331543554"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/conditional-style-loading-not-so-fast/","targetUrl":"https://twitter.com/marvindanig/status/1414800006830247938?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/conditional-style-loading-not-so-fast/","targetUrl":"https://twitter.com/jimniels/status/1414828621068443649?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://twitter.com/gsnedders/status/1417170253679824911"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/propagating-up-in-css/","targetUrl":"https://twitter.com/frivoal/status/1171765332995801088"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/propagating-up-in-css/","targetUrl":"https://twitter.com/TerribleMia/status/1380310383588646916"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/propagating-up-in-css/","targetUrl":"https://twitter.com/TerribleMia/status/1380310383588646916"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/quibbles-with-social-share-imagery/","targetUrl":"https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/quibbles-with-social-share-imagery/","targetUrl":"https://cards-dev.twitter.com/validator"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-july/","targetUrl":"https://twitter.com/andybudd/status/1411364451660480513?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-july/","targetUrl":"https://twitter.com/letterpress_se/status/1105419430589272065?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/cool-uris-and-image-hotlinking/","targetUrl":"https://twitter.com/veltman/status/1359204870264262657?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/","targetUrl":"https://twitter.com/dan_abramov/status/1422943317512364037"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/","targetUrl":"https://twitter.com/mikesherov/status/1423271360357351432?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"https://twitter.com/zachleat/status/1194699345901375489?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"https://twitter.com/jimniels/status/1194701252879376384?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"https://twitter.com/ramswdev/status/1417975847588347907?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/job-titles-what-you-do-and-are/","targetUrl":"https://twitter.com/EmmanuelAcho/status/1420701985985097737?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/the-power-of-the-link/","targetUrl":"https://twitter.com/drbarnard/status/1433264811824005122?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://twitter.com/anthony_ricaud/status/1450528308941230083?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://twitter.com/swyx"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://twitter.com/davatron5000"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://twitter.com/SaraSoueidan/status/1428686530332303361?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://twitter.com/SaraSoueidan/status/1427495559833735168?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://twitter.com/ericwbailey/status/1428724251947896839?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://twitter.com/beep"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://twitter.com/jimniels/status/1359573956789944323?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/app-icons-dont-catch-em-all/","targetUrl":"https://twitter.com/getplantry/status/1473355290120794112?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/app-icons-dont-catch-em-all/","targetUrl":"https://twitter.com/jimniels/status/1459261135807463442?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/talking-app-icons-on-the-postlight-podcast/","targetUrl":"https://twitter.com/flarup"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/talking-app-icons-on-the-postlight-podcast/","targetUrl":"https://twitter.com/ChappellTracker"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://twitter.com/flarup"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://twitter.com/jasonfried/status/1276566882196377601?lang=en"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://twitter.com/davatron5000/status/900023379780149248?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://twitter.com/wycats/status/1376963953054547970?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://twitter.com/TerribleMia/status/1198706002419310592"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/cluttered-web/","targetUrl":"https://twitter.com/jimniels/status/1411141345314439175?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-the-css-spec-folks-got-right/","targetUrl":"https://twitter.com/jimniels/status/1444029073131458562?s=20&t=CqRAirlrcSipEvXhQc8rCw"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-the-css-spec-folks-got-right/","targetUrl":"https://twitter.com/swyx/status/1496993590136180747?s=20&t=e3XcjOPauJm8oOhWjNjHEA"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-mom-and-the-wsj/","targetUrl":"https://twitter.com/nicnguyen"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/new-blog-theme-implementation-details/","targetUrl":"https://twitter.com/steveschoger/status/1502318105124646924"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://twitter.com/davatron5000/status/1507026958269313025"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://twitter.com/timothymeaney"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/having-fun-writing-apis-with-glitch/","targetUrl":"https://twitter.com/jimniels/status/1360427857693007872"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/ordering-css-delcarations/","targetUrl":"https://twitter.com/chriscoyier/status/1481286845820461056?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://twitter.com/fredkschott"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/joining-remix/","targetUrl":"https://twitter.com/jimniels/status/1484316461652856832?s=20&t=RpI8RK0cRpueWGHQHr_7Bg"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-michael-jackson-devmode-fm/","targetUrl":"https://twitter.com/mjackson"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-beyond-browsers/","targetUrl":"https://twitter.com/ryanflorence/status/1523653395038449665"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/sarasoueidan/status/1508123765347082242"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/oplik0/status/1508371140967907336"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/simevidas/status/1483929583355314177"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/jimniels/status/1483935534124879877"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/jimniels/status/1483946701245370370"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/jasondmoss/status/1524724407641403393?s=21&t=jnFpywm2ziTHu4Td0bNzng"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/davatron5000/status/1523297871566499842"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/jasondmoss/status/1524724407641403393"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://twitter.com/sergiodxa/status/1524611412756205569"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/whats-it-worth/","targetUrl":"https://twitter.com/kantrn/status/1511791402845310977"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/principles-of-color-beyond-srgb/","targetUrl":"https://twitter.com/jensimmons/status/1508484189875806210"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/principles-of-color-beyond-srgb/","targetUrl":"https://twitter.com/jimniels/status/1508487212631048207"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-public-folder-part-iv/","targetUrl":"https://twitter.com/jimniels/status/1521684089400668161"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://twitter.com/jimniels/status/1526752234079281152"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://twitter.com/johncjago/status/1526784370450776064"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://twitter.com/pawelgrzybek/status/1526819953210445826"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://twitter.com/geoff_l/status/1526753861570002947"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://twitter.com/hybrid_alex/status/1526758138568921090"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://twitter.com/mrwweb/status/1526942428682285056"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://twitter.com/chrisofspades/status/1527322594285740037"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/avoiding-flash-of-inaccurate-theme-color/","targetUrl":"https://twitter.com/zcorpan/status/1531299212553502720"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://twitter.com/ovstoica/status/1521776397588520960"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://twitter.com/jimniels/status/1530059286826582016"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://twitter.com/jimniels/status/1532929935370817538"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://twitter.com/brophdawg11"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://twitter.com/chriscoyier/status/1555260029938421766"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://twitter.com/youyuxi/status/1513828164295802883"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://twitter.com/davatron5000/status/1542241869366792193"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://twitter.com/jimniels/status/1542231993328586752"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://twitter.com/jimniels/status/1545541685807128578"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://twitter.com/levelsio/status/1552666734376665089"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://twitter.com/andreyzagoruiko/status/1552086187489107969?s=21&t=ol5_lXdx2S8Bt-8rdwZmsg"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://twitter.com/swyx/status/1552730861052628992?s=21&t=ol5_lXdx2S8Bt-8rdwZmsg"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/multiple-inline-svgs/","targetUrl":"https://twitter.com/simevidas/status/1571550770088091651"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/other-peoples-websites/","targetUrl":"https://twitter.com/carribeiro/status/1477804467735117827?s=21"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/saying-thank-you/","targetUrl":"https://twitter.com/muanchiou/status/1552589989401178114"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://twitter.com/sarasoueidan"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://twitter.com/danmall/status/1564248000272089089"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://twitter.com/jimniels/status/1564451586822266880"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://twitter.com/ffoodd_fr/status/1564510034993766401"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://twitter.com/jimniels/status/1326934599063261187"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://twitter.com/philipforget/status/1326942324589465600"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/jen-simmons-shoptalk-show/","targetUrl":"https://twitter.com/jensimmons"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://twitter.com/jimniels/status/1570636356321411073"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://twitter.com/kn_wler/status/1570637629024243717"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://twitter.com/luckymurari/status/1570642013154086914"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://twitter.com/bramus/status/1571052970955149313"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://twitter.com/remix_run/status/1569783085000171521"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://twitter.com/ryanflorence"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://twitter.com/jimniels/status/1569800776771600384"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-react-and-state/","targetUrl":"https://twitter.com/ryanflorence/status/1529438363341639680"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/hashtag/SketchDesignChallenge"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/mila_shov/status/1573412048813592576"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/basvanderploeg/status/1575604982006652959"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/flarup/status/1575600566910455809"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/ulasalyesil/status/1574449812669440000"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/P63808969/status/1574482560553521152"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/alecea_basson/status/1575171216305844232"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/alecea_basson/status/1575548320142876672"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/Gavmn/status/1575627499131633664"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/viditb/status/1575970096375156736"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/thejoshrogers/status/1575938265500520448"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/abbasmousavi/status/1575937567249563649"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/basnikov/status/1575850673035685889"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/bulldog5278"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/bulldog5278/status/1572918632971210754"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/bulldog5278/status/1574482005831688192"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/bulldog5278/status/1574032139976335363"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://twitter.com/bulldog5278/status/1573730125119733762"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://twitter.com/flarup/status/1532320073465085952"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://twitter.com/NPR/status/1040231625571758086"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://twitter.com/tomayac/status/1584824386850553857"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity-browser/","targetUrl":"https://twitter.com/jimniels/status/1582917485300310016"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/verified-personal-website/","targetUrl":"https://twitter.com/mxbck/status/1590809274808147990"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-alternate-timeline-of-web-dev/","targetUrl":"https://twitter.com/jimniels/status/1484316461652856832"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://twitter.com/jkup/status/1542306767509618691"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/employment-change/","targetUrl":"https://twitter.com/jimniels/status/1593813049789468672"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/employment-change/","targetUrl":"https://twitter.com/jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/prototypes-and-practice/","targetUrl":"https://twitter.com/TomCruise/status/1604839778125430785"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://twitter.com/jimniels/status/1612487807871623169"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://twitter.com/bjornornorn/status/1613211390600450049"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/subscribe-wherever-you-get-your-content/","targetUrl":"https://twitter.com/jimniels/status/1597654715873267713"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/curating-human-and-ai-artwork/","targetUrl":"https://twitter.com/stroughtonsmith/status/1571645502340628482"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/curating-human-and-ai-artwork/","targetUrl":"https://twitter.com/sindresorhus/status/1597251293965594624"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/curating-human-and-ai-artwork/","targetUrl":"https://twitter.com/sindresorhus/status/1570086976489140230"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/curating-human-and-ai-artwork/","targetUrl":"https://twitter.com/sindresorhus/status/1607899299760771072"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-anti-capitalist-web/","targetUrl":"https://twitter.com/terriblemia/status/1198706002419310592"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://twitter.com/jimniels/status/1598436595421663237"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/best-time-to-own-a-domain/","targetUrl":"https://help.twitter.com/en/managing-your-account/legacy-verification-policy"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://twitter.com/dimensionmedia/status/1621156922924896256"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/css-wishlist/","targetUrl":"https://twitter.com/simevidas/status/1620440940375851008?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/figma-to-browser-chasm/","targetUrl":"https://twitter.com/PixelJanitor/status/1623358514440859649"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/figma-to-browser-chasm/","targetUrl":"https://twitter.com/pixeljanitor/status/1623358582753460224"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/site-search-in-arc-browser/","targetUrl":"https://twitter.com/browsercompany/status/1646580021858037760?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/circles-and-momentum/","targetUrl":"https://twitter.com/swyx/status/1260022224351723521?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/cite-your-sources-ai/","targetUrl":"https://twitter.com/SaraSoueidan/status/1647248969192333315?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-handle-blueksy/","targetUrl":"https://twitter.com/JosephJacks_"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-handle-blueksy/","targetUrl":"https://twitter.com/jimniels/status/1597654715873267713"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/practical-accessibility/","targetUrl":"https://twitter.com/SaraSoueidan"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/practical-accessibility/","targetUrl":"https://twitter.com/SaraSoueidan/status/1657014149090533378?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/","targetUrl":"https://twitter.com/brad_frost/status/1661099466533773320?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/","targetUrl":"https://twitter.com/bradwestfall/status/1661137189860790274"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://twitter.com/jimniels/status/1661557620719734785?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://twitter.com/bramus/status/1662014937080774657?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://twitter.com/bramus/status/1661726370076975104?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/throwaway-browser-defaults/","targetUrl":"https://twitter.com/stefanjudis/status/1533418029551439874"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/throwaway-browser-defaults/","targetUrl":"https://twitter.com/jacobmparis/status/1648989316440375296?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/slow-motion-animations-with-chrome-devtools/","targetUrl":"https://twitter.com/bramus/status/1661727675218796548?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/slow-motion-animations-with-chrome-devtools/","targetUrl":"https://twitter.com/jimniels/status/1656874636095700992?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/slow-motion-animations-with-chrome-devtools/","targetUrl":"https://twitter.com/jimniels/status/1661586581407379457?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/apollo-app-icons/","targetUrl":"https://twitter.com/BasicAppleGuy/status/1666907331114745856?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/user-feedback/","targetUrl":"https://twitter.com/ivanhzhao/status/1629179657471033344"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reloading-document-in-html-and-preserve-query-params/","targetUrl":"https://twitter.com/ryanflorence/status/1693648034939469827?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html/","targetUrl":"https://twitter.com/wycats/status/1376963953054547970?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/treating-the-symptoms/","targetUrl":"https://twitter.com/joshm/status/1751734580124787028"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/software-pliability/","targetUrl":"https://twitter.com/jimniels/status/1310982709783793669?s=21"}]},{"domain":"github.com","count":205,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/sass-variable-interpolation-workarounds/","targetUrl":"https://github.com/nex3/sass/issues/132#issuecomment-17581804"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/sass-variable-interpolation-workarounds/","targetUrl":"https://github.com/nex3/sass/issues/132"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/sass-variable-interpolation-workarounds/","targetUrl":"https://github.com/nex3/sass/issues/132#issuecomment-4335097"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/team-colors-2-0/","targetUrl":"https://github.com/teamcolors/teamcolors.github.io/pulls?q=is%3Apr+is%3Aclosed"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/team-colors-2-0/","targetUrl":"https://github.com/teamcolors/teamcolors.github.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/team-colors-2-0/","targetUrl":"https://github.com/teamcolors/teamcolors.github.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/acr90-work-page-design-updates/","targetUrl":"https://github.com/arc90"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-september/","targetUrl":"https://github.com/filamentgroup/Ajax-Include-Pattern/"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://github.com/arc90/sass-color-picker"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://github.com/arc90/sass-color-picker/issues/5"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://github.com/facebookincubator/create-react-app"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://github.com/jimniels/sassme"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://github.com/jimniels/sassme"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/migrating-away-from-compass-and-susy/","targetUrl":"https://github.com/Compass/compass"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/migrating-away-from-compass-and-susy/","targetUrl":"https://github.com/oddbird/susy/releases"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://github.com/shelljs/shelljs"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-functional-lite-js/","targetUrl":"https://github.com/getify/You-Dont-Know-JS"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-functional-lite-js/","targetUrl":"https://github.com/getify/Functional-Light-JS"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://github.com/Modernizr/Modernizr/issues/213"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"https://github.com/jekyll/jekyll-redirect-from"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/blog-redesign-again/","targetUrl":"https://github.com/jimniels/blog/releases"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://github.com/reactjs/react-basic"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://github.com/elmasse/nextein"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://github.com/segmentio/metalsmith/issues/288"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://github.com/damassi"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://github.com/jimniels/logo-integrity/commit/d8323cc8d1575262f60c0f3fe448c7dea761de77"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://gist.github.com/bvaughn/810d50d6ade25b784728873daabb905e"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/netlibox-my-guest-post-on-netlify/","targetUrl":"https://blog.github.com/2018-05-01-github-pages-custom-domains-https/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/netlibox-my-guest-post-on-netlify/","targetUrl":"https://github.com/jimniels/netlibox"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/dark-mode-on-the-web/","targetUrl":"https://github.com/jimniels/blog/commit/82c532faedaa1c8c6e2e3881ccfff004f5d3dbf3"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/supporting-css-variables-in-sass/","targetUrl":"https://github.com/sass/dart-sass"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/supporting-css-variables-in-sass/","targetUrl":"https://github.com/webpack-contrib/sass-loader/issues/532#issuecomment-357547969"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/supporting-css-variables-in-sass/","targetUrl":"https://github.com/sass/libsass/issues/2621"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/supporting-css-variables-in-sass/","targetUrl":"https://github.com/sass/sass/issues/1128"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-december/","targetUrl":"https://github.com/developit/htm/blob/master/README.md"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/generating-shades-of-color-using-css-variables/","targetUrl":"https://github.com/DesignByOnyx"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://github.com/imagemin/imagemin-optipng#optimizationlevel"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://github.com/lovell/sharp"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/metalsmith/metalsmith-in-place"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/metalsmith/metalsmith-layouts/issues/111"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/jstransformers/jstransformer"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/jstransformers/jstransformer-ejs#readme"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/facebook/react/issues/12014"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/facebook/react/issues/12014#issuecomment-454869517"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/facebook/react/issues/12014"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/jimniels/icongallery/pull/21/files#diff-168726dbe96b3ce427e7fedce31bb0bcR1"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://github.com/jimniels/icongallery/pull/21/files"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditional-syntax-highlighting-in-dark-mode-with-css-imports/","targetUrl":"https://github.com/markdown-it/markdown-it"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditional-syntax-highlighting-in-dark-mode-with-css-imports/","targetUrl":"https://github.com/markdown-it/markdown-it#syntax-highlighting"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://github.com/twitter/twemoji"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://github.com/LekoArts/gatsby-status-dashboard"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://github.com/matryer/bitbar"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://github.com/matryer/bitbar"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://github.com/matryer/bitbar#tested-languages"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://github.com/matryer/bitbar#configure-the-refresh-time"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://github.com/sindresorhus/bitbar"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://gist.github.com/kitop/a352074d20d8a3aaff57178e938a2552"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/notes-rethinking-asynchronous-programming-in-javascript/","targetUrl":"https://github.com/getify/You-Dont-Know-JS/blob/master/async%20&%20performance/README.md#you-dont-know-js-async--performance"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/notes-rethinking-asynchronous-programming-in-javascript/","targetUrl":"https://github.com/getify/You-Dont-Know-JS"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"https://github.com/github/time-elements"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/designing-and-engineering-progressive-disclosure/","targetUrl":"https://github.com/jimniels/icongallery/commit/62a2e42af5213a232ce37ee8c06507ebe6609374#diff-36b79ccdff3e0a1a2e7827eeff959eba"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"https://github.com/tc39/proposal-optional-chaining"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://github.com/nodejs/modules"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://github.com/FWeinb/metalsmith-watch#invalidatecache-default-true"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://github.com/nodejs/help/issues/1399"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-i-what/","targetUrl":"https://github.com/jimniels/bitbar/blob/master/src/bitbar-scripts/netlify-sync.1m.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://help.github.com/en/github/managing-large-files/what-is-my-disk-quota"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://git-lfs.github.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://github.com/matryer/bitbar"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://github.com/JXA-Cookbook/JXA-Cookbook"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://github.com/johnelm/node-jxa"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://github.com/jimniels/netlibox"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://github.com/jimniels/bitbar/blob/master/src/bitbar-scripts/netlify-sync.1m.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://github.com/jimniels/bitbar"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/proptypes-outside-of-react-in-template-literal-components/","targetUrl":"https://github.com/facebook/prop-types#proptypescheckproptypes"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://github.com/facebook/react/issues/12014#issuecomment-454869517"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/progressively-enhancing-a-small-widget/","targetUrl":"https://github.com/jimniels/blog/blob/master/src/server/BlogPostsStatus.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-cjs-to-esm/","targetUrl":"https://github.com/jimniels/blog/pull/14/files"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://github.com/arc90/teamcolors/pulls"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://github.com/arc90/teamcolors/issues/28"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://github.com/arc90/teamcolors/issues/28#issuecomment-40719405"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/credentials-in-urls/","targetUrl":"https://github.com/elastic/kibana/issues/34847#issuecomment-486126329"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"https://github.com/dropbox/dropbox-sdk-js/blob/master/examples/javascript/upload/index.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://github.com/w3c/csswg-drafts/issues/3187#issuecomment-499126198"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://github.com/jimniels/sassme/blob/master/src/scripts/utils/colorTransforms.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/git-info-in-node-for-babel-config/","targetUrl":"https://github.com/jean-smaug/babel-plugin-search-and-replace"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/git-info-in-node-for-babel-config/","targetUrl":"https://github.com/kurttheviking/git-rev-sync-js/blob/master/index.js#L37"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/css-naked/","targetUrl":"https://github.com/jimniels/css-naked"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/css-naked/","targetUrl":"https://github.com/jimniels/css-naked/blob/main/css-naked.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/es-modules-there-is-no-registry/","targetUrl":"https://github.com/nvm-sh/nvm"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/es-modules-there-is-no-registry/","targetUrl":"https://github.com/tj/n"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/es-modules-there-is-no-registry/","targetUrl":"https://github.com/facebook/create-react-app"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/es-modules-there-is-no-registry/","targetUrl":"https://github.com/developit/htm"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/es-modules-there-is-no-registry/","targetUrl":"https://github.com/WICG/import-maps"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/es-modules-there-is-no-registry/","targetUrl":"https://github.com/guybedford/es-module-shims"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://github.com/jackmoore/autosize"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://github.com/ungap/custom-elements-builtin"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/export-to-html-from-javascript-using-blob-urls/","targetUrl":"https://github.com/guybedford/es-module-shims"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/react-without-build-tools/","targetUrl":"https://github.com/facebook/react/issues/11503#issuecomment-407122820"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-style-sheet-in-safari/","targetUrl":"https://github.com/Tampermonkey/tampermonkey"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feat-new-style/","targetUrl":"https://github.com/sindresorhus/modern-normalize"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/graphing-blog-post-goals/","targetUrl":"https://github.com/jimniels/blog/pull/25"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/codbase-collaboration-between-humans-and-robots/","targetUrl":"https://gist.github.com/davatron5000/9db6a622a6f2203ec1f900512d6fae86"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/codbase-collaboration-between-humans-and-robots/","targetUrl":"https://github.com/davatron5000/humans-vs-robots"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://github.com/segmentio/metalsmith"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://github.com/segmentio/metalsmith/blob/master/lib/index.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://github.com/jonschlinkert/gray-matter/issues/62"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://github.com/nodeca/js-yaml/issues/198#issuecomment-120205625"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://github.com/nodeca/js-yaml/blob/aee620a20e85e651073ad8e6468d10a032f0eca8/lib/type/timestamp.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-is-in-fact-awesome/","targetUrl":"https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/up%20%26%20going/ch1.md"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-collection/","targetUrl":"https://github.com/jimniels/blog/commit/f199954db4eb8e319b4963bdc997efee0f072283#diff-b46ee696421a99dccee404ede90e788a75c28a6aa8bd8c4b0cd19b60ee0b3d67"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/web-languages-as-compile-targets/","targetUrl":"https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/shadow-dom-and-the-styling-api/","targetUrl":"https://github.com/nolanlawson/emoji-picker-element"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/shadow-dom-and-the-styling-api/","targetUrl":"https://github.com/castastrophe/wc-theming-standards/wiki"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://github.com/postlight/mercury-parser"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://github.com/jimniels/readlists"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://github.com/antongunov/favicongrabber.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://gist.github.com/dodying/bf3063d4e1f5b206018bfa19127669e9"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://github.com/duckduckgo/Android/issues/527"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://github.com/imagemin/imagemin"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://github.com/w3c/csswg-drafts/issues/575"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://github.com/WebKit/WebKit/blob/13e79e2e2f09579997106164ae66ad5499fc0a27/Source/WebCore/css/html.css"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://github.com/WebKit/WebKit/blob/31a9a1e0c19971c96c01408f97ad51440dbcd0e2/Source/WebCore/bindings/scripts/preprocessor.pm"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://github.com/WebKit/WebKit/blob/13e79e2e2f09579997106164ae66ad5499fc0a27/Source/WebCore/css/CSSValueKeywords.in#L232"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://github.com/WebKit/WebKit/blob/13e79e2e2f09579997106164ae66ad5499fc0a27/Source/WebCore/css/CSSValueKeywords.in#L341"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/propagating-up-in-css/","targetUrl":"https://github.com/w3c/csswg-drafts/issues/6079#issuecomment-816307011"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"https://github.com/simevidas/web-dev-feeds"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"https://github.com/w3ctag/design-principles/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"https://github.com/babel/babel/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"https://gist.github.com/jimniels/073beba189ff69ca1b9ef93dc4228a26"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/notes-hammock-driven-development/","targetUrl":"https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/HammockDrivenDev-mostly-text.md"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://github.com/GoogleChrome/lighthouse/blob/c333322264e6c2c34553f94abc85ed01c60e2d3d/lighthouse-core/gather/gatherers/dobetterweb/domstats.js#L47"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://gist.github.com/lopspower/03fb1cc0ac9f32ef38f4"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://github.com/w3c/css-houdini-drafts/issues/1007"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://github.com/mozilla/readability"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://github.com/postlight/mercury-parser"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://github.com/woodyrew"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://github.com/jimniels/html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://github.com/developit/htm"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://github.com/developit/vhtml"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://github.com/jimniels/blog/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://github.com/jimniels/blog/blob/master/src/client/feed.xml.tmpl.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/app-icons-dont-catch-em-all/","targetUrl":"https://github.com/insidegui/AssetCatalogTinkerer"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://github.com/reactwg/react-18/discussions/37"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-analytics-email-digest/","targetUrl":"https://gist.github.com/jimniels/e544b05ed72079ae008963250250432a"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/new-blog-theme-implementation-details/","targetUrl":"https://github.com/jimniels/blog/blob/978432a1207abd4716f1371161b42fcd1ad44b16/src/server/site-nav.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/ordering-css-delcarations/","targetUrl":"https://github.com/prettier/prettier/issues/1963#issuecomment-306070896"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/ordering-css-delcarations/","targetUrl":"https://github.com/prettier/prettier/issues/1963#issuecomment-307147922"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://github.com/WebKit/WebKit/commit/75734bd35fa1a210f24ac0ab3502177ece7002ab"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-public-folder-part-iv/","targetUrl":"https://github.com/swiftbar/SwiftBar"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://github.com/rsms/graphviz"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://github.com/mdaines/viz.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/software-over-time/","targetUrl":"https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/SimpleMadeEasy.md"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/markdown-sans-front-matter/","targetUrl":"https://github.com/jimniels/blog/blob/5a3f4e4c7098315bea12fe9d44d4f7ec8e787044/scripts/cache-site-data.js#L65-L94"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/playing-with-blog-home/","targetUrl":"https://github.com/jimniels/blog/commit/b1a250b2357d21e69a58ce3265114e1761fb47f8"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://github.com/validator/validator/wiki/Service-»-HTTP-interface"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://github.com/postlight/mercury-parser"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://github.com/cyrilis/epub-gen"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://github.com/cyrilis/epub-gen"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://gist.github.com/cyrilis/8d48eef37fbc108869ac32eb3ef97bca"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://github.com/eligrey/FileSaver.js/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://github.com/jimniels/readlists/blob/c0de5aad12387e58b9f41988b2a7500392d71527/src/js/epub/index.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://github.com/npm/registry/blob/master/docs/download-counts.md"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://docs.github.com/en/rest/repos/repos"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://github.com/remix-run/react-router/network/dependents?package_id=UGFja2FnZS00OTM0MDEzMDg%3D"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://gist.github.com/thefranke/63853a6f8c499dc97bc17838f6cedcc2"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://github.com/jimniels/blog/blob/dc40caf048a4812ee8b80500154486ea35865376/src/server/styles/basic.css"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://github.com/jimniels/blog/blob/dc40caf048a4812ee8b80500154486ea35865376/metalsmith.js#L31-L102"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://github.com/WICG/scroll-to-text-fragment/issues/15#issuecomment-534299296"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://github.com/WICG/scroll-to-text-fragment/issues/15#issuecomment-534299296"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/npm-dependency-queries/","targetUrl":"https://github.com/npm/rfcs/pull/564/files"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://github.com/whatwg/html/issues/3464"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://github.com/WebKit/WebKit/commit/714821f562a1cb8fb11ee87f0778eed479425a7b"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://github.com/WebKit/WebKit/tree/main/LayoutTests/fast/custom-elements"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/css-wishlist/","targetUrl":"https://github.com/css-modules/css-modules"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/types-in-jsdoc-with-zod/","targetUrl":"https://gist.github.com/pmuellr/60668d33049f96ce7323f5eab648f468"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/gratitude-for-dont-break-the-web/","targetUrl":"https://github.com/tc39/how-we-work/blob/main/terminology.md#web-compatibilitydont-break-the-web"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/well-known-avatar/","targetUrl":"https://github.com/protocol-registries/well-known-uris"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/well-known-avatar/","targetUrl":"https://github.com/jimniels/www/blob/bdb74d9ff348e67a5868f257673b319fd2cd59fb/static/_redirects#L14"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://github.com/tc39/proposal-import-attributes"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-on-notes/","targetUrl":"https://github.com/jimniels/notes/tree/main"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-flavors-of-typescript/","targetUrl":"https://github.com/tc39/proposal-type-annotations"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://github.com/django/django/compare/4.2.7...main"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/how-i-take-and-publish-notes/","targetUrl":"https://github.com/jimniels/notes"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://github.com/aberonni/gmail-app-badge-notification"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://github.com/aberonni/gmail-app-badge-notification/blob/master/src/content.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"https://github.com/jimniels/blog/pull/49/files#diff-063b548d78e4df555ca5d59ec05c630215d2aac1241951f65a69ea4348e19ea3R99"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/consistent-nav-across-inconsistent-sites/","targetUrl":"https://github.com/jimniels/www/blob/1483ecc5f1a456cd67fac162d2de788b087657e8/static/jim-navbar.js"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/gist-that-keeps-giving/","targetUrl":"https://gist.github.com/umayr/b95e11d5f22c24a872ef95d215ba2ab1"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/gist-that-keeps-giving/","targetUrl":"https://gist.github.com/umayr/b95e11d5f22c24a872ef95d215ba2ab1?permalink_comment_id=4839742#gistcomment-4839742"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-site-via-content-in-dropbox/","targetUrl":"https://github.com/jimniels/notes/tree/dcb3b0dcdc7e322a37ac917d791d604c95454311"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/nabbing-macos-icons/","targetUrl":"https://github.com/insidegui/AssetCatalogTinkerer"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/html-minification/","targetUrl":"https://github.com/kangax/html-minifier"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://github.com/jimniels/blog"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://github.com/jimniels/notes"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://github.com/jimniels/blog/blob/0573764d696ffaab74d6e47223d4b1f19980abfd/scripts/cache-site-data.js#L9-L20"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/is-it-javascript/","targetUrl":"https://github.com/krakenjs/jsx-pragmatic"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/element-ordering-edge-function-html-rewriter/","targetUrl":"https://github.com/worker-tools/html-rewriter"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/computers-are-a-feeling/","targetUrl":"https://github.com/timhwang/nyrc/blob/main/NYRC%201%20-%20The%20Computer%20is%20a%20Feeling.md"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/choosing-tools-for-making-websites/","targetUrl":"https://github.com/WebOrigami/origami/releases/tag/0.4.0"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/origami-icons/","targetUrl":"https://github.com/tailwindlabs/heroicons"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/pies-and-subdomains/","targetUrl":"https://github.com/jimniels/pies/blob/afa96292ff1c1e620771280196a58ee520e51967/archive.ori"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/pies-and-subdomains/","targetUrl":"https://github.com/jimniels/pies"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/opacity-of-generative-tools/","targetUrl":"https://github.com/openai/codex/blob/rust-v0.114.0/codex-rs/core/templates/model_instructions/gpt-5.2-codex_instructions_template.md#frontend-tasks"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://github.com/feedbin/feedbin-api"}]},{"domain":"adactio.com","count":97,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-november/","targetUrl":"https://adactio.com/journal/9688"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-october/","targetUrl":"https://adactio.com/journal/11052"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-analog-web/","targetUrl":"https://adactio.com/journal/6692"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://adactio.com/journal/12604"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://adactio.com/journal/13109"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://adactio.com/journal/13187"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"https://adactio.com/articles/1522"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/short-perspective-on-hiring/","targetUrl":"https://adactio.com/journal/9982"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://adactio.com/journal/13498"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://adactio.com/journal/14250"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-september/","targetUrl":"https://adactio.com/journal/14329"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://adactio.com/journal/14363"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-december/","targetUrl":"https://adactio.com/journal/14562"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://principles.adactio.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://adactio.com/journal/7653"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://adactio.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://adactio.com/articles/12839"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://adactio.com/articles/11481"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://adactio.com/articles/9465"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://adactio.com/articles/9004"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-march/","targetUrl":"https://adactio.com/journal/14911"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-jeremy-keiths-split/","targetUrl":"https://adactio.com/journal/15050"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-jeremy-keiths-split/","targetUrl":"https://adactio.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-jeremy-keiths-split/","targetUrl":"https://adactio.com/journal/14891%23Brad%2520says"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://adactio.com/articles/4938"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://adactio.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://adactio.com/journal/rss"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"https://adactio.com/journal/16099"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/design-systems-and-airplanes/","targetUrl":"https://adactio.com/journal/16400"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/design-systems-and-airplanes/","targetUrl":"https://adactio.com/journal/16369"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/perception-and-balancing-idealism-with-pragmatism/","targetUrl":"https://adactio.com/journal/15051"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-april/","targetUrl":"https://adactio.com/journal/16786"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://adactio.com/journal/16887"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://adactio.com/journal/16960"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-july/","targetUrl":"https://adactio.com/journal/17132"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/make-me-think/","targetUrl":"https://adactio.com/journal/6786"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://adactio.com/links/17304"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://adactio.com/links/17508"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://adactio.com/links/17429"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://adactio.com/links/17645"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-collection/","targetUrl":"https://adactio.com/links"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/web-languages-as-compile-targets/","targetUrl":"https://adactio.com/journal/6786"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflecting-on-digital-experience-for-vaccine/","targetUrl":"https://adactio.com/journal/17943"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/automatically-discoverable-rss-feeds/","targetUrl":"https://adactio.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-june/","targetUrl":"https://adactio.com/journal/18199"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://adactio.com/journal/18252"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://adactio.com/journal/18252"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/browsers-and-representation/","targetUrl":"https://adactio.com/journal/18337"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/","targetUrl":"https://adactio.com/journal/18337"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/","targetUrl":"https://adactio.com/journal/18335"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://adactio.com/journal/18337"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://adactio.com/journal/18474"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://adactio.com/journal/18186"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://adactio.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://adactio.com/journal/18640"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://adactio.com/journal/18743"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://adactio.com/journal/11620"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://adactio.com/journal/17537"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/trusting-browsers/","targetUrl":"https://adactio.com/journal/19021"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-beyond-browsers/","targetUrl":"https://adactio.com/articles/16251"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/principles-of-color-beyond-srgb/","targetUrl":"https://adactio.com/journal/18982"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-case-for-design-engineers/","targetUrl":"https://adactio.com/journal/17838"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-case-for-design-engineers/","targetUrl":"https://adactio.com/journal/18982"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/design-systems-and-boundaries/","targetUrl":"https://adactio.com/journal/19131"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/doing-well/","targetUrl":"https://speaking.adactio.com/ZCJ61M#stjS2Wh"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://adactio.com/journal/19125"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/resiliency-in-the-webs-layers/","targetUrl":"https://speaking.adactio.com/ZCJ61M"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://adactio.com/journal/19315"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://adactio.com/journal/18454"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://adactio.com/journal/19573"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thinking-systematically/","targetUrl":"https://adactio.com/journal/18640"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://adactio.com/journal/16531"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/best-time-to-own-a-domain/","targetUrl":"https://adactio.com/links/19783"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-dot-jim-nielsen-dot-com/","targetUrl":"https://adactio.com/links"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/logical-properties-and-ease/","targetUrl":"https://adactio.com/journal/19457"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/human-hype-and-machine-intelligence/","targetUrl":"https://adactio.com/journal/19899"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ode-to-aea/","targetUrl":"https://adactio.com/articles"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thoughts-on-safari-spatial-computing/","targetUrl":"https://adactio.com/journal/18454"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/things-i-like-over-things-i-dont/","targetUrl":"https://adactio.com/journal/18628"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/robots-txt/","targetUrl":"https://adactio.com/links/20380"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components/","targetUrl":"https://adactio.com/journal/20618"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components-an-example/","targetUrl":"https://adactio.com/journal/20618"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-from-computing-sustainably/","targetUrl":"https://adactio.com/journal/6786"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/origin-of-online-handles/","targetUrl":"https://adactio.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://adactio.com/links/20815"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/cars-motorcycles-websites-seams/","targetUrl":"https://adactio.com/journal/6786"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/gist-that-keeps-giving/","targetUrl":"https://adactio.com/journal/21098"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/futuristic-progressive-enhanement/","targetUrl":"https://adactio.com/journal/21128"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/just-one-line/","targetUrl":"https://adactio.com/journal/21126"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/organic-intelligence/","targetUrl":"https://adactio.com/journal/21160"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/person-in-personal-website/","targetUrl":"https://adactio.com/journal/16811"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ui-pace-layers/","targetUrl":"https://adactio.com/journal/19104"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tumult-in-design/","targetUrl":"https://adactio.com/links/21817"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/research-alt/","targetUrl":"https://adactio.com/journal/22183"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/uncomfortable-i-dont-know/","targetUrl":"https://adactio.com/links/22289"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/a-in-ai-stands-for-amnesia/","targetUrl":"https://adactio.com/links/22289"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/say-no-to-data/","targetUrl":"https://adactio.com/journal/16811"}]},{"domain":"apple.com","count":96,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html#//apple_ref/doc/uid/TP40006556-CH27-SW1"},{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"https://developer.apple.com/library/prerelease/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW1"},{"sourceUrl":"https://blog.jim-nielsen.com/2014/creating-apple-touch-icons/","targetUrl":"https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://itunes.apple.com/us/app/angry-birds/id343200656?mt=8"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://itunes.apple.com/us/podcast/react-podcast/id1341969432?mt=2&i=1000408580046"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/dark-mode-on-the-web/","targetUrl":"https://developer.apple.com/safari/technology-preview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://itunes.apple.com/us/app/aws-iot-button-dev/id1178216626?mt=8"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/oddmar/id1247397901"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/oddmar/id1247397901"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/calcly-free-universal-calculator-for-ipad/id1036343033"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/calcly-free-universal-calculator-for-ipad/id1036343033"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/unobstruct/id1255281426"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/unobstruct/id1255281426"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/super-mario-run/id1145275343"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://itunes.apple.com/us/app/super-mario-run/id1145275343"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/design-principles-applied-to-sf-fonts/","targetUrl":"https://developer.apple.com/videos/play/wwdc2015/804/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/WatchFolders.html#//apple_ref/doc/uid/TP40016239-CH39-SW1"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/DisplayNotifications.html#//apple_ref/doc/uid/TP40016239-CH61-SW1"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/DisplayProgress.html#//apple_ref/doc/uid/TP40016239-CH37-SW1"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://developer.apple.com/library/content/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/OSX10-10.html#//apple_ref/doc/uid/TP40014508-CH109-SW1"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/DisplayProgress.html#//apple_ref/doc/uid/TP40016239-CH37-SW1"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_folder_actions.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/color-scheme-property/","targetUrl":"https://developer.apple.com/videos/play/wwdc2019/511/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://developer.apple.com/fonts/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://developer.apple.com/wwdc20/10663"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://developer.apple.com/videos/play/wwdc2021/10029/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-gap/","targetUrl":"https://developer.apple.com/videos/play/wwdc2021/10029/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color/#system-colors"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/the-power-of-the-link/","targetUrl":"https://www.apple.com/newsroom/2021/09/japan-fair-trade-commission-closes-app-store-investigation/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://podcasts.apple.com/us/podcast/js-party-javascript-css-web-development/id1209616598?i=1000534946896"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/hide-my-mailto-email/","targetUrl":"https://support.apple.com/en-us/HT210425"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://developer.apple.com/safari/technology-preview/release-notes/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/automate-public-folder-workflow/","targetUrl":"https://support.apple.com/guide/shortcuts"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://developer.apple.com/videos/play/wwdc2018/803/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://apps.apple.com/us/app/dark-mode-for-safari/id1397180934?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-sf-font-variations/","targetUrl":"https://developer.apple.com/videos/play/wwdc2022/110381/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-you-can-and-cant-do/","targetUrl":"https://podcasts.apple.com/us/podcast/the-remix-podcast/id1600739725?i=1000545192927"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://developer.apple.com/forums/thread/674179"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/deadlines-as-technology/","targetUrl":"https://apps.apple.com/us/app/clear-todos/id493136154"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thoughts-on-safari-spatial-computing/","targetUrl":"https://developer.apple.com/videos/play/wwdc2023/10279/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://support.apple.com/en-us/104996"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/the-subversive-hyperlink/","targetUrl":"https://developer.apple.com/support/storekit-external-entitlement-us/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-bot-al-chatbot-assistant/id6736975220?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-ai-chat-bot/id6450622517"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-for-google-gemini/id6740811927"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-bot-assistant-ask-ai/id6450978033"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/videogen-ai-video-generator/id6479643532?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ai-chat-assistant/id6739469256?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/enclave-local-ai-assistant/id6476614556"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/grow-ai-ask-ai-chat-assistant/id6741433564"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/g-ai-4-0-ai-chatbot-assistant/id6749970691?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-bot-ask-assistant/id6746353576?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-chat-ask-assistant/id6747115817?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-chat-ai-assistant/id6744754737?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-assistant-ai/id6745822696?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-open-ask-chat-bot/id6743402169?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-chat-assistant/id6743059258?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-assistant-ask-ai/id6744464743?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-open-assistant/id6449541207"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-genius-question-ai/id6447461948?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-seek-assistant/id6474563192?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-anything-bot/id6480046854?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-chat-assistant/id6473283294?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-bot-ai-bot-assistant/id6447077370?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ai-chat-assistant-5/id6741179870?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/al-chatbot-ai-assistant-chat/id6738339696?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-ai-assistant/id6503169843?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-ai-chat-bot/id6450622517"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-chat-ai-assistant/id6450061224?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-chat-assistant/id6737203981?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-bot-ask-assistant/id6447312365?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-ask-gpt-assistant/id6502455067?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ai-ask-assistant/id6741739345?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-open-ask-ai-chat-bot/id6743622123?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-assistant-ask-bot/id6475490427?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-chatbot-ask-anything/id6743649986?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-smart-ai-assistant/id6449362725"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ask-ai-assistant-bot/id6743996207?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ai-chat-ai-assistant/id6736944168?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ai-chat-assistant/id6503641047?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-chat-ask-ai-assistant/id6740460020?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ask-open-assistant-ai/id6742192140?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ask-character-ai-chat/id6479561834?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chatbot-assistant-ask-ai/id6739805237?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ask-ai-chatbot-chat-assistant/id6743440054?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-chatbot-assistant-4o/id6447619562?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-bot-al-chatbot-assistant/id6736975220?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-open-chat-with-ai/id6742242734?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ask-ai-chat-bot/id6451158502?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/ai-chat-assistant-chatnow/id1667518571"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-open-chat-with-ai-bot/id6448729972?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/chatbot-ai-chat-assistant/id6740486822?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/open-chat-ai-chatbot-assistant/id6746927378?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://apps.apple.com/us/app/al-chatbot-ai-assistant-chat/id6738339696?mt=12"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.apple.com/apple-creator-studio/"}]},{"domain":"youtube.com","count":92,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/the-frustration-of-google-glass/","targetUrl":"http://www.youtube.com/embed/S80mE3kQTJ0"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/kinda-sorta-looks-like-the-internet/","targetUrl":"http://www.youtube.com/watch?v=ldjHqHC6szA"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/evolution-of-creativity/","targetUrl":"http://www.youtube.com/watch?v=mm8G5-pug_w"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-october/","targetUrl":"https://www.youtube.com/watch?v=xyJA4liNPX0"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-november/","targetUrl":"https://m.youtube.com/watch?v=rMtSc2MJLcw"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-november/","targetUrl":"https://www.youtube.com/watch?v=rI8tNMsozo0"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-analog-web/","targetUrl":"https://www.youtube.com/watch?v=tn_eIg39vH0"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-april/","targetUrl":"https://www.youtube.com/watch?v=aAb7hSCtvGw"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"https://www.youtube.com/watch?v=NPB34lDZj3E"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"https://www.youtube.com/watch?v=wAekLOUpMB4"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-june/","targetUrl":"https://www.youtube.com/watch?v=QW5TE4vrklU"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://www.youtube.com/watch?v=I93XzY8nRso"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://www.youtube.com/watch?v=I93XzY8nRso”"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-march/","targetUrl":"https://m.youtube.com/watch?v=yD2ekOEP9sU"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/blog-redesign-again/","targetUrl":"https://www.youtube.com/watch?v=ryr75N0nki0"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://www.youtube.com/watch?v=FF-tKLISfPE"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-september/","targetUrl":"https://www.youtube.com/watch?v=dXQPL9GooyI&feature=youtu.be"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://www.youtube.com/watch?v=y-xgWLYQc4g"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://www.youtube.com/watch?v=30WcPnvfiKE"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://www.youtube.com/watch?v=7tzfl1wTemM"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-november/","targetUrl":"https://www.youtube.com/watch?v=xqT8e6_yzLg"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-december/","targetUrl":"https://www.youtube.com/watch?v=r9LCwI5iErE"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-january/","targetUrl":"https://www.youtube.com/watch?v=cCOL7MC4Pl0&t=1126s"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://www.youtube.com/watch?v=wA4oJfNe-DU"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"https://www.youtube.com/watch?v=bEg5ySTUGxE"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"https://www.youtube.com/watch?v=G_y2pNj0zZg"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-january/","targetUrl":"https://www.youtube.com/watch?v=nH2UUePGIbw"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-may/","targetUrl":"https://www.youtube.com/watch?v=MkTiYDrb0zg"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"https://www.youtube.com/watch?v=rvoZKQn2Go8"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"https://www.youtube.com/watch?v=tr6aHw8I32M&t=993s"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"https://www.youtube.com/watch?v=SrKj4hYic5A"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://www.youtube.com/watch?v=eky5uKILXtM&feature=youtu.be"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/speculative-prefetching/","targetUrl":"https://www.youtube.com/watch?v=qnNHVB9jLc0"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://www.youtube.com/watch?v=8pTEmbeENF4"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://www.youtube.com/watch?v=HgtRAbE1nBM"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/notes-hammock-driven-development/","targetUrl":"https://www.youtube.com/watch?v=f84n5oFoZBc"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://www.youtube.com/watch?v=860d8usGC0o"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://www.youtube.com/watch?v=rSrLjb3k1II"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://www.youtube.com/watch?v=SGIJvP6z9xM"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://www.youtube.com/watch?v=fWFo1VaQNmU"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/disposition-of-negativity/","targetUrl":"https://www.youtube.com/watch?v=lCCf8ZfY9qc&t=198s"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://www.youtube.com/watch?v=lVHj7Y90Ieg"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/deno-is-webby-pt-2/","targetUrl":"https://www.youtube.com/watch?v=vBd4tPUBUQo"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://www.youtube.com/watch?v=YQ_xWvX1n9g&t=1029s"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exerting-control-with-media-queries/","targetUrl":"https://www.youtube.com/watch?v=DDuGtN-GakA"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://www.youtube.com/watch?v=kErHiET5YPw"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://www.youtube.com/watch?v=GAXLHM-1Psk"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-in-and-out-of-style/","targetUrl":"https://www.youtube.com/watch?v=CdZZcbZG83o"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://www.youtube.com/watch?v=SiYFh7wutTI"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-alternate-timeline-of-web-dev/","targetUrl":"https://www.youtube.com/watch?v=W3LwlSlo5cw"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-alternate-timeline-of-web-dev/","targetUrl":"https://www.youtube.com/watch?v=jd_bin5HPrw"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/employment-change/","targetUrl":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/digital-preservation-and-the-app-icon-book/","targetUrl":"https://www.youtube.com/watch?v=NnMHQ2TA8Nw"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/hipster-history-of-cors/","targetUrl":"https://www.youtube.com/watch?v=0YJ-yhoJh2I"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-birth-of-disable-javascript/","targetUrl":"https://www.youtube.com/watch?v=0YJ-yhoJh2I"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/offline-is-online-with-extreme-latency/","targetUrl":"https://www.youtube.com/watch?v=KrPsyr8Ig6M"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-from-richs-talk/","targetUrl":"https://www.youtube.com/watch?v=uXCipjbcQfM"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/circles-and-momentum/","targetUrl":"https://www.youtube.com/watch?v=0jHsq36_NTU"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/meaning-in-web-tech-stack-ordering/","targetUrl":"https://www.youtube.com/watch?v=R4Ri4ft7bXY"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/something-you-need-to-know-about-web-dev/","targetUrl":"https://www.youtube.com/watch?v=xmkCmJtK6X8&t=314s"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/precarious-modern-computing/","targetUrl":"https://www.youtube.com/watch?v=9TJuOwy4aGA"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-flavors-of-typescript/","targetUrl":"https://www.youtube.com/watch?v=U6s2pdxebSo"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/as-good-as-html/","targetUrl":"https://www.youtube.com/watch?v=mtHf7crZZIQ&t=1696s"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components-an-example/","targetUrl":"https://www.youtube.com/watch?v=R4Ri4ft7bXY"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/width-and-height-in-css/","targetUrl":"https://www.youtube.com/watch?v=Xt1Cw4qM3Ec"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/most-profitable-ui-element-ever/","targetUrl":"https://www.youtube.com/watch?v=XZ3w_jec1v8"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/most-profitable-ui-element-ever/","targetUrl":"https://www.youtube.com/watch?v=XZ3w_jec1v8"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-from-computing-sustainably/","targetUrl":"https://www.youtube.com/watch?v=T3u7bGgVspM"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/origin-of-online-handles/","targetUrl":"https://www.youtube.com/watch?v=Zn33LLmwzeY"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rsc-localfirst-and-coordination-between-computers/","targetUrl":"https://www.youtube.com/live/T8TZQ6k4SLE"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/amazing-athletes/","targetUrl":"https://www.youtube.com/watch?v=iFfCpvT_MV8"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/amazing-athletes/","targetUrl":"https://www.youtube.com/shorts/nrzht-R4Lp0"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/just-build-websites/","targetUrl":"https://www.youtube.com/shorts/jZx5TyOQvMY"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/ryan-dahl-talks-deno-on-changelog/","targetUrl":"https://www.youtube.com/watch?v=M3BM9TB-8yA"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-omgimg-pt-iii/","targetUrl":"https://www.youtube.com/watch?v=QWMFpxkGO_s"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/blown-away-by-the-unexpected/","targetUrl":"https://www.youtube.com/watch?v=d-oKrCqvWY4"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/the-art-of-making-websites/","targetUrl":"https://www.youtube.com/watch?v=WqNgGmmwj7U"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/proving-binaries/","targetUrl":"https://www.youtube.com/watch?v=LbjxvvKEtyE"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/i-dont-see-why-not/","targetUrl":"https://www.youtube.com/watch?v=1XF-NG_35NE"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/i-dont-see-why-not/","targetUrl":"https://www.youtube.com/watch?v=1XF-NG_35NE&lc=Ugy00fGVt54dzv6MjHR4AaABAg"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/job-titles/","targetUrl":"https://www.youtube.com/watch?v=P63J9z5ufB8&t=243s"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tumult-in-design/","targetUrl":"https://www.youtube.com/watch?v=SHhrZgojY1Q"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-hundred-year-web-service/","targetUrl":"https://www.youtube.com/watch?v=lASLZ9TgXyc"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/more-friction-please/","targetUrl":"https://www.youtube.com/watch?v=Pxvfy4qQRog"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/do-you-personalize/","targetUrl":"https://www.youtube.com/watch?v=QEJpZjg8GuA"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/youtube-links-from-whgov-wire/","targetUrl":"https://www.youtube.com/watch?v=2g8HctzQCIo"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/measurement-and-numbers/","targetUrl":"https://www.youtube.com/watch?v=wLb9g_8r-mE"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/occupation-and-preoccupation/","targetUrl":"https://www.youtube.com/watch?v=wLb9g_8r-mE"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/love-for-python/","targetUrl":"https://www.youtube.com/watch?v=GfH4QL4VqJ0"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/run-software-on-software-youve-never-run/","targetUrl":"https://www.youtube.com/watch?v=oyLBGkS5ICk"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-interview-with-jony-ive/","targetUrl":"https://www.youtube.com/watch?v=wLb9g_8r-mE"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/dont-contact-us-page/","targetUrl":"https://www.youtube.com/watch?v=IojqOMWTgv8"}]},{"domain":"mozilla.org","count":83,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/difference-between-substr-and-substring-in-javascript/","targetUrl":"https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substr"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/difference-between-substr-and-substring-in-javascript/","targetUrl":"https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/generating-shades-of-color-using-css-variables/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/--*"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/generating-shades-of-color-using-css-variables/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties#Custom_property_fallback_values"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditional-syntax-highlighting-in-dark-mode-with-css-imports/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditional-syntax-highlighting-in-dark-mode-with-css-imports/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/@import"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/dynamically-darken-a-color-in-css/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/filter"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/jsx-like-syntax-for-tagged-template-literals/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-srcset"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/common-js-equivalent-of-dirname-in-es-modules/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import.meta/resolve"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Blob"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/File"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Blob/text"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/File"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/File/File"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/user-controlled-system-level-aesthetic-preferences/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/Performance/Lazy_loading"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/web-technologies-and-syntax/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/export-to-html-from-javascript-using-blob-urls/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Blob"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/export-to-html-from-javascript-using-blob-urls/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/speculative-prefetching/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Link_prefetching_FAQ#what_about_folks_who_pay-per-byte_for_network_bandwidth.3f"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fetch-and-3xx-redirect-status-codes/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/Web_Components"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_templates_and_slots"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/conditional-style-loading-not-so-fast/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/@import"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/conditional-style-loading-not-so-fast/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/@namespace"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/WebKit_Extensions"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/font"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/stacking-contexts/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context#the_stacking_context"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/stacking-contexts/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/isolation"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/color_value"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://developer.mozilla.org/en-US/docs/Glossary/Type_coercion"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/a-web-for-all/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/fetch"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Request"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Response"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/FormData/getAll"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/display"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-data"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/FormData"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-enctype"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/:target"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/@document"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/hipster-history-of-cors/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Resource-Policy"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/hipster-history-of-cors/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/hipster-history-of-cors/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/css-wishlist/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/attr"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thoughts-on-safari-spatial-computing/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-nuance/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/URL/URL"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/web-components-icon-galleries/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components-an-example/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Navigator/setAppBadge"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/two-tips-building-with-react-router/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/FormData"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/all-about-that-button/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-form"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/all-about-that-button/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-target"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/all-about-that-button/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/color-console-log/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/console#styling_console_output"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/localstorage-recoil/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/view-transition-name-gotchas/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/view-transition-name"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/view-transition-name-gotchas/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/overriding-basic-ui-controls/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/indeterminate"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/dont-forget-meta-theme-color/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/background-image-opacity-css/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/background-blend-mode"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/background-image-opacity-css/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/cross-fade"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/a#href"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Fragment/Text_fragments"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Schemes/data"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/API/URL/URL"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/casing-on-the-web/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/casing-on-the-web/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/http-equiv"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/casing-on-the-web/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/form#accept-charset"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/casing-on-the-web/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/browsers-white-lies/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Selectors/Privacy_and_:visited"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/origami-icons/","targetUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/importmap"}]},{"domain":"iosicongallery.com","count":80,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/stop-direct-spam-comments-in-wordpress/","targetUrl":"http://iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"http://iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"http://iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"http://iosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://www.iosicongallery.com/afl-aussie-rules-live-ios-app-icon-20110616/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://www.iosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/netlibox-my-guest-post-on-netlify/","targetUrl":"http://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://www.iosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/icon-galleries-dark-mode/","targetUrl":"https://www.iosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/css-network-performance/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-apple-engineers-decided-the-app-icon-size-for-the-original-iphone/","targetUrl":"https://www.iosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/improving-server-side-rendering-react/","targetUrl":"https://www.iosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/improving-server-side-rendering-react/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.iosicongallery.com/icons/groove-galaxy-2019-02-11/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://www.iosicongallery.com/404"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/designing-and-engineering-progressive-disclosure/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/svg-stroke-positioning-ios-masks-browser/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.iosicongallery.com/icons/3d-scanner-app-2021-04-22/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.iosicongallery.com/icons/activity-2017-09-26/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.iosicongallery.com/icons/air-hippo-2012-12-03/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.iosicongallery.com/icons/alarm-clock-hd-2019-05-29/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/cool-uris-and-image-hotlinking/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/launching-ios-app-icon-book/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/app-icons-dont-catch-em-all/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"http://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/avoiding-flash-of-inaccurate-theme-color/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/conduct-this-train-action-2022-09-22/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/tweetbot-6-for-twitter-2021-02-23/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/photos-2022-09-26/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/weather-2021-12-07/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/apple-maps-2021-12-07/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/weather-line-2014-02-07/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/headlines-news-widget-2021-02-05/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/octave-sight-reading-tool-2022-06-21/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/quill-chat-2021-07-14/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/1password-8-password-manager-2022-09-22/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/twitterrific-tweet-your-way-2019-07-19/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/tweetbot-5-for-twitter-2018-10-19/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/tweetbot-4-for-twitter-2015-10-19/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://www.iosicongallery.com/icons/tweetbot-2011-06-28/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/curating-human-and-ai-artwork/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/japanese-ios-app-icon-book/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/web-components-icon-galleries/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/macos-icon-book-irl/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://www.iosicongallery.com/designers"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/developers/apple/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/570060128/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/570060128/sm"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/570060128/lg"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/570060128/xl"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/570060128/compare/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/408709785/compare/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/389801252/compare/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/1498912833/compare"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.iosicongallery.com/apps/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tahoes-terrible-icons-b-sides/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/top-resource-not-found/","targetUrl":"https://www.iosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://iosicongallery.com"}]},{"domain":"netlify.com","count":71,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://www.netlify.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://www.netlify.com/blog/2018/08/02/exploring-the-potential-of-friction-free-deployments/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://www.netlify.com/blog/2018/08/06/five-key-benefits-of-going-serverless/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/netlibox-my-guest-post-on-netlify/","targetUrl":"https://www.netlify.com/blog/2018/10/15/combining-netlify-with-dropbox-for-a-one-click-publishing-process/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/netlibox-my-guest-post-on-netlify/","targetUrl":"https://www.netlify.com/blog/2018/08/02/exploring-the-potential-of-friction-free-deployments/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/netlibox-my-guest-post-on-netlify/","targetUrl":"https://www.netlify.com/blog/2018/10/15/combining-netlify-with-dropbox-for-a-one-click-publishing-process/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://www.netlify.com/blog/2018/09/24/netlify-dx-qa-gatsby-v2-with-jason-lengstorf/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://www.netlify.com/blog/2017/02/28/to-www-or-not-www/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://www.netlify.com/docs/ssl/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://www.netlify.com/docs/redirects/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/bookmarklet-deploys-with-netlify/","targetUrl":"https://www.netlify.com/docs/webhooks/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://www.netlify.com/blog/2019/01/29/sharing-the-love-with-netlify-deployment-badges/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://www.netlify.com/docs/api/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://www.netlify.com/docs/api/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://www.netlify.com/blog/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://www.netlify.com/products/large-media/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://www.netlify.com/blog/2019/02/26/manage-your-code-and-assets-together-with-netlify-large-media/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://docs.netlify.com/api/get-started/#file-digest-method"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/using-netlify-analytics-to-build-list-of-popular-posts/","targetUrl":"https://www.netlify.com/products/analytics/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/using-netlify-analytics-to-build-list-of-popular-posts/","targetUrl":"https://open-api.netlify.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/using-netlify-analytics-to-build-list-of-popular-posts/","targetUrl":"https://community.netlify.com/t/status-of-access-to-analytics/6341"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/using-netlify-analytics-to-build-list-of-popular-posts/","targetUrl":"https://community.netlify.com/t/status-of-access-to-analytics/6341/8"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/using-netlify-analytics-to-build-list-of-popular-posts/","targetUrl":"https://docs.netlify.com/api/get-started/#authentication"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://community.netlify.com/t/over-100x-more-views-in-netlify-analytics-than-google-analytics/15403/4"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://docs.netlify.com/configure-builds/file-based-configuration/#ignore-builds"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://docs.netlify.com/configure-builds/file-based-configuration/#inject-environment-variable-values"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://community.netlify.com/t/workarounds-for-not-being-able-to-put-environment-variables-in-build-ignore/20334"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://community.netlify.com/t/build-ignore-command-not-working/20585"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://community.netlify.com/t/workarounds-for-not-being-able-to-put-environment-variables-in-build-ignore/20334"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://community.netlify.com/t/build-ignore-command-not-working/20585/3"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://www.netlify.com/blog/2019/10/09/launching-monorepo-support-for-netlify-sites/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://docs.netlify.com/configure-builds/file-based-configuration/#ignore-builds"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://community.netlify.com/t/support-guide-how-can-i-optimize-my-netlify-build-time/3907/77"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://answers.netlify.com/t/recent-change-open-proxy-deprecation/39921"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://docs.netlify.com/routing/redirects/rewrites-proxies/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://www.netlify.com/products/dev/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://docs.netlify.com/routing/redirects/rewrites-proxies/#proxy-to-another-service"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://community.netlify.com/t/cant-set-headers-on-proxied-redirect/669/5"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://community.netlify.com/t/cant-set-headers-on-proxied-redirect/669/7"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/expectations-and-reality/","targetUrl":"https://community.netlify.com/t/support-for-deno-on-netlify/14172"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/expectations-and-reality/","targetUrl":"https://community.netlify.com/t/support-for-deno-on-netlify/14172/17"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fetch-and-3xx-redirect-status-codes/","targetUrl":"https://answers.netlify.com/t/proxying-to-another-service-fails-with-cors-issue-and-a-302-response/34923"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://www.netlify.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://answers.netlify.com/t/improved-image-optimisation-on-netlify-netlify-large-media/2565/19?u=jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://www.netlify.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-analytics-email-digest/","targetUrl":"https://www.netlify.com/products/analytics/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-analytics-email-digest/","targetUrl":"https://docs.netlify.com/functions/overview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-analytics-email-digest/","targetUrl":"https://www.netlify.com/blog/quirrel-joins-netlify-and-scheduled-functions-launches-in-beta"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/inline-all-the-things/","targetUrl":"https://www.netlify.com/blog/2020/05/20/gain-instant-performance-boosts-as-brotli-comes-to-netlify-edge/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/joining-remix/","targetUrl":"https://www.netlify.com/blog/deep-dive-into-netlify-edge-functions/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-public-folder-part-iv/","targetUrl":"https://cli.netlify.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://docs.netlify.com/functions/background-functions/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://docs.netlify.com/routing/redirects/redirect-options/#redirect-by-cookie-presence"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://answers.netlify.com/t/redirect-based-on-cookie-value/75478/4"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://docs.netlify.com/forms/setup/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://docs.netlify.com/image-cdn/overview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://docs.netlify.com/git/large-media/overview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://docs.netlify.com/git/large-media/transform-images/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://answers.netlify.com/t/improved-image-optimisation-on-netlify-netlify-large-media/2565/22?u=jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://www.netlify.com/blog/introducing-netlify-image-cdn/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://answers.netlify.com/t/a-few-questions-about-netlify-image-cdn/106714/2?u=jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://docs.netlify.com/image-cdn/overview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://docs.netlify.com/image-cdn/overview/#redirects-and-rewrites"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/deploying-with-netlify-shortcuts/","targetUrl":"https://docs.netlify.com/configure-builds/build-hooks/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-public-folder-part-v/","targetUrl":"https://docs.netlify.com/image-cdn/overview/#transform-images"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://www.netlify.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/transform-html-with-edge-functions/","targetUrl":"https://docs.netlify.com/edge-functions/overview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/transform-html-with-edge-functions/","targetUrl":"https://docs.netlify.com/cli/get-started/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://docs.netlify.com/build/functions/scheduled-functions/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://www.netlify.com/blog/how-to-schedule-deploys-with-netlify/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://docs.netlify.com/build/configure-builds/build-hooks/"}]},{"domain":"wikipedia.org","count":64,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/unicode-symbols-and-font-stacks/","targetUrl":"http://en.wikipedia.org/wiki/Miscellaneous_Symbols"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/seemly-selectors/","targetUrl":"http://en.wikipedia.org/wiki/Danger,_Will_Robinson"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-analog-web/","targetUrl":"http://en.wikipedia.org/wiki/Cliff_effect"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-september/","targetUrl":"https://en.wikipedia.org/wiki/Rule_of_least_power"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/bookmarklet-deploys-with-netlify/","targetUrl":"https://en.wikipedia.org/wiki/Bookmarklet"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/follow-your-values-not-your-passions/","targetUrl":"https://en.wikipedia.org/wiki/Nature_versus_nurture"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/design-systems-and-airplanes/","targetUrl":"https://en.wikipedia.org/wiki/Fly-by-wire"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/credentials-in-urls/","targetUrl":"http://en.wikipedia.org/wiki/Basic_access_authentication"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-web-as-an-information-system/","targetUrl":"https://en.wikipedia.org/wiki/Wikipedia:Link_rot"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/letter-case-on-the-web/","targetUrl":"https://en.wikipedia.org/wiki/Small_caps"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://simple.wikipedia.org/wiki/Hotlinking"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/notes-coders/","targetUrl":"https://en.wikipedia.org/wiki/Mariner_1"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://en.wikipedia.org/wiki/Schrödinger%27s_cat"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/make-me-think/","targetUrl":"https://en.wikipedia.org/wiki/Don%27t_Make_Me_Think"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/make-me-think/","targetUrl":"https://en.wikipedia.org/wiki/Cognitive_reflection_test"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"https://en.wikipedia.org/wiki/Conway%27s_law"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-missing-hit-and-the-open-web/","targetUrl":"https://en.wikipedia.org/wiki/Closed_platform"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/judo-throw-the-hype/","targetUrl":"https://en.wikipedia.org/wiki/Aiki_(martial_arts_principle)"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reverse-dns/","targetUrl":"https://en.wikipedia.org/wiki/Reverse_domain_name_notation"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/speculative-prefetching/","targetUrl":"https://en.wikipedia.org/wiki/Link_prefetching"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fetch-and-3xx-redirect-status-codes/","targetUrl":"https://en.wikipedia.org/wiki/URL_redirection"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://en.wikipedia.org/wiki/Readability_(service)"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflections-on-html/","targetUrl":"https://en.wikipedia.org/wiki/Text-based_web_browser"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflections-on-html/","targetUrl":"https://en.wikipedia.org/wiki/HTML"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://en.wikipedia.org/wiki/2,147,483,647"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/cool-uris-and-image-hotlinking/","targetUrl":"https://simple.wikipedia.org/wiki/Hotlinking"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://en.wikipedia.org/wiki/Second-system_effect"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://en.wikipedia.org/wiki/World_Wide_Web"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://en.wikipedia.org/wiki/Human"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-the-css-spec-folks-got-right/","targetUrl":"https://en.wikipedia.org/wiki/Multiple_master_fonts"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-beyond-browsers/","targetUrl":"https://en.wikipedia.org/wiki/Jeffrey_Zeldman"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/well-known-links-resource/","targetUrl":"https://en.wikipedia.org/wiki/Well-known_URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://en.wikipedia.org/wiki/Document_Object_Model"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/book-notes-pirate-treasure/","targetUrl":"https://en.wikipedia.org/wiki/Pirate_Hunters"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/book-notes-pirate-treasure/","targetUrl":"https://en.wikipedia.org/wiki/John_Chatterton"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/book-notes-pirate-treasure/","targetUrl":"https://en.wikipedia.org/wiki/John_Mattera"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://en.wikipedia.org/wiki/Registered_port"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/faux-progress/","targetUrl":"https://en.wikipedia.org/wiki/Polling_(computer_science)"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/end-users-over-all-else/","targetUrl":"https://en.wikipedia.org/wiki/Consumerization_of_Information_technology"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/deadlines-as-technology/","targetUrl":"https://en.wikipedia.org/wiki/Wunderlist"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/human-hype-and-machine-intelligence/","targetUrl":"https://en.wikipedia.org/wiki/Keeping_up_with_the_Joneses"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/gratitude-for-dont-break-the-web/","targetUrl":"https://en.wikipedia.org/wiki/Stalagmite"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/well-known-avatar/","targetUrl":"https://en.wikipedia.org/wiki/Well-known_URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-nuance/","targetUrl":"https://en.wikipedia.org/wiki/Public_Suffix_List"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/stealth-and-best-practices/","targetUrl":"https://en.wikipedia.org/wiki/Lockheed_Have_Blue"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/stealth-and-best-practices/","targetUrl":"https://en.wikipedia.org/wiki/Lockheed_F-117_Nighthawk"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://en.wikipedia.org/wiki/.is"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/fault-tolerance-html-css/","targetUrl":"https://en.wikipedia.org/wiki/Fault_tolerance"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/golden-era-blogging/","targetUrl":"https://en.wikipedia.org/wiki/Rumpelstiltskin"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-on-making-software-by-peter-van-hardenberg/","targetUrl":"https://en.wikipedia.org/wiki/Rebound_effect_(conservation)"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/cars-motorcycles-websites-seams/","targetUrl":"https://en.wikipedia.org/wiki/Honda_CT_series"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/novels-as-prototypes/","targetUrl":"https://en.wikipedia.org/wiki/The_World_Set_Free"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-omgimg-pt-iii/","targetUrl":"https://en.wikipedia.org/wiki/Forced_perspective"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notification-marshmallows/","targetUrl":"https://en.wikipedia.org/wiki/Stanford_marshmallow_experiment"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/measurement-and-numbers/","targetUrl":"https://en.wikipedia.org/wiki/Judgement_of_Solomon"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-antis/","targetUrl":"https://en.wikipedia.org/wiki/Antilibrary"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-antis/","targetUrl":"https://en.wikipedia.org/wiki/Tsundoku"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/uncomfortable-i-dont-know/","targetUrl":"https://en.wikipedia.org/wiki/Gell-Mann_amnesia_effect"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/a-in-ai-stands-for-amnesia/","targetUrl":"https://en.wikipedia.org/wiki/Gell-Mann_amnesia_effect"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/a-in-ai-stands-for-amnesia/","targetUrl":"https://en.wikipedia.org/wiki/Falsus_in_uno,_falsus_in_omnibus"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/study-finds-obvious-truth/","targetUrl":"https://en.wikipedia.org/wiki/Rumpelstiltskin"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/w0rdz-aRe-1mpoRtAnt/","targetUrl":"https://en.wikipedia.org/wiki/Hanlon%27s_razor"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/continuous-continuous-continuous/","targetUrl":"https://en.wikipedia.org/wiki/John_Gall_(author)#Gall's_law"}]},{"domain":"css-tricks.com","count":58,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/unicode-symbols-and-font-stacks/","targetUrl":"http://css-tricks.com/examples/IconFont/"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-november/","targetUrl":"https://css-tricks.com/increasing-wariness-dogmatism/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://css-tricks.com/clipping-masking-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://css-tricks.com/the-best-color-functions-in-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://css-tricks.com/the-best-color-functions-in-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/css-naked/","targetUrl":"https://css-tricks.com/server-side-mustard-cut/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://css-tricks.com/view-source/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://css-tricks.com/using-webp-images/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://css-tricks.com/using-webp-images/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/web-technologies-and-syntax/","targetUrl":"https://css-tricks.com/css4/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://css-tricks.com/snippets/css/system-font-stack/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://css-tricks.com/chrome-system-fonts-snafu/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://css-tricks.com/web-technologies-and-syntax/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://css-tricks.com/newsletter/213-are-we-just-moving-problems-around/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://css-tricks.com/npm-ruin-dev/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://css-tricks.com/newsletter/220-the-principle-of-least-power/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://css-tricks.com/newsletter/218-web-components-colorful-design-systems-onboarding-animations/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://css-tricks.com/defining-view-source/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://css-tricks.com/comparing-data-in-google-and-netlify-analytics/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feat-new-style/","targetUrl":"https://css-tricks.com/svg-line-animation-works/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/ikea-and-javascript/","targetUrl":"https://css-tricks.com/the-web-is-for-more-than-document-viewing/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/incomplete-designs/","targetUrl":"https://css-tricks.com/design-v18/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/speculative-prefetching/","targetUrl":"https://css-tricks.com/prefetching-preloading-prebrowsing/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/progressively-enhanced-search/","targetUrl":"https://css-tricks.com/design-v18/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-is-in-fact-awesome/","targetUrl":"https://css-tricks.com/css-is-in-fact-awesome/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-is-in-fact-awesome/","targetUrl":"https://css-tricks.com/css-is-awesome/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-is-in-fact-awesome/","targetUrl":"https://css-tricks.com/css-is-awesome/#comment-1609829"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflecting-on-digital-experience-for-vaccine/","targetUrl":"https://css-tricks.com/where-the-world-wide-web-shines/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://css-tricks.com/next-gen-css-container/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://css-tricks.com/system-things/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/propagating-up-in-css/","targetUrl":"https://css-tricks.com/just-one-of-those-weird-things-about-css-background-on-body/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/quibbles-with-social-share-imagery/","targetUrl":"https://css-tricks.com/auto-generated-social-media-images/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://css-tricks.com/is-css-a-programming-language/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/a-web-for-all/","targetUrl":"https://css-tricks.com/test-your-product-on-a-crappy-laptop/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://css-tricks.com/thank-you-2021-edition/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/me-on-shoptalkshow-504/","targetUrl":"https://css-tricks.com/new-css-color-features-preview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-mom-and-the-wsj/","targetUrl":"https://css-tricks.com/evergreen-does-not-mean-immediately-available/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/what-is-the-web/","targetUrl":"https://css-tricks.com/evergreen-does-not-mean-immediately-available/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://css-tricks.com/add-less/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/ordering-css-delcarations/","targetUrl":"https://css-tricks.com/ordering-css3-properties/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/principles-of-color-beyond-srgb/","targetUrl":"https://css-tricks.com/new-css-color-features-preview/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/principles-of-color-beyond-srgb/","targetUrl":"https://css-tricks.com/the-expanding-gamut-of-color-on-the-web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/avoiding-flash-of-inaccurate-theme-color/","targetUrl":"https://css-tricks.com/flash-of-inaccurate-color-theme-fart/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/avoiding-flash-of-inaccurate-theme-color/","targetUrl":"https://css-tricks.com/just-one-of-those-weird-things-about-css-background-on-body/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://css-tricks.com/almanac/selectors/o/only-child/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/unlocked-possibilities-of-has-selector/","targetUrl":"https://css-tricks.com/almanac/selectors/c/checked/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/multiple-inline-svgs/","targetUrl":"https://css-tricks.com/using-svg/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/multiple-inline-svgs/","targetUrl":"https://css-tricks.com/weekly-platform-news-focus-rings-donut-scope-ditching-em-units-and-global-privacy-control/#aa-the-enhanced-css-not-selector-enables-donut-scope"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/npm-dependency-queries/","targetUrl":"https://css-tricks.com/attribute-selectors/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://css-tricks.com/the-great-divide/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://css-tricks.com/responsive-images-youre-just-changing-resolutions-use-srcset/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/all-about-that-button/","targetUrl":"https://css-tricks.com/separate-form-submit-buttons-go-different-urls/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/css-space-toggles/","targetUrl":"https://css-tricks.com/the-css-custom-property-toggle-trick/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/css-space-toggles/","targetUrl":"https://css-tricks.com/a-dry-approach-to-color-themes-in-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/background-image-opacity-css/","targetUrl":"https://css-tricks.com/css-basics-using-multiple-backgrounds/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/background-image-opacity-css/","targetUrl":"https://css-tricks.com/maybe-there-kinda-is-background-opacity/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/background-image-opacity-css/","targetUrl":"https://css-tricks.com/maybe-there-kinda-is-background-opacity/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/writing-blog-posts-and-songs/","targetUrl":"https://css-tricks.com/separate-form-submit-buttons-go-different-urls/"}]},{"domain":"daverupert.com","count":52,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"https://daverupert.com/2019/04/perceived-velocity/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://daverupert.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://daverupert.com/atom.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"http://daverupert.com/2019/03/the-state-of-agile-software-in-2018/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"http://daverupert.com/2019/11/five-packages/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/design-systems-and-airplanes/","targetUrl":"https://daverupert.com/2020/01/the-web-is-industrialized-and-i-helped-industrialize-it/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-june/","targetUrl":"http://daverupert.com/2020/06/rfc-1925-the-twelve-networking-truths/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-june/","targetUrl":"https://daverupert.com/2020/06/tradeoffs-and-shifting-complexity/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/economics-of-the-front-end/","targetUrl":"https://daverupert.com/2020/06/tradeoffs-and-shifting-complexity/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-september/","targetUrl":"http://daverupert.com/2020/09/follow-the-fun/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"http://daverupert.com/2020/12/dave-goes-back-to-mac/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-january/","targetUrl":"http://daverupert.com/2021/01/art-direction-for-static-sites/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/ikea-and-javascript/","targetUrl":"https://daverupert.com/2021/02/the-web-is-something-different/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://daverupert.com/2021/02/the-web-is-something-different/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-collection/","targetUrl":"https://daverupert.com/2018/12/rss-digest-no1/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-july/","targetUrl":"https://daverupert.com/2021/07/dx-to-me/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/","targetUrl":"https://daverupert.com/2021/07/safari-one-offs/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://daverupert.com/2021/10/video-game-sex/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://daverupert.com/2021/10/alpha-paintlet/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-december/","targetUrl":"https://daverupert.com/2021/12/sustaining-maintaining/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://daverupert.com/2022/02/complaining-about-web-browsers/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-mom-and-the-wsj/","targetUrl":"https://daverupert.com/2022/02/complaining-about-web-browsers/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://daverupert.com/2022/04/server-side-vs-client-side-analytics/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://daverupert.com/2022/06/demo-to-demo-loop/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/re-web-harsh-manager-pt-ii/","targetUrl":"https://daverupert.com/2022/08/web-is-a-harsh-manager/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/re-web-harsh-manager/","targetUrl":"https://daverupert.com/2022/08/web-is-a-harsh-manager/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/moving-with-prototypes/","targetUrl":"https://daverupert.com/2022/09/prototyping-to-learn/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/moving-with-prototypes/","targetUrl":"https://daverupert.com/2022/09/30-minute-study-model/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/patching-open-web/","targetUrl":"https://daverupert.com/2022/09/patchability-of-the-open-web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/employment-change/","targetUrl":"https://daverupert.com/2022/09/vibe-check-20/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://daverupert.com/2022/12/megan-smith-general-magic-prototypes/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/book-notes-pirate-treasure/","targetUrl":"https://daverupert.com/2022/07/the-kids-are-online/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/css-wishlist/","targetUrl":"https://daverupert.com/2023/01/css-wishlist-2023/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/end-users-over-all-else/","targetUrl":"https://daverupert.com/2021/07/dx-to-me/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://daverupert.com/2023/05/getting-started-view-transitions/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/things-i-like-over-things-i-dont/","targetUrl":"https://daverupert.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/things-i-like-over-things-i-dont/","targetUrl":"https://daverupert.com/2018/11/the-good-path/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://daverupert.com/2022/09/patchability-of-the-open-web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/dinner-conversation/","targetUrl":"https://daverupert.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/inbox-o-receipts/","targetUrl":"https://daverupert.com/2024/01/inbox-opportunities/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/zero-to-unmaintainable/","targetUrl":"https://daverupert.com/2024/01/time-to-unmaintainable/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-on-making-software-by-peter-van-hardenberg/","targetUrl":"https://daverupert.com/2024/02/ui-states/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/my-failed-peronsal-site-redesign/","targetUrl":"https://daverupert.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/sanding-ui/","targetUrl":"https://daverupert.com/2024/02/ui-states/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/beauty-of-building/","targetUrl":"https://daverupert.com/2022/09/patchability-of-the-open-web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/view-transition-name-gotchas/","targetUrl":"https://daverupert.com/2023/05/getting-started-view-transitions/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/aspect-ratio-in-css-view-transitions/","targetUrl":"https://daverupert.com/2023/05/getting-started-view-transitions/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/thoughts-on-working-draft-to-override-form-controls/","targetUrl":"https://daverupert.com/2024/02/ui-states/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/why-make-a-website-in-2025/","targetUrl":"https://daverupert.com/2025/09/why-would-anybody-start-a-website/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/two-edged-sword-of-computers-and-internet/","targetUrl":"https://daverupert.com/2026/02/computers-were-a-mistake-for-me/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/re-people-arent-friction/","targetUrl":"https://daverupert.com/2026/03/people-are-not-friction/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/skill-issue/","targetUrl":"https://daverupert.com/2026/02/magic-words/"}]},{"domain":"macosicongallery.com","count":47,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"http://macosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://www.macosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://www.macosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/icon-galleries-dark-mode/","targetUrl":"https://www.macosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-apple-engineers-decided-the-app-icon-size-for-the-original-iphone/","targetUrl":"https://www.macosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/improving-server-side-rendering-react/","targetUrl":"https://macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/designing-and-engineering-progressive-disclosure/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/cool-uris-and-image-hotlinking/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/sketch-design-challenge-icons/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/web-components-icon-galleries/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/macos-icon-book-irl/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/nabbing-macos-icons/","targetUrl":"https://macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/transform-html-with-edge-functions/","targetUrl":"http://www.macosicongallery.com/lookup/?id=hex-fiend-2025-05-29&id=countdown-pro-flip-clock-app-2025-05-29&id=mdb-accdb-viewer-2025-05-29&id=posterino-pro-photo-collage-2025-05-29&id=american-pool-billiard-3d-2025-04-26&id=precircuiter-2025-04-26&id=gapplin-2025-04-04&id=iphone-backup-extractor-2024-12-06&id=couverture-2024-11-21&id=tes-2024-12-06&id=retcon-2024-12-06&id=polycapture-2024-11-21&id=budget-seer-financial-vision-2024-10-08&id=pricetag-app-pricing-manager-2024-05-20&id=pdf-squeezer-4-2024-04-24&id=mass-rename-file-batch-rename-2024-04-23&id=metaburner-2024-04-23&id=taska-for-github-gitlab-issues-2024-04-24&id=ok-json-viewer-formatter-2024-04-23&id=remote-desktop-scanner-2024-04-19&id=system-toolkit-pro-2024-04-19&id=astro-2024-04-09&id=folder-colorizer-pro-2023-11-02&id=illustrated-2023-09-27&id=pockity-2023-08-09&id=dvd-player-2023-05-23&id=directory-utility-2023-05-23&id=rapidweaver-2022-11-09&id=mining-tycoon-dig-empire-2022-10-04&id=letter-opener-winmail-viewer-2022-08-02&id=core-data-lab-2022-07-28&id=my-bowling-3d-2022-07-28&id=neptunes-2022-07-14&id=topdrop-2022-07-14&id=rocketsim-for-xcode-simulator-2022-06-17&id=couverture-2022-05-11&id=cleanmaster-remove-junk-files-2022-02-03&id=macleaner-12-top-disk-cleaner-2022-02-03&id=linea-link-2022-02-03&id=hep-html-editor-pro-2022-01-25&id=coherence-x-2022-01-24&id=downie-2022-01-24&id=screenshot-path-2022-01-10&id=sequence-diagram-2021-10-21&id=soulver-3-2021-09-17&id=chronicle-bill-organizer-2021-09-01&id=mirror-magnet-2021-09-01&id=cyberduck-2021-09-17&id=bbedit-2021-07-23&id=patterned-2021-07-01&id=transloader-2021-06-29&id=photo-booth-2021-05-28&id=script-editor-2021-06-02&id=textedit-2021-06-03&id=preview-2021-05-28&id=moneymoney-2021-05-21&id=quick-note-one-click-notes-2021-05-21&id=whisk-2021-05-19&id=prizmo-4-pro-scanning-ocr-2021-05-12&id=commandpost-2021-05-04&id=image-capture-2021-05-03&id=digital-color-meter-2021-04-30&id=disk-utility-2021-04-30&id=boot-camp-assistant-2021-04-29&id=buildwatch-for-xcode-2021-04-19&id=taskheat-visual-to-do-list-2021-04-19&id=quill-chat-2021-03-18&id=highlights-export-pdf-notes-2021-03-10&id=disksight-2021-03-11&id=pixelmator-pro-2021-03-10&id=claquette-gif-video-tool-2021-02-25&id=advertising-agency-2021-01-22&id=coteditor-2021-01-20"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://www.macosicongallery.com/apps/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tahoes-terrible-icons-b-sides/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/files-on-disk-scripted-with-ai/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/files-on-disk-scripted-with-ai/","targetUrl":"https://www.macosicongallery.com/apps/408981434/compare/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/files-on-disk-scripted-with-ai/","targetUrl":"https://www.macosicongallery.com/apps/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/top-resource-not-found/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/apps/409183694/compare/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup/?id=keynote-design-presentations-2026-02-04&id=keynote-2021-11-15&id=keynote-2020-12-10&id=keynote-2015-04-14&id=keynote-2014-09-22"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=pages-create-documents-2026-02-04&id=pages-2021-11-15&id=pages-2020-12-10&id=pages-2015-04-14&id=pages-2014-09-22"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=numbers-make-spreadsheets-2026-02-04&id=numbers-2021-11-15&id=numbers-2020-12-10&id=numbers-2015-04-14"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=final-cut-pro-create-video-2026-02-04&id=final-cut-pro-2025-11-10&id=final-cut-pro-2020-12-10&id=final-cut-pro-2015-04-14&id=final-cut-pro-2012-10-09"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=compressor-encode-media-2026-02-04&id=compressor-2020-12-10&id=compressor-2015-04-14&id=compressor-2011-11-21"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=logic-pro-make-music-2026-02-04&id=logic-pro-2020-12-10&id=logic-pro-x-2015-04-14&id=logic-pro-x-2013-07-26"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=motion-animate-effects-2026-02-04&id=motion-2020-12-10&id=motion-2015-04-14&id=motion-2013-05-22"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=mainstage-perform-live-2026-02-04&id=mainstage-2020-12-10&id=mainstage-3-2015-03-13&id=mainstage-2012-10-09&"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://www.macosicongallery.com/lookup?id=pixelmator-pro-edit-images-2026-02-04&id=pixelmator-pro-2021-03-10&id=pixelmator-pro-2018-01-19&id=pixelmator-2015-03-13&id=pixelmator-2012-08-13"}]},{"domain":"stackoverflow.com","count":47,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"http://stackoverflow.com/questions/2105289/iphone-app-icons-exact-radius/10239376#10239376"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://stackoverflow.com/questions/7241393/can-you-control-how-an-svgs-stroke-width-is-drawn"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/blog-redesign-again/","targetUrl":"https://stackoverflow.com/a/4774037/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://stackoverflow.com/questions/48604843/how-to-host-multiple-github-repos-using-the-same-custom-domain-on-netlify"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://stackoverflow.com/questions/48604843/how-to-host-multiple-github-repos-using-the-same-custom-domain-on-netlify"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/difference-between-substr-and-substring-in-javascript/","targetUrl":"https://stackoverflow.com/questions/3745515/what-is-the-difference-between-substr-and-substring"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/generating-shades-of-color-using-css-variables/","targetUrl":"https://stackoverflow.com/a/41265350/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/dynamically-darken-a-color-in-css/","targetUrl":"https://stackoverflow.com/a/25942447"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/progressively-enhancing-a-small-widget/","targetUrl":"https://stackoverflow.com/questions/6117814/get-week-of-year-in-javascript-like-in-php"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"https://stackoverflow.com/questions/8390855/how-to-instantiate-a-file-object-in-javascript"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/import-es-modules-from-github/","targetUrl":"https://stackoverflow.com/questions/17341122/link-and-execute-external-javascript-file-hosted-on-github/18049842#18049842"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/import-es-modules-from-github/","targetUrl":"https://stackoverflow.com/a/53062522"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/import-es-modules-from-github/","targetUrl":"https://stackoverflow.com/a/18049842/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/git-info-in-node-for-babel-config/","targetUrl":"https://stackoverflow.com/a/34518749"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/git-info-in-node-for-babel-config/","targetUrl":"https://stackoverflow.com/a/35778030"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://stackoverflow.com/a/24301479/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://stackoverflow.com/a/31120364/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://stackoverflow.com/questions/42922784/what-s-the-purpose-of-the-html-nonce-attribute-for-script-and-style-elements"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://stackoverflow.com/questions/9752963/get-domain-name-without-subdomains-using-javascript"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/export-to-html-from-javascript-using-blob-urls/","targetUrl":"https://stackoverflow.com/a/16245768"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/export-to-html-from-javascript-using-blob-urls/","targetUrl":"https://stackoverflow.com/questions/30864573/what-is-a-blob-url-and-why-it-is-used"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://stackoverflow.com/questions/58019423/how-can-i-use-the-new-york-font-in-web-content-on-ios-13"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/styling-select-option-values/","targetUrl":"https://stackoverflow.com/questions/50908151/how-to-add-predefined-colors-to-input-type-color"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/styling-select-option-values/","targetUrl":"https://stackoverflow.com/questions/54002590/how-to-display-icon-in-select-options-tag"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/svg-stroke-positioning-ios-masks-browser/","targetUrl":"https://stackoverflow.com/questions/7241393/can-you-control-how-an-svgs-stroke-width-is-drawn"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fetch-and-3xx-redirect-status-codes/","targetUrl":"https://stackoverflow.com/a/45691209"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://stackoverflow.com/a/10796141"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://stackoverflow.com/a/10796141"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://stackoverflow.com/a/15750809"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://stackoverflow.com/a/61659068"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://stackoverflow.com/a/35328921"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://stackoverflow.com/questions/7448673/what-does-1-qem-mean"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/ordering-css-delcarations/","targetUrl":"https://stackoverflow.com/questions/13080220/how-important-is-css-property-order#13080221"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://stackoverflow.com/a/15503444"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/multiple-inline-svgs/","targetUrl":"https://stackoverflow.com/questions/37000385/multiple-svg-with-same-ids"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/multiple-inline-svgs/","targetUrl":"https://stackoverflow.com/questions/15911717/clippath-in-multiple-svg-tags#comment44570352_15913124"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://stackoverflow.com/questions/27413470/do-i-need-to-keep-the-xml-header-in-an-svg-file-when-embedding-it-in-the-web-pag"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://stackoverflow.com/questions/44347339/github-api-how-efficiently-get-the-total-contributors-amount-per-repository/60458265"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://stackoverflow.com/questions/8054165/using-put-method-in-html-form"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/justify-space-between-individual-items/","targetUrl":"https://stackoverflow.com/questions/23621650/how-to-justify-a-single-flexbox-item-override-justify-content"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/","targetUrl":"https://stackoverflow.com/a/2479371/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://stackoverflow.com/a/42711271/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://stackoverflow.com/a/76040260/1339693"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://stackoverflow.com/questions/16245767"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://stackoverflow.com/questions/16245767/how-to-bake-a-cake"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/background-image-opacity-css/","targetUrl":"https://stackoverflow.com/a/40366996/1339693"}]},{"domain":"mastodon.social","count":43,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/letter-case-on-the-web/","targetUrl":"https://mastodon.social/@pepelsbey/111370479919120211"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://mastodon.social/@danvpeterson/109660316334309838"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-anti-capitalist-web/","targetUrl":"https://mastodon.social/@craigmod/109561306266587786"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://mastodon.social/@carlmjohnson/109740040734781379"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/best-time-to-own-a-domain/","targetUrl":"https://mastodon.social/@jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://mastodon.social/@tylergaw/109773405716485185"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://mastodon.social/@jimniels/109773680963077592"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-dot-jim-nielsen-dot-com/","targetUrl":"https://mastodon.social/@jimniels/109761718890830053"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/end-users-over-all-else/","targetUrl":"https://mastodon.social/@jimniels/109801406769554359"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/precarious-modern-computing/","targetUrl":"https://mastodon.social/@jimniels/111044932360293976"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/as-good-as-html/","targetUrl":"https://mastodon.social/@jimniels/111211775055714495"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://mastodon.social/@jimniels/111599588022461185"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"https://mastodon.social/@jimniels/111775081836258706"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/origin-of-online-handles/","targetUrl":"https://mastodon.social/@davatron5000"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://mastodon.social/@davatron5000/111811294816961792"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://mastodon.social/@jimniels/111811691370913345"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://mastodon.social/@davatron5000/111811294816961792"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://mastodon.social/@jimniels/112179860705354768"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://mastodon.social/@tylergaw/110950961082106816"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://mastodon.social/@jimniels/111449400557658203"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rsc-localfirst-and-coordination-between-computers/","targetUrl":"https://mastodon.social/@jimniels/112471324655118976"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/greatest-strength-is-greatest-weakness/","targetUrl":"https://mastodon.social/@jimniels/112830741174375242"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/my-failed-peronsal-site-redesign/","targetUrl":"https://mastodon.social/@jimniels/112754765207627685"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/enabled-by-default/","targetUrl":"https://mastodon.social/@jimniels/112921412388217861"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/enabled-by-default/","targetUrl":"https://mastodon.social/@Edent/113318729296864522"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/bad-captchas/","targetUrl":"https://mastodon.social/@jimniels/113303276314304941"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/omgimg/","targetUrl":"https://mastodon.social/@jimniels/113229048540070843"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-omgimg-pt-i/","targetUrl":"https://mastodon.social/@jimniels/113504763247532203"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/css-space-toggles/","targetUrl":"https://mastodon.social/@jimniels/113848057658992957"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/be-mindful-of-what-you-make-easy/","targetUrl":"https://mastodon.social/@davatron5000/114178512245323292"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/be-mindful-of-what-you-make-easy/","targetUrl":"https://mastodon.social/@jimniels/114178827913627054"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tumult-in-design/","targetUrl":"https://mastodon.social/@jimniels/114186958374745144"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/do-you-personalize/","targetUrl":"https://mastodon.social/@gedeonm"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://mastodon.social/@HTeuMeuLeu/114971342411854119"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/icons-in-menus/","targetUrl":"https://mastodon.social/@jimniels/115556046706814962"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/feedback-for-those-who-make-software/","targetUrl":"https://mastodon.social/@jimniels/115696622197427043"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/ai-security-shakedown/","targetUrl":"https://mastodon.social/@matthiasott/115854306864049265"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/history-of-creator-studio-icons/","targetUrl":"https://mastodon.social/@heliographe_studio/115890819509545391"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/food-software-and-trade-offs/","targetUrl":"https://mastodon.social/@jimniels/116224559229072832"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/systemic-vs-localized/","targetUrl":"https://mastodon.social/@jimniels/116224559229072832"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://mastodon.social/@jimniels/116267651599562927"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://mastodon.social/@jimniels/116267907171151857"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/fewer-computers-fewer-problems/","targetUrl":"https://mastodon.social/@jimniels/113782973510218163"}]},{"domain":"postlight.com","count":38,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-december/","targetUrl":"https://posts.postlight.com/helpful-talk-tips-5347ea7c2745"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/assignment-desk-logo/","targetUrl":"http://www.postlight.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://postlight.com/trackchanges/if-you-wish-to-write-javascript-from-scratch-you-must-first-create-the-universe"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-february/","targetUrl":"https://postlight.com/trackchanges/podcast/fighting-the-hype"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-february/","targetUrl":"https://postlight.com/trackchanges/please-throw-away-used-whiteboard-markers"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://postlight.com/trackchanges/r-i-p-c"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/cheating-entropy-with-native-web-tech/","targetUrl":"https://postlight.com/podcast"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"https://postlight.com/podcast/life-in-the-clouds-the-present-and-future-of-cloud-hosting-services"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/messy-app-ecosystems-paul-and-rich-on-app-stores"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/the-private-network-paul-and-rich-on-intranets"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/constructive-productivity-5-tools-to-help-you-work-better"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/contact-tracing-the-new-apple-google-collaboration"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/is-it-time-to-build-on-marc-andreessens-viral-article"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/automating-human-behavior-the-social-contract-of-bad-apps"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/moving-things-along-on-why-workflow-is-so-hard"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/synthesizing-feedback-the-6-mistakes-youre-making-with-your-podcast-part-3"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/digital-capitalism-tech-that-gets-rid-of-tech"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/life-in-the-clouds-the-present-and-future-of-cloud-hosting-services"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/data-as-conspiracy-using-data-to-manipulate-the-masses"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/flight-simulator-on-the-world-of-microsoft"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/a-case-of-the-monday-com-the-rise-of-project-management-tools"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/fav-excerpts-from-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/pleasant-internet-things-on-the-web-that-makes-us-happy"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/talking-app-icons-on-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/iconic-design-with-jim-nielsen-and-michael-flarup"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/talking-app-icons-on-the-postlight-podcast/","targetUrl":"https://postlight.com/about/nathan-burge"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/talking-app-icons-on-the-postlight-podcast/","targetUrl":"https://postlight.com/podcast/iconic-design-with-jim-nielsen-and-michael-flarup"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/insights/an-exciting-next-chapter-postlight-joins-ntt-data"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/no-ai-needed-fix-the-old-before-bringing-in-the-new"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/internal-startups-why-you-should-proceed-with-caution"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/alternate-reality-what-we-would-have-done-differently"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/facebooks-oversight-board-on-policing-the-platform"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/how-to-talk-to-billionaires"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/transferring-motivation-on-creating-the-space-to-get-things-done"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/on-managing-your-aws-bills-with-corey-quinn"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/a-constellation-of-tools-how-we-work-today"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/on-web3-again-this-time-with-michael-sippey"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/data-as-a-language-with-postlights-reed-whitmont"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/theres-no-escape-from-physical-reality-why-web-3-is-boring"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/fav-excerpts-from-the-postlight-podcast-part-ii/","targetUrl":"https://postlight.com/podcast/vanity-purchases-on-elon-musk-and-twitter"}]},{"domain":"medium.com","count":29,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-november/","targetUrl":"https://medium.com/backchannel/war-stories-3696d00207ff"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-november/","targetUrl":"https://medium.com/the-mission/one-behavior-separates-the-successful-from-the-average-936f7ff04793#.s5dchyyfv"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-november/","targetUrl":"https://medium.com/@wilreynolds/practicing-resilience-e52814673db5"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"https://medium.com/@opdbrooks/mobile-first-desktop-worst-f900909ae9e2"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-june/","targetUrl":"https://cdn-images-1.medium.com/max/800/1*kXEEaxvKP_9xRT0HuqScTQ.gif"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://medium.com/@mikeal/ive-seen-the-future-it-s-full-of-html-2577246f2210"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://medium.com/javascript-scene/why-composition-is-harder-with-classes-c3e627dcd0aa"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"https://medium.com/@flarup/app-icon-book-progress-1-setting-up-9a432fb65a2b"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/improving-server-side-rendering-react/","targetUrl":"https://medium.com/react-university/4-practical-tips-for-drastically-improved-server-side-rendering-in-react-2df98555a26b"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"https://medium.com/dribbble/what-i-learned-co-founding-dribbble-8680f6816e3d"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://medium.com/@jenniferdary/dear-plucky-3-78787fe5956b"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://medium.com/@nodejs/announcing-core-node-js-support-for-ecmascript-modules-c5d6dc29b663"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://medium.com/@chetcorcos/a-simple-launchd-tutorial-9fecfcf2dbb3"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-cjs-to-esm/","targetUrl":"https://medium.com/@nodejs/announcing-core-node-js-support-for-ecmascript-modules-c5d6dc29b663"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-web-as-an-information-system/","targetUrl":"https://medium.com/paul-robinson/immutable-urls-91925a8c9373"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/git-info-in-node-for-babel-config/","targetUrl":"https://medium.com/@masnun/node-js-getting-current-git-commit-information-on-an-app-753a1835c57c"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/svg-stroke-positioning-ios-masks-browser/","targetUrl":"https://medium.com/sketch-app-sources/sketchs-brilliant-new-way-to-export-borders-as-svg-bc8fc5f6d5b1"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/svg-stroke-positioning-ios-masks-browser/","targetUrl":"https://medium.com/sketch-app-sources/sketchs-brilliant-new-way-to-export-borders-as-svg-bc8fc5f6d5b1"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/designing-between-the-lines/","targetUrl":"https://medium.com/nextux/the-most-important-thing-i-learned-in-art-college-d147d0ef2d35"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://medium.com/young-coder/the-future-web-will-canvas-rendering-replace-the-dom-847be872884c"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://medium.com/@jsaito/making-a-case-for-letter-case-19d09f653c98"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://forge.medium.com/how-your-desk-helps-you-think-21da2ea2fb14"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/misc-thoughts-from-an-article-on-research/","targetUrl":"https://medium.com/mule-design/research-questions-are-not-interview-questions-7f90602eb533"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://alexewerlof.medium.com/my-guiding-principles-after-20-years-of-programming-a087dc55596c"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://medium.com/@fosta/on-design-thinking-8426ecf328b3"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://doctorow.medium.com/end-to-end-d6046dca366f"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://clivethompson.medium.com/how-blogging-changes-the-way-you-think-526734dc86d1"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/productive-procrastination/","targetUrl":"https://clivethompson.medium.com/how-to-practice-productive-procrastination-e2522247bd07"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notification-marshmallows/","targetUrl":"https://harpreetvishnoi.medium.com/product-notifications-their-abuse-3a5437099475"}]},{"domain":"npmjs.com","count":28,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-april/","targetUrl":"https://www.npmjs.com/package/npm-run-all"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/installing-and-building-an-npm-package-from-github/","targetUrl":"https://www.npmjs.com/pricing"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/installing-and-building-an-npm-package-from-github/","targetUrl":"https://docs.npmjs.com/cli/install"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/installing-and-building-an-npm-package-from-github/","targetUrl":"https://docs.npmjs.com/cli/install"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/installing-and-building-an-npm-package-from-github/","targetUrl":"https://docs.npmjs.com/misc/scripts#description"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.npmjs.com/package/imagemin-pngcrush"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.npmjs.com/package/imagemin-optipng"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.npmjs.com/package/imagemin-pngout"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.npmjs.com/package/imagemin-advpng"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.npmjs.com/package/imagemin-pngquant"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://www.npmjs.com/package/metalsmith-watch"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-i-what/","targetUrl":"https://www.npmjs.com/package/netlify"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/proptypes-outside-of-react-in-template-literal-components/","targetUrl":"https://www.npmjs.com/package/prop-types"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-cjs-to-esm/","targetUrl":"https://docs.npmjs.com/files/package.json#engines"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/git-info-in-node-for-babel-config/","targetUrl":"https://www.npmjs.com/package/git-rev-sync"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://www.npmjs.com/package/psl"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://www.npmjs.com/package/gray-matter"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://www.npmjs.com/package/node-mbox"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://www.npmjs.com/package/mailparser"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://docs.npmjs.com/cli/v8/using-npm/scripts"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://www.npmjs.com/package/lru-cache"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/npm-dependency-queries/","targetUrl":"https://docs.npmjs.com/cli/v9/commands/npm-query"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/npm-dependency-queries/","targetUrl":"https://docs.npmjs.com/cli/v9/using-npm/dependency-selectors"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-nuance/","targetUrl":"https://www.npmjs.com/package/psl"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://www.npmjs.com/package/react-router"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://www.npmjs.com/package/react-router/v/5.3.4"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/local-cli-tools-in-node/","targetUrl":"https://docs.npmjs.com/cli/v8/commands/npx"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/links-from-whgov-wire/","targetUrl":"https://www.npmjs.com/package/tldts"}]},{"domain":"w3.org","count":28,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"https://www.w3.org/Provider/Style/URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/blog-redesign-again/","targetUrl":"https://www.w3.org/DesignIssues/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://www.w3.org/Provider/Style/URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/good-things/","targetUrl":"https://www.w3.org/Provider/Style/URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-web-as-an-information-system/","targetUrl":"https://www.w3.org/Provider/Style/URI.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://www.w3.org/TR/css-fonts-4/#ui-serif-def"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/cool-uris-and-image-hotlinking/","targetUrl":"https://www.w3.org/Provider/Style/URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/cool-uris-and-image-hotlinking/","targetUrl":"https://www.w3.org/Provider/Style/URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://www.w3.org/TR/css-color-5/#relative-colors"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/a-web-for-all/","targetUrl":"https://www.w3.org/TR/design-principles/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-the-css-spec-folks-got-right/","targetUrl":"https://www.w3.org/TR/CSS1/#font-weight"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/inspecting-web-views-in-macos/","targetUrl":"https://www.w3.org/TR/css-fonts-4/#generic-font-families"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://www.w3.org/TR/design-principles/#priority-of-constituencies"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://www.w3.org/TR/design-principles/#priority-of-constituencies"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://www.w3.org/TR/design-principles/#safe-to-browse"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://validator.w3.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://validator.w3.org/nu/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/good-design/","targetUrl":"https://www.w3.org/TR/html-design-principles/#priority-of-constituencies"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://www.w3.org/TR/css-fonts-4/#ui-serif-def"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity-browser/","targetUrl":"https://www.w3.org/TR/design-principles/#priority-of-constituencies"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://www.w3.org/TR/html-json-forms/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://www.w3.org/TR/xml/#sec-notation"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-sins-of-my-youth/","targetUrl":"https://www.w3.org/Provider/Style/URI"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/fault-tolerance-html-css/","targetUrl":"https://www.w3.org/TR/2009/CR-CSS2-20090908/syndata.html#parsing-errors"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://www.w3.org/TR/media-frags/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/casing-on-the-web/","targetUrl":"https://www.w3.org/TR/2010/WD-html-markup-20101019/documents.html#case-insensitivity"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/notes-site-updates/","targetUrl":"https://www.w3.org/Provider/Style/URI"}]},{"domain":"remix.run","count":27,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://remix.run"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/deno-is-webby-pt-2/","targetUrl":"https://remix.run/blog/not-another-framework"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://remix.run/blog/seed-funding-for-remix#web-standards-modern-ux"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://remix.run/blog/not-another-framework"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/trusting-browsers/","targetUrl":"https://remix.run/blog/not-another-framework"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/trusting-browsers/","targetUrl":"https://remix.run"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/trusting-browsers/","targetUrl":"https://remix.run/docs/en/v1/other-api/fetch"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/joining-remix/","targetUrl":"https://remix.run"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/joining-remix/","targetUrl":"https://remix.run/blog"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/joining-remix/","targetUrl":"https://remix.run/docs/en/v1/pages/philosophy#progressive-enhancement"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-beyond-browsers/","targetUrl":"https://remix.run/docs/en/v1/other-api/adapter"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/loading-parsing-executing-javascript/","targetUrl":"https://remix.run/blog/remix-and-the-edge"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/loading-parsing-executing-javascript/","targetUrl":"https://remix.run/docs/en/v1/pages/philosophy#serverclient-model"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://remix.run/docs/en/v1/guides/data-writes"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://remix.run/docs/en/v1/pages/faq#how-can-i-have-structured-data-in-a-form"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://remix.run/docs/en/v1/guides/data-writes"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://remix.run/blog/not-another-framework"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://remix.run/blog/react-router-v6.4"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-react-and-state/","targetUrl":"https://remix.run/blog/remix-data-flow"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://remix.run/docs/en/v1/guides/data-writes#html-form-post"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-alternate-timeline-of-web-dev/","targetUrl":"https://remix.run/blog/remix-data-flow"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-alternate-timeline-of-web-dev/","targetUrl":"https://remix.run/docs/en/v1/pages/technical-explanation"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/employment-change/","targetUrl":"https://remix.run/blog/remixing-shopify"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components-an-example/","targetUrl":"https://remix.run/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/two-tips-building-with-react-router/","targetUrl":"https://remix.run/blog/remixing-react-router"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://remix.run/docs/en/main/route/meta"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/all-about-that-button/","targetUrl":"https://remix.run/"}]},{"domain":"codepen.io","count":24,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://codepen.io/yoksel/full/fsdbu"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/dark-mode-on-the-web/","targetUrl":"https://codepen.io/jimniels/pen/PyXKjj"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/credentials-in-urls/","targetUrl":"https://codepen.io/jimniels/pen/rNVvvKB"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://codepen.io/jimniels/pen/abvXbvp"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/import-es-modules-from-github/","targetUrl":"https://codepen.io/jimniels/pen/BajVWay"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://codepen.io/jimniels/pen/NWNWKpr"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://codepen.io/jimniels/pen/GRZKVVL"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://codepen.io/jimniels/pen/MWeawPV"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/react-without-build-tools/","targetUrl":"https://codepen.io/jimniels/pen/jOrBJWQ"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/conditional-style-loading-not-so-fast/","targetUrl":"https://codepen.io/jimniels/pen/VwbPaVa"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://codepen.io/jimniels/pen/rNmWvZd"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://codepen.io/jimniels/pen/dyzQeqr"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://codepen.io/jimniels/pen/LYzROZQ"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://codepen.io/jimniels/pen/PoQMPeO?editors=1100"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://codepen.io/jimniels/pen/OJvxVWp"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://codepen.io/pouriversal/pen/yLvdwQW"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://codepen.io/chriscoyier/pen/qBoogaX"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/unlocked-possibilities-of-has-selector/","targetUrl":"https://codepen.io/jimniels/pen/QWmwxjY?editors=1100"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://codepen.io/jimniels/pen/bGMgzaq?editors=1100"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://codepen.io/jimniels/pen/QWBzMpw"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://codepen.io/jimniels/pen/QWBzMpw"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/custom-elements-only-need-end-with-a-hyphen/","targetUrl":"https://codepen.io/jimniels/pen/QWBzMpw"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/view-transition-name-gotchas/","targetUrl":"https://codepen.io/bramus/pen/wBwpgaj"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/better-platform-defaults-color-picker/","targetUrl":"https://codepen.io/jimniels/pen/vEEPyaQ"}]},{"domain":"ycombinator.com","count":24,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-art-of-the-side-project/","targetUrl":"https://news.ycombinator.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"https://news.ycombinator.com/item?id=12477190"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://news.ycombinator.com/item?id=16096588"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://news.ycombinator.com/item?id=16096795"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://news.ycombinator.com/item?id=16096933"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://news.ycombinator.com/item?id=16097104"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://news.ycombinator.com/item?id=17188973"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://news.ycombinator.com/item?id=23708166"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://news.ycombinator.com/item?id=25017078"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-the-css-spec-folks-got-right/","targetUrl":"https://news.ycombinator.com/item?id=30460238"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://news.ycombinator.com/item?id=25701053"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://news.ycombinator.com/item?id=25701842"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/what-work-looks-like/","targetUrl":"https://news.ycombinator.com/item?id=30901046"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://news.ycombinator.com/item?id=18302380"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/rich-fast-loops-and-tradeoffs/","targetUrl":"https://news.ycombinator.com/item?id=35892250"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/enabled-by-default/","targetUrl":"https://news.ycombinator.com/item?id=41000000"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/javascript-required/","targetUrl":"https://news.ycombinator.com/item?id=42719865"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/backwards-compat-in-web-but-not-its-tools/","targetUrl":"https://news.ycombinator.com/item?id=43422368"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/how-to-make-websites-that-require-lots-of-time-and-energy/","targetUrl":"https://news.ycombinator.com/item?id=44708270"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/how-to-make-websites-that-require-lots-of-time-and-energy/","targetUrl":"https://news.ycombinator.com/item?id=44709256"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/how-to-make-websites-that-require-lots-of-time-and-energy/","targetUrl":"https://news.ycombinator.com/item?id=44710626"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/how-to-make-websites-that-require-lots-of-time-and-energy/","targetUrl":"https://news.ycombinator.com/item?id=44709559"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/how-to-make-websites-that-require-lots-of-time-and-energy/","targetUrl":"https://news.ycombinator.com/item?id=44709432"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/how-to-make-websites-that-require-lots-of-time-and-energy/","targetUrl":"https://news.ycombinator.com/item?id=44708579"}]},{"domain":"robinrendle.com","count":23,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-march/","targetUrl":"https://www.robinrendle.com/notes/why-is-css-frustrating.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/email-replies-in-rss/","targetUrl":"https://www.robinrendle.com/notes/reply-links-in-rss-feeds"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"http://robinrendle.com/notes/why-does-this-design-crit-hurt.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"http://robinrendle.com/notes/dont-be-a-hero.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"http://robinrendle.com/notes/dont-think-like-a-database.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/the-power-of-the-link/","targetUrl":"https://www.robinrendle.com/notes/the-power-of-a-link/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/for-the-love-of-the-web/","targetUrl":"https://www.robinrendle.com/notes/the-future-is-not-only-useless-it’s-expensive/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"http://robinrendle.com/notes/an-incoherent-rant-about-design-systems/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://www.robinrendle.com/notes/blogging-and-the-heat-death-of-the-universe/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"http://robinrendle.com/notes/blogging-and-the-heat-death-of-the-universe/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://www.robinrendle.com/notes/the-difference-between-correct-ness-and-useful-ness-in-a-design-system/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://www.robinrendle.com/notes/the-difference-between-correct-ness-and-useful-ness-in-a-design-system/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-august/","targetUrl":"https://robinrendle.com/notes/i-don%E2%80%99t-believe-in-sprints/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://www.robinrendle.com/notes/the-smallest-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/alphabet-as-technology/","targetUrl":"https://robinrendle.com/notes/the-writing-of-the-gods/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/book-notes-out-of-the-software-crisis/","targetUrl":"https://robinrendle.com/notes/vibe-driven-development/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/software-by-encountering/","targetUrl":"https://robinrendle.com/notes/vibe-driven-development/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/novels-as-prototypes/","targetUrl":"https://robinrendle.com/notes/a-prototype-of-the-future/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/me-no-like-the-term-ic/","targetUrl":"https://robinrendle.com/notes/stop-calling-yourself-an-IC/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/iterative-building-and-decision-making/","targetUrl":"https://robinrendle.com/notes/design-aint-a-democracy/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/dont-miss-the-product-for-the-artifacts/","targetUrl":"https://robinrendle.com/notes/design-artifacts/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/product-pseudoscience/","targetUrl":"https://robinrendle.com/notes/vibe-driven-development/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/measurement-and-numbers/","targetUrl":"https://robinrendle.com/notes/trust-the-vibes/"}]},{"domain":"watchosicongallery.com","count":23,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"http://watchosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://www.watchosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/pathnames-to-subdomains/","targetUrl":"https://www.watchosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/icon-galleries-dark-mode/","targetUrl":"https://www.watchosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-apple-engineers-decided-the-app-icon-size-for-the-original-iphone/","targetUrl":"https://www.watchosicongallery.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/improving-server-side-rendering-react/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/designing-and-engineering-progressive-disclosure/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-ii-why/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/deploying-a-wannabe-monorepo-in-netlify/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/cool-uris-and-image-hotlinking/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/web-components-icon-galleries/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/macos-icon-book-irl/","targetUrl":"https://www.watchosicongallery.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://www.watchosicongallery.com"}]},{"domain":"chriscoyier.net","count":22,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://chriscoyier.net/2022/05/17/need-a-quick-diff/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/loading-parsing-executing-javascript/","targetUrl":"https://chriscoyier.net/2022/05/04/it-doesnt-much-matter-how-cdny-your-jamstack-site-is-if-everything-important-happens-from-a-single-origin-server-edge-functions-are-probably-part-of-the-solution/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-case-for-design-engineers/","targetUrl":"https://chriscoyier.net/2022/05/25/thats-a-lot-of-jobs/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/there-is-no-bar-but-having-one-is-good-too/","targetUrl":"https://chriscoyier.net/2022/06/27/there-is-no-bar/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-you-can-and-cant-do/","targetUrl":"https://chriscoyier.net/2022/05/04/it-doesnt-much-matter-how-cdny-your-jamstack-site-is-if-everything-important-happens-from-a-single-origin-server-edge-functions-are-probably-part-of-the-solution/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/labels-spectrums-and-the-web/","targetUrl":"https://chriscoyier.net/2022/10/12/stanford-website-experiment/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-october/","targetUrl":"https://chriscoyier.net/2022/10/17/the-proprietary-syndication-formats/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://chriscoyier.net/2022/11/13/its-official-%f0%9f%92%a8/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/subscribe-wherever-you-get-your-content/","targetUrl":"https://chriscoyier.net/2023/01/04/feeds-can-be-whatever/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://chriscoyier.net/2023/01/12/the-great-divide-was-indeed-divisive/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/logical-properties-and-ease/","targetUrl":"https://chriscoyier.net/2023/03/13/why-arent-logical-properties-taking-over-everything/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/site-search-in-arc-browser/","targetUrl":"https://chriscoyier.net/2023/04/24/site-search-open-search/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/gratitude-for-dont-break-the-web/","targetUrl":"https://chriscoyier.net/2023/05/02/do-logical-properties-make-css-easier-to-learn/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/cite-your-sources-ai/","targetUrl":"https://chriscoyier.net/2023/04/21/the-secret-list-of-websites/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/family-tree-wisdom/","targetUrl":"https://chriscoyier.net/2023/08/25/what-if-you-did-x-every-single-day/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/robots-txt/","targetUrl":"https://chriscoyier.net/2023/04/21/the-secret-list-of-websites/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/embeds-and-quotations/","targetUrl":"https://chriscoyier.net/2023/11/01/0-kb-social-media-embeds/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"https://chriscoyier.net/2024/01/13/exposed-rss/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ui-pace-layers/","targetUrl":"https://chriscoyier.net/2025/01/13/tech-pace-layering/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/everything-is-broken/","targetUrl":"https://chriscoyier.net/2025/10/22/everything-is-broken/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/uncomfortable-i-dont-know/","targetUrl":"https://chriscoyier.net/2025/12/04/the-jeopardy-phenomenon/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/a-in-ai-stands-for-amnesia/","targetUrl":"https://chriscoyier.net/2025/12/04/the-jeopardy-phenomenon/"}]},{"domain":"frankchimero.com","count":22,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-october/","targetUrl":"http://frankchimero.com/writing/generosity-of-perspective/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"https://www.frankchimero.com/writing/back-to-the-cave/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"https://www.frankchimero.com/blog/2017/plainness-and-sweetness/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-june/","targetUrl":"https://www.frankchimero.com/archive/2014/2013-lessons/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://www.frankchimero.com/blog/2018/productivity-guide/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-june/","targetUrl":"https://frankchimero.com/blog/2018/design-criticism/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-rich-harris-talk/","targetUrl":"https://frankchimero.com/writing/the-webs-grain/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://frankchimero.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://frankchimero.com/feed.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"https://www.frankchimero.com/blog/2019/like-compliment/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"https://redesign.frankchimero.com/2019/popeye/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/texting-is-cerebral/","targetUrl":"https://www.frankchimero.com/blog/2019/leave-the-phone-at-home/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-february/","targetUrl":"https://www.frankchimero.com/blog/2020/looking-at-letters/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-march/","targetUrl":"https://www.frankchimero.com/blog/2020/perfecta-trifecta/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"https://frankchimero.com/blog/2020/now/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/theme-color-in-css/","targetUrl":"https://frankchimero.com/blog/2015/the-webs-grain/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://www.frankchimero.com/blog/2020/today-today-today/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://frankchimero.com/blog/2021/the-green-ray/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://frankchimero.com/blog/2018/the-good-room/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://frankchimero.com/blog/2015/the-webs-grain/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/select-the-right-tool/","targetUrl":"https://frankchimero.com/blog/2015/the-webs-grain/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components/","targetUrl":"https://frankchimero.com/blog/2015/the-webs-grain/"}]},{"domain":"bookshop.org","count":20,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/book-notes-think-again-by-adam-grant/","targetUrl":"https://bookshop.org/books/think-again-the-power-of-knowing-what-you-don-t-know-9781984878106/9781984878106"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-a-mystery-greater-than-our-failures/","targetUrl":"https://bookshop.org/books/american-silence-the-photographs-of-robert-adams/9781597115117"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/book-notes-millions-billions-zillions/","targetUrl":"https://bookshop.org/books/millions-billions-zillions-defending-yourself-in-a-world-of-too-many-numbers/9780691209098"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/book-notes-on-writing/","targetUrl":"https://bookshop.org/books/on-writing-a-memoir-of-the-craft-9781982159375/9781982159375"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/obscure-things-power-the-imagination/","targetUrl":"https://bookshop.org/p/books/leonardo-da-vinci-walter-isaacson/18795658"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/employment-change/","targetUrl":"https://bookshop.org/p/books/do-nothing-how-to-break-away-from-overworking-overdoing-and-underliving-celeste-headlee/9577099?ean=9781984824752"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/stealth-and-best-practices/","targetUrl":"https://bookshop.org/p/books/skunk-works-a-personal-memoir-of-my-years-of-lockheed-ben-r-rich/114546"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/novels-as-prototypes/","targetUrl":"https://bookshop.org/p/books/the-making-of-the-atomic-bomb-richard-rhodes/7061381?ean=9781451677614"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/the-value-of-silence/","targetUrl":"https://bookshop.org/p/books/the-stranger-in-the-woods-the-extraordinary-story-of-the-last-true-hermit-michael-finkel/7381267?ean=9781101911532"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/machine-content-creators/","targetUrl":"https://bookshop.org/p/books/superbloom-how-technologies-of-connection-tear-us-apart-nicholas-carr/21479362"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/book-notes-order-of-time/","targetUrl":"https://bookshop.org/p/books/the-order-of-time-carlo-rovelli/9709825"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/becoming-an-asshole/","targetUrl":"https://bookshop.org/p/books/apple-in-china-the-capture-of-the-world-s-greatest-company-patrick-mcgee/21872828"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://bookshop.org/p/books/the-making-of-the-atomic-bomb-richard-rhodes/51031e8da01f5db9"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://bookshop.org/p/books/dark-sun-the-making-of-the-hydrogen-bomb-richard-rhodes/f02fca9831d3aaae"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://bookshop.org/p/books/the-bomb-a-life-gerard-j-degroot/10871591"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://bookshop.org/p/books/command-and-control-nuclear-weapons-the-damascus-accident-and-the-illusion-of-safety-eric-schlosser/7186d558fb931e06"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://bookshop.org/p/books/nuclear-war-a-scenario-annie-jacobsen/7bddf3d1edf02401"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://bookshop.org/p/books/the-button-the-new-nuclear-arms-race-and-presidential-power-from-truman-to-trump-tom-z-collina/2f18edde562f1425"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://bookshop.org/p/books/nuclear-folly-a-history-of-the-cuban-missile-crisis-serhii-plokhy/dbd4f5558a860cd9"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/book-notes-blood-in-the-machine/","targetUrl":"https://bookshop.org/p/books/blood-in-the-machine-the-origins-of-the-rebellion-against-big-tech-brian-merchant/a375fa0af7c1e86c?ean=9780316487740"}]},{"domain":"ia.net","count":20,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-march/","targetUrl":"https://ia.net/topics/in-search-of-the-perfect-writing-font/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-march/","targetUrl":"https://ia.net/topics/computer-poetry/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-march/","targetUrl":"https://ia.net/topics/take-the-power-back/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://ia.net/topics/domo-arigato-mr-roboto-tell-us-your-secret/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://ia.net/topics/designed-in-china-assembled-in-california"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://ia.net/topics/aesthetics"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://ia.net"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://ia.net/feed/rss2"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-december/","targetUrl":"https://ia.net/topics/ethics-and-ethics"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://ia.net/topics/end-procrastination"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://ia.net/topics/create-a-better-slogan-for-your-brand-by-ignoring-these-five-stupid-stereotypes"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-october/","targetUrl":"https://ia.net/topics/designing-with-emoji"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://ia.net/topics/the-end-of-writing-ia-on-ai"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/how-i-take-and-publish-notes/","targetUrl":"https://ia.net/writer"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/organic-intelligence/","targetUrl":"https://ia.net/topics/ai-and-the-beauty-of-human-flaws"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/impressionist-blogging/","targetUrl":"https://ia.net/topics/design-as-thought"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/impressionist-blogging/","targetUrl":"https://ia.net/topics/ai-and-the-beauty-of-human-flaws"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-site-via-content-in-dropbox/","targetUrl":"https://ia.net/writer"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://ia.net/writer"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/os-as-cms/","targetUrl":"https://ia.net/writer/support/help/url-commands"}]},{"domain":"roughtype.com","count":19,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/automating-feelings/","targetUrl":"http://www.roughtype.com/?p=3693"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.roughtype.com/?p=6010"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/one-algorithm-to-rule-them-all/","targetUrl":"http://www.roughtype.com/?p=6376"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-art-of-the-side-project/","targetUrl":"http://www.roughtype.com/?p=4120"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-art-of-the-side-project/","targetUrl":"http://www.roughtype.com/?p=4120"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-world-wide-web-of-people-at-my-disposal/","targetUrl":"http://www.roughtype.com/?p=8113"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"http://www.roughtype.com/?p=8248"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-june/","targetUrl":"http://www.roughtype.com/?p=8456"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-january/","targetUrl":"http://www.roughtype.com/?p=8608"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"http://www.roughtype.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"http://www.roughtype.com/?feed=rss2"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"http://www.roughtype.com/?p=8645"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-december/","targetUrl":"http://www.roughtype.com/?p=8661"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-february/","targetUrl":"http://www.roughtype.com/?p=8755"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-june/","targetUrl":"http://www.roughtype.com/?p=8888"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://www.roughtype.com/?p=8935"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://www.roughtype.com/?p=9139"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-anti-capitalist-web/","targetUrl":"https://www.roughtype.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/machine-content-creators/","targetUrl":"https://www.roughtype.com/"}]},{"domain":"tylergaw.com","count":19,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/writing-as-iterative-problem-solving/","targetUrl":"https://tylergaw.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://tylergaw.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://tylergaw.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/generating-shades-of-color-using-css-variables/","targetUrl":"https://tylergaw.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/good-things/","targetUrl":"https://tylergaw.com/articles/good-things/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://tylergaw.com/articles/netlify-cms-custom-oath-provider/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://tylergaw.com/articles/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://tylergaw.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://tylergaw.com/rss.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://tylergaw.com/articles/building-osx-apps-with-js/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/50-blog-posts-in-2020/","targetUrl":"https://tylergaw.com/articles/realign-2020/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-may/","targetUrl":"https://tylergaw.com/articles/realign-2020-color/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-web-as-an-information-system/","targetUrl":"https://tylergaw.com/about/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://tylergaw.com/blog/realign-2020-realigned/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://tylergaw.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://tylergaw.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://tylergaw.com/blog/ios-16-avif-fix/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://tylergaw.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/visual-design-homogeneity-at-scale/","targetUrl":"https://tylergaw.com"}]},{"domain":"daringfireball.net","count":18,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-december/","targetUrl":"https://daringfireball.net/2019/12/bluesky"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-january/","targetUrl":"https://daringfireball.net/2020/01/concept_electronics_show"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/remote-work-is-a-craft/","targetUrl":"https://daringfireball.net/linked/2020/03/20/mac-assed-mac-apps"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"https://daringfireball.net/2020/11/the_m1_macs"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"https://daringfireball.net/linked/2020/11/30/growl-in-retirement"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"https://daringfireball.net/linked/2020/12/19/stanfords-dog-ate-their-vaccine-or-something-something"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://daringfireball.net/2021/02/apple_mail_and_hidden_tracking_images"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/recursive-citation/","targetUrl":"https://daringfireball.net/2021/06/annotating_apples_anti-sideloading_white_paper"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/recursive-citation/","targetUrl":"https://daringfireball.net/2021/06/annotating_apples_anti-sideloading_white_paper#fn2-2021-06-23"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-sf-font-variations/","targetUrl":"https://daringfireball.net/linked/2022/06/07/san-fran-expanded"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://daringfireball.net/2021/02/apple_mail_and_hidden_tracking_images"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-august/","targetUrl":"https://daringfireball.net/linked/2022/09/03/democrats-apple-charging"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-november/","targetUrl":"https://daringfireball.net/2022/10/app_store_ads_gone_wild"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://daringfireball.net/linked/2023/01/25/twitterrific-accessibility"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-to-self-on-mastodon/","targetUrl":"https://daringfireball.net/linked/2023/02/04/fleishman-mastodon"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/most-profitable-ui-element-ever/","targetUrl":"https://daringfireball.net/linked/2023/10/27/google-aggregate-search-default"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/podcast-notes-talk-show-kagi/","targetUrl":"https://daringfireball.net/thetalkshow/2024/12/24/ep-416"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/javascript-required/","targetUrl":"https://daringfireball.net/linked/2025/01/18/google-search-javascript"}]},{"domain":"shoptalkshow.com","count":18,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/cheating-entropy-with-native-web-tech/","targetUrl":"https://shoptalkshow.com/432/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://shoptalkshow.com/448/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-collection/","targetUrl":"https://shoptalkshow.com/445/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/shadow-dom-and-the-styling-api/","targetUrl":"https://shoptalkshow.com/451/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/a-web-for-all/","targetUrl":"https://shoptalkshow.com/504/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/me-on-shoptalkshow-504/","targetUrl":"https://shoptalkshow.com/504/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://shoptalkshow.com/510/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://shoptalkshow.com/448/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/unlocked-possibilities-of-has-selector/","targetUrl":"https://shoptalkshow.com/520/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-diversity/","targetUrl":"https://shoptalkshow.com/522/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/jen-simmons-shoptalk-show/","targetUrl":"https://shoptalkshow.com/529/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/jen-simmons-shoptalk-show/","targetUrl":"https://shoptalkshow.com/529/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-ryan-dahl-on-shop-talk-show/","targetUrl":"https://shoptalkshow.com/546/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/user-feedback/","targetUrl":"https://shoptalkshow.com/544/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/immeasurable-impact/","targetUrl":"https://shoptalkshow.com/303-jam-stack-phil-hawksworth/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/shoptalk-show-605/","targetUrl":"https://shoptalkshow.com/605/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/shoptalk-show-605/","targetUrl":"https://shoptalkshow.com/605/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-public-folder-part-v/","targetUrl":"https://shoptalkshow.com/628/"}]},{"domain":"caniuse.com","count":16,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://caniuse.com/#search=mask-image"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feat-new-style/","targetUrl":"https://caniuse.com/mdn-css_properties_color-scheme"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-gap/","targetUrl":"https://caniuse.com/?search=gap"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/avif"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/webp"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/?search=appcache"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/mdn-javascript_builtins_string_substr"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/?search=alert"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/?search=confirm"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://caniuse.com/?search=prompt"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://caniuse.com/css-has"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/font-family-and-supports/","targetUrl":"https://caniuse.com/extended-system-fonts"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://caniuse.com/url-scroll-to-text-fragment"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://tests.caniuse.com/avif"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://caniuse.com/media-fragments"}]},{"domain":"baldurbjarnason.com","count":15,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-july/","targetUrl":"https://www.baldurbjarnason.com/notes/under-engineering-websites/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://www.baldurbjarnason.com/2021/the-oss-bubble-and-the-blogging-bubble/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://www.baldurbjarnason.com/2021/you-are-what-you-do/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://www.baldurbjarnason.com/2021/which-kind-of-web-developer-are-you/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://www.baldurbjarnason.com/2021/what-do-i-need-to-read-to-be-a-css-dev/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-december/","targetUrl":"https://www.baldurbjarnason.com/2021/100-things-every-web-developer-should-know/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://www.baldurbjarnason.com/2022/i-cant-keep-up-with-web-dev/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://www.baldurbjarnason.com/2021/100-things-every-web-developer-should-know/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://www.baldurbjarnason.com/2022/on-online-collaboration/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://www.baldurbjarnason.com/2022/a-month-of-book/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/book-notes-out-of-the-software-crisis/","targetUrl":"https://softwarecrisis.baldurbjarnason.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/treating-the-symptoms/","targetUrl":"https://www.baldurbjarnason.com/2023/tech-broke-the-webs-social-contract/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-films-and-making-websites/","targetUrl":"https://www.baldurbjarnason.com/2024/software-is-a-medium-of-setbacks/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/deno-de-emphasizes-http-imports/","targetUrl":"https://www.baldurbjarnason.com/2024/links-28/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/reading-time-estimation-widgets/","targetUrl":"https://www.baldurbjarnason.com/2024/on-reading-time/"}]},{"domain":"archive.org","count":14,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/acr90-work-page-design-updates/","targetUrl":"https://archive.org/web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/blog-redesign-again/","targetUrl":"http://archive.org/web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://archive.org/web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-web-as-an-information-system/","targetUrl":"https://archive.org/web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/this-is-the-internet-folks/","targetUrl":"https://archive.org/details/jonah-edwards-presentation"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/this-is-the-internet-folks/","targetUrl":"https://archive.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/recursive-citation/","targetUrl":"https://archive.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://web.archive.org/web/20200807101742/https://frankchimero.com/blog/2020/redesign-this-design/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/curating-human-and-ai-artwork/","targetUrl":"https://web.archive.org/web/20220919172215/https://twitter.com/stroughtonsmith/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/precarious-modern-computing/","targetUrl":"https://web.archive.org/web/20230119082822/https://vimeo.com/780005704"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"http://web.archive.org/web/20140212215308/slack.com/is"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thats-another-podcast/","targetUrl":"https://web.archive.org/web/https://aboard.com/podcast-episode-4-dot-com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thats-another-podcast/","targetUrl":"https://web.archive.org/web/https://aboard.com/podcast-episode-13-drip-campaign/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/icons-in-menus/","targetUrl":"https://web.archive.org/web/20201027235952/https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/"}]},{"domain":"csswg.org","count":14,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/color-scheme-property/","targetUrl":"https://drafts.csswg.org/css-color-adjust/#propdef-color-scheme"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://drafts.csswg.org/css-fonts-4/#font-family-prop"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://wiki.csswg.org/faq"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://drafts.csswg.org/css-color/#css-system-colors"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://drafts.csswg.org/css-color/#valdef-system-color-canvas"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://drafts.csswg.org/css-color/#valdef-system-color-canvastext"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://drafts.csswg.org/css-color/#named-colors"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://drafts.csswg.org/css-color/#css-system-colors"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://drafts.csswg.org/css-color/#deprecated-system-colors"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/conditional-style-loading-not-so-fast/","targetUrl":"https://drafts.csswg.org/css-cascade/#at-import"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://drafts.csswg.org/css-color/#css-system-colors"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/propagating-up-in-css/","targetUrl":"https://drafts.csswg.org/css-backgrounds/#body-background"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/pseudo-element-syntax/","targetUrl":"https://drafts.csswg.org/selectors-4/#pseudo-element-syntax"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/thoughts-on-working-draft-to-override-form-controls/","targetUrl":"https://drafts.csswg.org/css-forms/"}]},{"domain":"hey.com","count":14,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://world.hey.com/jason/hey-world-b02a6f2e"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://world.hey.com/jason/what-i-think-not-what-i-thought-99cae1d0"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://world.hey.com/jason/an-alternative-to-competition-ff57f4bc"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://world.hey.com/jason/hey-world-b02a6f2e"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://world.hey.com/jason/don-t-defer-quality-aaa105e4"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-august/","targetUrl":"https://world.hey.com/jason/tossing-a-key-87b91f17"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/moving-with-prototypes/","targetUrl":"https://world.hey.com/jason/just-get-moving-37503f0e"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://world.hey.com/jason/it-s-not-an-experience-d5ff9ee2"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/seeing-vs-using/","targetUrl":"https://world.hey.com/jason/distracting-is-it-3b23e5cf"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-november/","targetUrl":"https://world.hey.com/jason/collaborating-away-653ed7ef"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://world.hey.com/dhh/we-don-t-a-b-test-core-values-91b5f562"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://world.hey.com/jason/the-new-normal-5147c584"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/bottomless-subtleties/","targetUrl":"https://world.hey.com/jason/knives-and-battleships-ac8dc8c2"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/unresponsive-buttons/","targetUrl":"https://world.hey.com/jason/the-big-regression-da7fc60d"}]},{"domain":"amazon.com","count":13,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/advertising-for-the-buyer/","targetUrl":"http://www.amazon.com/Technopoly-The-Surrender-Culture-Technology/dp/0679745408"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/thoughts-from-on-writing-well/","targetUrl":"http://www.amazon.com/dp/0060891548"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.amazon.com/gp/product/1449460046/"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-december/","targetUrl":"http://www.amazon.com/Paul-Rand-A-Designer%60s-Art/dp/0300082827"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://www.amazon.com/gp/product/0991118111"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-apple-engineers-decided-the-app-icon-size-for-the-original-iphone/","targetUrl":"https://www.amazon.com/Creative-Selection-Inside-Apples-Process/dp/1250194466"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://www.amazon.com/1st-Generation-AWS-IoT-Button/dp/B01C7WE5WM/ref=sr_1_4"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://aws.amazon.com/lambda/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/book-notes-mlk/","targetUrl":"https://www.amazon.com/Joseph-Smith-Penguin-Robert-Remini/dp/067003083X"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/book-notes-parker-palmer-vocation/","targetUrl":"https://www.amazon.com/Let-Your-Life-Speak-Listening-ebook/dp/B001C34LL8"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://www.amazon.com/dp/0578675862/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/book-notes-eric-gill-typography/","targetUrl":"https://www.amazon.com/Essay-Typography-Eric-Gill/dp/0879239506"}]},{"domain":"manuelmoreale.com","count":12,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://manuelmoreale.com/thoughts/shorts"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://manuelmoreale.com/thoughts/uhx"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://manuelmoreale.com/@/page/zsijae2IYtI7wAy7"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://manuelmoreale.com/@/page/H5gxL6DtziFCqQC2"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/art-of-knowing-when-to-quit/","targetUrl":"https://manuelmoreale.com/@/page/8zpCCdHjtJcdz8I7"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://manuelmoreale.com/@/page/2NJVN0b5uf360mLe"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/robots-txt/","targetUrl":"https://manuelmoreale.com/@/page/uwGISnOGX0zwjr7P"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/people-and-blogs-and-me/","targetUrl":"https://manuelmoreale.com/people-and-blogs"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/people-and-blogs-and-me/","targetUrl":"https://manuelmoreale.com/pb-jim-nielsen"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/people-and-blogs-and-me/","targetUrl":"https://manuelmoreale.com/pb-jim-nielsen"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/advice-on-blogging/","targetUrl":"https://manuelmoreale.com/pb-jim-nielsen"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://manuelmoreale.com/pb-jim-nielsen"}]},{"domain":"x.com","count":12,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components/","targetUrl":"https://x.com/dan_abramov/status/1623771055943831553?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://x.com/mjackson/status/1729551085554008417"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://x.com/mjackson/status/1315718264035573761?s=20"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/consistent-nav-across-inconsistent-sites/","targetUrl":"https://x.com/albinoblack/status/1775659043492667571"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/interdisciplinary-website-maker/","targetUrl":"https://x.com/Mappletons/status/1775166408315355408"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/big-sur-ification-of-macos-icons/","targetUrl":"https://x.com/jimniels/status/1552755984057204736"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/big-sur-ification-of-macos-icons/","targetUrl":"https://x.com/jimniels/status/1392867394767446016"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/big-sur-ification-of-macos-icons/","targetUrl":"https://x.com/jimniels/status/1556680971512168449"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/prototyping-magic-and-software/","targetUrl":"https://x.com/cameronmoll/status/1819460308932743613"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/omgimg/","targetUrl":"https://x.com/roughtype/status/1833573720222523519?s=46"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-omgimg-pt-ii/","targetUrl":"https://x.com/BHolmesDev/status/1847333132871053712"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/web-as-urls-not-documents/","targetUrl":"https://x.com/dan_abramov2/status/1748004562378592503?s=20"}]},{"domain":"adamsilver.io","count":11,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/designing-and-engineering-progressive-disclosure/","targetUrl":"https://adamsilver.io/articles/designing-for-actual-performance/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://adamsilver.io/articles/designing-for-actual-performance/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://adamsilver.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://adamsilver.io/atom.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-january/","targetUrl":"https://adamsilver.io/articles/building-trust-as-a-designer/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://adamsilver.io/blog/ab-testing-notes-from-jared-spool/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://adamsilver.io/blog/material-design-text-fields-are-badly-designed/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/natural-language-inputs/","targetUrl":"https://adamsilver.io/blog/designing-a-time-input/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/natural-language-inputs/","targetUrl":"https://adamsilver.io/blog/designing-a-time-input/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/errors-arent-all-bad/","targetUrl":"https://adamsilver.io/blog/dont-use-the-maxlength-attribute-to-stop-users-from-exceeding-the-limit/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/value-of-experience/","targetUrl":"https://adamsilver.io/blog/do-you-trust-design-advice-from-chatgpt/"}]},{"domain":"google.com","count":11,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/sass-variable-interpolation-workarounds/","targetUrl":"https://groups.google.com/forum/?fromgroups=#!topic/sass-lang/upr78cyrW1I"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-rich-harris-talk/","targetUrl":"https://docs.google.com/presentation/d/1PUvpXMBEDS45rd0wHu6tF3j_8wmGC6cOLtOw2hzU-mw"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://groups.google.com/a/chromium.org/g/blink-dev/c/hTOXiBj3D6A/m/1Q0TjPwWAwAJ"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://takeout.google.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://chrome.google.com/webstore/search/dark%20mode?hl=en"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/flying-j-pies/","targetUrl":"https://www.google.com/search?q=kmart+big+k"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/flying-j-pies/","targetUrl":"https://www.google.com/search?q=flying+j"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/figma-to-browser-chasm/","targetUrl":"https://www.google.com/search?q=pinterest+fail&tbm=isch"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://chrome.google.com/webstore/detail/gmail-app-badge-notificat/fbaolhbfbmniffcokakochjjeccpcpkh"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/search-without-javascript/","targetUrl":"https://developers.google.com/custom-search/docs/element"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-blink-principles-of-web-compat/","targetUrl":"https://docs.google.com/document/d/1RC-pBBvsazYfCNNUSkPqAVpSpNJ96U8trhNkfV0v9fk/edit?tab=t.0"}]},{"domain":"substack.com","count":11,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-june/","targetUrl":"https://kneelingbus.substack.com/p/162-minimum-viable-self"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://mattruby.substack.com/p/the-most-unbelievable-things-about"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://subconscious.substack.com/p/provoking-emergence-with-alphabets"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://thomasjbevan.substack.com/p/all-news-is-bad-news"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/optimize-for-nothing/","targetUrl":"https://browsercompany.substack.com/p/optimizing-for-feelings"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-november/","targetUrl":"https://browsercompany.substack.com/p/what-comes-after-chrome"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/art-of-knowing-when-to-quit/","targetUrl":"https://onengineering.substack.com/p/there-is-no-secure-software-supply"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://garymarcus.substack.com/p/is-chatgpt-really-a-code-red-for"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://onengineering.substack.com/p/there-is-no-secure-software-supply"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://garymarcus.substack.com/p/ais-jurassic-park-moment"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/in-the-beginning-slop/","targetUrl":"https://escapethealgorithm.substack.com/p/the-new-turing-test"}]},{"domain":"weborigami.org","count":11,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-site-via-content-in-dropbox/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-omgimg-pt-i/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-omgimg-pt-iii/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/local-cli-tools-in-node/","targetUrl":"https://weborigami.org/cli/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/choosing-tools-for-making-websites/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/origami-icons/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/pies-and-subdomains/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/notes-site-updates/","targetUrl":"https://weborigami.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/skill-issue/","targetUrl":"https://weborigami.org/"}]},{"domain":"danluu.com","count":10,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/limitations-in-software/","targetUrl":"https://danluu.com/branch-prediction/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://danluu.com/input-lag/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://danluu.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://danluu.com/atom.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-august/","targetUrl":"https://danluu.com/web-bloat/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-august/","targetUrl":"https://danluu.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-january/","targetUrl":"https://danluu.com/essential-complexity/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://danluu.com/why-benchmark/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://danluu.com/look-stupid/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/faster-bandwidth-and-websites/","targetUrl":"https://danluu.com/slow-device/"}]},{"domain":"ethanmarcotte.com","count":10,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://ethanmarcotte.com/wrote/i-for-one/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-june/","targetUrl":"https://ethanmarcotte.com/wrote/my-three-steps/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-june/","targetUrl":"https://ethanmarcotte.com/wrote/whats-in-a-pattern-name/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://ethanmarcotte.com/wrote/weft/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://ethanmarcotte.com/wrote/bits/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"https://ethanmarcotte.com/wrote/the-web-we-broke/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/economics-of-the-front-end/","targetUrl":"https://ethanmarcotte.com/wrote/gardened/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"https://ethanmarcotte.com/wrote/the-design-systems-between-us/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/cluttered-web/","targetUrl":"https://ethanmarcotte.com/wrote/locus/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://ethanmarcotte.com/wrote/let-a-website-be-a-worry-stone/"}]},{"domain":"kindlingapp.com","count":10,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/kindlingapp-home-page-redesign/","targetUrl":"http://kindlingapp.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/kindlingapp-home-page-redesign/","targetUrl":"http://kindlingapp.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2014/kindling-rubber-stamp/","targetUrl":"http://kindlingapp.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/everything-but-visual-design/","targetUrl":"http://kindlingapp.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/conceiving-blog-post-artwork/","targetUrl":"http://www.kindlingapp.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/conceiving-blog-post-artwork/","targetUrl":"https://www.kindlingapp.com/blog/embrace-change-question-legacy-tools-ideas/"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/conceiving-blog-post-artwork/","targetUrl":"https://www.kindlingapp.com/blog/why-kindling-uses-react-js/"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/designing-kindlings-pricing-page/","targetUrl":"http://kindlingapp.com/mission"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/marketing2/","targetUrl":"http://kindlingapp.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/marketing2/","targetUrl":"http://kindlingapp.com/"}]},{"domain":"metalsmith.io","count":10,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/marketing2/","targetUrl":"http://www.metalsmith.io/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://www.metalsmith.io/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/improving-server-side-rendering-react/","targetUrl":"https://metalsmith.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/jsx-like-syntax-for-tagged-template-literals/","targetUrl":"https://metalsmith.io/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://metalsmith.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/progressively-enhancing-a-small-widget/","targetUrl":"https://metalsmith.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/email-replies-in-rss/","targetUrl":"https://metalsmith.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://metalsmith.io/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://metalsmith.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://metalsmith.io"}]},{"domain":"whatwg.org","count":10,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/automatically-resize-a-textarea-on-user-input/","targetUrl":"https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-core-concepts"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-core-concepts"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-elements-without-js/","targetUrl":"https://html.spec.whatwg.org/multipage/dom.html#represents"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/automatically-discoverable-rss-feeds/","targetUrl":"https://blog.whatwg.org/feed-autodiscovery"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://whatwg.org/faq#removing-bad-ideas"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://html.spec.whatwg.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/form-data-and-json/","targetUrl":"https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-the-form-data-set"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://html.spec.whatwg.org/#valid-custom-element-name"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://html.spec.whatwg.org/multipage/browsing-the-web.html#scrolling-to-a-fragment"}]},{"domain":"youtu.be","count":10,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://youtu.be/2V1FtfBDsLU"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-i-what/","targetUrl":"https://youtu.be/vnqBAuehmhM?t=82"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-web-as-an-information-system/","targetUrl":"https://youtu.be/V6DKjEbdYos"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-web-as-an-information-system/","targetUrl":"https://youtu.be/V6DKjEbdYos?t=1239"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://youtu.be/0-wB1VY3Nrc?t=315"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/joining-remix/","targetUrl":"https://youtu.be/jd_bin5HPrw?list=PLXoynULbYuEDG2wBFSZ66b85EIspy3fy6&t=1012"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/art-of-knowing-when-to-quit/","targetUrl":"https://youtu.be/L0TE_xXjp-0?t=591"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/logic-of-code-and-illogic-of-creativity/","targetUrl":"https://youtu.be/toWQ_BQF8Aw"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/allure-of-sync-engines/","targetUrl":"https://youtu.be/6Q0yb_ROUBQ?t=688"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/love-for-python/","targetUrl":"https://youtu.be/GfH4QL4VqJ0?t=3513"}]},{"domain":"christianheilmann.com","count":9,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://christianheilmann.com/2018/07/09/different-views-on-view-source/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://christianheilmann.com/2021/01/21/teaching-html-and-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/web-languages-as-compile-targets/","targetUrl":"https://christianheilmann.com/2021/01/21/teaching-html-and-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflections-on-html/","targetUrl":"https://christianheilmann.com/2021/01/21/teaching-html-and-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://christianheilmann.com/2021/12/20/the-web-starts-on-page-four/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/cluttered-web/","targetUrl":"https://christianheilmann.com/2021/12/20/the-web-starts-on-page-four/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://christianheilmann.com/2022/03/14/noise-cancellation-for-development/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://christianheilmann.com/2023/01/18/web-resilience-is-about-users-not-a-shortcut-for-developers/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/components-and-legos/","targetUrl":"https://christianheilmann.com/2023/05/09/the-ongoing-defence-of-frontend-as-a-full-time-job/"}]},{"domain":"deno.land","count":9,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/deno-is-webby/","targetUrl":"https://deno.land"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/deno-is-webby/","targetUrl":"https://deno.land/manual@v1.11.5/getting_started/permissions"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://deno.land/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://deno.land/manual/examples/fetch_data"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/deno-is-webby-pt-2/","targetUrl":"https://examples.deno.land/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/deno-is-webby-pt-2/","targetUrl":"https://examples.deno.land/prompts"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/deno-is-webby-pt-2/","targetUrl":"https://examples.deno.land/color-logging"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://deno.land"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/trusting-browsers/","targetUrl":"https://deno.land"}]},{"domain":"ericwbailey.design","count":9,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://ericwbailey.design/writing/blogroll/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://ericwbailey.design/writing/give-me-a-definition-for-the-word-dashboard/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/web-languages-as-compile-targets/","targetUrl":"https://ericwbailey.design/writing/open-ui-and-implicit-parent-child-relationships-in-html/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://ericwbailey.design/writing/how-to-make-an-ineffective-404-page/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://ericwbailey.design/writing/comic-sans-is-a-good-typeface-actually/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://ericwbailey.design/writing/maralinga-bomb-test/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://ericwbailey.design/writing/worstworkwednesday/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/ordering-css-delcarations/","targetUrl":"https://ericwbailey.design/writing/organize-your-css-declarations-alphabetically/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/saying-thank-you/","targetUrl":"https://ericwbailey.design/writing/saying-thank-you/"}]},{"domain":"theverge.com","count":9,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/reading-notes-november/","targetUrl":"http://www.theverge.com/2012/10/26/3555640/offline-missing-out-paul-miller/in/2771566"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://www.theverge.com/2012/5/8/3007525/paul-miller-offline"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://www.theverge.com/rss/stream/2771566"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://www.theverge.com/2012/5/22/3035904/readlists-readability-create-share-ebook"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://www.theverge.com/2012/5/8/3007525/paul-miller-offline"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/what-is-the-web/","targetUrl":"https://www.theverge.com/2017/5/24/15681958/what-is-web-definition"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://www.theverge.com/2022/4/23/23038870/apple-app-store-widely-remove-outdated-apps-developers"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://www.theverge.com/2012/5/22/3035904/readlists-readability-create-share-ebook"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/youtube-links-from-whgov-wire/","targetUrl":"https://www.theverge.com/politics/698148/white-house-wire-youtube"}]},{"domain":"webkit.org","count":9,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://webkit.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://trac.webkit.org/changeset/278261/webkit/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://webkit.org/blog/13399/webkit-features-in-safari-16-1/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/css-wishlist/","targetUrl":"https://webkit.org/blog/13851/declarative-shadow-dom/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/","targetUrl":"https://webkit.org/blog/14154/webkit-features-in-safari-16-5/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ui-pace-layers/","targetUrl":"https://webkit.org/blog/15054/an-html-switch-control/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/better-platform-defaults-color-picker/","targetUrl":"https://webkit.org/blog/16900/p3-and-alpha-color-picker"}]},{"domain":"wired.com","count":9,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/automating-feelings/","targetUrl":"http://www.wired.com/opinion/2013/08/move-over-social-graph-its-time-for-the-mood-graph-and-that-might-not-be-a-good-thing/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/wireframes-and-gravity/","targetUrl":"http://www.wired.com/underwire/2013/10/center_of_gravity/"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-december/","targetUrl":"http://www.wired.com/2015/11/luxe-zirx-carbon/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-november/","targetUrl":"https://www.wired.com/story/its-not-a-bug-its-a-feature/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"https://www.wired.com/story/databases-coding-real-programming-myth/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://www.wired.com/story/i-finally-reached-computing-nirvana-what-was-it-all-for/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-october/","targetUrl":"https://www.wired.com/1997/12/es-attention/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-to-self-on-mastodon/","targetUrl":"https://www.wired.com/story/god-did-us-a-favor-by-destroying-twitter/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/interdisciplinary-website-maker/","targetUrl":"https://www.wired.com/story/own-future-artificial-intelligence-read-shakespeare/"}]},{"domain":"appiconbook.com","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://appiconbook.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/talking-app-icons-on-the-postlight-podcast/","targetUrl":"https://www.appiconbook.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://www.appiconbook.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://www.appiconbook.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/me-on-shoptalkshow-504/","targetUrl":"https://www.appiconbook.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/short-history-of-ios-app-icons/","targetUrl":"https://www.appiconbook.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/digital-preservation-and-the-app-icon-book/","targetUrl":"https://www.appiconbook.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/apollo-app-icons/","targetUrl":"https://www.appiconbook.com/"}]},{"domain":"arc90.com","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/reading-notes-november/","targetUrl":"http://blog.arc90.com/2012/11/19/creating-a-thriving-developer-culture/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/quick-change-and-the-web/","targetUrl":"http://lab.arc90.com/hackathon/2012/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/teamcolors/","targetUrl":"http://teamcolors.arc90.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/teamcolors/","targetUrl":"http://lab.arc90.com/hackathon/2012/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/teamcolors/","targetUrl":"http://teamcolors.arc90.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/teamcolors/","targetUrl":"http://teamcolors.arc90.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/teamcolors/","targetUrl":"http://lab.arc90.com/hackathon/2012/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/teamcolors/","targetUrl":"http://blog.arc90.com/2013/01/24/the-first-arc90-hackathon/"}]},{"domain":"dev.to","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"https://dev.to/richharris/why-i-don-t-use-web-components-2cia"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/","targetUrl":"https://dev.to/richharris/stay-alert-d"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/","targetUrl":"https://dev.to/richharris/stay-alert-d"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://dev.to/richharris/stay-alert-d"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-relative-colors/","targetUrl":"https://dev.to/fabiogiolito/create-a-color-theme-with-these-upcoming-css-features-4o83"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://dev.to/tigt/making-the-worlds-fastest-website-and-other-mistakes-56na"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://dev.to/tigt/speed-needs-design-or-you-cant-delight-users-youve-annoyed-bl6"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://dev.to/thepassle/the-cost-of-convenience-kco"}]},{"domain":"nytimes.com","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/reading-notes-november/","targetUrl":"https://www.nytimes.com/2012/04/22/opinion/sunday/the-flight-from-conversation.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://mobile.nytimes.com/2017/09/09/opinion/sunday/household-robots-alexa-homepod.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://www.nytimes.com/2018/09/29/opinion/sunday/in-praise-of-mediocrity.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-december/","targetUrl":"https://www.nytimes.com/2019/11/04/opinion/martin-scorsese-marvel.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/book-notes-mlk/","targetUrl":"https://www.nytimes.com/2002/01/27/books/king-for-beginners.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-december/","targetUrl":"https://www.nytimes.com/2012/04/22/opinion/sunday/the-flight-from-conversation.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/novels-as-prototypes/","targetUrl":"https://archive.nytimes.com/www.nytimes.com/books/99/04/25/specials/rhodes-bomb.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/organic-intelligence/","targetUrl":"https://www.nytimes.com/2013/04/17/dining/remembering-when-breyers-ice-cream-was-you-know-ice-cream.html"}]},{"domain":"overreacted.io","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-december/","targetUrl":"https://overreacted.io/optimized-for-change/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://overreacted.io/a-complete-guide-to-useeffect/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://overreacted.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://overreacted.io/rss.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-july/","targetUrl":"https://overreacted.io/npm-audit-broken-by-design/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rsc-localfirst-and-coordination-between-computers/","targetUrl":"https://overreacted.io/the-two-reacts/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/web-as-urls-not-documents/","targetUrl":"https://overreacted.io/impossible-components/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/continuum-from-static-to-dynamic/","targetUrl":"https://overreacted.io/static-as-a-server/"}]},{"domain":"quirksmode.org","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.quirksmode.org/blog/archives/2015/07/stop_pushing_th.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"http://www.quirksmode.org/blog/archives/2016/09/web_development.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-january/","targetUrl":"https://www.quirksmode.org/blog/archives/2019/01/css_for_javascr.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"http://www.quirksmode.org/blog/archives/2019/03/if_statements_a.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://www.quirksmode.org/blog/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"http://www.quirksmode.org/blog/index.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"http://www.quirksmode.org/blog/archives/2021/03/progressive_enh_3.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://www.quirksmode.org/blog/archives/2021/08/breaking_the_we.html"}]},{"domain":"vimeo.com","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-october/","targetUrl":"http://player.vimeo.com/video/112098660"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://vimeo.com/243148125"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-march/","targetUrl":"https://vimeo.com/34017777"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://vimeo.com/115154289"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://vimeo.com/296530275"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/precarious-modern-computing/","targetUrl":"https://vimeo.com/780005704"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-on-making-software-by-peter-van-hardenberg/","targetUrl":"https://vimeo.com/780013486"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-context-is-everything/","targetUrl":"https://vimeo.com/644068002"}]},{"domain":"web.dev","count":8,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-system-colors/","targetUrl":"https://web.dev/color-scheme/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://web.dev/dom-size/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://web.dev/dom-size/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://web.dev/text-fragments/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://web.dev/preload-responsive-images/#preload-overview"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://web.dev/preload-responsive-images/#preload-overview"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://web.dev/css-module-scripts/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/css-space-toggles/","targetUrl":"https://web.dev/articles/light-dark"}]},{"domain":"catb.org","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.catb.org/jargon/html/go01.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.catb.org/jargon/html/A/ambimouseterous.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.catb.org/jargon/html/D/disemvowel.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.catb.org/jargon/html/J/job-security.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.catb.org/jargon/html/G/goat-file.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.catb.org/jargon/html/N/Ninety-Ninety-Rule.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"http://catb.org/jargon/html/R/Real-Programmer.html"}]},{"domain":"csswizardry.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-july-2016/","targetUrl":"http://csswizardry.com/2016/02/mixins-better-for-performance/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://csswizardry.com/2017/10/airplanes-and-ashtrays/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-january/","targetUrl":"https://csswizardry.com/2017/11/the-fallacies-of-distributed-computing-applied-to-front-end-performance/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/css-network-performance/","targetUrl":"https://csswizardry.com/2018/11/css-and-network-performance/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://csswizardry.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-august/","targetUrl":"https://csswizardry.com/2022/08/measure-what-you-impact-not-what-you-influence/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://csswizardry.com/2022/09/critical-css-not-so-fast/"}]},{"domain":"dribbble.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/kindlingapp-home-page-redesign/","targetUrl":"https://dribbble.com/shots/1233555-Narrative-and-artwork-concepts"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/kindlingapp-home-page-redesign/","targetUrl":"https://dribbble.com/shots/1237949-People-graphic"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/kindlingapp-home-page-redesign/","targetUrl":"https://dribbble.com/shots/1242191-Testing-responsively-now"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/designing-and-engineering-event-management-at-timshel/","targetUrl":"https://dribbble.com/shots/2833368-Event-list-view"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://developer.dribbble.com/v2/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://dribbble.com/jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/big-sur-ification-of-macos-icons/","targetUrl":"https://dribbble.com/agraaaaao"}]},{"domain":"joshwcomeau.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-is-in-fact-awesome/","targetUrl":"https://www.joshwcomeau.com/css/the-importance-of-learning-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://www.joshwcomeau.com/css/designing-shadows/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/stacking-contexts/","targetUrl":"https://www.joshwcomeau.com/css/stacking-contexts/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://www.joshwcomeau.com/css/surprising-truth-about-pixels-and-accessibility/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://www.joshwcomeau.com/react/wonderful-emails-with-mjml-and-mdx/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/remix-react-and-state/","targetUrl":"https://www.joshwcomeau.com/react/why-react-re-renders/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://www.joshwcomeau.com/css/color-formats/"}]},{"domain":"nextjs.org","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/language-level-toll-roads/","targetUrl":"https://nextjs.org/docs/pages/api-reference/components/image"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://nextjs.org/docs/app/api-reference/functions/generate-metadata"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://nextjs.org/docs/app/api-reference/functions/generate-metadata#basic-fields"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://nextjs.org/docs/app/api-reference/functions/generate-metadata#viewport"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://nextjs.org/docs/app/api-reference/functions/generate-viewport"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://nextjs.org/docs/app/api-reference/functions/generate-metadata#metadatabase"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://nextjs.org/docs/app/api-reference/functions/generate-metadata#unsupported-metadata"}]},{"domain":"quadratichq.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/building-infinite-spreadsheet/","targetUrl":"https://www.quadratichq.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/building-infinite-spreadsheet/","targetUrl":"https://www.quadratichq.com/blog/2023-05-15-coordinate-system-for-infinite-spreadsheet"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/discovering-newsletter-links-with-quadratic/","targetUrl":"https://www.quadratichq.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/discovering-newsletter-links-with-quadratic/","targetUrl":"https://www.quadratichq.com/blog/2024-01-28-the-multiplayer-spreadsheet"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/discovering-newsletter-links-with-quadratic/","targetUrl":"https://app.quadratichq.com/file/4dc14273-8ef2-4dc9-afac-0f37ab36f64a"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/links-from-whgov-wire/","targetUrl":"https://www.quadratichq.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/links-from-whgov-wire/","targetUrl":"https://app.quadratichq.com/file/b5c08206-67b6-459c-8b92-b2df5bf3616d"}]},{"domain":"quora.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/things-to-be-informed-about/","targetUrl":"http://www.quora.com/Life/What-are-the-top-10-things-that-we-should-be-informed-about-in-life"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/things-to-be-informed-about/","targetUrl":"http://www.quora.com/Justin-Freeman"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/things-to-be-informed-about/","targetUrl":"http://www.quora.com/Life/What-are-the-top-10-things-that-we-should-be-informed-about-in-life"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.quora.com/Whats-the-story-behind-port-8080"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.quora.com/Why-is-port-3000-used-when-running-a-Node-js-application"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://www.quora.com/Which-sites-have-the-best-URL-design/answer/Simon-Willison"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ductility/","targetUrl":"https://www.quora.com/What-is-ductile"}]},{"domain":"resilientwebdesign.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-april/","targetUrl":"https://resilientwebdesign.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://resilientwebdesign.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/progressively-enhancing-a-small-widget/","targetUrl":"https://resilientwebdesign.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/judo-throw-the-hype/","targetUrl":"https://resilientwebdesign.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-mom-and-the-wsj/","targetUrl":"https://resilientwebdesign.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://resilientwebdesign.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-hundred-year-web-service/","targetUrl":"https://resilientwebdesign.com/"}]},{"domain":"signalvnoise.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://signalvnoise.com/the-majestic-monolith-29166d022228"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-january/","targetUrl":"https://m.signalvnoise.com/busy-is-the-new-stupid/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"https://m.signalvnoise.com/dont-solve-the-problem/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/remote-work-is-a-craft/","targetUrl":"https://m.signalvnoise.com/remote-work-is-a-platform/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-september/","targetUrl":"https://m.signalvnoise.com/demand-side-sales-101-a-new-book-on-sales-by-bob-moesta/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/book-notes-demand-side-sales/","targetUrl":"https://m.signalvnoise.com/demand-side-sales-101-a-new-book-on-sales-by-bob-moesta/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"https://m.signalvnoise.com/validation-is-a-mirage/"}]},{"domain":"smashingmagazine.com","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/said-no-user-ever/","targetUrl":"https://shop.smashingmagazine.com/smashing-book-3.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2012/said-no-user-ever/","targetUrl":"http://mobile.smashingmagazine.com/2012/06/18/mobile-considerations-in-user-experience-design-web-or-native/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/an-analysis-of-infinite-scroll/","targetUrl":"http://uxdesign.smashingmagazine.com/2013/05/03/infinite-scrolling-get-bottom/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/stop-using-the-term-pixel-perfect/","targetUrl":"http://www.smashingmagazine.com/2011/04/14/mastering-photoshop-pixel-perfection-when-rotating-pasting-and-nudging/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://www.smashingmagazine.com/taking-pattern-libraries-next-level/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-january/","targetUrl":"https://www.smashingmagazine.com/2021/01/web-expose-hardware-capabilities/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://www.smashingmagazine.com/2022/02/thoughts-on-markdown/"}]},{"domain":"tonsky.me","count":7,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://tonsky.me/blog/phil-libin/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/styling-select-option-values/","targetUrl":"https://tonsky.me/blog/emoji/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://tonsky.me/blog/emoji/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/font-size-and-control/","targetUrl":"https://tonsky.me/blog/font-size/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://tonsky.me/blog/python-build/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/run-software-on-software-youve-never-run/","targetUrl":"https://tonsky.me/blog/lockfiles/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/icons-in-menus/","targetUrl":"https://tonsky.me/blog/tahoe-icons/"}]},{"domain":"aworkinglibrary.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://aworkinglibrary.com/writing/between-time"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/hedge-words-and-imaginative-thinking/","targetUrl":"https://aworkinglibrary.com/writing/toward-inquiry"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/seeing-others-in-data-but-not-ourselves/","targetUrl":"https://aworkinglibrary.com/writing/toward-inquiry"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/person-in-personal-website/","targetUrl":"https://aworkinglibrary.com/writing/coming-home"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/writing-is-human-expression/","targetUrl":"https://aworkinglibrary.com/writing/peasant-woodland"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/grow-like-a-tree-not-a-cancer/","targetUrl":"https://aworkinglibrary.com/writing/psychology-of-craft"}]},{"domain":"bsky.app","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-handle-blueksy/","targetUrl":"https://staging.bsky.app"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://bsky.app/profile/katielangerman.bsky.social"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-blink-principles-of-web-compat/","targetUrl":"https://bsky.app/profile/rbyers.net/post/3lny4p62k3c24"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/is-it-javascript/","targetUrl":"https://bsky.app/profile/jonkuperman.com/post/3lnzwrayka22t"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/sit-on-your-ass-web-dev/","targetUrl":"https://bsky.app/profile/davatron5000.bsky.social/post/3lw4vg2eo7k2w"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/more-control-equals-less-performance/","targetUrl":"https://bsky.app/profile/infrequently.org/post/3lu7j6gwjf2cd"}]},{"domain":"changelog.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/deno-is-webby/","targetUrl":"https://changelog.com/podcast/443"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/software-over-time/","targetUrl":"https://changelog.com/jsparty/215"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/js-party-288/","targetUrl":"https://changelog.com/jsparty/288"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/immeasurable-impact/","targetUrl":"https://changelog.com/posts/the-changelog-has-never-gone-viral"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/ryan-dahl-talks-deno-on-changelog/","targetUrl":"https://changelog.com/podcast/610"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-changelog-with-feross/","targetUrl":"https://changelog.com/friends/111"}]},{"domain":"idlewords.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-november/","targetUrl":"http://idlewords.com/talks/haunted_by_data.htm"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-november/","targetUrl":"http://idlewords.com/talks/internet_with_a_human_face.htm"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://idlewords.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://idlewords.com/index.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/overcomplicating-is-easy/","targetUrl":"https://idlewords.com/2024/5/the_lunacy_of_artemis.htm"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/named-blogs/","targetUrl":"https://idlewords.com"}]},{"domain":"meyerweb.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"http://meyerweb.com/eric/thoughts/2017/02/24/scaling-svg-clipping-paths-for-css-use/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://meyerweb.com/eric/thoughts/2018/08/07/securing-sites-made-them-less-accessible/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/css-wishlist/","targetUrl":"https://meyerweb.com/eric/thoughts/2023/02/08/css-wish-list-2023/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/throwaway-browser-defaults/","targetUrl":"https://meyerweb.com/eric/tools/css/reset/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components-an-example/","targetUrl":"https://meyerweb.com/eric/thoughts/2023/11/01/blinded-by-the-light-dom/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/be-mindful-of-what-you-make-easy/","targetUrl":"http://meyerweb.com/eric/tools/css/reset/"}]},{"domain":"nodejs.org","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/common-js-equivalent-of-dirname-in-es-modules/","targetUrl":"https://nodejs.org/api/esm.html#importmetadirname"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/common-js-equivalent-of-dirname-in-es-modules/","targetUrl":"https://nodejs.org/api/esm.html#importmetafilename"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/common-js-equivalent-of-dirname-in-es-modules/","targetUrl":"https://nodejs.org/api/esm.html#importmetaresolvespecifier"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/common-js-equivalent-of-dirname-in-es-modules/","targetUrl":"https://nodejs.org/api/esm.html#esm_no_code_require_code_code_exports_code_code_module_exports_code_code_filename_code_code_dirname_code"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-cjs-to-esm/","targetUrl":"https://nodejs.org/api/esm.html#esm_no_require_exports_module_exports_filename_dirname"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://nodejs.org/en/blog/announcements/v18-release-announce/"}]},{"domain":"piperhaywood.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://piperhaywood.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://piperhaywood.com/leave-a-stone-unturned/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/dinner-conversation/","targetUrl":"https://piperhaywood.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/dinner-conversation/","targetUrl":"https://piperhaywood.com/tag/recipes/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://piperhaywood.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://piperhaywood.com/grandma-pipers-ice-cream-cake-recipe/"}]},{"domain":"reactjs.org","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://reactjs.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://reactjs.org/docs/design-principles.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-december/","targetUrl":"https://reactjs.org/blog/2018/12/19/react-v-16-7.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://reactjs.org/docs/context.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-jeremy-keiths-split/","targetUrl":"https://reactjs.org/docs/dom-elements.html#style"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://reactjs.org"}]},{"domain":"reddit.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://www.reddit.com/r/kindle/comments/4ud1ba/is_there_any_good_alternative_to_readlistscom/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-november/","targetUrl":"https://www.reddit.com/r/MachineLearning/comments/wiqjxv/d_the_current_and_future_state_of_aiml_is/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/apollo-app-icons/","targetUrl":"https://www.reddit.com/r/apolloapp/comments/144f6xm/apollo_will_close_down_on_june_30th_reddits/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/user-feedback/","targetUrl":"https://www.reddit.com/r/gifs/comments/9ogmes/kids_would_rather_not_use_the_slides_but_instead/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/greatest-strength-is-greatest-weakness/","targetUrl":"https://www.reddit.com/r/node/comments/higlf0/heaviest_objects_in_the_universe/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://www.reddit.com/r/crappyoffbrands/comments/apq8sx/nine_out_of_the_hundreds_of_fake_nike_brands_from/"}]},{"domain":"reederapp.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"http://reederapp.com/ios/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://reederapp.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/how-i-take-and-publish-notes/","targetUrl":"https://reederapp.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/love-for-interoperability/","targetUrl":"https://reederapp.com/classic/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://reederapp.com/classic/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://reederapp.com"}]},{"domain":"remysharp.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://remysharp.com/2019/03/25/slashed-uri"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://remysharp.com/links/2020-09-24-e9aa7591"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://remysharp.com/2021/02/08/tech-hostage"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-july/","targetUrl":"https://remysharp.com/2021/02/11/the-web-didnt-change-you-did"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://remysharp.com/2021/11/21/why-i-write-and-when-i-dont"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browsers-json-formdata/","targetUrl":"https://remysharp.com/2022/10/13/two-javascripts"}]},{"domain":"sass-lang.com","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/preserving-css-comments-during-compression/","targetUrl":"http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#comments"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/skinning-the-idea-poster-anew/","targetUrl":"http://sass-lang.com/documentation/Sass/Script/Functions.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"http://sass-lang.com/documentation/Sass/Script/Functions.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/migrating-away-from-compass-and-susy/","targetUrl":"http://sass-lang.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/dynamically-darken-a-color-in-css/","targetUrl":"https://sass-lang.com/documentation/functions/color"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ode-to-aea/","targetUrl":"https://sass-lang.com/"}]},{"domain":"twobithistory.org","count":6,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-september/","targetUrl":"https://twobithistory.org/2017/09/21/the-rise-and-rise-of-json.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-october/","targetUrl":"https://twobithistory.org/2018/09/16/the-rise-and-demise-of-rss.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"https://twobithistory.org/2019/03/31/bbc-micro.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://twobithistory.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://twobithistory.org/feed.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-diversity/","targetUrl":"https://twobithistory.org/2021/02/07/arpanet.html"}]},{"domain":"cloudflare.com","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/credentials-in-urls/","targetUrl":"https://blog.cloudflare.com/the-history-of-the-url/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/","targetUrl":"https://developers.cloudflare.com/workers/runtime-apis/fetch"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/loading-parsing-executing-javascript/","targetUrl":"https://developers.cloudflare.com/workers/learning/how-kv-works/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/loading-parsing-executing-javascript/","targetUrl":"https://blog.cloudflare.com/introducing-d1/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://blog.cloudflare.com/the-history-of-the-url/"}]},{"domain":"deno.com","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-beyond-browsers/","targetUrl":"https://deno.com/blog/announcing-wintercg"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://dash.deno.com/playground/jimniels-dribbble"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://deno.com/manual@v1.34.2/basics/modules"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/deno-de-emphasizes-http-imports/","targetUrl":"https://deno.com/blog/http-imports"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/limitations-vs-capabilities/","targetUrl":"https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong"}]},{"domain":"front-end.social","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"https://front-end.social/@kizu/111793992772345116"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://front-end.social/@mia/111813355974721056"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/view-transition-name-gotchas/","targetUrl":"https://front-end.social/@bramus/113820236476349197"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/thoughts-on-working-draft-to-override-form-controls/","targetUrl":"https://front-end.social/@jensimmons/114111059845196160"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://front-end.social/@AmeliaBR/114971821114512797"}]},{"domain":"hiddedevries.nl","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"https://hiddedevries.nl/en/blog/2020-11-25-why-its-good-for-users-that-html-css-and-js-are-separate-languages"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/css-is-in-fact-awesome/","targetUrl":"https://talks.hiddedevries.nl/2gDDUr"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/browsers-and-representation/","targetUrl":"https://talks.hiddedevries.nl/2gDDUr"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-in-and-out-of-style/","targetUrl":"https://talks.hiddedevries.nl/2gDDUr"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/the-art-of-making-websites/","targetUrl":"https://talks.hiddedevries.nl/dFZf3b/slides"}]},{"domain":"html-validate.org","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://html-validate.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://html-validate.org/about/index.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://html-validate.org/rules/no-trailing-whitespace.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://html-validate.org/rules/presets.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://html-validate.org/usage/cli.html"}]},{"domain":"imageoptim.com","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://imageoptim.com/mac"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://imageoptim.com/mac"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://imageoptim.com/api"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://imageoptim.com/api"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://imageoptim.com"}]},{"domain":"kickstarter.com","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/launching-ios-app-icon-book/","targetUrl":"https://www.kickstarter.com/projects/flarup/867241699"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/launching-ios-app-icon-book/","targetUrl":"https://www.kickstarter.com/projects/flarup/867241699"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/exporting-and-parsing-emails/","targetUrl":"https://www.kickstarter.com/projects/flarup/the-ios-app-icon-book"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/japanese-ios-app-icon-book/","targetUrl":"https://www.kickstarter.com/projects/flarup/the-macos-app-icon-book"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/macos-icon-book-irl/","targetUrl":"https://www.kickstarter.com/projects/flarup/the-macos-app-icon-book"}]},{"domain":"macwright.com","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-august/","targetUrl":"https://macwright.com/2020/08/22/clean-starts-for-the-web.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-learned-blogging/","targetUrl":"https://macwright.com/2019/02/06/how-to-blog.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://macwright.com/2022/12/09/activitypub.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/is-it-javascript/","targetUrl":"https://macwright.com/2025/04/29/directive-prologues-and-javascript-dark-matter"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ai-browsers-frontier-security/","targetUrl":"https://macwright.com/2025/05/29/putting-an-untrusted-chat-layer-is-a-disaster"}]},{"domain":"quickchart.io","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/graphing-blog-post-goals/","targetUrl":"https://quickchart.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://quickchart.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://quickchart.io/documentation/graphviz-api/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/multiple-inline-svgs/","targetUrl":"https://quickchart.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/stats-page/","targetUrl":"https://quickchart.io"}]},{"domain":"speedguide.net","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.speedguide.net/port.php?port=8000"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.speedguide.net/port.php?port=8080"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.speedguide.net/port.php?port=8888"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.speedguide.net/port.php?port=3000"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.speedguide.net/port.php?port=591"}]},{"domain":"zachleat.com","count":5,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/css-naked/","targetUrl":"https://www.zachleat.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/web-components-icon-galleries/","targetUrl":"https://fediverse.zachleat.com/@zachleat/111211208759538433"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/visual-design-homogeneity-at-scale/","targetUrl":"https://www.zachleat.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/consistent-nav-across-inconsistent-sites-pt-ii/","targetUrl":"https://fediverse.zachleat.com/@zachleat/114942811780696272"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-antis/","targetUrl":"https://www.zachleat.com/domains/"}]},{"domain":"aboard.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/deadlines-as-technology/","targetUrl":"https://aboard.com/podcast-episode-2-failure/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thats-another-podcast/","targetUrl":"https://aboard.com/podcast/the-web-is-a-sticky-pickle/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/humans-all-the-way-down/","targetUrl":"https://aboard.com/podcast/startup-year-in-review/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/thinking-big-and-small/","targetUrl":"https://aboard.com/podcast/stop-wrestling-with-giants/"}]},{"domain":"alistapart.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/quick-change-and-the-web/","targetUrl":"http://alistapart.com/article/what-we-learned-in-2012"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-october/","targetUrl":"http://alistapart.com/article/the-future-of-the-web"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/stop-using-the-term-pixel-perfect/","targetUrl":"http://www.alistapart.com/articles/vexing-viewports/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://alistapart.com/article/cult-of-the-complex"}]},{"domain":"applypixels.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://applypixels.com/the-hunt-for-the-squircle/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://applypixels.com/the-hunt-for-the-squircle/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-july/","targetUrl":"https://applypixels.com/blog/comeback"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/short-history-of-ios-app-icons/","targetUrl":"https://applypixels.com/blog/comeback"}]},{"domain":"beplucky.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://www.beplucky.com/blog/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://www.beplucky.com/blog/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"http://www.beplucky.com/feed/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://www.beplucky.com"}]},{"domain":"bryanbraun.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"https://www.bryanbraun.com/2020/10/03/the-power-of-a-link/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/the-power-of-the-link/","targetUrl":"https://www.bryanbraun.com/2020/10/03/the-power-of-a-link/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://www.bryanbraun.com/2022/12/31/the-best-part-of-pair-programming/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/used-domain-clean-title/","targetUrl":"https://www.bryanbraun.com/2024/10/25/before-you-buy-a-domain-name-first-check-to-see-if-its-haunted/"}]},{"domain":"capwatkins.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-july-2016/","targetUrl":"http://blog.capwatkins.com/holistic-management"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/short-perspective-on-hiring/","targetUrl":"http://blog.capwatkins.com/two-questions"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/short-perspective-on-hiring/","targetUrl":"http://blog.capwatkins.com/two-questions"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://capwatkins.com/"}]},{"domain":"cern.ch","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"http://info.cern.ch/hypertext/WWW/TheProject.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/whats-it-worth/","targetUrl":"http://info.cern.ch/Proposal.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"http://info.cern.ch/hypertext/WWW/TheProject.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-hundred-year-web-service/","targetUrl":"https://info.cern.ch"}]},{"domain":"clearleft.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://clearleft.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-september/","targetUrl":"https://podcast.clearleft.com/season01/episode01/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/notes-from-measuring-design/","targetUrl":"https://podcast.clearleft.com/season03/episode05/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://clearleft.com/posts/can-you-count-on-what-you-measure"}]},{"domain":"daneden.me","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/stop-using-the-term-pixel-perfect/","targetUrl":"http://daneden.me/2012/10/portfolios-on-the-web/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://daneden.me/blog"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://daneden.me/rss.xml"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-december/","targetUrl":"https://daneden.me/blog/2021/three-phases-of-design-systems"}]},{"domain":"dropbox.github.io","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"http://dropbox.github.io/dropbox-sdk-js/index.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"http://dropbox.github.io/dropbox-sdk-js/Dropbox.html#filesDownload__anchor"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"http://dropbox.github.io/dropbox-sdk-js/Dropbox.html#filesUpload__anchor"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/transferring-text-files-with-dropbox-js-sdk/","targetUrl":"http://dropbox.github.io/dropbox-sdk-js/global.html#FilesCommitInfo"}]},{"domain":"ericwbailey.website","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/building-software-as-translation/","targetUrl":"https://ericwbailey.website/published/visit-for-a-surprise/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://ericwbailey.website/published/swearing-and-automatic-captions/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/faux-progress/","targetUrl":"https://ericwbailey.website/published/modern-health-frameworks-performance-and-harm/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://ericwbailey.website/published/tag-youre-it/"}]},{"domain":"flickr.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ode-to-aea/","targetUrl":"https://www.flickr.com/photos/placenamehere/10164389336/in/pool-aeaaustin13/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ode-to-aea/","targetUrl":"https://www.flickr.com/photos/placenamehere/10162326235/in/pool-aeaaustin13/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ode-to-aea/","targetUrl":"https://www.flickr.com/photos/placenamehere/10164311216/in/pool-aeaaustin13/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ode-to-aea/","targetUrl":"https://www.flickr.com/photos/placenamehere/10162433475/in/pool-aeaaustin13/"}]},{"domain":"garrettkalleberg.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"http://www.garrettkalleberg.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://www.garrettkalleberg.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-a-mystery-greater-than-our-failures/","targetUrl":"https://www.garrettkalleberg.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/blown-away-by-the-unexpected/","targetUrl":"https://www.garrettkalleberg.com"}]},{"domain":"hackernoon.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"https://hackernoon.com/complexity-and-strategy-325cd7f59a92"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://hackernoon.com/apples-icons-have-that-shape-for-a-very-good-reason-720d4e7c8a14"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://hackernoon.com/education-of-a-programmer-aaecf2d35312"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://hackernoon.com/node-js-tc-39-and-modules-a1118aecf95e"}]},{"domain":"hpbn.co","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://hpbn.co"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reintroducing-readlists/","targetUrl":"https://hpbn.co"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/resiliency-in-the-webs-layers/","targetUrl":"https://hpbn.co"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/resiliency-in-the-webs-layers/","targetUrl":"https://hpbn.co/building-blocks-of-tcp/#congestion-avoidance"}]},{"domain":"htmx.org","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/web-components-icon-galleries/","targetUrl":"https://htmx.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-cost-of-avoiding-annoyance/","targetUrl":"https://htmx.org/essays/no-build-step/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/nothing-is-something/","targetUrl":"https://htmx.org/essays/why-gumroad-didnt-choose-htmx/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/be-mindful-of-what-you-make-easy/","targetUrl":"https://htmx.org/essays/vendoring/"}]},{"domain":"ietf.org","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-june/","targetUrl":"https://tools.ietf.org/html/rfc1925"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-august/","targetUrl":"https://datatracker.ietf.org/doc/html/rfc8890#section-4"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/date-and-time-in-ssg/","targetUrl":"https://datatracker.ietf.org/doc/html/rfc3339"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/date-and-time-in-ssg/","targetUrl":"https://datatracker.ietf.org/doc/html/rfc822"}]},{"domain":"imagemagick.org","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2014/logo-integrity/","targetUrl":"http://www.imagemagick.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2014/logo-integrity/","targetUrl":"http://www.imagemagick.org/script/command-line-tools.php"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.imagemagick.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/down-the-rabbit-hole-of-image-optimization-tooling/","targetUrl":"https://www.imagemagick.org"}]},{"domain":"indieweb.org","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://indieweb.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-missing-hit-and-the-open-web/","targetUrl":"https://indieweb.org/POSSE"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/best-time-to-own-a-domain/","targetUrl":"https://indieweb.org/rel-me"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/href-value-possibilities/","targetUrl":"https://indieweb.org/media_fragment"}]},{"domain":"instagram.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/flying-j-pies/","targetUrl":"https://www.instagram.com/flyingjpies/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/employment-change/","targetUrl":"https://instagram.com/flyingjpies"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/bulletproof-problem-solving/","targetUrl":"https://www.instagram.com/reel/C40w-f3PA7I"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/pies-and-subdomains/","targetUrl":"https://help.instagram.com/181231772500920"}]},{"domain":"miksovsky.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-site-via-content-in-dropbox/","targetUrl":"https://jan.miksovsky.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/beauty-of-building/","targetUrl":"https://jan.miksovsky.com/posts/2024/11-12-momboard"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://jan.miksovsky.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/skill-issue/","targetUrl":"https://jan.miksovsky.com/"}]},{"domain":"numbermatics.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://numbermatics.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://numbermatics.com/n/2147483644/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://numbermatics.com/n/2147483645/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://numbermatics.com/n/2147483647/"}]},{"domain":"oreillystatic.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://cdn.oreillystatic.com/en/assets/1/event/259/Locking%20it%20down_%20A%20security%20primer%20for%20web%20developers%20Presentation.pdf"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://cdn.oreillystatic.com/en/assets/1/event/259/Async%20in%20JavaScript%20and%20readability%20in%20Redux%20Presentation%201.pdf"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://cdn.oreillystatic.com/en/assets/1/event/259/Tame%20the%20frontend%20with%20Elm%20Presentation.pdf"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://cdn.oreillystatic.com/en/assets/1/event/259/Schema-first%20development%20with%20GraphQL%20Presentation.pdf"}]},{"domain":"pbs.org","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://lite.pbs.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://www.pbs.org/show/downwinders-and-radioactive-west/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://www.pbs.org/wgbh/americanexperience/films/command-and-control/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://www.pbs.org/show/bomb/"}]},{"domain":"simonwillison.net","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/language-level-toll-roads/","targetUrl":"https://til.simonwillison.net/deno/deno-kv"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ai-browsers-frontier-security/","targetUrl":"https://simonwillison.net/2025/Oct/22/openai-ciso-on-atlas/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/opacity-of-generative-tools/","targetUrl":"https://simonwillison.net/guides/agentic-engineering-patterns/how-coding-agents-work/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://simonwillison.net/2026/Feb/25/present/"}]},{"domain":"stackexchange.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"https://softwareengineering.stackexchange.com/questions/307639/what-does-mapping-mean-in-programming"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/app-icons-dont-catch-em-all/","targetUrl":"https://apple.stackexchange.com/questions/298391/how-do-i-download-an-ios-app-ipa-file-to-my-mac-after-itunes-12-7-update"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/","targetUrl":"https://softwareengineering.stackexchange.com/a/329133"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-nuance/","targetUrl":"https://webmasters.stackexchange.com/tags/top-level-domains/info"}]},{"domain":"trentwalton.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2014/defining-beauty-on-the-web/","targetUrl":"http://trentwalton.com/2014/03/10/device-agnostic/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/stop-using-the-term-pixel-perfect/","targetUrl":"http://trentwalton.com/2013/01/07/flexible-foundations/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://trentwalton.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://trentwalton.com/feed.xml"}]},{"domain":"xkcd.com","count":4,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/feat-new-style/","targetUrl":"https://xkcd.com/1179/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/software-crisis-dependencies/","targetUrl":"https://xkcd.com/2347/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html/","targetUrl":"https://xkcd.com/927/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/how-ai-labs-proliferate/","targetUrl":"https://xkcd.com/927/"}]},{"domain":"24ways.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/science-of-typography/","targetUrl":"http://24ways.org/2012/science/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://24ways.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/quibbles-with-social-share-imagery/","targetUrl":"https://24ways.org/2018/dynamic-social-sharing-images/"}]},{"domain":"abookapart.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-september/","targetUrl":"https://abookapart.com/products/git-for-humans"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-september/","targetUrl":"http://abookapart.com/products/responsive-design-patterns-principles"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/principles-of-color-beyond-srgb/","targetUrl":"https://abookapart.com/products/making-sense-of-color-management"}]},{"domain":"babeljs.io","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://babeljs.io/blog"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://babeljs.io/"}]},{"domain":"bloomberg.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/"},{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-october/","targetUrl":"http://www.bloomberg.com/features/2015-how-apple-built-3d-touch-iphone-6s/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://www.bloomberg.com/news/features/2018-03-09/bitcoin-is-ridiculous-blockchain-is-dangerous-paul-ford"}]},{"domain":"bottosson.github.io","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://bottosson.github.io/posts/oklab/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://bottosson.github.io/posts/colorpicker/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://bottosson.github.io/misc/colorpicker/#8c2d2d"}]},{"domain":"bradfrost.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-january/","targetUrl":"https://bradfrost.com/blog/post/level-of-effort/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://bradfrost.com/blog/link/cheating-entropy-with-native-web-technologies/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/local-first-makes-codebases-more-collaborative/","targetUrl":"https://bradfrost.com/blog/post/front-of-the-front-end-and-back-of-the-front-end-web-development/"}]},{"domain":"bram.us","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://www.bram.us/2022/05/25/dark-mode-toggles-should-be-a-browser-feature/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/previous-sibling-selector/","targetUrl":"https://www.bram.us/2021/12/21/the-css-has-selector-is-way-more-than-a-parent-selector/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/slow-motion-animations-with-chrome-devtools/","targetUrl":"https://www.bram.us/"}]},{"domain":"buttondown.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/easy-and-convenient-they-say/","targetUrl":"https://buttondown.com/ericwbailey"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/subscribe-via-email-now/","targetUrl":"https://buttondown.com/refer/jimniels"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/subscribe-via-email-now/","targetUrl":"https://buttondown.com/refer/jimniels"}]},{"domain":"canistilluse.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://www.canistilluse.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/canistilluse.com/","targetUrl":"https://www.canistilluse.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/the-art-of-making-websites/","targetUrl":"https://www.canistilluse.com"}]},{"domain":"chrome.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/as-good-as-html/","targetUrl":"https://developer.chrome.com/en/blog/hr-in-select/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/view-transition-name-gotchas/","targetUrl":"https://developer.chrome.com/docs/web-platform/view-transitions/cross-document"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/casing-on-the-web/","targetUrl":"https://developer.chrome.com/blog/command-and-commandfor"}]},{"domain":"chromium.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://bugs.chromium.org/p/chromium/issues/detail?id=89165"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/slow-motion-animations-with-chrome-devtools/","targetUrl":"https://bugs.chromium.org/p/chromium/issues/detail?id=1448818"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/limitations-vs-capabilities/","targetUrl":"https://www.chromium.org/teams/web-capabilities-fugu/"}]},{"domain":"cloudfour.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://cloudfour.com/thinks/the-design-system-priority-of-constituencies/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-case-for-design-engineers/","targetUrl":"https://cloudfour.com/thinks/traditional-web-design-process-is-fundamentally-broken/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://cloudfour.com"}]},{"domain":"designernews.co","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-art-of-the-side-project/","targetUrl":"https://www.designernews.co"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://www.designernews.co/stories/90192-logo-integrity"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://www.designernews.co/comments/279744"}]},{"domain":"destroytoday.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/email-replies-in-rss/","targetUrl":"https://destroytoday.com/blog/reply-link-in-rss-feed-posts"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://destroytoday.com/blog/contentful-mishaps"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/feat-new-style/","targetUrl":"https://destroytoday.com/blog/intro"}]},{"domain":"devever.net","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://www.devever.net/~hl/mildlydynamic"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-october/","targetUrl":"https://www.devever.net/~hl/ruthlessness"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://www.devever.net/~hl/stringtemplates"}]},{"domain":"dropbox.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://www.dropbox.com/s/jdiz9av83495bsu/Build%20a%20JS%20Dev%20Env%20-%203%20hr%20-%20Fluent%202017.pptx?dl=0"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://www.dropbox.com/developers/reference/webhooks"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://www.dropbox.com/developers/reference/content-hash"}]},{"domain":"fosstodon.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://fosstodon.org/@mrwweb/110435716839260633"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/fault-tolerance-html-css/","targetUrl":"https://fosstodon.org/@thomasapowell/111688980900687155"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/love-for-python/","targetUrl":"https://fosstodon.org/@mariatta"}]},{"domain":"iana.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?page=109"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=http-alt"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=3000"}]},{"domain":"iconfactory.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/dark-mode-on-the-web/","targetUrl":"https://blog.iconfactory.com/2018/10/dark-mode-and-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/principles-of-color-beyond-srgb/","targetUrl":"https://blog.iconfactory.com/2016/04/looking-at-the-future/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/do-you-personalize/","targetUrl":"https://iconfactory.com"}]},{"domain":"increment.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://increment.com/frontend/a-users-guide-to-css-variables/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-july/","targetUrl":"https://increment.com/frontend/ask-an-expert-why-is-css-the-way-it-is/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/things-the-css-spec-folks-got-right/","targetUrl":"https://increment.com/frontend/ask-an-expert-why-is-css-the-way-it-is/"}]},{"domain":"indieweb.social","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/websites-are-for-normies/","targetUrl":"https://indieweb.social/@davatron5000@mastodon.social/110912189285291743"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/websites-are-for-normies/","targetUrl":"https://indieweb.social/@nachtfunke/110912228740815266"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://indieweb.social/@kiko/111809675324677769"}]},{"domain":"jekyllrb.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"https://jekyllrb.com/docs/permalinks/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://jekyllrb.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://jekyllrb.com/news/"}]},{"domain":"jessicahische.is","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://www.jessicahische.is"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://www.jessicahische.is/anoversharer"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://www.jessicahische.is/sofulloffancypopcorn"}]},{"domain":"jsonfeed.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"https://www.jsonfeed.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://www.jsonfeed.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html/","targetUrl":"https://www.jsonfeed.org/version/1.1/"}]},{"domain":"kagi.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity-browser/","targetUrl":"https://browser.kagi.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/podcast-notes-talk-show-kagi/","targetUrl":"https://kagi.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/podcast-notes-talk-show-kagi/","targetUrl":"https://kagi.com/orion/"}]},{"domain":"lethain.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://lethain.com/platforms-change-but-cool-uris-dont/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-october/","targetUrl":"https://lethain.com/mailbag-not-measurable-whether-hire-exec/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://lethain.com/company-team-self/"}]},{"domain":"luroapp.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/user-feedback/","targetUrl":"https://luroapp.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/software-is-what-we-learned-along-the-way/","targetUrl":"https://luroapp.com/posts/capture-the-value-of-your-design-work-with-luro/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/be-mindful-of-what-you-make-easy/","targetUrl":"https://luroapp.com"}]},{"domain":"macrumors.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/font-size-and-control/","targetUrl":"https://www.macrumors.com/2021/06/09/ios-15-tidbits-loupe-magnifier-dial-picker-more/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.macrumors.com/2020/06/22/WEBP-safari-14/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://www.macrumors.com/2022/03/01/safari-feature-light-dark-mode-specific-site/"}]},{"domain":"marked.js.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://marked.js.org"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://marked.js.org/using_pro#tokenizer"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://marked.js.org"}]},{"domain":"mastodon.online","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/fault-tolerance-html-css/","targetUrl":"https://mastodon.online/@octothorpe/111688938713175704"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://mastodon.online/@mauricerenck/111810248133660295"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/you-are-what-you-read/","targetUrl":"https://mastodon.online/@halas#."}]},{"domain":"mxb.dev","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://mxb.dev/blog/make-free-stuff/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/cluttered-web/","targetUrl":"https://mxb.dev/blog/make-free-stuff/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-november/","targetUrl":"https://mxb.dev/blog/the-indieweb-for-everyone/"}]},{"domain":"nolanlawson.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/shadow-dom-and-the-styling-api/","targetUrl":"https://nolanlawson.com/2021/01/03/options-for-styling-web-components/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://nolanlawson.com/2022/02/02/five-years-of-quitting-twitter/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://nolanlawson.com/2022/06/27/spas-theory-versus-practice/"}]},{"domain":"npr.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/perception-and-balancing-idealism-with-pragmatism/","targetUrl":"https://www.npr.org/2019/10/31/774918215/obama-says-democrats-dont-always-need-to-be-politically-woke"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://text.npr.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity-browser/","targetUrl":"https://text.npr.org"}]},{"domain":"oreillymedia.github.io","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://oreillymedia.github.io/Using_SVG/index.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://oreillymedia.github.io/Using_SVG/extras/ch03-namespaces.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/validating-html/","targetUrl":"https://oreillymedia.github.io/Using_SVG/extras/ch01-XML.html"}]},{"domain":"paravelinc.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://paravelinc.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://paravelinc.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://paravelinc.com/"}]},{"domain":"paulirish.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/seemly-selectors/","targetUrl":"http://paulirish.com/2012/box-sizing-border-box-ftw/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditionally-load-material-icons/","targetUrl":"https://www.paulirish.com/2009/fighting-the-font-face-fout/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/throwaway-browser-defaults/","targetUrl":"https://www.paulirish.com/2012/box-sizing-border-box-ftw/"}]},{"domain":"pawelgrzybek.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://pawelgrzybek.com/my-favourite-visual-studio-code-tips-for-how-did-you-do-it-kind-of-people/#use-visual-studio-code-as-a-diff-tool"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://pawelgrzybek.com/generate-rss-feed-for-bandcamp-artists-using-deno-deploy/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/npm-dependency-queries/","targetUrl":"https://pawelgrzybek.com/a-few-practical-use-cases-for-npm-dependency-queries/"}]},{"domain":"piccalil.li","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/web-technologies-and-syntax/","targetUrl":"https://piccalil.li/blog/cube-css/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/throwaway-browser-defaults/","targetUrl":"https://piccalil.li/blog/a-modern-css-reset"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/lots-of-little-html-pages/","targetUrl":"https://piccalil.li/blog/in-praise-of-off-screen-menus/"}]},{"domain":"reactrouter.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://reactrouter.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://reactrouter.com/en/main/start/tutorial"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://reactrouter.com"}]},{"domain":"sagesure.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://tech.sagesure.com/blog/2021-11-30-design-systems-and-trade-offs/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/rich-fast-loops-and-tradeoffs/","targetUrl":"https://tech.sagesure.com/blog/2021-11-30-design-systems-and-trade-offs/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/software-crisis-dependencies/","targetUrl":"https://tech.sagesure.com/blog/2021-11-30-design-systems-and-trade-offs/"}]},{"domain":"sarasoueidan.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-september/","targetUrl":"https://sarasoueidan.com/blog/in-quest-of-search/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://sarasoueidan.com/blog/prefers-color-scheme-browser-vs-os/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://sarasoueidan.com/blog/prefers-color-scheme-browser-vs-os/"}]},{"domain":"scriptogr.am","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/scriptogram-vector-logo/","targetUrl":"http://scriptogr.am/"},{"sourceUrl":"https://blog.jim-nielsen.com/2013/scriptogram-posts-in-json-with-php/","targetUrl":"http://scriptogr.am/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/blog-redesign-again/","targetUrl":"http://scriptogr.am/"}]},{"domain":"socket.dev","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://socket.dev/blog/inside-node-modules"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/npm-risks/","targetUrl":"https://socket.dev/blog/npm-author-qix-compromised-in-major-supply-chain-attack"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/run-software-on-software-youve-never-run/","targetUrl":"https://socket.dev/blog/npm-author-qix-compromised-in-major-supply-chain-attack"}]},{"domain":"swyx.io","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://swyx.io/writing/learn-in-public"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://www.swyx.io/preemptive-pluralization"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://swyx.io/sharding-yourself"}]},{"domain":"theatlantic.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"https://www.theatlantic.com/magazine/archive/2019/09/meritocracys-miserable-winners/594760/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://www.theatlantic.com/ideas/archive/2020/11/why-obama-fears-for-our-democracy/617087/"}]},{"domain":"themarkup.org","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"https://themarkup.org/news/2020/12/03/why-web-scraping-is-vital-to-democracy"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflections-on-html/","targetUrl":"https://themarkup.org/news/2020/12/03/why-web-scraping-is-vital-to-democracy"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/best-time-to-own-a-domain/","targetUrl":"https://themarkup.org/levelup/2022/12/22/how-we-verified-ourselves-on-mastodon-and-how-you-can-too"}]},{"domain":"timkadlec.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"https://timkadlec.com/remembers/2019-10-21-using-the-platform/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"https://timkadlec.com/remembers/2020-10-13-missing/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-january/","targetUrl":"https://timkadlec.com/remembers/2021-01-12-cost-of-client-side-ab-testing/"}]},{"domain":"toot.cafe","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://toot.cafe/@tomayac/111603087162013604"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://toot.cafe/@tomayac/111605779007030470"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"https://toot.cafe/@baldur/111776345453097179"}]},{"domain":"twimg.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://pbs.twimg.com/media/DhC0oEBU8AASuEV.jpg"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-july/","targetUrl":"https://pbs.twimg.com/media/DhHwhstVMAAK8iK.jpg"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://pbs.twimg.com/media/DjnGCcjVsAEk4R9?format=jpg&name=medium"}]},{"domain":"wicg.github.io","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"https://wicg.github.io/background-fetch/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://wicg.github.io/scroll-to-text-fragment/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/","targetUrl":"https://wicg.github.io/scroll-to-text-fragment/"}]},{"domain":"wordpress.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/more-to-design-than-data-and-rationality/","targetUrl":"https://terrytao.wordpress.com/career-advice/theres-more-to-mathematics-than-rigour-and-proofs/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/making-software-is-translating-intent/","targetUrl":"https://codemanship.wordpress.com/2025/11/25/the-future-of-software-development-is-software-developers/"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/continuous-continuous-continuous/","targetUrl":"https://codemanship.wordpress.com/2025/01/23/the-a-z-of-code-craft-c-is-for-continuous/"}]},{"domain":"wsj.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/a-web-for-all/","targetUrl":"https://www.wsj.com/amp/articles/before-you-buy-a-chromebook-check-the-expiration-date-11646538322"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-mom-and-the-wsj/","targetUrl":"https://www.wsj.com/amp/articles/before-you-buy-a-chromebook-check-the-expiration-date-11646538322"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-november/","targetUrl":"https://www.wsj.com/articles/jony-ive-apple-design-interview-profile-lovefrom-11666733971"}]},{"domain":"ziadeford.com","count":3,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/thats-another-podcast/","targetUrl":"https://ziadeford.com/episode/2023/09/05/personal-brands-are-dead/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thats-another-podcast/","targetUrl":"https://ziadeford.com/episode/2023/09/28/amazon-antitrust/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/thats-another-podcast/","targetUrl":"https://ziadeford.com/episode/2023/08/10/cardsorters/"}]},{"domain":"2ality.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-functional-lite-js/","targetUrl":"http://2ality.com/2015/06/tail-call-optimization.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-june/","targetUrl":"https://2ality.com/2021/01/looping-over-arrays.html"}]},{"domain":"alexdanco.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-july/","targetUrl":"http://alexdanco.com/2020/06/26/craft-is-culture/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"http://alexdanco.com/2020/10/23/six-lessons-from-six-months-at-shopify/"}]},{"domain":"alexpounds.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-january/","targetUrl":"http://alexpounds.com/blog/2018/12/29/four-cool-urls"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"http://alexpounds.com/blog/2018/12/29/four-cool-urls"}]},{"domain":"algolia.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/playing-with-blog-home/","targetUrl":"https://hn.algolia.com/api"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hn.algolia.com"}]},{"domain":"anhvn.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/my-failed-peronsal-site-redesign/","targetUrl":"https://anhvn.com/posts/2024/making-version-noir/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/visual-design-homogeneity-at-scale/","targetUrl":"https://anhvn.com"}]},{"domain":"anthropic.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/ai-security-shakedown/","targetUrl":"https://www.anthropic.com/news/disrupting-AI-espionage"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/study-finds-obvious-truth/","targetUrl":"https://www.anthropic.com/research/AI-assistance-coding-skills"}]},{"domain":"axios.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/links-from-whgov-wire/","targetUrl":"https://www.axios.com/2025/04/30/trump-white-house-drudge-style-website-launch"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/links-from-whgov-wire/","targetUrl":"https://www.axios.com/2025/04/30/trump-white-house-drudge-style-website-launch"}]},{"domain":"beckelman.net","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/how-i-take-and-publish-notes/","targetUrl":"https://excerpts.beckelman.net/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/how-i-take-and-publish-notes/","targetUrl":"https://excerpts.beckelman.net/how/"}]},{"domain":"bigthink.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/novels-as-prototypes/","targetUrl":"https://bigthink.com/the-past/hg-wells-novel-predicted-oppenheimer-atomic-bombs/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/novels-as-prototypes/","targetUrl":"https://bigthink.com/starts-with-a-bang/einstein-famous-quote-misunderstood/"}]},{"domain":"carolynzhang.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"https://www.carolynzhang.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-january/","targetUrl":"https://www.carolynzhang.com/2020/personal"}]},{"domain":"centerpointaudio.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-analog-web/","targetUrl":"http://www.centerpointaudio.com/Images/Analog-Digital%20frequency%20examples.png"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-analog-web/","targetUrl":"http://www.centerpointaudio.com/Analog-VS-Digital.aspx"}]},{"domain":"colorme.io","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/dynamically-darken-a-color-in-css/","targetUrl":"https://colorme.io/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://colorme.io/"}]},{"domain":"compass-style.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/skinning-the-idea-poster-anew/","targetUrl":"http://compass-style.org/reference/compass/helpers/colors/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/migrating-away-from-compass-and-susy/","targetUrl":"http://compass-style.org/"}]},{"domain":"cors-anywhere.herokuapp.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://cors-anywhere.herokuapp.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/a-cors-proxy-with-netlify/","targetUrl":"https://cors-anywhere.herokuapp.com/"}]},{"domain":"currentaffairs.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://www.currentaffairs.org/2022/05/why-this-computer-scientist-says-all-cryptocurrency-should-die-in-a-fire/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://www.currentaffairs.org/2023/01/why-we-must-criticize-our-culture/"}]},{"domain":"damassi.github.io","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/designing-and-building-assignment-desk/","targetUrl":"http://damassi.github.io"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/designing-and-engineering-event-management-at-timshel/","targetUrl":"http://damassi.github.io"}]},{"domain":"dbushell.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/deno-de-emphasizes-http-imports/","targetUrl":"https://dbushell.com/2024/08/05/the-deno-package-paradox/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://dbushell.com"}]},{"domain":"dithering.fm","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://dithering.fm"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/notification-marshmallows/","targetUrl":"https://dithering.fm"}]},{"domain":"dowebsitesneedtolookexactlythesameineverybrowser.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-analog-web/","targetUrl":"http://dowebsitesneedtolookexactlythesameineverybrowser.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"http://dowebsitesneedtolookexactlythesameineverybrowser.com"}]},{"domain":"dubroy.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/cold-blooded-software/","targetUrl":"https://dubroy.com/blog/cold-blooded-software/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/sit-on-your-ass-web-dev/","targetUrl":"https://dubroy.com/blog/cold-blooded-software/"}]},{"domain":"egghead.io","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-april/","targetUrl":"https://egghead.io/courses/how-to-use-npm-scripts-as-your-build-tool"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://egghead.io/courses/how-to-use-npm-scripts-as-your-build-tool"}]},{"domain":"farnamstreetblog.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://www.farnamstreetblog.com/2016/02/joseph-tussman/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://www.farnamstreetblog.com/2017/08/amateurs-professionals/"}]},{"domain":"fastcompany.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-october/","targetUrl":"https://www.fastcompany.com/3030423/how-to-avoid-the-curse-of-creative-perfectionism"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/trigger-build-in-netlify-from-aws-iot-button/","targetUrl":"https://www.fastcompany.com/90314115/amazon-is-about-to-take-even-more-of-your-money-and-you-wont-even-notice"}]},{"domain":"feedbin.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/love-for-interoperability/","targetUrl":"https://feedbin.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://feedbin.com"}]},{"domain":"feedbinusercontent.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/blog-vs-social-posts/","targetUrl":"https://newsletters.feedbinusercontent.com/cb4/cb4b8d349a284bef73312fb67921d93e6bc0cb4b.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ecosystems-vs-artifacts/","targetUrl":"https://newsletters.feedbinusercontent.com/0b2/0b2dc304f86de6b230ba5e62c69d40218fc5aa6f.html"}]},{"domain":"feedburner.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://feeds.feedburner.com/24ways"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://feeds.feedburner.com/csswizardry"}]},{"domain":"freakonomics.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/i-liked-this-podcast/","targetUrl":"http://freakonomics.com/podcast/this-idea-must-die-a-new-freakonomics-radio-podcast/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/i-liked-this-podcast/","targetUrl":"http://freakonomics.com/2015/03/05/this-idea-must-die-full-transcript/?preview=true"}]},{"domain":"gatsbyjs.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://gatsbyjs.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://gatsbyjs.org/"}]},{"domain":"getbitbar.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://getbitbar.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-i-what/","targetUrl":"https://getbitbar.com"}]},{"domain":"googlesource.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://chromium.googlesource.com/chromium/blink/+/refs/heads/main/Source/core/css/html.css"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/hipster-history-of-cors/","targetUrl":"https://chromium.googlesource.com/chromium/src/+/master/services/network/cross_origin_read_blocking_explainer.md"}]},{"domain":"hal.se","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hard-websites/","targetUrl":"https://johan.hal.se/wrote/2024/02/28/care/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/faster-bandwidth-and-websites/","targetUrl":"https://johan.hal.se/wrote/2024/02/28/care/"}]},{"domain":"hexo.io","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://hexo.io/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"http://hexo.io/"}]},{"domain":"hidde.blog","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://hidde.blog/a11y-perspectives/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://hidde.blog/re-ai-content/"}]},{"domain":"howtogeek.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/","targetUrl":"https://www.howtogeek.com/446198/how-to-force-dark-mode-on-every-website-in-google-chrome/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.howtogeek.com/233383/why-was-80-chosen-as-the-default-http-port-and-443-as-the-default-https-port/"}]},{"domain":"icg360.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/installing-and-building-an-npm-package-from-github/","targetUrl":"http://icg360.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/generating-shades-of-color-using-css-variables/","targetUrl":"https://www.icg360.com"}]},{"domain":"imdb.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/more-friction-please/","targetUrl":"https://www.imdb.com/title/tt34350086/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://www.imdb.com/title/tt26227818/"}]},{"domain":"inessential.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-june/","targetUrl":"http://inessential.com/2019/04/23/freedom"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/saying-no/","targetUrl":"https://inessential.com/2019/07/02/no_algorithms"}]},{"domain":"internetphonebook.net","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/internet-phone-book/","targetUrl":"https://internetphonebook.net"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/internet-phone-book/","targetUrl":"https://internetphonebook.net/#dial-a-site"}]},{"domain":"jackfranklin.co.uk","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-february/","targetUrl":"https://www.jackfranklin.co.uk/blog/letting-tools-make-choices/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"http://www.jackfranklin.co.uk/blog/learning-from-mistakes/"}]},{"domain":"jakearchibald.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/aspect-ratio-in-css-view-transitions/","targetUrl":"https://jakearchibald.com/2024/view-transitions-handling-aspect-ratio-changes/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/aspect-ratio-in-css-view-transitions/","targetUrl":"https://jakearchibald.com/2024/view-transitions-handling-aspect-ratio-changes/"}]},{"domain":"javascriptweekly.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://javascriptweekly.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/i-love-rss/","targetUrl":"https://javascriptweekly.com/rss/"}]},{"domain":"jenson.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://jenson.org/files/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/more-files-plz/","targetUrl":"https://jenson.org/files/"}]},{"domain":"kitsonkelly.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-june/","targetUrl":"https://kitsonkelly.com/posts/deno-is-a-browser-for-code/"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/es-modules-there-is-no-registry/","targetUrl":"https://kitsonkelly.com/posts/deno-is-a-browser-for-code/"}]},{"domain":"knowyourmeme.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://knowyourmeme.com/memes/iq-bell-curve-midwit"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/custom-elements-only-need-end-with-a-hyphen/","targetUrl":"https://knowyourmeme.com/memes/your-scientists-were-so-preoccupied-with-whether-or-not-they-could-they-didnt-stop-to-think-if-they-should"}]},{"domain":"kryogenix.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/loading-parsing-executing-javascript/","targetUrl":"https://kryogenix.org/code/browser/everyonehasjs.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/select-the-right-tool/","targetUrl":"https://kryogenix.org/code/browser/everyonehasjs.html"}]},{"domain":"learnnextjs.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://learnnextjs.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://learnnextjs.com/"}]},{"domain":"linkedin.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-september/","targetUrl":"https://www.linkedin.com/pulse/amp-up-frank-slootman/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://www.linkedin.com/pulse/diagnose-data-treat-design-julie-zhuo/"}]},{"domain":"localfirst.fm","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/allure-of-sync-engines/","targetUrl":"https://www.localfirst.fm/5"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/local-first-makes-codebases-more-collaborative/","targetUrl":"https://www.localfirst.fm/9"}]},{"domain":"localfirstweb.dev","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-on-making-software-by-peter-van-hardenberg/","targetUrl":"https://localfirstweb.dev"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/computers-are-a-feeling/","targetUrl":"https://localfirstweb.dev"}]},{"domain":"macosicons.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://macosicons.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/big-sur-ification-of-macos-icons/","targetUrl":"https://macosicons.com/"}]},{"domain":"macworld.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/the-power-of-the-link/","targetUrl":"https://www.macworld.com/article/354963/japan-fair-trade-commission-forces-apple-to-slightly-loosen-restrictions-on-reader-apps.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://www.macworld.com/article/354581/agilebits-1password-electron-customers-developers-apps.html"}]},{"domain":"masterclass.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-from-pen-and-teller/","targetUrl":"https://www.masterclass.com/classes/penn-and-teller-teach-the-art-of-magic"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/prototyping-magic-and-software/","targetUrl":"https://www.masterclass.com/classes/penn-and-teller-teach-the-art-of-magic/chapters/principles-of-performing"}]},{"domain":"mcfunley.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-november/","targetUrl":"http://mcfunley.com/choose-boring-technology"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/designing-and-engineering-progressive-disclosure/","targetUrl":"https://mcfunley.com/choose-boring-technology"}]},{"domain":"microformats.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"http://microformats.org/wiki/h-feed"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"http://microformats.org/wiki/h-entry"}]},{"domain":"miriamsuzanne.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/logical-properties-and-ease/","targetUrl":"https://www.miriamsuzanne.com/2022/09/16/tpac-logical/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/iterative-building-and-decision-making/","targetUrl":"https://www.miriamsuzanne.com/2024/08/08/vision/"}]},{"domain":"moz.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://moz.com/blog/how-to-fix-crawl-errors-in-google-search-console"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-analytics-email-digest/","targetUrl":"https://moz.com/blog/the-ultimate-guide-to-the-google-search-parameters"}]},{"domain":"mstdn.social","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"https://mstdn.social/@scottjehl/112646802312714877"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/custom-elements-only-need-end-with-a-hyphen/","targetUrl":"https://mstdn.social/@scottjehl/112646802312714877"}]},{"domain":"newcartographies.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/machine-content-creators/","targetUrl":"https://www.newcartographies.com"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/machine-content-creators/","targetUrl":"https://www.newcartographies.com/p/dead-labor-dead-speech"}]},{"domain":"newyorker.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-december/","targetUrl":"https://www.newyorker.com/magazine/2018/11/12/why-doctors-hate-their-computers"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/ai-is-like-a-lossy-jpeg/","targetUrl":"https://www.newyorker.com/tech/annals-of-technology/chatgpt-is-a-blurry-jpeg-of-the-web"}]},{"domain":"oddbird.net","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/migrating-away-from-compass-and-susy/","targetUrl":"http://susy.oddbird.net/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-december/","targetUrl":"https://www.oddbird.net/2022/11/11/platform-tools/"}]},{"domain":"ogp.me","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/quibbles-with-social-share-imagery/","targetUrl":"https://ogp.me"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/og-images-via-data-attributes/","targetUrl":"https://ogp.me"}]},{"domain":"panic.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://panic.com/transmit/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/visual-design-homogeneity-at-scale/","targetUrl":"https://panic.com"}]},{"domain":"penguinrandomhouse.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/notes-coders/","targetUrl":"https://www.penguinrandomhouse.com/books/539883/coders-by-clive-thompson/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/unseen-work-of-design/","targetUrl":"https://www.penguinrandomhouse.com/books/93789/several-short-sentences-about-writing-by-verlyn-klinkenborg/"}]},{"domain":"pixelresort.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"http://www.pixelresort.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"http://www.pixelresort.com/blog/start-making-ios-7-icons-with-the-app-icon-template-3-0/"}]},{"domain":"practical-accessibility.today","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/practical-accessibility/","targetUrl":"https://practical-accessibility.today/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/temporarily-abled/","targetUrl":"https://practical-accessibility.today/"}]},{"domain":"publicsuffix.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/indexing-my-blogs-links/","targetUrl":"https://publicsuffix.org/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-nuance/","targetUrl":"https://publicsuffix.org/"}]},{"domain":"quoteinvestigator.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"http://quoteinvestigator.com/2014/05/22/solve/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tag-youre-it/","targetUrl":"https://quoteinvestigator.com/2012/04/28/shorter-letter/"}]},{"domain":"rachsmith.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://rachsmith.com/we-confuse-visibility-with-competency/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/dinner-conversation/","targetUrl":"https://rachsmith.com"}]},{"domain":"react.dev","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/html-web-components/","targetUrl":"https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/is-it-javascript/","targetUrl":"https://react.dev/reference/rsc/server-components"}]},{"domain":"regex101.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/migrating-away-from-compass-and-susy/","targetUrl":"https://regex101.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/batch-rename-dates/","targetUrl":"https://regex101.com/"}]},{"domain":"rsms.me","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://rsms.me/graphviz/"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://rsms.me/graphviz/"}]},{"domain":"safaribooksonline.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-functional-lite-js/","targetUrl":"https://www.safaribooksonline.com/library/view/functional-lite-javascript/9781491967508/"},{"sourceUrl":"https://blog.jim-nielsen.com/2019/notes-rethinking-asynchronous-programming-in-javascript/","targetUrl":"https://www.safaribooksonline.com/library/view/rethinking-asynchronous-programming/9781491967515/"}]},{"domain":"sidebar.io","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://sidebar.io/date/2020-10-13"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://sidebar.io/date/2020-09-11"}]},{"domain":"simplecast.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://armchairexpert.simplecast.com/episodes/bill-gates-Ggfi_pUk"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://the-optimal-path.simplecast.com/episodes/the-dimensions-of-product-decision-making-with-andy-budd/transcript"}]},{"domain":"simplethread.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://www.simplethread.com/agile-at-20-the-failed-rebellion/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-december/","targetUrl":"https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/"}]},{"domain":"snyk.io","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/local-cli-tools-in-node/","targetUrl":"https://snyk.io/blog/typosquatting-attacks/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/ai-browsers-frontier-security/","targetUrl":"https://snyk.io/blog/weaponizing-ai-coding-agents-for-malware-in-the-nx-malicious-package/"}]},{"domain":"social.lol","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://social.lol/@anniegreens/111813602931465253"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/the-humble-link/","targetUrl":"https://social.lol/@anniegreens/113040651011794507"}]},{"domain":"stephaniestimac.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-april/","targetUrl":"https://blog.stephaniestimac.com/posts/2020/01/inspiring-high-school-students-tech/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tumult-in-design/","targetUrl":"https://blog.stephaniestimac.com/posts/2025/03/a-year-at-igalia/"}]},{"domain":"stratechery.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://stratechery.com/2021/non-fungible-taylor-swift/"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/the-power-of-the-link/","targetUrl":"https://stratechery.com/2021/the-apple-v-epic-decision/"}]},{"domain":"svelte.dev","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-rich-harris-talk/","targetUrl":"https://svelte.dev/"},{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hn.svelte.dev/top/1"}]},{"domain":"tapbots.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/url-design-and-automated-redirects-in-jekyll/","targetUrl":"https://tapbots.com/tweetbot/"},{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"https://tapbots.com/"}]},{"domain":"techcrunch.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-december/","targetUrl":"https://techcrunch.com/2018/12/09/jira-is-an-antipattern/"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/javascript-required/","targetUrl":"https://techcrunch.com/2025/01/17/google-begins-requiring-javascript-for-google-search/"}]},{"domain":"tetragrammaton.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/get-better-doing-a-bad-job/","targetUrl":"https://www.tetragrammaton.com/content/woody-harrelson"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/flow-state-and-surfing/","targetUrl":"https://www.tetragrammaton.com/content/jack-johnson-podcast"}]},{"domain":"the-pastry-box-project.net","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://the-pastry-box-project.net/ed-finkler/2014-january-6"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/empowering-the-few/","targetUrl":"https://the-pastry-box-project.net/ed-finkler/2014-january-6"}]},{"domain":"thefreedictionary.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"https://www.thefreedictionary.com/map"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"https://www.thefreedictionary.com/maps+on#:~:text=modified%20American%20plan.-,map,%2C%20%22napkin%2C%20tablecloth.%22"}]},{"domain":"thegroundwork.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/designing-integrations-at-timshel/","targetUrl":"https://thegroundwork.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/designing-and-engineering-event-management-at-timshel/","targetUrl":"https://thegroundwork.com"}]},{"domain":"timshel.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/designing-integrations-at-timshel/","targetUrl":"https://timshel.com/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/designing-and-engineering-event-management-at-timshel/","targetUrl":"https://timshel.com"}]},{"domain":"tinyclouds.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-web-beyond-browsers/","targetUrl":"https://tinyclouds.org/javascript_containers"},{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-ryan-dahl-on-shop-talk-show/","targetUrl":"https://tinyclouds.org/javascript_containers"}]},{"domain":"tinyletter.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://tinyletter.com/aworkinglibrary/letters/remote-to-who-a-working-letter"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://tinyletter.com/clearleft/letters/january-2023-at-clearleft-quality"}]},{"domain":"tutsplus.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/stop-direct-spam-comments-in-wordpress/","targetUrl":"http://wp.tutsplus.com/tutorials/security/6-easy-and-efficient-ways-to-combat-spam-comments/"},{"sourceUrl":"https://blog.jim-nielsen.com/2016/sassme-v2/","targetUrl":"https://webdesign.tutsplus.com/articles/principles-for-successful-button-design--webdesign-6094"}]},{"domain":"typescriptlang.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/types-in-jsdoc-with-zod/","targetUrl":"https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://www.typescriptlang.org/docs/handbook/modules.html#wildcard-module-declarations"}]},{"domain":"una.im","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://una.im"},{"sourceUrl":"https://blog.jim-nielsen.com/2020/sass-color-functions-in-css/","targetUrl":"https://una.im/css-color-theming/"}]},{"domain":"verou.me","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://lea.verou.me/2021/11/on-yak-shaving-and-md-block-an-html-element-for-markdown/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://lea.verou.me/2020/04/lch-colors-in-css-what-why-and-how/"}]},{"domain":"voisen.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/wouldnt-recommend-this-algorithm/","targetUrl":"https://sean.voisen.org/marginalia/in-praise-of-randomness-james-bridle"},{"sourceUrl":"https://blog.jim-nielsen.com/2025/tools-as-ways-of-being/","targetUrl":"https://sean.voisen.org/blog/hybrid-tools"}]},{"domain":"webplatform.news","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://webplatform.news/bonus-content"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://webplatform.news/media/bonus-content-40.png"}]},{"domain":"wordpress.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/preserving-css-comments-during-compression/","targetUrl":"http://codex.wordpress.org/Theme_Development#Theme_Stylesheet"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://make.wordpress.org/core/2023/05/02/proposal-for-enhancing-lcp-image-performance-with-fetchpriority/"}]},{"domain":"yaml.org","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"http://www.yaml.org/spec/1.2/spec.html#id2761292"},{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"https://yaml.org/spec/1.2/spec.html#id2761292"}]},{"domain":"zeldman.com","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-july-2016/","targetUrl":"http://www.zeldman.com/2015/12/24/the-year-in-design/"},{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"http://www.zeldman.com/2017/01/03/kiss-my-classname/"}]},{"domain":"zod.dev","count":2,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/types-in-jsdoc-with-zod/","targetUrl":"https://zod.dev/"},{"sourceUrl":"https://blog.jim-nielsen.com/2023/naming-things-and-llms/","targetUrl":"https://zod.dev"}]},{"domain":"100r.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/precarious-modern-computing/","targetUrl":"https://100r.co/site/home.html"}]},{"domain":"3perf.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://3perf.com/blog/link-rels/"}]},{"domain":"9elements.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://9elements.com/"}]},{"domain":"9to5google.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/what-is-the-web/","targetUrl":"https://9to5google.com/2021/11/08/youtube-tv-safari-mac/"}]},{"domain":"aaronparecki.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-february/","targetUrl":"https://aaronparecki.com/2019/02/25/9/emoji"}]},{"domain":"abebooks.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/useful-and-usless-code-comments/","targetUrl":"https://www.abebooks.com/9781732102200/Philosophy-Software-Design-Ousterhout-John-1732102201/plp"}]},{"domain":"abothmann.dk","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"http://www.abothmann.dk/"}]},{"domain":"about.me","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/a-web-thanksgiving/","targetUrl":"https://about.me/timmeaney"}]},{"domain":"acm.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-june/","targetUrl":"http://queue.acm.org/detail.cfm?id=3092954"}]},{"domain":"aeon.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-march/","targetUrl":"https://aeon.co/essays/your-brain-does-not-process-information-and-it-is-not-a-computer"}]},{"domain":"airbagindustries.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://airbagindustries.com/employment-history-doesn-t-define-your-value/"}]},{"domain":"akhilrao.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/night-time-sky/","targetUrl":"https://akhilrao.github.io/pages/publpics/launch_summary.html"}]},{"domain":"alexanderell.is","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://alexanderell.is/posts/uncomfortable/"}]},{"domain":"alexanderpetros.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-hundred-year-web-service/","targetUrl":"https://alexanderpetros.com"}]},{"domain":"allthingssmitty.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditionally-load-material-icons/","targetUrl":"https://allthingssmitty.com/2016/09/12/checking-if-font-awesome-loaded/"}]},{"domain":"alwaysownyourplatform.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-march/","targetUrl":"http://alwaysownyourplatform.com"}]},{"domain":"alwaysreadthemanual.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/immeasurable-impact/","targetUrl":"https://alwaysreadthemanual.com/read/issues/2/trent-walton/lesson.html"}]},{"domain":"amazon.sg","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/japanese-ios-app-icon-book/","targetUrl":"https://www.amazon.sg/iOS%E3%82%A2%E3%83%97%E3%83%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E5%9B%B3%E9%91%91-%E3%83%9B%E3%83%93%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%91%E3%83%B3%E3%81%AE%E6%8A%80%E6%B3%95%E6%9B%B8-%E3%83%9E%E3%82%A4%E3%82%B1%E3%83%AB%E3%83%BB%E3%83%95%E3%83%A9%E3%83%AB%E3%83%83%E3%83%97/dp/4798629480"}]},{"domain":"andy-bell.co.uk","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://andy-bell.co.uk/front-end-is-so-much-more-than-building-designs/"}]},{"domain":"andy.works","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-august/","targetUrl":"https://www.andy.works/words/the-most-satisfying-checkbox"}]},{"domain":"aneventapart.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2014/defining-beauty-on-the-web/","targetUrl":"http://aneventapart.com/"}]},{"domain":"anniegreens.lol","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://weblog.anniegreens.lol/2023/01/origins-of-a-nickname"}]},{"domain":"apcacontrast.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://git.apcacontrast.com/documentation/WhyAPCA"}]},{"domain":"apolloapp.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/app-icons-dont-catch-em-all/","targetUrl":"https://apolloapp.io"}]},{"domain":"appicontemplate.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"http://appicontemplate.com/"}]},{"domain":"arc.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/site-search-in-arc-browser/","targetUrl":"https://resources.arc.net/en/articles/7183263-site-search-directly-search-any-website"}]},{"domain":"archives.gov","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/as-strong-as-your-weakest-point/","targetUrl":"https://www.archives.gov/publications/prologue/1999/spring/nazi-gold-merkers-mine-treasure.html"}]},{"domain":"area17.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://area17.com/"}]},{"domain":"aresluna.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/systemic-vs-localized/","targetUrl":"https://unsung.aresluna.org/thirteen-characters"}]},{"domain":"armchairexpertpod.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/follow-your-values-not-your-passions/","targetUrl":"https://armchairexpertpod.com/pods/adam-grant"}]},{"domain":"astro.build","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-fred-schott-on-shop-talk-show/","targetUrl":"https://astro.build"}]},{"domain":"astrorhysy.blogspot.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/circles-and-momentum/","targetUrl":"http://astrorhysy.blogspot.com/2013/12/and-yet-it-moves-but-not-like-that.html"}]},{"domain":"aus.social","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/subscribe-wherever-you-get-your-content/","targetUrl":"https://aus.social/@attacus/109499740512576514"}]},{"domain":"austingil.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://austingil.com/resilient-applications-progressive-enhancement/"}]},{"domain":"authenticweather.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/ostentatious-design-and-profanity/","targetUrl":"http://www.authenticweather.com/"}]},{"domain":"bambielli.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://bambielli.com/til/2017-04-30-node-require-cache/"}]},{"domain":"barebones.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://www.barebones.com/products/bbedit/"}]},{"domain":"basecamp.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-february/","targetUrl":"https://basecamp.com/guides/how-we-communicate"}]},{"domain":"basicagency.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://basicagency.com/"}]},{"domain":"bb.agency","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"http://bb.agency/"}]},{"domain":"bbc.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-office-space/","targetUrl":"https://www.bbc.com/news/world-europe-60573261"}]},{"domain":"beams.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-september/","targetUrl":"http://chris.beams.io/posts/git-commit/"}]},{"domain":"bear.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/love-for-interoperability/","targetUrl":"https://bear.app"}]},{"domain":"beautiful-soup-4.readthedocs.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/discovering-newsletter-links-with-quadratic/","targetUrl":"https://beautiful-soup-4.readthedocs.io/en/latest/"}]},{"domain":"behance.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/ostentatious-design-and-profanity/","targetUrl":"http://www.behance.net/gallery/Authentic-Weather-for-iOS/10324571"}]},{"domain":"bell.bz","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/more-control-equals-less-performance/","targetUrl":"https://bell.bz/be-the-browsers-mentor-not-its-micromanager/"}]},{"domain":"benbailes.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/user-feedback/","targetUrl":"http://www.benbailes.net/"}]},{"domain":"benmyers.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-october/","targetUrl":"https://benmyers.dev/blog/semantic-selectors/"}]},{"domain":"bennadel.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/easy-changes/","targetUrl":"https://www.bennadel.com/blog/4713-dave-farley-on-what-makes-high-quality-code.htm"}]},{"domain":"besticon-demo.herokuapp.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://besticon-demo.herokuapp.com/"}]},{"domain":"betacat.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hackernews.betacat.io"}]},{"domain":"biilmann.blog","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/thoughts-on-ax/","targetUrl":"https://biilmann.blog/articles/introducing-ax/"}]},{"domain":"bit.ly","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"http://bit.ly/npm-scripts"}]},{"domain":"bitsrc.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/import-es-modules-from-github/","targetUrl":"https://blog.bitsrc.io/publishing-your-deno-modules-using-github-f2bd86173392"}]},{"domain":"bjango.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/detecitve-work-for-app-icon-book/","targetUrl":"https://bjango.com/"}]},{"domain":"bkardell.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://bkardell.com/blog/UAGottaBeKidding.html"}]},{"domain":"bleepingcomputer.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/permeating-principles-of-the-web/","targetUrl":"https://www.bleepingcomputer.com/news/security/big-sabotage-famous-npm-package-deletes-files-to-protest-ukraine-war/"}]},{"domain":"blog.google","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/rip-browsers/","targetUrl":"https://blog.google/products/chrome/chrome-reimagined-with-ai/"}]},{"domain":"blog.gov.uk","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-october/","targetUrl":"https://gdstechnology.blog.gov.uk/2016/09/19/why-we-use-progressive-enhancement-to-build-gov-uk/"}]},{"domain":"bored.horse","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://bored.horse/post/online-handles/"}]},{"domain":"bostonglobe.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-may/","targetUrl":"https://www.bostonglobe.com/ideas/2017/04/21/how-technology-created-global-village-and-put-each-other-throats/pu7MyoAkdyVComb9aKyu6K/story.html"}]},{"domain":"bradfrostweb.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/stop-using-the-term-pixel-perfect/","targetUrl":"http://bradfrostweb.com/blog/post/the-post-psd-era/"}]},{"domain":"brailleinstitute.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/practical-accessibility/","targetUrl":"https://brailleinstitute.org/freefont"}]},{"domain":"brainbaking.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/stats-page/","targetUrl":"https://brainbaking.com/post/2022/04/cool-things-people-do-with-their-blogs/"}]},{"domain":"bravenewgeek.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"http://bravenewgeek.com/you-are-not-paid-to-write-code/"}]},{"domain":"briangilham.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"http://briangilham.com/blog/2016/11/7/test-your-ideas-and-assumptions"}]},{"domain":"briteweb.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://briteweb.com/"}]},{"domain":"brutalist.report","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://brutalist.report"}]},{"domain":"businessofsoftware.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-side-effects-of-tailored-digital-experiences/","targetUrl":"https://businessofsoftware.org/2013/06/jason-cohen-ceo-wp-engine-why-data-can-make-you-do-the-wrong-thing/"}]},{"domain":"c2.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-august/","targetUrl":"http://wiki.c2.com/?WardExplainsDebtMetaphor="}]},{"domain":"cambridge.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/ductility/","targetUrl":"https://dictionary.cambridge.org/us/dictionary/english/ductile"}]},{"domain":"cameronmoll.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/text-as-ui/","targetUrl":"http://www.cameronmoll.com/archives/001266.html"}]},{"domain":"canlinkit.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/modularize-your-psds/","targetUrl":"http://www.canlinkit.com/"}]},{"domain":"carbonads.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/building-a-progressively-enhanced-site/","targetUrl":"https://www.carbonads.net/"}]},{"domain":"caseyrubberstamps.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2014/kindling-rubber-stamp/","targetUrl":"http://www.caseyrubberstamps.com/"}]},{"domain":"catswhocode.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/stop-direct-spam-comments-in-wordpress/","targetUrl":"http://www.catswhocode.com/blog/snippets/blockreduce-wordpress-spam-comments-via-htaccess"}]},{"domain":"changelog.social","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/js-party-288/","targetUrl":"https://changelog.social/@jerod"}]},{"domain":"characterworks.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/easy-and-convenient-they-say/","targetUrl":"https://www.characterworks.co/blog/nobody-wants-to-use-any-software"}]},{"domain":"charlesharri.es","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/trusting-browsers/","targetUrl":"https://charlesharri.es/stream/libraries-over-browser-features"}]},{"domain":"chasem.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/text-prompts-circumscribe-solutions/","targetUrl":"https://chasem.co/2024/06/figma-ai/"}]},{"domain":"chatgpt.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/mac-app-flea-market/","targetUrl":"https://chatgpt.com/features/desktop/"}]},{"domain":"cheerio.js.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://cheerio.js.org/"}]},{"domain":"chrisenns.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/following-links/","targetUrl":"https://chrisenns.com/2023/11/app-defaults/"}]},{"domain":"christine.website","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-may/","targetUrl":"https://christine.website/blog/how-http-requests-work-2020-05-19"}]},{"domain":"chriszacharias.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/resiliency-in-the-webs-layers/","targetUrl":"https://blog.chriszacharias.com/page-weight-matters"}]},{"domain":"chromestatus.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-blink-principles-of-web-compat/","targetUrl":"https://chromestatus.com/metrics/feature/popularity"}]},{"domain":"chsmc.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-antis/","targetUrl":"https://chsmc.org/2025/07/antibuildings/"}]},{"domain":"ciechanow.ski","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://ciechanow.ski/color-spaces/"}]},{"domain":"claris.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://community.claris.com/en/s/article/Specifying-a-port-number-for-Instant-Web-Publishing-1503692906237"}]},{"domain":"clay.global","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://clay.global/"}]},{"domain":"cnn.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"https://lite.cnn.com/"}]},{"domain":"codinghorror.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-september/","targetUrl":"https://blog.codinghorror.com/xml-the-angle-bracket-tax/"}]},{"domain":"colly.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-december/","targetUrl":"https://colly.com/journal/tape-loop"}]},{"domain":"colorjs.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://colorjs.io/"}]},{"domain":"component.kitchen","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/as-good-as-html/","targetUrl":"https://component.kitchen/elix"}]},{"domain":"coolors.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-on-notes/","targetUrl":"https://coolors.co/"}]},{"domain":"corgibytes.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"http://corgibytes.com/blog/2016/12/06/getting-old-er-in-tech/"}]},{"domain":"coywolf.news","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/nothings-bulletproof/","targetUrl":"https://www.coywolf.news/webdev/safari-supports-avif-in-macos-ventura-and-ios-16/"}]},{"domain":"crftd.tech","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/tradeoffs-to-continuous-software/","targetUrl":"https://crftd.tech/blog/2025-02-27-continuous-disintegration/"}]},{"domain":"css-naked-day.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/css-naked/","targetUrl":"https://css-naked-day.github.io"}]},{"domain":"cssence.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"http://cssence.com/blog/2016-11-the-javascript-wars"}]},{"domain":"csszengarden.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity/","targetUrl":"http://www.csszengarden.com/"}]},{"domain":"cuberto.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://cuberto.com/"}]},{"domain":"cubstudio.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.cubstudio.com/"}]},{"domain":"culturedcode.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/deadlines-as-technology/","targetUrl":"https://culturedcode.com/things/"}]},{"domain":"cupofjo.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://cupofjo.com/2022/02/older-age-accomplishments/"}]},{"domain":"dagusa.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/the-art-of-making-websites/","targetUrl":"http://dagusa.com"}]},{"domain":"dancarlin.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://www.dancarlin.com/product/hardcore-history-59-the-destroyer-of-worlds/"}]},{"domain":"danielmall.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/stop-using-the-term-pixel-perfect/","targetUrl":"http://danielmall.com/articles/the-post-psd-era/"}]},{"domain":"dannyguo.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reflections-on-html/","targetUrl":"https://www.dannyguo.com/blog/what-i-learned-by-relearning-html"}]},{"domain":"darekkay.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html/","targetUrl":"https://darekkay.com/blog/rss-styling/"}]},{"domain":"datawrapper.de","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://blog.datawrapper.de/color-contrast-check-data-vis-wcag-apca/"}]},{"domain":"decentralised.social","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/icons-in-menus/","targetUrl":"https://mastodon.decentralised.social/@wezm/115686422177826944"}]},{"domain":"deconstructconf.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-july/","targetUrl":"https://www.deconstructconf.com/2019/dan-abramov-the-wet-codebase"}]},{"domain":"deploy-preview-48--jimniels-blog.netlify.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/practical-accessibility/","targetUrl":"https://deploy-preview-48--jimniels-blog.netlify.app/"}]},{"domain":"devmode.fm","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/notes-from-michael-jackson-devmode-fm/","targetUrl":"https://devmode.fm/episodes/leverage-the-web-platform-with-remix-run"}]},{"domain":"diagram.website","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/computers-are-a-feeling/","targetUrl":"https://diagram.website"}]},{"domain":"diffchecker.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://www.diffchecker.com/"}]},{"domain":"dogstudio.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://dogstudio.co/"}]},{"domain":"doomsdaymachines.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://doomsdaymachines.net"}]},{"domain":"doriantaylor.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-february/","targetUrl":"https://doriantaylor.com/agile-as-trauma"}]},{"domain":"earthly.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-june/","targetUrl":"https://earthly.dev/blog/thought-leaders/"}]},{"domain":"ecma-international.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/is-it-javascript/","targetUrl":"https://ecma-international.org/publications-and-standards/standards/ecma-262/"}]},{"domain":"edge-functions-examples.netlify.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/transform-html-with-edge-functions/","targetUrl":"https://edge-functions-examples.netlify.app/example/htmlrewriter"}]},{"domain":"edrlab.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://www.edrlab.org/open-standards/anatomy-of-an-epub-3-file/"}]},{"domain":"educative.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/defining-basic-javascript-terms/","targetUrl":"https://www.educative.io/edpresso/what-is-reduce-in-javascript"}]},{"domain":"ejs.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://ejs.co/"}]},{"domain":"elisehe.in","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-october/","targetUrl":"https://elisehe.in/2022/10/16/attribute-selectors"}]},{"domain":"elm-lang.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/most-profitable-ui-element-ever/","targetUrl":"https://elm-lang.org/"}]},{"domain":"elytra.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://elytra.app"}]},{"domain":"emilkowal.ski","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/blog-vs-social-posts/","targetUrl":"https://emilkowal.ski/deng"}]},{"domain":"emojipedia.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/styling-select-option-values/","targetUrl":"https://emojipedia.org/search/?q=circle"}]},{"domain":"eod.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/food-software-and-trade-offs/","targetUrl":"https://www.eod.com/blog/2026/02/lose-myself/"}]},{"domain":"ephemeralist-ixz4p7lmaq-ue.a.run.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"https://ephemeralist-ixz4p7lmaq-ue.a.run.app"}]},{"domain":"epicweb.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/expose-platform-apis-over-wrapping-them/","targetUrl":"https://www.epicweb.dev/why-i-wont-use-nextjs"}]},{"domain":"espn.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/amazing-athletes/","targetUrl":"https://www.espn.com/espn/story/_/id/40446224/top-100-athletes-21st-century"}]},{"domain":"evilmartians.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://evilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hsl"}]},{"domain":"example.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/credentials-in-urls/","targetUrl":"http://www.google.com:search@example.com"}]},{"domain":"experienceux.co.uk","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-april/","targetUrl":"https://www.experienceux.co.uk/ux-blog/ux-insider-interview-caroline-jarrett-discusses-forms-surveys-need-brave/"}]},{"domain":"facebook.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/pies-and-subdomains/","targetUrl":"https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/"}]},{"domain":"facebook.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/designing-and-building-assignment-desk/","targetUrl":"https://facebook.github.io/react/"}]},{"domain":"fantasy.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://fantasy.co/"}]},{"domain":"faviconkit.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://faviconkit.com/"}]},{"domain":"fda.gov","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/organic-intelligence/","targetUrl":"https://www.fda.gov/regulatory-information/search-fda-guidance-documents/cpg-sec-515800-labeling-products-purporting-be-chocolate-or-chocolate-flavored"}]},{"domain":"feross.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-changelog-with-feross/","targetUrl":"https://feross.org"}]},{"domain":"fiftythree.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/conceiving-blog-post-artwork/","targetUrl":"https://www.fiftythree.com/paper"}]},{"domain":"figma.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/font-size-and-control/","targetUrl":"https://www.figma.com/blog/line-height-changes/"}]},{"domain":"filamentgroup.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-february/","targetUrl":"https://www.filamentgroup.com/lab/load-css-simpler/"}]},{"domain":"fintory.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://fintory.com/en"}]},{"domain":"fireart.studio","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://fireart.studio/"}]},{"domain":"flarup.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://flarup.co/"}]},{"domain":"focuslabllc.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://focuslabllc.com/"}]},{"domain":"forbes.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/circles-and-momentum/","targetUrl":"https://www.forbes.com/sites/startswithabang/2018/08/30/our-motion-through-space-isnt-a-vortex-but-something-far-more-interesting/"}]},{"domain":"foreveryone.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/musings-on-the-documentary-for-everyone/","targetUrl":"http://www.foreveryone.net"}]},{"domain":"fortune.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-december/","targetUrl":"http://fortune.com/2015/11/01/brighton-tech-hub/"}]},{"domain":"frills.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/visual-design-homogeneity-at-scale/","targetUrl":"https://frills.dev"}]},{"domain":"fs.blog","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/resiliency-in-the-webs-layers/","targetUrl":"https://fs.blog/antifragile-a-definition/"}]},{"domain":"furbo.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://furbo.org/2022/09/13/behind-the-app-wallaroo/"}]},{"domain":"gassner.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/icons-in-menus/","targetUrl":"https://mastodon.gassner.io/@peter/115559008588925643"}]},{"domain":"geoffgraham.me","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/human-hype-and-machine-intelligence/","targetUrl":"https://geoffgraham.me/damn-the-ai-torpedos/"}]},{"domain":"gerrymcgovern.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"https://gerrymcgovern.com/the-department-of-useless-images/"}]},{"domain":"gimletmedia.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-missing-hit-and-the-open-web/","targetUrl":"https://gimletmedia.com/shows/reply-all/o2h8bx"}]},{"domain":"git-lfs.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/netlify-image-cdn/","targetUrl":"https://git-lfs.com/"}]},{"domain":"github.blog","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/your-product-doesnt-have-to-look-the-same-on-every-platform/","targetUrl":"https://github.blog/2015-08-12-github-desktop-is-now-available/"}]},{"domain":"gitlab.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-october/","targetUrl":"https://about.gitlab.com/handbook/business-ops/tech-stack/"}]},{"domain":"gizmag.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/stop-using-the-term-pixel-perfect/","targetUrl":"http://www.gizmag.com/go/1132/"}]},{"domain":"glazkov.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://glazkov.com/2022/02/23/the-cost-of-opinion/"}]},{"domain":"glench.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/cabin-of-logo-integrity/","targetUrl":"https://glench.github.io/fuzzyset.js/"}]},{"domain":"glitch.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/having-fun-writing-apis-with-glitch/","targetUrl":"https://glitch.com"}]},{"domain":"gohugo.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://gohugo.io/"}]},{"domain":"gomakethings.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/inline-all-the-things/","targetUrl":"https://gomakethings.com/how-to-make-mpas-that-are-as-fast-as-spas/"}]},{"domain":"goodinternetmagazine.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/choosing-tools-for-making-websites/","targetUrl":"https://goodinternetmagazine.com/site-creation-as-content-transformation/"}]},{"domain":"goodreads.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/named-blogs/","targetUrl":"https://www.goodreads.com/quotes/2787-we-write-to-taste-life-twice-in-the-moment-and"}]},{"domain":"google.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditionally-load-material-icons/","targetUrl":"https://google.github.io/material-design-icons/"}]},{"domain":"googleusercontent.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-april/","targetUrl":"http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/32713.pdf"}]},{"domain":"grainandmortar.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://grainandmortar.com/"}]},{"domain":"graphics.social","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://graphics.social/@mary/111811037194020909"}]},{"domain":"graphql.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://launchpad.graphql.com/new"}]},{"domain":"graphviz.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/visualizing-my-blogs-links/","targetUrl":"https://www.graphviz.org"}]},{"domain":"gravatar.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/well-known-avatar/","targetUrl":"https://en.gravatar.com/"}]},{"domain":"graz.social","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-to-self-on-mastodon/","targetUrl":"https://graz.social/@pruvisto/109873880562078652"}]},{"domain":"grc.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/short-history-of-port-numbers/","targetUrl":"https://www.grc.com/port_8080.htm"}]},{"domain":"gutenberg.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/thoughts-on-avoiding-an-excessive-dom-size/","targetUrl":"https://www.gutenberg.org/cache/epub/2701/pg2701-images.html"}]},{"domain":"hackerweb.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hackerweb.app"}]},{"domain":"hackurls.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hackurls.com"}]},{"domain":"hada.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://news.hada.io"}]},{"domain":"handsome.is","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.handsome.is/"}]},{"domain":"harvard.edu","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/web-diversity/","targetUrl":"https://hmsc.harvard.edu/e-pluribus-unum"}]},{"domain":"hashnode.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-october/","targetUrl":"https://hashnode.com/post/what-have-you-learned-after-working-at-facebook-for-almost-two-years-have-you-grown-as-a-developer-and-what-are-some-of-the-key-takeaways-cj7q3gkjx019xkhwujchsrtho"}]},{"domain":"haskell.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-functional-lite-js/","targetUrl":"https://www.haskell.org/"}]},{"domain":"hckrnews.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hckrnews.com"}]},{"domain":"heartinternet.uk","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/hide-my-mailto-email/","targetUrl":"https://www.heartinternet.uk/blog/15-ways-to-hide-your-email-address/"}]},{"domain":"hellomonday.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.hellomonday.com/"}]},{"domain":"henrikwarne.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-february/","targetUrl":"https://henrikwarne.com/2016/04/17/more-good-programming-quotes/"}]},{"domain":"heroicons.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/origami-icons/","targetUrl":"https://heroicons.com"}]},{"domain":"highlightjs.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/conditional-syntax-highlighting-in-dark-mode-with-css-imports/","targetUrl":"https://highlightjs.org/"}]},{"domain":"hixie.ch","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/validity-of-custom-element-tag-names/","targetUrl":"http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=5782"}]},{"domain":"hnrss.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hnrss.github.io"}]},{"domain":"hntoplinks.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hntoplinks.com"}]},{"domain":"hodinkee.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-june/","targetUrl":"https://www.hodinkee.com/magazine/jony-ive-apple"}]},{"domain":"how-i-experience-web-today.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/the-art-of-making-websites/","targetUrl":"https://how-i-experience-web-today.com"}]},{"domain":"howstuffworks.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-analog-web/","targetUrl":"http://electronics.howstuffworks.com/digital-versus-analog1.htm"}]},{"domain":"hubspot.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://blog.hubspot.com/marketing/plain-text-vs-html-emails-data"}]},{"domain":"hugeinc.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.hugeinc.com/"}]},{"domain":"humaan.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://humaan.com/"}]},{"domain":"hyperorg.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/yesterdays-questions-answered-in-todays-platform-apis/","targetUrl":"http://www.hyperorg.com/blogger/2019/03/08/keep-javascript-dumb/"}]},{"domain":"ideo.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.ideo.com/"}]},{"domain":"ideolalia.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://ideolalia.com/essays/trapped-in-the-technologist-factory.html"}]},{"domain":"idpf.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"http://idpf.org/epub/30/spec/epub30-overview.html"}]},{"domain":"ieee.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://spectrum.ieee.org/space-station-accident-needs-independant-investigation"}]},{"domain":"ign.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://www.ign.com/articles/lord-of-the-rings-the-rings-of-power-title-creation"}]},{"domain":"igor.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/loading-parsing-executing-javascript/","targetUrl":"https://igor.dev/posts/experiences-web-frameworks-future-me/"}]},{"domain":"iliana.fyi","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://iliana.fyi/blog/software-supply-chain/"}]},{"domain":"image-compare-component.netlify.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/comparing-icons-in-my-collection/","targetUrl":"https://image-compare-component.netlify.app"}]},{"domain":"inc.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/html-email-rant/","targetUrl":"https://www.inc.com/susan-steinbrecher/the-monk-who-challenged-way-we-think-thich-nhat-hanh-on-living-mindfully.html"}]},{"domain":"infinitecanvas.tools","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/building-infinite-spreadsheet/","targetUrl":"https://infinitecanvas.tools/"}]},{"domain":"infrequently.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-august/","targetUrl":"https://infrequently.org/2021/04/progress-delayed/"}]},{"domain":"inkandswitch.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/notes-on-making-software-by-peter-van-hardenberg/","targetUrl":"https://www.inkandswitch.com"}]},{"domain":"inoads.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/","targetUrl":"https://inoads.com/articles/2021-01-09-Next-Gen-Static-Blogging"}]},{"domain":"instrument.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.instrument.com/"}]},{"domain":"intertwingly.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared"}]},{"domain":"inverse.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://www.inverse.com/innovation/blinking-cursor-history"}]},{"domain":"investopedia.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/knowledge-laundering/","targetUrl":"https://www.investopedia.com/terms/m/moneylaundering.asp"}]},{"domain":"invisionapp.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/designing-developing-dcp-application/","targetUrl":"https://www.invisionapp.com/"}]},{"domain":"ishadeed.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/css-wishlist/","targetUrl":"http://ishadeed.com/article/css-wishlist-2023/"}]},{"domain":"ismailelazizi.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-january/","targetUrl":"https://ismailelazizi.com/blog/a-guide-to-minimalist-web-design"}]},{"domain":"itnext.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://itnext.io/using-react-for-xml-svg-470792625278"}]},{"domain":"itsnicethat.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/tumult-in-design/","targetUrl":"https://www.itsnicethat.com/articles/elizabeth-goodspeed-optimism-vs-pessimism-graphic-design-270325"}]},{"domain":"jacobebey.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://jacobebey.com"}]},{"domain":"jacquescorbytuech.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://www.jacquescorbytuech.com/writing/marketers-addicted-bad-data.html"}]},{"domain":"jam3.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.jam3.com/"}]},{"domain":"jameshfisher.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://jameshfisher.com/2019/04/27/the-inception-bar-a-new-phishing-method/"}]},{"domain":"jaredsinclair.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://jaredsinclair.com/2021/05/03/basecramp.html"}]},{"domain":"javascript.info","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/fetch-and-3xx-redirect-status-codes/","targetUrl":"https://javascript.info/fetch-api#redirect"}]},{"domain":"javascript.tm","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/ryan-dahl-talks-deno-on-changelog/","targetUrl":"https://javascript.tm"}]},{"domain":"javascripter.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/","targetUrl":"http://www.javascripter.net/faq/comments.htm"}]},{"domain":"jessitron.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-august/","targetUrl":"https://jessitron.com/2020/08/04/back-when-software-was-a-craft/"}]},{"domain":"jimniels-dribbble.deno.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://jimniels-dribbble.deno.dev/?user=matthewskiles"}]},{"domain":"joelonsoftware.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-july-2016/","targetUrl":"http://www.joelonsoftware.com/articles/LeakyAbstractions.html"}]},{"domain":"johnaugust.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-films-and-making-websites/","targetUrl":"https://johnaugust.com/2024/scriptnotes-episode-622-the-one-with-christopher-nolan-transcript"}]},{"domain":"joinmastodon.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/notes-to-self-on-mastodon/","targetUrl":"https://docs.joinmastodon.org/user/moving/"}]},{"domain":"jpl-consulting.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-august/","targetUrl":"http://blog.jpl-consulting.com/2012/04/why-i-wont-sign-your-nda/"}]},{"domain":"jquery.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/be-mindful-of-what-you-make-easy/","targetUrl":"https://jquery.com"}]},{"domain":"jsdelivr.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/import-es-modules-from-github/","targetUrl":"https://www.jsdelivr.com"}]},{"domain":"jsdelivr.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/javascript-templating/","targetUrl":"https://cdn.jsdelivr.net/gh/jimniels/html@0.2.0/html.js"}]},{"domain":"juliobiason.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-rich-harris-talk/","targetUrl":"https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/"}]},{"domain":"jvns.ca","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/domain-nuance/","targetUrl":"https://social.jvns.ca/@b0rk_reruns/110402400476198631"}]},{"domain":"kadavy.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-december/","targetUrl":"https://kadavy.net/blog/posts/aa-testing/"}]},{"domain":"kaleidoscope.app","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://kaleidoscope.app"}]},{"domain":"kalzumeus.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/one-algorithm-to-rule-them-all/","targetUrl":"http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/"}]},{"domain":"kentcdodds.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"https://kentcdodds.com/chats-with-kent-podcast/seasons/01/episodes/you-can-learn-a-lot-for-the-low-price-of-your-ego-with-shawn-wang"}]},{"domain":"keycdn.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/speculative-prefetching/","targetUrl":"https://www.keycdn.com/support/prefetching"}]},{"domain":"kgrz.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-style-sheet-in-safari/","targetUrl":"http://kgrz.io/safari-custom-user-agent-css-overrides-using-webfonts.html"}]},{"domain":"klizos.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/good-design/","targetUrl":"https://klizos.com/ux-dark-patterns-the-dark-side-of-the-ux-design/"}]},{"domain":"lambda-the-ultimate.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-november/","targetUrl":"http://lambda-the-ultimate.org/node/4424"}]},{"domain":"landofcode.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/automatically-discoverable-rss-feeds/","targetUrl":"http://www.landofcode.com/rss-tutorials/rss-publish.php"}]},{"domain":"lareviewofbooks.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://www.lareviewofbooks.org/article/beautiful-lies-the-art-of-the-deep-fake/"}]},{"domain":"latesthackingnews.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"https://latesthackingnews.com/2020/07/07/duckduckgo-collected-users-browsing-data-addressed-the-glitch/"}]},{"domain":"learnwithjason.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://www.learnwithjason.dev/blog/css-color-theme-switcher-no-flash"}]},{"domain":"lekoarts.de","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/how-to-create-a-macos-menu-bar-app-for-netlify/","targetUrl":"https://status.lekoarts.de"}]},{"domain":"linearapp.notion.site","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/greatest-strength-is-greatest-weakness/","targetUrl":"https://linearapp.notion.site/Improving-performance-at-scale-432a23dc5607416cafb5f82360e5f157"}]},{"domain":"lingscars.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/the-art-of-making-websites/","targetUrl":"https://www.lingscars.com"}]},{"domain":"lkhrs.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/stats-page/","targetUrl":"https://www.lkhrs.com/stats/"}]},{"domain":"lobste.rs","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/cold-blooded-software/","targetUrl":"https://lobste.rs/s/hitos3/cold_blooded_software#c_mxjzwh"}]},{"domain":"locomotive.ca","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://locomotive.ca/en"}]},{"domain":"logodesignsource.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2014/logo-integrity/","targetUrl":"http://www.logodesignsource.com/types.html"}]},{"domain":"lostechies.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/scriptogram-posts-in-json-with-php/","targetUrl":"http://lostechies.com/seanbiefeld/2011/10/21/simple-xml-to-json-with-php/"}]},{"domain":"maa.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/book-notes-mathematicians-lament/","targetUrl":"https://www.maa.org/external_archive/devlin/LockhartsLament.pdf"}]},{"domain":"macicongallery.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/stop-direct-spam-comments-in-wordpress/","targetUrl":"http://macicongallery.com"}]},{"domain":"macissues.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/netlify-public-folder-part-iii-how/","targetUrl":"https://www.macissues.com/2015/02/02/how-to-use-launchagents-to-monitor-folder-contents-in-os-x/"}]},{"domain":"maggieappleton.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/well-known-links-resource/","targetUrl":"https://maggieappleton.com/bidirectionals"}]},{"domain":"mailchi.mp","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/ai-is-like-a-lossy-jpeg/","targetUrl":"https://mailchi.mp/aboard/aboard-newsletter-tags-were-it-9621052?e=0aef9786d3"}]},{"domain":"malloc.fi","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/improving-server-side-rendering-react/","targetUrl":"https://malloc.fi/performance-cost-of-server-side-rendered-react-node-js"}]},{"domain":"manbolo.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"http://blog.manbolo.com/2013/08/15/new-metrics-for-ios-7-app-icons"}]},{"domain":"mani.de","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/calculate-the-ios-border-radius/","targetUrl":"http://www.mani.de/backstage/?p=483"}]},{"domain":"markboulton.co.uk","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/notes-on-design-systems-by-mark-boulton/","targetUrl":"https://markboulton.co.uk/journal/ugly-truth-of-design-systems/"}]},{"domain":"markdoc.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/markdown-sans-front-matter/","targetUrl":"https://markdoc.io"}]},{"domain":"markdotto.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/unread-badge-macos-safari-web-app/","targetUrl":"https://markdotto.com/2023/10/01/macos-web-apps/"}]},{"domain":"mastodon.nz","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://mastodon.nz/@mez/111809246287969413"}]},{"domain":"matthewskiles.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://www.matthewskiles.com/"}]},{"domain":"matthiasott.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/there-is-no-bar-but-having-one-is-good-too/","targetUrl":"https://matthiasott.com/notes/just-put-stuff-out-there"}]},{"domain":"mattwidmann.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/feat-new-style/","targetUrl":"https://mattwidmann.net/"}]},{"domain":"medium.engineering","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/reading-notes-october/","targetUrl":"https://medium.engineering/typography-is-impossible-5872b0c7f891"}]},{"domain":"mefody.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-june/","targetUrl":"https://mefody.dev/chunks/download-link/"}]},{"domain":"merriam-webster.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/dont-miss-the-product-for-the-artifacts/","targetUrl":"https://www.merriam-webster.com/dictionary/miss%20the%20forest%20for%20the%20trees"}]},{"domain":"metalab.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.metalab.co/"}]},{"domain":"metalsmith-slack.herokuapp.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/es-modules-in-node-my-own-rabbit-hole/","targetUrl":"https://metalsmith-slack.herokuapp.com/"}]},{"domain":"microformats.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html-follow-up/","targetUrl":"https://microformats.github.io/microformats-parser/"}]},{"domain":"microsoft.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/more-everything-with-ai/","targetUrl":"https://blogs.microsoft.com/blog/2023/03/16/introducing-microsoft-365-copilot-your-copilot-for-work/"}]},{"domain":"mik.ua","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-birth-of-disable-javascript/","targetUrl":"https://docstore.mik.ua/orelly/web/jscript/ch20_02.html"}]},{"domain":"mikle.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/feed-urls/","targetUrl":"https://feed.mikle.com/support/google-blogger-rss/"}]},{"domain":"mit.edu","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-june/","targetUrl":"https://web.mit.edu/jmorzins/www/C-H-speech.html"}]},{"domain":"modestjs.works","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-november/","targetUrl":"https://modestjs.works/book/part-1/upgrading-idea-of-dependencies/"}]},{"domain":"monicacatherine.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://monicacatherine.com/2013/08/19/my-anti-resume/"}]},{"domain":"motherfuckingwebsite.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/the-art-of-making-websites/","targetUrl":"https://motherfuckingwebsite.com"}]},{"domain":"moxie.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://moxie.org/2022/01/07/web3-first-impressions.html"}]},{"domain":"myndex.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://www.myndex.com/APCA/"}]},{"domain":"narrativemediagroup.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.narrativemediagroup.com/"}]},{"domain":"nature.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-july/","targetUrl":"https://www.nature.com/articles/d41586-021-00592-0"}]},{"domain":"nczonline.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-june/","targetUrl":"https://www.nczonline.net/blog/2009/03/03/the-art-of-throwing-javascript-errors/"}]},{"domain":"necolas.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/throwaway-browser-defaults/","targetUrl":"https://necolas.github.io/normalize.css/"}]},{"domain":"neilmadden.blog","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/credentials-in-urls/","targetUrl":"https://neilmadden.blog/2019/01/16/can-you-ever-safely-include-credentials-in-a-url/"}]},{"domain":"nelhage.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-november/","targetUrl":"https://blog.nelhage.com/post/reflections-on-performance/"}]},{"domain":"nelson.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://nelson.co/"}]},{"domain":"netflix.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://www.netflix.com/title/81744537"}]},{"domain":"netguru.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.netguru.com/"}]},{"domain":"netmeister.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://www.netmeister.org/blog/the-art-of-plain-text.html"}]},{"domain":"netnewswire.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/vibe-dreams-didnt-come-true/","targetUrl":"https://netnewswire.com"}]},{"domain":"netvantagemarketing.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/google-vs-netlify-analytics/","targetUrl":"https://netvantagemarketing.com/what-is-a-unique-visitor-in-google-analytics/"}]},{"domain":"nicchan.me","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/dont-contact-us-page/","targetUrl":"https://www.nicchan.me/blog/the-f-off-contact-page/"}]},{"domain":"nicholascarr.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/programming-pairs-well-with-other-disciplines/","targetUrl":"http://www.nicholascarr.com"}]},{"domain":"nicolefenton.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"http://nicolefenton.com/words-as-material/"}]},{"domain":"noti.st","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-march/","targetUrl":"https://noti.st/philhawksworth/Vj0mid/webhooks-and-events-and-microservices-oh-my"}]},{"domain":"notion.so","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.notion.so/chilipepper/Agency-Inspiration-5f56d3defef5468291dc315a7e6911cd"}]},{"domain":"npmjs.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/installing-and-building-an-npm-package-from-github/","targetUrl":"http://blog.npmjs.org/post/161081169345/v500"}]},{"domain":"npmtrends.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/my-contribution-to-react-router/","targetUrl":"https://npmtrends.com/react-router"}]},{"domain":"nuclearsecrecy.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/my-atomic-rabbithole/","targetUrl":"https://nuclearsecrecy.com/nukemap/"}]},{"domain":"nybooks.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-october/","targetUrl":"http://www.nybooks.com/articles/archives/1969/nov/20/can-technology-be-humane/"}]},{"domain":"obsolete29.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://obsolete29.com/posts/2022/01/30/lets-make-collecting-an-mp3-library-popular-again/"}]},{"domain":"oklch.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://oklch.com/"}]},{"domain":"olano.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/prototyping-with-llm/","targetUrl":"https://olano.dev/"}]},{"domain":"oliverburkeman.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-january/","targetUrl":"https://www.oliverburkeman.com/river"}]},{"domain":"onefoottsunami.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/tahoes-terrible-icons-b-sides/","targetUrl":"https://onefoottsunami.com/2025/11/05/tahoes-terrible-icons/"}]},{"domain":"openai.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/app-icon-ai-variations/","targetUrl":"https://openai.com/dall-e-2/"}]},{"domain":"oreilly.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/notes-from-fluent-conference/","targetUrl":"https://conferences.oreilly.com/fluent/fl-ca"}]},{"domain":"otsukare.info","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-word-value-in-css/","targetUrl":"https://www.otsukare.info/2022/10/25/css-values-definitions"}]},{"domain":"ourcodeworld.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/export-to-html-from-javascript-using-blob-urls/","targetUrl":"https://ourcodeworld.com/articles/read/189/how-to-create-a-file-and-generate-a-download-with-javascript-in-the-browser-without-a-server"}]},{"domain":"parall.ax","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://parall.ax/"}]},{"domain":"patreon.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/propagating-up-in-css/","targetUrl":"https://www.patreon.com/posts/51903480"}]},{"domain":"paul-rand.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/paul-rand-on-logos/","targetUrl":"http://www.paul-rand.com/foundation/thoughts_logosflags/#.VfLPQ3g3OWv"}]},{"domain":"paulitaylor.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/what-work-looks-like/","targetUrl":"https://paulitaylor.com/2022/05/06/the-case-against-collaboration/"}]},{"domain":"pauljmiller.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-march/","targetUrl":"https://pauljmiller.com/maybe-the-web-should-die.html"}]},{"domain":"paulmillr.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/dark-mode-on-the-web/","targetUrl":"https://paulmillr.com/posts/using-dark-mode-in-css/"}]},{"domain":"paulrobertlloyd.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-august/","targetUrl":"https://paulrobertlloyd.com/2019/02/look_around_you"}]},{"domain":"paultraylor.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://paultraylor.net/blog/online-handle/"}]},{"domain":"peopleandblogs.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/people-and-blogs-and-me/","targetUrl":"https://peopleandblogs.com"}]},{"domain":"pepelsbey.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/letter-case-on-the-web/","targetUrl":"https://pepelsbey.dev/articles/uppercase-copy-paste/"}]},{"domain":"perell.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://perell.com/essay/the-ultimate-guide-to-writing-online/"}]},{"domain":"perfectionkills.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/html-minification/","targetUrl":"http://perfectionkills.com/experimenting-with-html-minifier/"}]},{"domain":"perfplanet.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/seemly-selectors/","targetUrl":"http://calendar.perfplanet.com/2011/css-selector-performance-has-changed-for-the-better/"}]},{"domain":"philcalcado.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"http://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html"}]},{"domain":"philipotoole.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-january/","targetUrl":"http://www.philipotoole.com/software-development-got-nothing-computers/"}]},{"domain":"phind.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/cite-your-sources-ai/","targetUrl":"https://www.phind.com/"}]},{"domain":"pinboard.in","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-november/","targetUrl":"https://static.pinboard.in/bt14/thumbs/bt14.019.thumb.jpg"}]},{"domain":"plasticbag.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-july/","targetUrl":"http://plasticbag.org/archives/2003/06/on_permalinks_and_paradigms/"}]},{"domain":"pldi21.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-july/","targetUrl":"https://www.pldi21.org/prerecorded_hopl.11.html"}]},{"domain":"pnpm.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/notes-from-changelog-with-feross/","targetUrl":"https://pnpm.io/settings#minimumreleaseage"}]},{"domain":"politi.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-september/","targetUrl":"http://politi.co/2BvZsIV"}]},{"domain":"polymer-project.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/switching-from-react-to-js-for-templating/","targetUrl":"https://lit-html.polymer-project.org/"}]},{"domain":"popularmechanics.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/circles-and-momentum/","targetUrl":"https://www.popularmechanics.com/space/solar-system/a42800948/astronomers-discover-solar-system-has-ghostly-glow/"}]},{"domain":"preactjs.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/react-without-build-tools/","targetUrl":"https://preactjs.com/guide/v10/getting-started#no-build-tools-route"}]},{"domain":"prelovac.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/website-fidelity-browser/","targetUrl":"https://vladimir.prelovac.com/"}]},{"domain":"premii.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://hn.premii.com"}]},{"domain":"prettier.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/moving-from-ejs-to-jsx/","targetUrl":"https://prettier.io/"}]},{"domain":"programmingisterrible.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-december/","targetUrl":"https://programmingisterrible.com/post/139222674273/how-to-write-disposable-code-in-large-systems"}]},{"domain":"progscrape.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://progscrape.com"}]},{"domain":"protocol.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://www.protocol.com/browser-company"}]},{"domain":"ps-scripts.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/modularize-your-psds/","targetUrl":"http://www.ps-scripts.com/bb/viewtopic.php?f=27&t=3045&sid=90f57aa35b85d5d38fe52ea551ac4a4c"}]},{"domain":"pscp.tv","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-march/","targetUrl":"https://www.pscp.tv/longnow/1gqxvovrnWWKB"}]},{"domain":"punoff.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/book-review-the-pun-also-rises/","targetUrl":"http://punoff.com"}]},{"domain":"purplerockscissors.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://purplerockscissors.com/"}]},{"domain":"pushkin.fm","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/writing-blog-posts-and-songs/","targetUrl":"https://www.pushkin.fm/podcasts/broken-record/jackson-browne"}]},{"domain":"pxlnv.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://pxlnv.com/blog/bullshit-web/"}]},{"domain":"pyladies.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/love-for-python/","targetUrl":"https://pyladies.com"}]},{"domain":"pzuraq.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/joining-remix/","targetUrl":"https://www.pzuraq.com/blog/four-eras-of-javascript-frameworks"}]},{"domain":"quackit.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/css-for-urls-and-http-headers/","targetUrl":"https://www.quackit.com/css/at-rules/css_document_at-rule.cfm"}]},{"domain":"quickmeme.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/limitations-in-software/","targetUrl":"http://s2.quickmeme.com/img/59/5940114b57a48c126522c65b6fb0936a900871a0fa482eafabb9e9af07412764.jpg"}]},{"domain":"qz.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/kindlingapp-home-page-redesign/","targetUrl":"http://qz.com/132070/the-simple-reason-products-fail-consumers-dont-understand-what-they-do/"}]},{"domain":"rallyinteractive.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://rallyinteractive.com/"}]},{"domain":"ramotion.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.ramotion.com/"}]},{"domain":"ranchero.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/saying-no/","targetUrl":"https://ranchero.com/netnewswire/"}]},{"domain":"raphlinus.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://raphlinus.github.io/color/2021/01/18/oklab-critique.html"}]},{"domain":"raptitude.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-march/","targetUrl":"https://www.raptitude.com/2010/07/your-lifestyle-has-already-been-designed/"}]},{"domain":"raw.githubusercontent.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/import-es-modules-from-github/","targetUrl":"https://raw.githubusercontent.com/jimniels/html/0.1.0/html.js"}]},{"domain":"raymondcamden.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/using-netlify-analytics-to-build-list-of-popular-posts/","targetUrl":"https://www.raymondcamden.com/2019/10/05/building-a-netlify-stats-viewer-in-vuejs"}]},{"domain":"react-bootstrap.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/designing-and-building-assignment-desk/","targetUrl":"https://react-bootstrap.github.io/"}]},{"domain":"react-select.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/styling-select-option-values/","targetUrl":"https://react-select.com/"}]},{"domain":"reaganray.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://reaganray.com/2021/03/05/2021-redesign.html"}]},{"domain":"recoiljs.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/localstorage-recoil/","targetUrl":"https://recoiljs.org/docs/guides/atom-effects#local-storage-persistence"}]},{"domain":"remarkable.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/my-failed-peronsal-site-redesign/","targetUrl":"https://remarkable.com"}]},{"domain":"rememberthemilk.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/deadlines-as-technology/","targetUrl":"https://www.rememberthemilk.com/"}]},{"domain":"responsivewebdesign.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"https://responsivewebdesign.com/podcast/frank-chimero/"}]},{"domain":"revdancatt.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-may/","targetUrl":"https://revdancatt.com/weeknotes/2020/04/27/24-attitude-of-ingratitude"}]},{"domain":"rknight.me","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/following-links/","targetUrl":"https://rknight.me/blog/the-web-is-fantastic/"}]},{"domain":"rntz.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-november/","targetUrl":"http://www.rntz.net/post/against-software-development.html"}]},{"domain":"rocketruby.ch","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/fault-tolerance-html-css/","targetUrl":"https://rocketruby.ch/about/team/"}]},{"domain":"roytang.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-november/","targetUrl":"https://roytang.net/2022/11/word-web-persons/"}]},{"domain":"rssboard.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/rss-in-html/","targetUrl":"https://www.rssboard.org/rss-specification"}]},{"domain":"rzim.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/understanding-comes-in-stages/","targetUrl":"http://www.rzim.org/a-slice-of-infinity/two-staged-miracles/"}]},{"domain":"samhenri.gold","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/inspecting-web-views-in-macos/","targetUrl":"https://samhenri.gold"}]},{"domain":"sealedabstract.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/putting-the-user-first/","targetUrl":"http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/"}]},{"domain":"sean-lan.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/fetch-and-3xx-redirect-status-codes/","targetUrl":"https://www.sean-lan.com/2017/08/15/fetch-meets-302/"}]},{"domain":"seanvoisen.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/craft-and-satisfaction/","targetUrl":"https://seanvoisen.com/blog/programming-is-a-feeling-ai-is-changing-it/"}]},{"domain":"searchfox.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://searchfox.org/mozilla-central/source/layout/style/res/html.css"}]},{"domain":"segment.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://segment.com/blog/building-technical-documentation-with-metalsmith/"}]},{"domain":"seldo.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-february/","targetUrl":"https://seldo.com/posts/crypto-the-good-the-bad-and-the-ugly"}]},{"domain":"sendgrid.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-analytics-email-digest/","targetUrl":"https://sendgrid.com"}]},{"domain":"serializer.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://serializer.io"}]},{"domain":"serpapi.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/javascript-required/","targetUrl":"https://serpapi.com/blog/google-now-requires-javascript/"}]},{"domain":"sfba.social","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/as-good-as-html/","targetUrl":"https://sfba.social/@fonts/111211813228079834"}]},{"domain":"shopify.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-may/","targetUrl":"https://ux.shopify.com/in-defence-of-boring-ux-ad32acd4d437"}]},{"domain":"sicanstudios.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/scriptogram-posts-in-json-with-php/","targetUrl":"http://sicanstudios.com/post/recent-posts-scriptogram/"}]},{"domain":"sigchi.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/the-value-of-visual-design/","targetUrl":"http://www.sigchi.org/chi95/proceedings/shortppr/mk_bdy.htm"}]},{"domain":"sketchapp.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/creating-ios-icon-masks-in-the-browser/","targetUrl":"https://www.sketchapp.com/docs/styling/borders/"}]},{"domain":"slack.engineering","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-march/","targetUrl":"https://slack.engineering/how-big-technical-changes-happen-at-slack-f1569d25ee7b"}]},{"domain":"smartbear.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-march/","targetUrl":"https://smartbear.com/blog/develop/agile-the-once-and-future-methodology/"}]},{"domain":"smartless.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/for-the-love-of-the-web/","targetUrl":"https://www.smartless.com/episodes/episode/249e98ac/jerry-seinfeld"}]},{"domain":"smartquotesforsmartpeople.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/dont-forget-these-html-tags/","targetUrl":"https://smartquotesforsmartpeople.com"}]},{"domain":"snook.ca","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-meaning-of-view-source/","targetUrl":"https://snook.ca/archives/opinion/view-source"}]},{"domain":"social-protocols.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://news.social-protocols.org"}]},{"domain":"softwarecrisis.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/reading-notes-january/","targetUrl":"https://softwarecrisis.dev/letters/10x-devs-10x-orgs/"}]},{"domain":"spacejam.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/making-omgimg-pt-iv/","targetUrl":"https://www.spacejam.com/1996/cmp/lineup/quizframes.html"}]},{"domain":"spike.news","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://spike.news"}]},{"domain":"stackoverflow.blog","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://stackoverflow.blog/2022/04/07/you-should-be-reading-academic-computer-science-papers/"}]},{"domain":"stasaki.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-april/","targetUrl":"https://stasaki.com/designer-as-writer/8/"}]},{"domain":"stateful.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/imports-under-the-hood/","targetUrl":"https://stateful.com/blog/node-18-prefix-only-modules"}]},{"domain":"staticgen.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/choosing-a-static-site-generator/","targetUrl":"https://www.staticgen.com"}]},{"domain":"stedolan.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/doing-web-design/","targetUrl":"http://stedolan.net/incomparable/"}]},{"domain":"stefanjudis.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/link-preload-image/","targetUrl":"https://www.stefanjudis.com/today-i-learned/how-to-preload-responsive-images-with-imagesizes-and-imagesrcset/"}]},{"domain":"stephenwolfram.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ai-and-the-science-of-creativity/","targetUrl":"https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/"}]},{"domain":"stevekrouse.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/code-as-process/","targetUrl":"https://stevekrouse.com/precision"}]},{"domain":"stilldrinking.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2015/reading-notes-august/","targetUrl":"http://www.stilldrinking.org/programming-sucks"}]},{"domain":"stripe.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/sit-on-your-ass-web-dev/","targetUrl":"https://press.stripe.com/poor-charlies-almanack"}]},{"domain":"strv.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.strv.com/"}]},{"domain":"stuk.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/generating-epub-file-in-browser/","targetUrl":"https://stuk.github.io/jszip/"}]},{"domain":"styled-components.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/thoughts-on-jeremy-keiths-split/","targetUrl":"https://www.styled-components.com/"}]},{"domain":"superfriendly.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-april/","targetUrl":"https://superfriendly.com/design-systems/articles/design-system-coverage/"}]},{"domain":"svpg.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-february/","targetUrl":"https://svpg.com/coaching-tools-the-narrative/"}]},{"domain":"swtch.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-december/","targetUrl":"https://research.swtch.com/vgo-principles"}]},{"domain":"tableplus.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/nabbing-macos-icons/","targetUrl":"https://tableplus.com"}]},{"domain":"tabletopics.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/dinner-conversation/","targetUrl":"https://tabletopics.com/products/family"}]},{"domain":"tampermonkey.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-style-sheet-in-safari/","targetUrl":"https://www.tampermonkey.net/?browser=safari"}]},{"domain":"tendril.ca","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://tendril.ca/"}]},{"domain":"tenor.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/amazing-athletes/","targetUrl":"https://tenor.com/view/shaq-big-dunk-basketball-chris-dudley-shaquille-o-neal-gif-13864249"}]},{"domain":"the-mobile-book.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/why-do-we-sketch/","targetUrl":"http://www.the-mobile-book.com/"}]},{"domain":"thecorrespondent.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/judo-throw-the-hype/","targetUrl":"https://thecorrespondent.com/655/blockchain-the-amazing-solution-for-almost-nothing/86649455475-f933fe63"}]},{"domain":"thedesigncubicle.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2012/reading-notes-november/","targetUrl":"http://www.thedesigncubicle.com/2012/10/dear-business-im-scared-for-you/"}]},{"domain":"theguardian.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/the-cost-of-avoiding-annoyance/","targetUrl":"https://www.theguardian.com/technology/2017/sep/01/juicero-silicon-valley-shutting-down"}]},{"domain":"thehistoryoftheweb.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-september/","targetUrl":"https://thehistoryoftheweb.com/postscript/this-is-what-youre-nostalgic-for/"}]},{"domain":"thenews.im","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/hacker-news-clones/","targetUrl":"https://old.thenews.im"}]},{"domain":"thenewstack.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/rip-browsers/","targetUrl":"https://thenewstack.io/chrome-switches-on-ai-the-future-of-browsing-begins-now/"}]},{"domain":"theoveranalyzed.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-style-sheet-in-safari/","targetUrl":"http://theoveranalyzed.net/2018/3/16/safaris-custom-style-sheet#the-history-of-user-defined-style-sheets-in-desktop-safari"}]},{"domain":"theregister.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/dont-use-ai-browsers-they-say/","targetUrl":"https://www.theregister.com/2025/12/08/gartner_recommends_ai_browser_ban/"}]},{"domain":"theringer.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/the-subversive-hyperlink/","targetUrl":"https://www.theringer.com/2016/10/1/16040398/instagram-link-in-bio-nightmare-tech-8706186b3ec"}]},{"domain":"thesocialdilemma.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-november/","targetUrl":"https://www.thesocialdilemma.com"}]},{"domain":"thomasrigby.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/online-handles-round-up/","targetUrl":"https://thomasrigby.com/posts/what-is-a-hryggrbyr/"}]},{"domain":"thoughtbot.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://thoughtbot.com/"}]},{"domain":"tidbits.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/recursive-citation/","targetUrl":"https://tidbits.com/2007/10/17/steve-jobss-iphone-sdk-letter/"}]},{"domain":"timdaub.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-january/","targetUrl":"https://timdaub.github.io/2021/01/16/web-principles/"}]},{"domain":"time.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/amazing-athletes/","targetUrl":"https://time.com/4452585/usain-bolt-2016-rio-olympics/"}]},{"domain":"timeinc.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2016/designing-and-building-assignment-desk/","targetUrl":"http://www.timeinc.com/brands/"}]},{"domain":"tinloof.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2026/new-year-new-website-same-me/","targetUrl":"https://tinloof.com/blog/how-to-build-cron-jobs-with-netlify-functions"}]},{"domain":"tldr.tech","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/discovering-newsletter-links-with-quadratic/","targetUrl":"https://tldr.tech"}]},{"domain":"tomayac.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/named-blogs/","targetUrl":"https://blog.tomayac.com"}]},{"domain":"tubikstudio.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://tubikstudio.com/"}]},{"domain":"twitchard.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-august/","targetUrl":"http://twitchard.github.io/posts/2022-08-26-metrics-schmetrics.html"}]},{"domain":"twotwentytwo.se","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"http://twotwentytwo.se/"}]},{"domain":"tylermercer.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/local-cli-tools-in-node/","targetUrl":"https://tylermercer.net/"}]},{"domain":"tympanus.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/","targetUrl":"https://tympanus.net/codrops/css_reference/namespace/"}]},{"domain":"typicalprogrammer.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-may/","targetUrl":"http://typicalprogrammer.com/what-does-code-readability-mean"}]},{"domain":"typography.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-march/","targetUrl":"https://www.typography.com/blog/the-loveliest-living-fossil"}]},{"domain":"uchicago.edu","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/blown-away-by-the-unexpected/","targetUrl":"https://press.uchicago.edu/ucp/books/book/chicago/P/bo5387695.html"}]},{"domain":"ucsusa.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/night-time-sky/","targetUrl":"https://www.ucsusa.org/resources/satellite-database"}]},{"domain":"ueno.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://ueno.co/"}]},{"domain":"uie.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/reading-notes-may/","targetUrl":"https://articles.uie.com/net-promoter-score-considered-harmful-and-what-ux-professionals-can-do-about-it/"}]},{"domain":"umb.edu","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/custom-style-sheet-in-safari/","targetUrl":"https://www.cs.umb.edu/~rouilj/resume/"}]},{"domain":"una.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/named-blogs/","targetUrl":"https://una.github.io"}]},{"domain":"underbelly.is","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://underbelly.is/"}]},{"domain":"unfold.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://unfold.co/"}]},{"domain":"union.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://union.co/"}]},{"domain":"unpkg.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://unpkg.com/"}]},{"domain":"upstatement.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://www.upstatement.com/"}]},{"domain":"usetapestry.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/do-you-personalize/","targetUrl":"https://usetapestry.com"}]},{"domain":"utopia.fyi","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/exerting-control-with-media-queries/","targetUrl":"https://utopia.fyi"}]},{"domain":"utoronto.ca","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/system-fonts-on-the-web/","targetUrl":"https://utcc.utoronto.ca/~cks/space/blog/web/FirefoxUnixLittleFontBit"}]},{"domain":"uxdesign.cc","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-june/","targetUrl":"https://uxdesign.cc/design-better-data-tables-4ecc99d23356"}]},{"domain":"uxplanet.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/ok-lch-im-convinced/","targetUrl":"https://uxplanet.org/designing-color-systems-transparent-vs-solid-shades-9eb841571fdd"}]},{"domain":"val.town","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/links-from-whgov-wire/","targetUrl":"https://www.val.town"}]},{"domain":"vanillajspodcast.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/writing-in-2020-and-2021/","targetUrl":"https://vanillajspodcast.com/entropy-developer-experience-and-vanilla-js/"}]},{"domain":"vcarl.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/reading-notes-october/","targetUrl":"https://blog.vcarl.com/overly-defensive-programming/"}]},{"domain":"velvetshark.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/visual-design-homogeneity-at-scale/","targetUrl":"https://velvetshark.com/ai-company-logos-that-look-like-buttholes"}]},{"domain":"visualstudio.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/quick-dirty-text-diffing/","targetUrl":"https://marketplace.visualstudio.com/items?itemName=ryu1kn.partial-diff"}]},{"domain":"vitsoe.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/ten-anti-principles-of-good-design/","targetUrl":"https://www.vitsoe.com/us/about/good-design"}]},{"domain":"vox.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/inbox-o-receipts/","targetUrl":"https://www.vox.com/the-goods/2018/10/10/17956950/why-are-cvs-pharmacy-receipts-so-long"}]},{"domain":"w3c.github.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/the-word-value-in-css/","targetUrl":"https://w3c.github.io/csswg-drafts/css-cascade-5/#value-stages"}]},{"domain":"warpspire.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/examples-of-great-urls/","targetUrl":"https://warpspire.com/posts/url-design/"}]},{"domain":"washingtonpost.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/the-resiliency-of-the-internet/","targetUrl":"https://www.washingtonpost.com/technology/2020/04/06/your-internet-is-working-thank-these-cold-war-era-pioneers-who-designed-it-handle-almost-anything/"}]},{"domain":"watchiosicongallery.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/courting-webp/","targetUrl":"https://www.watchiosicongallery.com"}]},{"domain":"wearetopsecret.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://wearetopsecret.com/"}]},{"domain":"well.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/notes-on-metadata/","targetUrl":"https://people.well.com/user/doctorow/metacrap.htm"}]},{"domain":"werd.io","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/treating-the-symptoms/","targetUrl":"https://werd.io/2024/stripping-the-web-of-its-humanity"}]},{"domain":"wesbos.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2019/jsx-like-syntax-for-tagged-template-literals/","targetUrl":"https://wesbos.com/tagged-template-literals/"}]},{"domain":"wesdesilvestro.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-january/","targetUrl":"https://wesdesilvestro.com/the-prestige-trap"}]},{"domain":"wholelottanothing.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2024/golden-era-blogging/","targetUrl":"https://a.wholelottanothing.org/2024/02/05/todays-youtubers-are-repeating-the-mistakes-of-yesterdays-bloggers/"}]},{"domain":"wiktionary.org","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/recursive-citation/","targetUrl":"https://en.wiktionary.org/wiki/fisking"}]},{"domain":"wired.co.uk","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-may/","targetUrl":"https://www.wired.co.uk/article/corporate-memphis-design-tech"}]},{"domain":"work.co","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://work.co/"}]},{"domain":"wpshower.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2013/unintended-visual-relationships/","targetUrl":"http://wpshower.com/themes/portfolium/"}]},{"domain":"wyattmarks.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/counting-to-ten/","targetUrl":"https://wyattmarks.com/"}]},{"domain":"xanthir.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2023/single-line-comments-in-css/","targetUrl":"https://www.xanthir.com/b4U10"}]},{"domain":"xbarapp.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/netlify-public-folder-part-iv/","targetUrl":"https://xbarapp.com"}]},{"domain":"yale.edu","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/reading-notes-december/","targetUrl":"http://www.cs.yale.edu/homes/perlis-alan/quotes.html"}]},{"domain":"yandex.net","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/displaying-favicons-for-any-domain/","targetUrl":"http://favicon.yandex.net/favicon/google.com/stackoverflow.com/facebook.com/"}]},{"domain":"yannicklung.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2022/custom-rss-feeds/","targetUrl":"https://yannicklung.com/"}]},{"domain":"yummygum.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://yummygum.com/"}]},{"domain":"z1.digital","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2020/agency-website-design-inspiration-and-other-observations/","targetUrl":"https://z1.digital/"}]},{"domain":"zachholman.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2018/reading-notes-august/","targetUrl":"https://zachholman.com/talk/utc-is-enough-for-everyone-right"}]},{"domain":"zandercutt.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2021/reading-notes-october/","targetUrl":"https://zandercutt.com/2019/02/18/were-optimizing-ourselves-to-death/"}]},{"domain":"zed.dev","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2025/more-context-bro/","targetUrl":"https://zed.dev/blog/why-llms-cant-build-software"}]},{"domain":"zurb.com","count":1,"links":[{"sourceUrl":"https://blog.jim-nielsen.com/2017/reading-notes-april/","targetUrl":"http://zurb.com/article/1448/the-end-of-the-black-turtleneck"}]}]