56,966 blogs · [ { "id": "01a0879e-5212-729d-a450-3cfc5a1cfe88", "title": "The TRMNL Diaries", "url": "https://madelinemiller.dev/blog/trmnl-diaries/", "published_at": "2026-07-26T15:08:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5a83b412", "title": "10 Year Q & A", "url": "https://madelinemiller.dev/blog/10-year-q-and-a/", "published_at": "2026-06-09T20:19:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5ac872a1", "title": "IPv4 exhaustion is now a UX problem", "url": "https://madelinemiller.dev/blog/ipv4-is-a-ux-problem/", "published_at": "2026-04-15T23:16:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5ad7757f", "title": "Phone numbers are not life-long identifiers", "url": "https://madelinemiller.dev/blog/phone-number-uniqueness/", "published_at": "2026-03-09T15:49:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5bd08473", "title": "Have we decided that JavaScript is bad?", "url": "https://madelinemiller.dev/blog/javascript-ecosystem-maturity/", "published_at": "2026-02-26T18:00:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5be3d029", "title": "Pride & Bug Reports", "url": "https://madelinemiller.dev/blog/pride-and-bug-reports/", "published_at": "2026-01-16T21:10:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5c7d831b", "title": "What's new in WorldEdit 7.4?", "url": "https://madelinemiller.dev/blog/introducing-worldedit-7-4/", "published_at": "2025-12-24T14:48:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5c7ec86f", "title": "The JavaScript Ecosystem: What to watch in 2026", "url": "https://madelinemiller.dev/blog/2025-javascript-ecosystem/", "published_at": "2025-12-22T16:10:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5d1c29f7", "title": "The Risks of Modding - Community", "url": "https://madelinemiller.dev/blog/risks-of-modding-community/", "published_at": "2025-12-08T14:30:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5ddafd0c", "title": "I wish reply articles worked better", "url": "https://madelinemiller.dev/blog/i-wish-reply-articles-worked-better/", "published_at": "2025-11-23T14:12:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5e316b5a", "title": "The Risks of Modding - Content Creation", "url": "https://madelinemiller.dev/blog/risks-of-modding-content-creation/", "published_at": "2025-11-21T20:02:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5ead5fbb", "title": "Whole Genome Sequencing Part 3: Ancestry Analysis", "url": "https://madelinemiller.dev/blog/whole-genome-sequencing-ancestry/", "published_at": "2025-07-11T21:43:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc5f68e79f", "title": "Setting up a Mailing List for a Personal Blog", "url": "https://madelinemiller.dev/blog/personal-blog-mailing-list/", "published_at": "2025-06-29T13:53:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc607bb730", "title": "What do AI Search Engines mean for Blogging?", "url": "https://madelinemiller.dev/blog/ai-search-engines-blogging/", "published_at": "2025-05-16T23:46:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc61820d73", "title": "The dark side of account bans", "url": "https://madelinemiller.dev/blog/dark-side-account-bans/", "published_at": "2025-05-07T19:44:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc61a06333", "title": "What actually is optimisation?", "url": "https://madelinemiller.dev/blog/what-is-optimisation/", "published_at": "2025-05-06T19:22:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc63204625", "title": "What are shaders in Minecraft?", "url": "https://madelinemiller.dev/blog/what-are-minecraft-shaders/", "published_at": "2025-02-23T17:03:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c93b4c3cb", "title": "Self-publishing an eBook as a developer", "url": "https://madelinemiller.dev/blog/ebook-publishing-developer-perspective/", "published_at": "2025-02-01T10:03:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c93f314f2", "title": "How to understand Spark reports to fix Minecraft Server lag", "url": "https://madelinemiller.dev/blog/spark-performance-guide/", "published_at": "2025-01-22T21:29:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c9602c9af", "title": "The cost of a block lookup in Minecraft", "url": "https://madelinemiller.dev/blog/minecraft-block-lookup-cost/", "published_at": "2025-01-04T23:49:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc602ae00c", "title": "Motion Sickness Accessibility in Video Games", "url": "https://madelinemiller.dev/blog/motion-sickness-accessibility/", "published_at": "2024-12-28T00:02:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c97a37f70", "title": "The JavaScript Ecosystem: What to watch in 2025", "url": "https://madelinemiller.dev/blog/2024-javascript-ecosystem/", "published_at": "2024-12-23T22:00:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c9abfa2fe", "title": "Whole Genome Sequencing Part 2: Using WGS Extract", "url": "https://madelinemiller.dev/blog/whole-genome-sequencing-wgsextract/", "published_at": "2024-12-01T23:17:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d044d44386", "title": "Moving from Gatsby to Vike", "url": "https://madelinemiller.dev/blog/gatsby-to-vike/", "published_at": "2024-09-28T23:10:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04579167e", "title": "What to expect when you're expecting Minecraft Malware", "url": "https://madelinemiller.dev/blog/minecraft-malware/", "published_at": "2024-07-17T21:50:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d045fa9432", "title": "Whole Genome Sequencing Part 1: How to choose a provider", "url": "https://madelinemiller.dev/blog/whole-genome-sequencing-intro/", "published_at": "2024-06-13T21:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0468f4880", "title": "Should you forceUpgrade when updating your Minecraft server?", "url": "https://madelinemiller.dev/blog/minecraft-server-forceupgrade/", "published_at": "2024-05-24T22:13:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0471f038c", "title": "Announcing CraftBook 5 Beta Releases", "url": "https://madelinemiller.dev/blog/craftbook-5-beta/", "published_at": "2024-04-05T16:12:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c997dfdda", "title": "What is Bukkit?", "url": "https://madelinemiller.dev/blog/what-is-bukkit/", "published_at": "2024-03-22T20:42:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04748e608", "title": "Stop using CraftBukkit", "url": "https://madelinemiller.dev/blog/stop-using-craftbukkit/", "published_at": "2024-01-13T16:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d047b44744", "title": "What's new in WorldEdit 7.3?", "url": "https://madelinemiller.dev/blog/introducing-worldedit-7-3/", "published_at": "2023-10-08T22:30:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d048b41df9", "title": "Using Knip to find dead code in a high-traffic git repo", "url": "https://madelinemiller.dev/blog/knip-dead-code/", "published_at": "2023-09-17T19:54:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d044548ef1", "title": "Why doesn't WorldGuard exist for Forge, NeoForge, or Fabric?", "url": "https://madelinemiller.dev/blog/where-is-forge-worldguard/", "published_at": "2023-01-08T20:13:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d049c5b182", "title": "Everything you can do to reduce bundle size for webapps", "url": "https://madelinemiller.dev/blog/reduce-webapp-bundle-size/", "published_at": "2022-08-25T20:11:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d049d66ef0", "title": "What are plugin conflicts on Minecraft Servers?", "url": "https://madelinemiller.dev/blog/plugin-conflicts-explained/", "published_at": "2022-08-03T23:07:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c96f617bc", "title": "Should you use a hybrid Minecraft server?", "url": "https://madelinemiller.dev/blog/minecraft-hybrid-servers/", "published_at": "2022-03-21T22:26:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0490914d1", "title": "How to fix zip file closed errors in Minecraft?", "url": "https://madelinemiller.dev/blog/minecraft-zip-file-closed/", "published_at": "2022-03-09T22:34:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc626270fa", "title": "Why you shouldn't use Offline Mode on a Minecraft Server", "url": "https://madelinemiller.dev/blog/minecraft-offline-mode/", "published_at": "2021-11-25T22:53:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c99f1f15f", "title": "Why you shouldn't run a Minecraft server as root", "url": "https://madelinemiller.dev/blog/root-minecraft-server/", "published_at": "2021-09-15T18:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04b224b5e", "title": "Why I ditched Accelerated Mobile Pages (AMP) for my blog", "url": "https://madelinemiller.dev/blog/why-i-ditched-amp/", "published_at": "2021-08-27T22:16:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04baf1b27", "title": "Flexible working location for ALL employees is essential for accessibility", "url": "https://madelinemiller.dev/blog/flexible-working-location-everyone/", "published_at": "2021-07-05T22:15:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04bb9bfd6", "title": "Okay Vercel, you've won me over... Sort of", "url": "https://madelinemiller.dev/blog/vercel-won-me-over/", "published_at": "2021-06-26T15:54:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04c6d63c9", "title": "Name changes are an accessibility problem", "url": "https://madelinemiller.dev/blog/name-change-process/", "published_at": "2021-05-17T20:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0469e20c5", "title": "Should you use a fork of Paper?", "url": "https://madelinemiller.dev/blog/using-paper-forks/", "published_at": "2021-04-12T21:28:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c99de4aa5", "title": "What is the Paper hard fork?", "url": "https://madelinemiller.dev/blog/paper-hard-fork/", "published_at": "2021-03-15T14:44:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04ecda8ac", "title": "Should you use plugins or data packs on a Minecraft server?", "url": "https://madelinemiller.dev/blog/plugins-vs-data-packs/", "published_at": "2021-03-06T13:30:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04fb0c696", "title": "Why do some emojis show as question marks or boxes?", "url": "https://madelinemiller.dev/blog/emoji-question-mark-boxes/", "published_at": "2021-02-28T21:14:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d051504118", "title": "Why should you never use a Minecraft mob stacker?", "url": "https://madelinemiller.dev/blog/mob-stacker-problems/", "published_at": "2021-02-18T21:54:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d051d3c4e3", "title": "Are free or premium Minecraft plugins better?", "url": "https://madelinemiller.dev/blog/premium-free-minecraft-plugins/", "published_at": "2021-02-16T20:18:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d051f42734", "title": "My thoughts on Inland Empire", "url": "https://madelinemiller.dev/blog/inland-empire-analysis/", "published_at": "2021-02-14T14:40:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04becda82", "title": "Top 10 Minecraft Server Plugins", "url": "https://madelinemiller.dev/blog/top-minecraft-server-plugins/", "published_at": "2021-02-08T17:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0585e2608", "title": "The Best Tools for Java Development", "url": "https://madelinemiller.dev/blog/best-java-development-tools/", "published_at": "2021-01-31T19:34:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0586e0023", "title": "Should you run a Minecraft Java or Bedrock server?", "url": "https://madelinemiller.dev/blog/minecraft-java-bedrock-edition/", "published_at": "2021-01-28T18:12:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d05adebe6f", "title": "How to ask for support from an Open Source Project", "url": "https://madelinemiller.dev/blog/open-source-software-support/", "published_at": "2021-01-15T22:06:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c9721586f", "title": "The Performance Overhead of JavaScript Promises and Async Await", "url": "https://madelinemiller.dev/blog/javascript-promise-overhead/", "published_at": "2020-12-28T20:40:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04a35292d", "title": "Should you use MySQL with a Minecraft plugin?", "url": "https://madelinemiller.dev/blog/minecraft-plugin-databases/", "published_at": "2020-12-23T15:24:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c936584a1", "title": "What the Future of Java means for Minecraft", "url": "https://madelinemiller.dev/blog/java-future-minecraft/", "published_at": "2020-11-28T23:16:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04cbd5653", "title": "CraftBook 5 and the future of CraftBook", "url": "https://madelinemiller.dev/blog/craftbook-5-future/", "published_at": "2020-11-08T20:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04d2ff525", "title": "What's new in WorldEdit 7.2?", "url": "https://madelinemiller.dev/blog/introducing-worldedit-72/", "published_at": "2020-11-03T10:13:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04d945843", "title": "I don't believe in timezones, here's why", "url": "https://madelinemiller.dev/blog/timezones-are-bad/", "published_at": "2020-10-26T22:37:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d055df872b", "title": "What makes a Minecraft server host good?", "url": "https://madelinemiller.dev/blog/good-minecraft-server-host/", "published_at": "2020-10-21T20:48:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c956ecaa6", "title": "How to actually run a Minecraft Server: The Ultimate Guide", "url": "https://madelinemiller.dev/blog/ultimate-guide-running-minecraft-server/", "published_at": "2020-09-17T18:00:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c962ef112", "title": "Which version of Minecraft should your server use?", "url": "https://madelinemiller.dev/blog/which-minecraft-version/", "published_at": "2020-09-08T22:43:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c989f43d9", "title": "Paper vs Spigot, which should you use?", "url": "https://madelinemiller.dev/blog/paper-vs-spigot/", "published_at": "2020-08-26T17:58:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04e065afd", "title": "Embed Google Web Toolkit (GWT) apps on a React website", "url": "https://madelinemiller.dev/blog/embed-gwt-in-react/", "published_at": "2020-08-19T23:28:00+00:00" }, { "id": "01a0879e-5213-7340-9be6-ce4c94c84d66", "title": "A Decade of Survival Multiplayer. Celebrating the first 10 years of the Minecraft Multiplayer Community", "url": "https://madelinemiller.dev/blog/decade-of-minecraft-multiplayer/", "published_at": "2020-08-04T00:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04e95f961", "title": "Should you use Large Plugins or Multiple Small Plugins?", "url": "https://madelinemiller.dev/blog/large-plugins-vs-small-plugins/", "published_at": "2020-07-11T16:57:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04ea6b898", "title": "How to use WorldEdit with Modded Blocks", "url": "https://madelinemiller.dev/blog/worldedit-mod-blocks/", "published_at": "2020-05-09T15:41:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04fb40e8f", "title": "Optimizing data-heavy JavaScript code", "url": "https://madelinemiller.dev/blog/optimizing-data-heavy-javascript/", "published_at": "2020-03-01T23:21:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d050311fa3", "title": "Demystifying a TypeScript quirk", "url": "https://madelinemiller.dev/blog/demystifying-typescript-quirk/", "published_at": "2020-02-01T18:28:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0503db7f2", "title": "What's new in WorldEdit 7.1?", "url": "https://madelinemiller.dev/blog/introducing-worldedit-71/", "published_at": "2020-01-24T22:22:00+00:00" }, { "id": "01a0879e-5212-729d-a450-3cfc6138df0e", "title": "How to use MCEdit Schematics in Minecraft 1.13 and newer!", "url": "https://madelinemiller.dev/blog/use-mcedit-schematics-113/", "published_at": "2020-01-15T00:02:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04556c297", "title": "Forge, NeoForge, and Fabric. Which should you use?", "url": "https://madelinemiller.dev/blog/forge-vs-fabric/", "published_at": "2020-01-04T22:13:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04a1a4825", "title": "The Social Implications of having a VAC Ban", "url": "https://madelinemiller.dev/blog/social-implications-vac-ban/", "published_at": "2019-12-29T18:48:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0557b13de", "title": "How to solve unknown Minecraft server plugin issues", "url": "https://madelinemiller.dev/blog/debug-minecraft-server-issues/", "published_at": "2019-12-08T20:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d05c7759a9", "title": "How to best understand Minecraft Server Timings", "url": "https://madelinemiller.dev/blog/timings-performance-guide/", "published_at": "2019-11-30T20:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d05782d87e", "title": "Introducing WorldEditCLI and WorldEdit Golf", "url": "https://madelinemiller.dev/blog/introducing-worldeditcli/", "published_at": "2019-09-29T15:32:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04951d85c", "title": "Why you should never /reload on Spigot and Paper", "url": "https://madelinemiller.dev/blog/problem-with-reload/", "published_at": "2019-07-01T23:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d05c1a9535", "title": "How to save and load schematics with WorldEdit", "url": "https://madelinemiller.dev/blog/use-schematics-worldedit/", "published_at": "2019-06-27T21:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d050c768e9", "title": "Introducing WorldEdit 7: What's New?", "url": "https://madelinemiller.dev/blog/introducing-worldedit-7/", "published_at": "2019-06-11T20:00:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0529ff2f5", "title": "2018, a Year in Review", "url": "https://madelinemiller.dev/blog/2018-a-year-in-review/", "published_at": "2019-01-01T22:10:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d05b6af6ba", "title": "How to Load and Save Schematics with the WorldEdit API", "url": "https://madelinemiller.dev/blog/how-to-load-and-save-schematics-with-the-worldedit-api/", "published_at": "2018-12-03T00:07:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d052dd0d4c", "title": "Updating CraftBook to Minecraft 1.13", "url": "https://madelinemiller.dev/blog/updating-craftbook-to-minecraft-113/", "published_at": "2018-11-18T22:06:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d053ac62a3", "title": "Updating WorldGuard to Minecraft 1.13", "url": "https://madelinemiller.dev/blog/updating-worldguard-to-minecraft-113/", "published_at": "2018-08-10T22:06:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d054aae41a", "title": "Updating WorldEdit to Minecraft 1.13", "url": "https://madelinemiller.dev/blog/updating-worldedit-to-minecraft-113/", "published_at": "2018-08-03T22:56:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d056b3334c", "title": "Updating 3 of the largest Minecraft plugins in existence to 1.13", "url": "https://madelinemiller.dev/blog/updating-3-of-the-largest-minecraft-plugins-in-existence-to-113/", "published_at": "2018-07-26T23:38:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d05d222c87", "title": "An Ode to the Minecraft Community", "url": "https://madelinemiller.dev/blog/an-ode-to-the-minecraft-community/", "published_at": "2018-07-10T23:16:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04ca91e66", "title": "LastPass, a venture into the world of bug bounties", "url": "https://madelinemiller.dev/blog/lastpass-a-venture-into-the-world-of-bug-bounties/", "published_at": "2017-12-26T18:11:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d04cb0b594", "title": "Exceptions as Flow Control in Java", "url": "https://madelinemiller.dev/blog/exceptions-as-flow-control-in-java/", "published_at": "2016-12-27T23:44:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d05a44af5b", "title": "Anti-Cheat, An Analysis", "url": "https://madelinemiller.dev/blog/anticheat-an-analysis/", "published_at": "2016-11-15T19:53:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d059228fc1", "title": "Creating an Advanced Aimbot Detection system", "url": "https://madelinemiller.dev/blog/the-4-year-late-postmortem-of-an-advanced-aimbot-detection-system/", "published_at": "2016-08-06T20:10:00+00:00" }, { "id": "01a0879e-5214-718a-8eb4-48d0599241fe", "title": "The Issues of VR and Body Diversity", "url": "https://madelinemiller.dev/blog/the-issue-of-body-size-in-vr/", "published_at": "2016-06-09T17:08:00+00:00" } ] posts Claim your blog
Back to All posts by Maddy Miller
Blog · corpus.blog/blogs/madelinemiller.dev/posts

All posts by Maddy Miller

madelinemiller.dev

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016