From 37bad566cfbdb793ac4e08389d7cca01bc484eea Mon Sep 17 00:00:00 2001 From: flat-data Date: Sat, 4 Jun 2022 00:04:51 +0000 Subject: [PATCH] Flat: latest data (2022-06-04T00:04:51.166Z) { "date": "2022-06-04T00:04:51.166Z", "files": [ { "name": "src/_data/raindrop/reading_list.json", "deltaBytes": -1038, "source": "https://api.raindrop.io/rest/v1/raindrops/22341884" } ] } --- src/_data/raindrop/reading_list.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_data/raindrop/reading_list.json b/src/_data/raindrop/reading_list.json index 1707dc1..9d8d329 100644 --- a/src/_data/raindrop/reading_list.json +++ b/src/_data/raindrop/reading_list.json @@ -1 +1 @@ -{"result":true,"items":[{"excerpt":"Developers face an onslaught of marketing and an unrelenting velocity of releases to keep up with. This is why we started Console.","note":"","type":"article","cover":"https://blog.console.dev/content/images/2021/02/asset002.png","tags":[],"removed":false,"_id":398821296,"title":"Focusing on developers","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.console.dev/focusing-on-developers/","created":"2022-05-27T05:41:36.306Z","lastUpdate":"2022-05-27T05:41:36.306Z","important":false,"media":[{"type":"image","link":"https://blog.console.dev/content/images/2021/02/asset002.png"},{"type":"image","link":"https://blog.console.dev/content/images/size/w1200/2021/02/asset002.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"highlights":[],"domain":"blog.console.dev","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":398821296,"cache":{"status":"ready","size":283292,"created":"2022-05-27T05:45:23.994Z"},"collectionId":22341884},{"excerpt":"We built divRIOTS.com with Astro. ‟Here we go, another framework is out and another dude is making a website and blogging about it” — Let's see if we can make this interesting. 😉","note":"","type":"article","cover":"https://divriots.com/img/blog/divriots-astro.jpg","tags":[],"removed":false,"_id":398820752,"title":"Our experience with Astro - ‹div›RIOTS","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://divriots.com/blog/our-experience-with-astro","created":"2022-05-27T05:39:13.482Z","lastUpdate":"2022-05-27T05:39:13.482Z","important":false,"media":[{"type":"image","link":"https://divriots.com/img/blog/divriots-astro.jpg"},{"type":"image","link":"https://divriots.com/img/blog/divriots-com-score-mobile.jpg"},{"type":"image","link":"https://divriots.com/img/blog/divriots-com-score-desktop.jpg"},{"type":"image","link":"https://backlight.dev/mastery/assets/tools/backlight.jpg"}],"user":{"$ref":"users","$id":533255,"$db":""},"highlights":[],"domain":"divriots.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":398820752,"cache":{"status":"ready","size":464335,"created":"2022-05-27T05:45:23.994Z"},"collectionId":22341884},{"excerpt":"Pry is an awesome debugging tool for Ruby. The gem pry-rails seamlessly integrates Pry with rails.\nWith pry-rails included in the project Gemfile, it opens the pry prompt whenever we run rails console.\n[1] pry(main) We can customize this default prompt to show useful information like the current project name & environment name. pry-rails gem provides a custom prompt for just that. Add the following line in your ~/.pryrc file to enable the rails prompt provided by pry-rails gem.","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fwww.imamhossain.me%2Fposts%2Fadd-a-custom-pry-prompt-in-your-rails-console%2F","tags":[],"removed":false,"_id":375608636,"title":"Add a Custom Pry Prompt in your Rails Console","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.imamhossain.me/posts/add-a-custom-pry-prompt-in-your-rails-console/","created":"2022-03-16T15:11:39.491Z","lastUpdate":"2022-03-16T15:11:39.491Z","important":false,"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fwww.imamhossain.me%2Fposts%2Fadd-a-custom-pry-prompt-in-your-rails-console%2F","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"imamhossain.me","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":375608636,"cache":{"status":"ready","size":10522,"created":"2022-03-16T15:38:16.339Z"},"broken":true,"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"article","cover":"https://blog.jim-nielsen.com/assets/img/twitter-card.png","tags":[],"removed":false,"_id":374584413,"title":"Inspecting Web Views in macOS","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.jim-nielsen.com/2022/inspecting-web-views-in-macos/","created":"2022-03-12T17:46:09.868Z","lastUpdate":"2022-03-12T17:46:09.868Z","important":false,"media":[{"type":"image","link":"https://blog.jim-nielsen.com/assets/img/twitter-card.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-family-sharing-music-context-menu.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-family-sharing-music.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-react.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-web-component.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"blog.jim-nielsen.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":374584413,"cache":{"status":"ready","size":1312301,"created":"2022-03-12T18:02:11.000Z"},"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"link","cover":"https://dzhavat.github.io/assets/img/2022/02/07/visually-nested-files-in-vs-code.jpg","tags":[],"removed":false,"_id":372482356,"title":"File nesting in VS Code | Dzhavat Ushev","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://dzhavat.github.io/2022/02/07/file-nesting-in-vs-code.html","created":"2022-03-06T21:05:34.261Z","lastUpdate":"2022-03-06T21:05:34.261Z","important":false,"media":[{"type":"image","link":"https://dzhavat.github.io/assets/img/2022/02/07/visually-nested-files-in-vs-code.jpg"},{"type":"image","link":"https://dzhavat.github.io/assets/img/2022/02/07/file-nesting-settings-in-vs-code.jpg"},{"type":"image","link":"https://dzhavat.github.io/assets/img/2022/02/07/file-nesting-for-Angular-developers.gif"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"dzhavat.github.io","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":372482356,"cache":{"status":"ready","size":263628,"created":"2022-03-06T21:07:22.000Z"},"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fcoding-fonts.css-tricks.com%2F","tags":["fonts","css-tricks","webfonts"],"removed":false,"_id":249194804,"title":"Coding Fonts on CSS-Tricks","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://coding-fonts.css-tricks.com/","created":"2021-03-10T22:01:52.715Z","lastUpdate":"2022-02-27T04:57:06.725Z","important":false,"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fcoding-fonts.css-tricks.com%2F","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"coding-fonts.css-tricks.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070651,"cache":{"status":"ready","size":18381,"created":"2021-09-27T06:16:54.766Z"},"highlights":[],"collectionId":22341884},{"excerpt":"created_at: June 6, 2021 at 05:46AM\nimage: https://ift.tt/Oj01b3\ncanonical_url: https://ift.tt/3jsMnrj\nrss: https://ift.tt/3z51SNM","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fwjwh.eu%2Fposts%2F2021-02-07-ruby-preemptive-fiber.html","tags":["IFTTT","Inoreader","ruby"],"removed":false,"_id":276006958,"link":"https://wjwh.eu/posts/2021-02-07-ruby-preemptive-fiber.html","collection":{"$ref":"collections","$id":22341884,"$db":""},"title":"Pre-emptive fiber-based concurrency in MRI Ruby","created":"2021-06-06T09:46:00.000Z","user":{"$ref":"users","$id":533255,"$db":""},"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fwjwh.eu%2Fposts%2F2021-02-07-ruby-preemptive-fiber.html","screenshot":true}],"lastUpdate":"2022-02-27T04:54:24.665Z","domain":"wjwh.eu","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070650,"cache":{"status":"ready","size":84823,"created":"2021-09-27T06:15:00.558Z"},"highlights":[],"collectionId":22341884},{"excerpt":"created_at: July 17, 2021 at 02:22PM\nimage: https://ift.tt/3r95Ml3\ncanonical_url: https://ift.tt/3AUusCx\nrss: https://ift.tt/2Ti6vUx","note":"","type":"link","cover":"http://www.macdrifter.com/uploads/2021/07/2021-07-06_08-45-01.png","tags":["IFTTT","Inoreader","0"],"removed":false,"_id":287469030,"link":"http://www.macdrifter.com/2021/07/obsidian-onboarding.html","collection":{"$ref":"collections","$id":22341884,"$db":""},"title":"Obsidian Onboarding","created":"2021-07-17T21:22:00.000Z","media":[{"type":"image","link":"http://www.macdrifter.com/uploads/2021/07/2021-07-06_08-45-01.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"lastUpdate":"2022-02-27T04:22:30.490Z","domain":"macdrifter.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070649,"cache":{"status":"ready","size":1299509,"created":"2021-09-27T06:13:24.717Z"},"broken":false,"highlights":[],"collectionId":22341884},{"excerpt":"Every element I use for the basic structure of a HTML document, with explanations why.","note":"","type":"article","cover":"https://res.cloudinary.com/dp3mem7or/image/upload/w_1200/articles/sm_boilerplate.png","tags":["head","html"],"removed":false,"_id":258331342,"title":"My current HTML boilerplate - Manuel Matuzović","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.matuzo.at/blog/html-boilerplate/","created":"2021-04-09T20:35:48.818Z","lastUpdate":"2022-02-26T07:15:33.361Z","important":false,"media":[{"type":"image","link":"https://res.cloudinary.com/dp3mem7or/image/upload/w_1200/articles/sm_boilerplate.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"matuzo.at","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070648,"cache":{"status":"ready","size":311223,"created":"2021-09-27T06:16:28.294Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Have you ever wondered if you could use hotwire with view_component instead of partials. If you have, maybe tried and failed, welcome here.\nBy default hotwire is made to work with partials, which is the built in way to extract 'components' in the con...","note":"","type":"article","cover":"https://hashnode.com/utility/r?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620650881416%2FkZ5gWCqNQ.png%3Fw%3D1200%26h%3D630%26fit%3Dcrop%26crop%3Dentropy%26auto%3Dcompress%2Cformat%26format%3Dwebp%26fm%3Dpng","tags":[],"removed":false,"_id":370070652,"title":"Making Hotwire play nice with ViewComponent","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.kuda.dev/making-hotwire-play-nice-with-viewcomponent-ckoilssb40msdv9s10v139kgs","created":"2022-02-26T07:12:52.580Z","lastUpdate":"2022-02-26T07:12:52.580Z","important":false,"media":[{"type":"image","link":"https://hashnode.com/utility/r?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620650881416%2FkZ5gWCqNQ.png%3Fw%3D1200%26h%3D630%26fit%3Dcrop%26crop%3Dentropy%26auto%3Dcompress%2Cformat%26format%3Dwebp%26fm%3Dpng"},{"type":"image","link":"https://blog.kuda.dev/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620650881416%2FkZ5gWCqNQ.png%3Fw%3D1600%26h%3D840%26fit%3Dcrop%26crop%3Dentropy%26auto%3Dcompress%2Cformat%26format%3Dwebp&w=3840&q=75"},{"type":"image","link":"https://cdn.hashnode.com/res/hashnode/image/upload/v1620650508471/XwXipgBgf.gif?auto=format,compress&gif-q=60&format=webm"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"blog.kuda.dev","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070647,"cache":{"status":"ready","size":773054,"created":"2022-02-26T07:23:59.045Z"},"highlights":[],"collectionId":22341884},{"excerpt":"How do you handle component spacing in a design system? Do you add margin directly to the components, or outsource it to another component?","note":"","type":"article","cover":"https://css-tricks.com/wp-json/social-image-generator/v1/image/362044","tags":[],"removed":false,"_id":369889605,"title":"Component Spacing in a Design System | CSS-Tricks","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://css-tricks.com/component-spacing-design-system/","created":"2022-02-25T18:17:29.402Z","lastUpdate":"2022-02-25T18:17:29.402Z","important":false,"media":[{"type":"image","link":"https://css-tricks.com/wp-json/social-image-generator/v1/image/362044"},{"type":"image","link":"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/component-layout-example.png?w=1709&ssl=1"},{"type":"image","link":"https://res.cloudinary.com/css-tricks/image/upload/w_600,q_auto,f_auto/buysellads/uu/7/110298/1643229531-ad_01.jpg"},{"type":"image","link":"https://res.cloudinary.com/css-tricks/image/upload/w_600,q_auto,f_auto/buysellads/uu/7/110298/1642798488-css-tricks-ad.png"},{"type":"image","link":"https://res.cloudinary.com/css-tricks/image/upload/w_600,q_auto,f_auto/buysellads/uu/7/110638/1644014378-2022-02-04_600x600-stop-overpaying_1_.jpg"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"css-tricks.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":369889600,"cache":{"status":"ready","size":508555,"created":"2022-02-25T18:25:33.000Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Introducing 1Password for SSH & Git (Beta), the single source of truth for all your SSH keys. With 1Password, you can:","note":"","type":"link","cover":"https://developer.1password.com/img/meta-og-image.png","tags":[],"removed":false,"_id":367916249,"title":"1Password for SSH & Git (Beta) | 1Password Developer Documentation","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://developer.1password.com/docs/ssh/","created":"2022-02-20T00:53:20.748Z","lastUpdate":"2022-02-20T00:53:20.748Z","important":false,"media":[{"type":"image","link":"https://developer.1password.com/img/meta-og-image.png"},{"type":"image","link":"https://developer.1password.com/img/ssh/generate-ssh-key-github.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"developer.1password.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":367916244,"cache":{"status":"ready","size":138314,"created":"2022-02-20T01:16:18.185Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Do you ever wish that your highlights were tagged with useful keywords and categories, but never bothered because the process of tagging is just too cumbersome? In this guide, we're going to learn an easier way to tag your highlights using a powerful feature found only in Readwise called inline","note":"","type":"article","cover":"https://s3.amazonaws.com/readwiseio/2018/06/inline-tagging-cover-image-1.gif","tags":[],"removed":false,"_id":364382438,"title":"How to Tag Your Highlights While You Read with Inline Tagging in Readwise","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.readwise.io/tag-your-highlights-while-you-read/","created":"2022-02-11T19:48:07.040Z","lastUpdate":"2022-02-11T19:48:07.040Z","important":false,"media":[{"type":"image","link":"https://s3.amazonaws.com/readwiseio/2018/06/inline-tagging-cover-image-1.gif"},{"type":"image","link":"https://s3.amazonaws.com/readwiseio/2018/05/inline-tagging-1.gif"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"blog.readwise.io","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":364382433,"cache":{"status":"ready","size":569152,"created":"2022-02-11T20:03:22.484Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Why and how I use Obsidian.md and the Zettelkasten method for my personal knowledge management system, to-do list, and more.","note":"","type":"article","cover":"https://www.ianmisner.com/wp-content/uploads/2021/01/Personal-knowledge-management-in-Obsidian.md_.png","tags":[],"removed":false,"_id":364284168,"title":"Personal knowledge management in Obsidian.md - Ian Misner","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.ianmisner.com/personal-knowledge-management-in-obsidian-md/","created":"2022-02-11T14:40:24.309Z","lastUpdate":"2022-02-11T14:40:24.309Z","important":false,"media":[{"type":"image","link":"https://www.ianmisner.com/wp-content/uploads/2021/01/Personal-knowledge-management-in-Obsidian.md_.png"},{"type":"image","link":"https://www.ianmisner.com/wp-content/uploads/2021/01/obsidian-knowledge-graph-example-1536x1075.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"ianmisner.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":364284163,"cache":{"status":"ready","size":527281,"created":"2022-02-11T14:46:42.653Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Prefer SVG over PNG, trust browsers to downscale, drop obscure formats—the ultimate, exhaustive guide to favicons for modern web. Includes steps for static HTML and Wepback.","note":"","type":"article","cover":"https://cdn.evilmartians.com/front/posts/how-to-favicon-in-2021-six-files-that-fit-most-needs/cover-c265476.png","tags":[],"removed":false,"_id":364131959,"title":"How to Favicon in 2022: Six files that fit most needs — Martian Chronicles","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs?utm_source=dailydevlinks.com&utm_medium=link_post_dailydevlinks.com&utm_campaign=link_post_dailydevlinks.com&ref=dailydevlinks.com","created":"2022-02-11T05:40:47.787Z","lastUpdate":"2022-02-11T05:40:47.787Z","important":false,"media":[{"type":"image","link":"https://cdn.evilmartians.com/front/posts/how-to-favicon-in-2021-six-files-that-fit-most-needs/cover-c265476.png"},{"type":"image","link":"https://cdn.evilmartians.com/front/posts/how-to-favicon-in-2021-six-files-that-fit-most-needs/generated-e1f0bbd.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"evilmartians.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":364131954,"duplicate":240521032,"cache":{"status":"ready","size":794186,"created":"2022-02-11T05:52:13.265Z"},"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fpiotrmurach.com%2Farticles%2Fwriting-a-ruby-gem-specification%2F","tags":["bundler","rubygems","building-gems","ruby","gem","articles","legacy"],"removed":false,"_id":217430102,"link":"https://piotrmurach.com/articles/writing-a-ruby-gem-specification/","collection":{"$ref":"collections","$id":22341884,"$db":""},"title":"Piotr Murach - Writing a Ruby Gem Specification","media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fpiotrmurach.com%2Farticles%2Fwriting-a-ruby-gem-specification%2F","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"created":"2020-12-01T20:06:54.067Z","lastUpdate":"2022-02-11T00:07:26.500Z","domain":"piotrmurach.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":363159822,"cache":{"status":"ready","size":294048,"created":"2021-09-27T06:20:07.328Z"},"important":true,"highlights":[],"collectionId":22341884},{"excerpt":"Modals are a great use case for showing the power of Turbo frames and Hotwire. Here's an example of how we do it at Bearer.","note":"","type":"article","cover":"https://assets.website-files.com/61570a290fb0e042e260602f/6202bea5418c5c1264478738_hotwire-modals.jpeg","tags":[],"removed":false,"_id":363082733,"title":"Bearer | How to build modals with Hotwire (Turbo Frames + StimulusJS)","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.bearer.com/blog/how-to-build-modals-with-hotwire-turbo-frames-stimulusjs","created":"2022-02-09T19:52:09.859Z","lastUpdate":"2022-02-09T19:52:09.859Z","important":false,"media":[{"type":"image","link":"https://assets.website-files.com/61570a290fb0e042e260602f/6202bea5418c5c1264478738_hotwire-modals.jpeg"},{"type":"image","link":"https://assets.website-files.com/61570a290fb0e042e260602f/6202fcfd0d64b86cf7376426_modal-example.gif"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"bearer.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":363082727,"cache":{"status":"ready","size":4675506,"created":"2022-02-09T20:05:28.652Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Bookshlf showcases expert curators from almost every field. Here’s some of their best tips on how to be more productive in your life, whether at work or just at home.","note":"","type":"article","cover":"https://bookshlf-images.s3.amazonaws.com/shared/home.png","tags":[],"removed":false,"_id":270615386,"title":"How to Be More Productive: 9 Tips from Top Curators","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://bookshlf.com/blog/how-to-be-more-productive","created":"2021-05-19T18:51:41.599Z","lastUpdate":"2022-02-09T03:40:52.522Z","important":false,"media":[{"type":"image","link":"https://bookshlf-images.s3.amazonaws.com/shared/home.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"bookshlf.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":361994736,"cache":{"status":"ready","size":17554,"created":"2021-09-27T06:15:31.468Z"},"highlights":[],"collectionId":22341884},{"excerpt":"I’ve wondered Why Rails becomes slow with JIT for a long time. Today, I’m pleased to share my answer to the question in this article, which…","note":"","type":"article","cover":"https://miro.medium.com/max/1200/1*ictexCreWCzJFHlWehUCSw.png","tags":[],"removed":false,"_id":361994742,"title":"Ruby 3 JIT can make Rails faster","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://k0kubun.medium.com/ruby-3-jit-can-make-rails-faster-756310f235a","created":"2022-02-07T20:29:20.906Z","lastUpdate":"2022-02-07T20:29:24.878Z","important":false,"media":[{"type":"image","link":"https://miro.medium.com/max/1200/1*ictexCreWCzJFHlWehUCSw.png"},{"type":"image","link":"https://miro.medium.com/max/1400/1*ictexCreWCzJFHlWehUCSw.png"},{"type":"image","link":"https://miro.medium.com/max/700/1*zPuLzI6R0YTJqjCC1qtimw.png"},{"type":"image","link":"https://miro.medium.com/max/700/1*nlSl0fW-AKLdsBMFmOyggg.png"},{"type":"image","link":"https://miro.medium.com/max/700/1*YrtMagJKLJrqa91AdFhOXA.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"k0kubun.medium.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":361994735,"cache":{"status":"ready","size":1461012,"created":"2022-02-07T21:18:25.092Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Josh Buchea","note":"","type":"link","cover":"https://joshbuchea.com/images/avatar.jpg","tags":["garden"],"removed":false,"_id":249574820,"title":"What's a digital garden?","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://joshbuchea.com/whats-a-digital-garden/","created":"2021-03-12T07:27:40.777Z","lastUpdate":"2022-02-07T19:49:40.171Z","important":false,"media":[{"type":"image","link":"https://joshbuchea.com/images/avatar.jpg"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"joshbuchea.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":360042706,"cache":{"status":"ready","size":8768,"created":"2021-09-27T06:16:54.766Z"},"broken":true,"highlights":[],"collectionId":22341884},{"excerpt":"First, install the runInTerminal extension. Then, add the following to your keyboard shortcuts: && will wait for the previous command to finish before executing git add . will add all files to be commited git commit…","note":"","type":"link","cover":"https://johnlindquist.com/static/card-ca595e7623420edcdf2ceefd1b086fea.png","tags":["vs-code"],"removed":false,"_id":249791538,"title":"Git Commit and Push From VS Code With a Single Keyboard Shortcut","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://johnlindquist.com/git-commit-and-push-from-vs-code-with-a-single-keyboard-shortcut/","created":"2021-03-13T01:56:16.838Z","lastUpdate":"2022-02-07T19:49:11.439Z","important":false,"media":[{"type":"image","link":"https://johnlindquist.com/static/card-ca595e7623420edcdf2ceefd1b086fea.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"johnlindquist.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":360042705,"cache":{"status":"ready","size":28219,"created":"2021-09-27T06:17:08.282Z"},"highlights":[],"collectionId":22341884},{"excerpt":"How we built language server protocol (LSP) support for the Oso VS Code extension with Rust, WebAssembly (Wasm), and TypeScript","note":"","type":"article","cover":"https://assets.website-files.com/5f1483105c9a72fd0a3b662a/61dc8857bf397c401563d516_MS%20Paint%20Microsoft%20Paint%20Online(4).png","tags":[],"removed":false,"_id":360042713,"title":"How we built a VS Code extension with Rust, WebAssembly, and TypeScript","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.osohq.com/post/building-vs-code-extension-with-rust-wasm-typescript","created":"2022-02-02T10:06:50.876Z","lastUpdate":"2022-02-02T10:06:50.876Z","important":false,"media":[{"type":"image","link":"https://assets.website-files.com/5f1483105c9a72fd0a3b662a/61dc8857bf397c401563d516_MS%20Paint%20Microsoft%20Paint%20Online(4).png"},{"type":"image","link":"https://images.osohq.com/building-vs-code-extension-with-rust-wasm-typescript/Blog%20writing%2012e0d5933594447e9ae0546e49c1645a/Untitled.png"},{"type":"image","link":"https://assets.website-files.com/5f1483105c9a72fd0a3b662a/61f997876df92d1872f88ccf_Group%2520133-p-1600.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"osohq.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":360042704,"cache":{"status":"ready","size":555385,"created":"2022-02-02T10:12:51.438Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Jamstack is showing rapid growth these days. We get more and more tools and frameworks for it almost...","note":"","type":"article","cover":"https://res.cloudinary.com/practicaldev/image/fetch/s--8Xtqt-9Q--/c_imagga_scale,f_auto,fl_progressive,h_500,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mkcnxpqpkzp3ep3ao5bn.jpeg","tags":[],"removed":false,"_id":360035973,"title":"Jamstack is showing rapid growth these days. We get more and more tools and frameworks for it almost...","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://dev.to/alex_barashkov/measuring-gatsby-projects-build-time-using-paid-plans-of-popular-static-website-hosting-platforms-47pp","created":"2022-02-02T09:05:47.909Z","lastUpdate":"2022-02-02T09:05:47.909Z","important":false,"media":[{"type":"image","link":"https://res.cloudinary.com/practicaldev/image/fetch/s--8Xtqt-9Q--/c_imagga_scale,f_auto,fl_progressive,h_500,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mkcnxpqpkzp3ep3ao5bn.jpeg"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"dev.to","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":360035964,"cache":{"status":"ready","size":344770,"created":"2022-02-02T09:11:10.857Z"},"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"article","cover":"https://height-blog.ghost.io/content/images/2022/01/blog-post-contextMenu-1.png","tags":[],"removed":false,"_id":360016967,"title":"Building like it's 1984: A comprehensive guide to creating intuitive context menus - Height","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://height.app/blog/guide-to-build-context-menus","created":"2022-02-02T05:42:49.650Z","lastUpdate":"2022-02-02T05:42:49.650Z","important":false,"media":[{"type":"image","link":"https://height-blog.ghost.io/content/images/2022/01/blog-post-contextMenu-1.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"height.app","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":360016958,"cache":{"status":"ready","size":3195825,"created":"2022-02-02T05:47:26.281Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Half a decade after the first commit of the pioneering ACSS, utility-first CSS is more popular than ever. With success comes many adepts but also a fair shar...","note":"","type":"link","cover":"https://frontstuff.io/assets/2021-05-17/og.png","tags":[],"removed":false,"_id":359785404,"title":"No, Utility Classes Aren't the Same As Inline Styles | frontstuff","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://frontstuff.io/no-utility-classes-arent-the-same-as-inline-styles","created":"2022-02-01T17:24:11.049Z","lastUpdate":"2022-02-01T17:24:11.049Z","important":false,"media":[{"type":"image","link":"https://frontstuff.io/assets/2021-05-17/og.png"},{"type":"image","link":"https://frontstuff.io/assets/2021-05-17/state-of-css-2020-pre-post-processors.png"},{"type":"image","link":"https://frontstuff.io/assets/2021-05-17/nyt-html-cache-headers.png"},{"type":"image","link":"https://frontstuff.io/assets/2021-05-17/nyt-css-cache-headers.png"},{"type":"image","link":"https://frontstuff.io/assets/2021-05-17/tailwindcss-html-cache-headers.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"frontstuff.io","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":359785395,"cache":{"status":"ready","size":2190164,"created":"2022-02-01T17:30:25.049Z"},"highlights":[],"collectionId":22341884}],"count":54,"collectionId":22341884} \ No newline at end of file +{"result":true,"items":[{"excerpt":"Learn how to create a Light and Dark theme with AlpineJS and TailwindCSS to make your website more accessible for everyone.","note":"","type":"article","cover":"https://postsrc.com/storage/ClmXatzYgiVcVi9VYlMHwP9ahRNyX6XNPdTv9dqw.jpg","tags":[],"removed":false,"_id":297682094,"title":"How to Implement Light and Dark Mode with AlpineJs and TailwindCSS | PostSrc","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://postsrc.com/posts/how-to-implement-light-and-dark-mode-with-alpinie-js-and-tailwind-css","created":"2021-08-14T00:42:53.124Z","lastUpdate":"2022-06-03T08:47:20.278Z","important":false,"media":[{"type":"image","link":"https://postsrc.com/storage/ClmXatzYgiVcVi9VYlMHwP9ahRNyX6XNPdTv9dqw.jpg"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"postsrc.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":400982423,"cache":{"status":"ready","size":134014,"created":"2021-09-27T06:12:49.701Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Carve out your own space where you'll seed, cross-pollinate, and grow ideas.","note":"","type":"article","cover":"https://user-images.githubusercontent.com/8457808/82400515-7d026d80-9a25-11ea-83f1-3b9cb8347e07.png","tags":[],"removed":false,"_id":300115637,"title":"Setting up your own digital garden with Jekyll — Maxime Vaillancourt","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://maximevaillancourt.com/blog/setting-up-your-own-digital-garden-with-jekyll","created":"2021-08-21T02:50:50.649Z","lastUpdate":"2022-06-03T08:42:02.955Z","important":false,"media":[{"type":"image","link":"https://user-images.githubusercontent.com/8457808/82400515-7d026d80-9a25-11ea-83f1-3b9cb8347e07.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"maximevaillancourt.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":400982422,"cache":{"status":"ready","size":3638329,"created":"2021-09-27T06:12:49.701Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Writing that reads effortlessly takes great pain to create. Here’s how to make each word count.","note":"","type":"article","cover":"https://hs-marketing.imgix.net/images/blog/2015/aug/damn-hard-writing.png?auto=compress,format&fit=scale&dpr=1","tags":[],"removed":false,"_id":400982423,"title":"Easy Reading Is Damn Hard Writing - Help Scout","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.helpscout.com/blog/damn-hard-writing/","created":"2022-06-03T06:22:16.254Z","lastUpdate":"2022-06-03T06:22:16.254Z","important":false,"media":[{"type":"image","link":"https://hs-marketing.imgix.net/images/blog/2015/aug/damn-hard-writing.png?auto=compress,format&fit=scale&dpr=1"},{"type":"image","link":"https://hs-marketing.imgix.net/images/blog/2015/aug/damn-hard-writing.png?ixlib=gatsbyHook-2.0.2&fit=min&auto=format%2Ccompress&placeholder=dominantColor&w=1446&h=813"}],"user":{"$ref":"users","$id":533255,"$db":""},"highlights":[],"domain":"helpscout.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":400982421,"cache":{"status":"ready","size":385342,"created":"2022-06-03T06:22:54.322Z"},"collectionId":22341884},{"excerpt":"Simple design decisions so you didn't have to think about it.","note":"","type":"article","cover":"https://rdl.ink/render/https%3A%2F%2Fwww.kadlac.com%2Farticles%2F20-unconventional-design-tips-for-non-designers","tags":[],"removed":false,"_id":400979844,"title":"20 unconventional design tips for non-designers","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.kadlac.com/articles/20-unconventional-design-tips-for-non-designers","created":"2022-06-03T05:58:07.557Z","lastUpdate":"2022-06-03T05:58:07.557Z","important":false,"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fwww.kadlac.com%2Farticles%2F20-unconventional-design-tips-for-non-designers","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"highlights":[],"domain":"kadlac.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":400979842,"cache":{"status":"ready","size":1049676,"created":"2022-06-03T06:00:25.286Z"},"collectionId":22341884},{"excerpt":"Everything that happens in Tim’s life","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Ftimpietrusky.github.io%2Flog%2F","tags":[],"removed":false,"_id":268698774,"title":"Log | log","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://timpietrusky.github.io/log/","created":"2021-05-12T19:24:52.262Z","lastUpdate":"2022-06-03T05:52:20.150Z","important":false,"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Ftimpietrusky.github.io%2Flog%2F","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"timpietrusky.github.io","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":398821294,"cache":{"status":"ready","size":3217,"created":"2021-09-27T06:15:58.127Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Developers face an onslaught of marketing and an unrelenting velocity of releases to keep up with. This is why we started Console.","note":"","type":"article","cover":"https://blog.console.dev/content/images/2021/02/asset002.png","tags":[],"removed":false,"_id":398821296,"title":"Focusing on developers","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.console.dev/focusing-on-developers/","created":"2022-05-27T05:41:36.306Z","lastUpdate":"2022-05-27T05:41:36.306Z","important":false,"media":[{"type":"image","link":"https://blog.console.dev/content/images/2021/02/asset002.png"},{"type":"image","link":"https://blog.console.dev/content/images/size/w1200/2021/02/asset002.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"highlights":[],"domain":"blog.console.dev","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":398821293,"cache":{"status":"ready","size":283292,"created":"2022-05-27T05:45:23.994Z"},"collectionId":22341884},{"excerpt":"We built divRIOTS.com with Astro. ‟Here we go, another framework is out and another dude is making a website and blogging about it” — Let's see if we can make this interesting. 😉","note":"","type":"article","cover":"https://divriots.com/img/blog/divriots-astro.jpg","tags":[],"removed":false,"_id":398820752,"title":"Our experience with Astro - ‹div›RIOTS","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://divriots.com/blog/our-experience-with-astro","created":"2022-05-27T05:39:13.482Z","lastUpdate":"2022-05-27T05:39:13.482Z","important":false,"media":[{"type":"image","link":"https://divriots.com/img/blog/divriots-astro.jpg"},{"type":"image","link":"https://divriots.com/img/blog/divriots-com-score-mobile.jpg"},{"type":"image","link":"https://divriots.com/img/blog/divriots-com-score-desktop.jpg"},{"type":"image","link":"https://backlight.dev/mastery/assets/tools/backlight.jpg"}],"user":{"$ref":"users","$id":533255,"$db":""},"highlights":[],"domain":"divriots.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":398820749,"cache":{"status":"ready","size":464335,"created":"2022-05-27T05:45:23.994Z"},"collectionId":22341884},{"excerpt":"Pry is an awesome debugging tool for Ruby. The gem pry-rails seamlessly integrates Pry with rails.\nWith pry-rails included in the project Gemfile, it opens the pry prompt whenever we run rails console.\n[1] pry(main) We can customize this default prompt to show useful information like the current project name & environment name. pry-rails gem provides a custom prompt for just that. Add the following line in your ~/.pryrc file to enable the rails prompt provided by pry-rails gem.","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fwww.imamhossain.me%2Fposts%2Fadd-a-custom-pry-prompt-in-your-rails-console%2F","tags":[],"removed":false,"_id":375608636,"title":"Add a Custom Pry Prompt in your Rails Console","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.imamhossain.me/posts/add-a-custom-pry-prompt-in-your-rails-console/","created":"2022-03-16T15:11:39.491Z","lastUpdate":"2022-03-16T15:11:39.491Z","important":false,"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fwww.imamhossain.me%2Fposts%2Fadd-a-custom-pry-prompt-in-your-rails-console%2F","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"imamhossain.me","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":375608634,"cache":{"status":"ready","size":10522,"created":"2022-03-16T15:38:16.339Z"},"broken":true,"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"article","cover":"https://blog.jim-nielsen.com/assets/img/twitter-card.png","tags":[],"removed":false,"_id":374584413,"title":"Inspecting Web Views in macOS","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.jim-nielsen.com/2022/inspecting-web-views-in-macos/","created":"2022-03-12T17:46:09.868Z","lastUpdate":"2022-03-12T17:46:09.868Z","important":false,"media":[{"type":"image","link":"https://blog.jim-nielsen.com/assets/img/twitter-card.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-family-sharing-music-context-menu.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-family-sharing-music.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-react.png"},{"type":"image","link":"https://cdn.jim-nielsen.com/blog/2022/macos-web-inspector-web-component.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"blog.jim-nielsen.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":374584411,"cache":{"status":"ready","size":1312301,"created":"2022-03-12T18:02:11.000Z"},"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"link","cover":"https://dzhavat.github.io/assets/img/2022/02/07/visually-nested-files-in-vs-code.jpg","tags":[],"removed":false,"_id":372482356,"title":"File nesting in VS Code | Dzhavat Ushev","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://dzhavat.github.io/2022/02/07/file-nesting-in-vs-code.html","created":"2022-03-06T21:05:34.261Z","lastUpdate":"2022-03-06T21:05:34.261Z","important":false,"media":[{"type":"image","link":"https://dzhavat.github.io/assets/img/2022/02/07/visually-nested-files-in-vs-code.jpg"},{"type":"image","link":"https://dzhavat.github.io/assets/img/2022/02/07/file-nesting-settings-in-vs-code.jpg"},{"type":"image","link":"https://dzhavat.github.io/assets/img/2022/02/07/file-nesting-for-Angular-developers.gif"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"dzhavat.github.io","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":372482354,"cache":{"status":"ready","size":263628,"created":"2022-03-06T21:07:22.000Z"},"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fcoding-fonts.css-tricks.com%2F","tags":["fonts","css-tricks","webfonts"],"removed":false,"_id":249194804,"title":"Coding Fonts on CSS-Tricks","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://coding-fonts.css-tricks.com/","created":"2021-03-10T22:01:52.715Z","lastUpdate":"2022-02-27T04:57:06.725Z","important":false,"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fcoding-fonts.css-tricks.com%2F","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"coding-fonts.css-tricks.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070649,"cache":{"status":"ready","size":18381,"created":"2021-09-27T06:16:54.766Z"},"highlights":[],"collectionId":22341884},{"excerpt":"created_at: June 6, 2021 at 05:46AM\nimage: https://ift.tt/Oj01b3\ncanonical_url: https://ift.tt/3jsMnrj\nrss: https://ift.tt/3z51SNM","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fwjwh.eu%2Fposts%2F2021-02-07-ruby-preemptive-fiber.html","tags":["IFTTT","Inoreader","ruby"],"removed":false,"_id":276006958,"link":"https://wjwh.eu/posts/2021-02-07-ruby-preemptive-fiber.html","collection":{"$ref":"collections","$id":22341884,"$db":""},"title":"Pre-emptive fiber-based concurrency in MRI Ruby","created":"2021-06-06T09:46:00.000Z","user":{"$ref":"users","$id":533255,"$db":""},"media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fwjwh.eu%2Fposts%2F2021-02-07-ruby-preemptive-fiber.html","screenshot":true}],"lastUpdate":"2022-02-27T04:54:24.665Z","domain":"wjwh.eu","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070648,"cache":{"status":"ready","size":84823,"created":"2021-09-27T06:15:00.558Z"},"highlights":[],"collectionId":22341884},{"excerpt":"created_at: July 17, 2021 at 02:22PM\nimage: https://ift.tt/3r95Ml3\ncanonical_url: https://ift.tt/3AUusCx\nrss: https://ift.tt/2Ti6vUx","note":"","type":"link","cover":"http://www.macdrifter.com/uploads/2021/07/2021-07-06_08-45-01.png","tags":["IFTTT","Inoreader","0"],"removed":false,"_id":287469030,"link":"http://www.macdrifter.com/2021/07/obsidian-onboarding.html","collection":{"$ref":"collections","$id":22341884,"$db":""},"title":"Obsidian Onboarding","created":"2021-07-17T21:22:00.000Z","media":[{"type":"image","link":"http://www.macdrifter.com/uploads/2021/07/2021-07-06_08-45-01.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"lastUpdate":"2022-02-27T04:22:30.490Z","domain":"macdrifter.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070647,"cache":{"status":"ready","size":1299509,"created":"2021-09-27T06:13:24.717Z"},"broken":false,"highlights":[],"collectionId":22341884},{"excerpt":"Every element I use for the basic structure of a HTML document, with explanations why.","note":"","type":"article","cover":"https://res.cloudinary.com/dp3mem7or/image/upload/w_1200/articles/sm_boilerplate.png","tags":["head","html"],"removed":false,"_id":258331342,"title":"My current HTML boilerplate - Manuel Matuzović","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.matuzo.at/blog/html-boilerplate/","created":"2021-04-09T20:35:48.818Z","lastUpdate":"2022-02-26T07:15:33.361Z","important":false,"media":[{"type":"image","link":"https://res.cloudinary.com/dp3mem7or/image/upload/w_1200/articles/sm_boilerplate.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"matuzo.at","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070646,"cache":{"status":"ready","size":311223,"created":"2021-09-27T06:16:28.294Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Have you ever wondered if you could use hotwire with view_component instead of partials. If you have, maybe tried and failed, welcome here.\nBy default hotwire is made to work with partials, which is the built in way to extract 'components' in the con...","note":"","type":"article","cover":"https://hashnode.com/utility/r?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620650881416%2FkZ5gWCqNQ.png%3Fw%3D1200%26h%3D630%26fit%3Dcrop%26crop%3Dentropy%26auto%3Dcompress%2Cformat%26format%3Dwebp%26fm%3Dpng","tags":[],"removed":false,"_id":370070652,"title":"Making Hotwire play nice with ViewComponent","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.kuda.dev/making-hotwire-play-nice-with-viewcomponent-ckoilssb40msdv9s10v139kgs","created":"2022-02-26T07:12:52.580Z","lastUpdate":"2022-02-26T07:12:52.580Z","important":false,"media":[{"type":"image","link":"https://hashnode.com/utility/r?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620650881416%2FkZ5gWCqNQ.png%3Fw%3D1200%26h%3D630%26fit%3Dcrop%26crop%3Dentropy%26auto%3Dcompress%2Cformat%26format%3Dwebp%26fm%3Dpng"},{"type":"image","link":"https://blog.kuda.dev/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1620650881416%2FkZ5gWCqNQ.png%3Fw%3D1600%26h%3D840%26fit%3Dcrop%26crop%3Dentropy%26auto%3Dcompress%2Cformat%26format%3Dwebp&w=3840&q=75"},{"type":"image","link":"https://cdn.hashnode.com/res/hashnode/image/upload/v1620650508471/XwXipgBgf.gif?auto=format,compress&gif-q=60&format=webm"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"blog.kuda.dev","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":370070645,"cache":{"status":"ready","size":773054,"created":"2022-02-26T07:23:59.045Z"},"highlights":[],"collectionId":22341884},{"excerpt":"How do you handle component spacing in a design system? Do you add margin directly to the components, or outsource it to another component?","note":"","type":"article","cover":"https://css-tricks.com/wp-json/social-image-generator/v1/image/362044","tags":[],"removed":false,"_id":369889605,"title":"Component Spacing in a Design System | CSS-Tricks","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://css-tricks.com/component-spacing-design-system/","created":"2022-02-25T18:17:29.402Z","lastUpdate":"2022-02-25T18:17:29.402Z","important":false,"media":[{"type":"image","link":"https://css-tricks.com/wp-json/social-image-generator/v1/image/362044"},{"type":"image","link":"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/component-layout-example.png?w=1709&ssl=1"},{"type":"image","link":"https://res.cloudinary.com/css-tricks/image/upload/w_600,q_auto,f_auto/buysellads/uu/7/110298/1643229531-ad_01.jpg"},{"type":"image","link":"https://res.cloudinary.com/css-tricks/image/upload/w_600,q_auto,f_auto/buysellads/uu/7/110298/1642798488-css-tricks-ad.png"},{"type":"image","link":"https://res.cloudinary.com/css-tricks/image/upload/w_600,q_auto,f_auto/buysellads/uu/7/110638/1644014378-2022-02-04_600x600-stop-overpaying_1_.jpg"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"css-tricks.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":369889598,"cache":{"status":"ready","size":508555,"created":"2022-02-25T18:25:33.000Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Introducing 1Password for SSH & Git (Beta), the single source of truth for all your SSH keys. With 1Password, you can:","note":"","type":"link","cover":"https://developer.1password.com/img/meta-og-image.png","tags":[],"removed":false,"_id":367916249,"title":"1Password for SSH & Git (Beta) | 1Password Developer Documentation","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://developer.1password.com/docs/ssh/","created":"2022-02-20T00:53:20.748Z","lastUpdate":"2022-02-20T00:53:20.748Z","important":false,"media":[{"type":"image","link":"https://developer.1password.com/img/meta-og-image.png"},{"type":"image","link":"https://developer.1password.com/img/ssh/generate-ssh-key-github.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"developer.1password.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":367916242,"cache":{"status":"ready","size":138314,"created":"2022-02-20T01:16:18.185Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Do you ever wish that your highlights were tagged with useful keywords and categories, but never bothered because the process of tagging is just too cumbersome? In this guide, we're going to learn an easier way to tag your highlights using a powerful feature found only in Readwise called inline","note":"","type":"article","cover":"https://s3.amazonaws.com/readwiseio/2018/06/inline-tagging-cover-image-1.gif","tags":[],"removed":false,"_id":364382438,"title":"How to Tag Your Highlights While You Read with Inline Tagging in Readwise","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://blog.readwise.io/tag-your-highlights-while-you-read/","created":"2022-02-11T19:48:07.040Z","lastUpdate":"2022-02-11T19:48:07.040Z","important":false,"media":[{"type":"image","link":"https://s3.amazonaws.com/readwiseio/2018/06/inline-tagging-cover-image-1.gif"},{"type":"image","link":"https://s3.amazonaws.com/readwiseio/2018/05/inline-tagging-1.gif"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"blog.readwise.io","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":364382431,"cache":{"status":"ready","size":569152,"created":"2022-02-11T20:03:22.484Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Why and how I use Obsidian.md and the Zettelkasten method for my personal knowledge management system, to-do list, and more.","note":"","type":"article","cover":"https://www.ianmisner.com/wp-content/uploads/2021/01/Personal-knowledge-management-in-Obsidian.md_.png","tags":[],"removed":false,"_id":364284168,"title":"Personal knowledge management in Obsidian.md - Ian Misner","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.ianmisner.com/personal-knowledge-management-in-obsidian-md/","created":"2022-02-11T14:40:24.309Z","lastUpdate":"2022-02-11T14:40:24.309Z","important":false,"media":[{"type":"image","link":"https://www.ianmisner.com/wp-content/uploads/2021/01/Personal-knowledge-management-in-Obsidian.md_.png"},{"type":"image","link":"https://www.ianmisner.com/wp-content/uploads/2021/01/obsidian-knowledge-graph-example-1536x1075.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"ianmisner.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":364284161,"cache":{"status":"ready","size":527281,"created":"2022-02-11T14:46:42.653Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Prefer SVG over PNG, trust browsers to downscale, drop obscure formats—the ultimate, exhaustive guide to favicons for modern web. Includes steps for static HTML and Wepback.","note":"","type":"article","cover":"https://cdn.evilmartians.com/front/posts/how-to-favicon-in-2021-six-files-that-fit-most-needs/cover-c265476.png","tags":[],"removed":false,"_id":364131959,"title":"How to Favicon in 2022: Six files that fit most needs — Martian Chronicles","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs?utm_source=dailydevlinks.com&utm_medium=link_post_dailydevlinks.com&utm_campaign=link_post_dailydevlinks.com&ref=dailydevlinks.com","created":"2022-02-11T05:40:47.787Z","lastUpdate":"2022-02-11T05:40:47.787Z","important":false,"media":[{"type":"image","link":"https://cdn.evilmartians.com/front/posts/how-to-favicon-in-2021-six-files-that-fit-most-needs/cover-c265476.png"},{"type":"image","link":"https://cdn.evilmartians.com/front/posts/how-to-favicon-in-2021-six-files-that-fit-most-needs/generated-e1f0bbd.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"evilmartians.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":364131952,"duplicate":240521032,"cache":{"status":"ready","size":794186,"created":"2022-02-11T05:52:13.265Z"},"highlights":[],"collectionId":22341884},{"excerpt":"","note":"","type":"link","cover":"https://rdl.ink/render/https%3A%2F%2Fpiotrmurach.com%2Farticles%2Fwriting-a-ruby-gem-specification%2F","tags":["bundler","rubygems","building-gems","ruby","gem","articles","legacy"],"removed":false,"_id":217430102,"link":"https://piotrmurach.com/articles/writing-a-ruby-gem-specification/","collection":{"$ref":"collections","$id":22341884,"$db":""},"title":"Piotr Murach - Writing a Ruby Gem Specification","media":[{"type":"image","link":"https://rdl.ink/render/https%3A%2F%2Fpiotrmurach.com%2Farticles%2Fwriting-a-ruby-gem-specification%2F","screenshot":true}],"user":{"$ref":"users","$id":533255,"$db":""},"created":"2020-12-01T20:06:54.067Z","lastUpdate":"2022-02-11T00:07:26.500Z","domain":"piotrmurach.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":363159820,"cache":{"status":"ready","size":294048,"created":"2021-09-27T06:20:07.328Z"},"important":true,"highlights":[],"collectionId":22341884},{"excerpt":"Modals are a great use case for showing the power of Turbo frames and Hotwire. Here's an example of how we do it at Bearer.","note":"","type":"article","cover":"https://assets.website-files.com/61570a290fb0e042e260602f/6202bea5418c5c1264478738_hotwire-modals.jpeg","tags":[],"removed":false,"_id":363082733,"title":"Bearer | How to build modals with Hotwire (Turbo Frames + StimulusJS)","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://www.bearer.com/blog/how-to-build-modals-with-hotwire-turbo-frames-stimulusjs","created":"2022-02-09T19:52:09.859Z","lastUpdate":"2022-02-09T19:52:09.859Z","important":false,"media":[{"type":"image","link":"https://assets.website-files.com/61570a290fb0e042e260602f/6202bea5418c5c1264478738_hotwire-modals.jpeg"},{"type":"image","link":"https://assets.website-files.com/61570a290fb0e042e260602f/6202fcfd0d64b86cf7376426_modal-example.gif"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"bearer.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":363082725,"cache":{"status":"ready","size":4675506,"created":"2022-02-09T20:05:28.652Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Bookshlf showcases expert curators from almost every field. Here’s some of their best tips on how to be more productive in your life, whether at work or just at home.","note":"","type":"article","cover":"https://bookshlf-images.s3.amazonaws.com/shared/home.png","tags":[],"removed":false,"_id":270615386,"title":"How to Be More Productive: 9 Tips from Top Curators","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://bookshlf.com/blog/how-to-be-more-productive","created":"2021-05-19T18:51:41.599Z","lastUpdate":"2022-02-09T03:40:52.522Z","important":false,"media":[{"type":"image","link":"https://bookshlf-images.s3.amazonaws.com/shared/home.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"bookshlf.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":361994734,"cache":{"status":"ready","size":17554,"created":"2021-09-27T06:15:31.468Z"},"highlights":[],"collectionId":22341884},{"excerpt":"I’ve wondered Why Rails becomes slow with JIT for a long time. Today, I’m pleased to share my answer to the question in this article, which…","note":"","type":"article","cover":"https://miro.medium.com/max/1200/1*ictexCreWCzJFHlWehUCSw.png","tags":[],"removed":false,"_id":361994742,"title":"Ruby 3 JIT can make Rails faster","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://k0kubun.medium.com/ruby-3-jit-can-make-rails-faster-756310f235a","created":"2022-02-07T20:29:20.906Z","lastUpdate":"2022-02-07T20:29:24.878Z","important":false,"media":[{"type":"image","link":"https://miro.medium.com/max/1200/1*ictexCreWCzJFHlWehUCSw.png"},{"type":"image","link":"https://miro.medium.com/max/1400/1*ictexCreWCzJFHlWehUCSw.png"},{"type":"image","link":"https://miro.medium.com/max/700/1*zPuLzI6R0YTJqjCC1qtimw.png"},{"type":"image","link":"https://miro.medium.com/max/700/1*nlSl0fW-AKLdsBMFmOyggg.png"},{"type":"image","link":"https://miro.medium.com/max/700/1*YrtMagJKLJrqa91AdFhOXA.png"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"k0kubun.medium.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":361994733,"cache":{"status":"ready","size":1461012,"created":"2022-02-07T21:18:25.092Z"},"highlights":[],"collectionId":22341884},{"excerpt":"Josh Buchea","note":"","type":"link","cover":"https://joshbuchea.com/images/avatar.jpg","tags":["garden"],"removed":false,"_id":249574820,"title":"What's a digital garden?","collection":{"$ref":"collections","$id":22341884,"$db":""},"link":"https://joshbuchea.com/whats-a-digital-garden/","created":"2021-03-12T07:27:40.777Z","lastUpdate":"2022-02-07T19:49:40.171Z","important":false,"media":[{"type":"image","link":"https://joshbuchea.com/images/avatar.jpg"}],"user":{"$ref":"users","$id":533255,"$db":""},"domain":"joshbuchea.com","creatorRef":{"avatar":"https://up.raindrop.io/user/avatars/533/255/A5274595_33_DC_403_C_B4_C3_EB_3707_F01423.jpeg","_id":533255,"name":"andrewmcodes","email":""},"sort":360042704,"cache":{"status":"ready","size":8768,"created":"2021-09-27T06:16:54.766Z"},"broken":true,"highlights":[],"collectionId":22341884}],"count":59,"collectionId":22341884} \ No newline at end of file