<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/hn/best-of/2023/12" -->

---
title: Best Hacker News posts — December 2023 | daily.dev
description: The most upvoted Hacker News posts from December 2023, curated by the daily.dev community.
canonical: https://daily.dev/sources/hn/best-of/2023/12
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/hn/best-of/2023/12
og:type: website
og:site_name: daily.dev
og:title: Best Hacker News posts — December 2023 | daily.dev
og:description: The most upvoted Hacker News posts from December 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Hacker News — December 2023

1. 1  
[](https://daily.dev/posts/svg-tutorial-6zkocwjmr "SVG Tutorial")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
SVG Tutorial  
Learn to code SVG images step by step. Topics include drawing basic shapes, using clip-path, and creating background patterns with SVG and CSS.  
370  
17
2. 2  
[](https://daily.dev/posts/in-2024-please-switch-to-firefox-tercqwvko "In 2024, please switch to Firefox")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
In 2024, please switch to Firefox  
Switching to Firefox in 2024 is important for privacy reasons and to avoid a browser engine monopoly. Firefox is a fast and modern browser that can be used on multiple platforms.  
318  
63
3. 3  
[](https://daily.dev/posts/you-don-t-need-javascript-for-that-ghdrvlg6e "You don't need JavaScript for that")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
You don't need JavaScript for that  
The article discusses the rule of least power in web development, which advocates for choosing the least powerful language suitable for a given purpose. It highlights examples of using native HTML and CSS instead of JavaScript, such as creating custom switches, using the datalist element for autosuggest, utilizing the native color picker, implementing accordions, and using dialog modals. The article also mentions future features that will further reduce the need for JavaScript.  
285  
14
4. 4  
[](https://daily.dev/posts/tailwind-css-application-ui-kit-smgrbbje1 "Tailwind CSS Application UI Kit")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Tailwind CSS Application UI Kit  
Tailwind CSS Application UI Kit, Catalyst, offers modern UI components built with Tailwind CSS, Headless UI, and React. The components are customizable, easy to use, keyboard accessible, and available in TypeScript and JavaScript. The templates can be purchased individually or with an all-access license, with free updates included.  
198  
5
5. 5  
[](https://daily.dev/posts/make-beautiful-logos-fast-and-free-tlip372bp "Make Beautiful Logos Fast and Free")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Make Beautiful Logos Fast and Free  
LogoFast offers presets, the #1 NextJS boilerplate, and is loved by over 1,000 makers. It helps users ship fast and save time on projects.  
183  
9
6. 6  
[](https://daily.dev/posts/google-ai-for-developers-ln65dmupr "Google AI for Developers")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Google AI for Developers  
Google AI offers developers a range of tools and technologies to leverage artificial intelligence and machine learning in their projects. It brings benefits such as enhanced functionality, improved user experience, and automation. However, developers may also face challenges and limitations when working with Google AI.  
119  
2
7. 7  
[](https://daily.dev/posts/reference-docs-for-npm-packages-ilwfjl1e3 "Reference docs for npm packages")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Reference docs for npm packages  
Discover the best way to browse type documentation for npm packages and find the recommended resources for finding documentation on npm packages.  
98  
5
8. 8  
[](https://daily.dev/posts/penxio-penx-a-structured-note-taking-app-for-personal-use--gmkydfgnm "penxio/penx: A structured note-taking app for personal use.")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
penxio/penx: A structured note-taking app for personal use.  
PenX is a structured note-taking app designed for personal use. It prioritizes privacy and features local-first data ownership, end-to-end encryption for data syncing, and GitHub-based version control. The primary tech stack includes Next.js, TypeScript, tRPC, Prisma, NextAuth.js, Slate.js, and IndexedDB. The maker of PenX is 0xZion, a freelancing full-stack developer.  
89  
2
9. 9  
[](https://daily.dev/posts/open-source-zero-knowledge-private-note-taking-app-9wmnmg5pr "Open source & zero knowledge private note taking app")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Open source & zero knowledge private note taking app  
Notesnook is an open-source and zero-knowledge private note-taking app that prioritizes user privacy. It offers end-to-end encryption, encrypted note syncing, password-protected notes vault, web clipping, and more. Users can access their notes on mobile and desktop devices.  
89  
2
10. 10  
[](https://daily.dev/posts/open-source-software-open-source-alternatives-tsla7inrn "Open Source Software & Open Source Alternatives")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Open Source Software & Open Source Alternatives  
Discover and submit open source projects for review or stay updated with new OSS products through a weekly newsletter.  
77  
2
11. 11  
[](https://daily.dev/posts/frooodle-stirling-pdf-locally-hosted-web-application-that-allows-you-to-perform-various-operations--qqyiry9es "Frooodle/Stirling-PDF: locally hosted web application that allows you to perform various operations on PDF files")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Frooodle/Stirling-PDF: locally hosted web application that allows you to perform various operations on PDF files  
Stirling-PDF is a locally hosted web application for manipulating PDF files, offering various features like merging, splitting, converting, and more. It uses technologies like Spring Boot, Thymeleaf, PDFBox, LibreOffice, and Docker.  
68
12. 12  
[](https://daily.dev/posts/you-don-t-need-html--06hwerhtl "YOU DON'T NEED HTML!")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
YOU DON'T NEED HTML!  
The article discusses a website called NO-HT.ML that proves HTML is not necessary to create a beautiful and useful website. It explores the elements used in the website's source code and compares the concept to playing a game with arbitrary restrictions.  
58  
1
13. 13  
[](https://daily.dev/posts/back-to-basics-5-html-attributes-for-improved-accessibility-and-user-experience-uqhadzcei "Back to Basics: 5 HTML attributes for improved accessibility and user experience")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Back to Basics: 5 HTML attributes for improved accessibility and user experience  
This article explores five HTML attributes that improve accessibility and user experience. These attributes include hreflang, translate, reversed, controls, and autocomplete.  
29
14. 14  
[](https://daily.dev/posts/continue-siy9oo5qi "Continue")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Continue  
Continue is a tool that generates, refactors, and explains code sections. It can answer coding questions, edit code in natural language, and generate files from scratch. It works natively in your IDE and supports various models and providers.  
27  
1
15. 15  
[](https://daily.dev/posts/committing-without-git-rwhktsryp "Committing without git")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Committing without git  
Learn how to create commits without using git commands, understand git objects, blobs, trees, and commits.  
21  
2
16. 16  
[](https://daily.dev/posts/the-home-of-all-things-in-the-terminal--nsl0d8pxt "The $HOME of all things in the terminal.")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
The $HOME of all things in the terminal.  
Discover a collection of TUI tools for the terminal, including tools for chatting over SSH, socket statistics, network topology visualization, exploring docker images, and interacting with Jira from the command line.  
20
17. 17  
[](https://daily.dev/posts/csdvrx-cutevim-sensible-defaults-for-vim-fkydfjodg "csdvrx/CuteVim: Sensible defaults for Vim")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
csdvrx/CuteVim: Sensible defaults for Vim  
CuteVim is a minimal configuration file for Vim that provides sensible defaults, such as a tabline, line counter, backups, and more. It also allows users to quickly change the appearance and maps the Control keys to readline commands.  
19
18. 18  
[](https://daily.dev/posts/how-plane-an-open-source-alternative-to-jira-got-to-the-1-in-project-management-on-github-in-less-rrobt88v8 "How Plane, an open-source alternative to Jira, got to the #1 in project management on GitHub in less than a year")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
How Plane, an open-source alternative to Jira, got to the #1 in project management on GitHub in less than a year  
Plane, an open-source alternative to Jira, gained popularity on GitHub and became the #1 project management tool. They achieved this by effectively leveraging GitHub stars, building a community on Discord, creating well-crafted release notes, engaging with Reddit and Twitter communities, and making strategic announcements on Medium and Hacker News.  
17  
1
19. 19  
[](https://daily.dev/posts/termshark-a-terminal-ui-for-tshark-inspired-by-wireshark-ccnttbdkc "Termshark • A terminal UI for tshark, inspired by Wireshark")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Termshark • A terminal UI for tshark, inspired by Wireshark  
Termshark is a terminal UI for tshark, inspired by Wireshark. It allows users to read pcap files, sniff live interfaces, use Wireshark's display filters, and more. It is available for Linux, macOS, \*BSD, Android (termux), and Windows. Recent updates include packet search, profiles, configurable columns, magic wormhole, vim navigation, cmdline, packet marks, and themes.  
17
20. 20  
[](https://daily.dev/posts/sql-as-api-axmhkxshd "SQL as API")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
SQL as API  
Using SQL in the API can be a viable solution for complex filtering and adding flexibility to the API. It involves validating and sanitizing the SQL input and allows for easy modification and customization. However, it requires careful documentation, has performance considerations, and may lead to vendor lock-in.  
16
21. 21  
[](https://daily.dev/posts/should-you-add-screenshots-to-documentation--ez5nu2gdm "Should you add screenshots to documentation?")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Should you add screenshots to documentation?  
Screenshots in documentation can be contentious. Outdated screenshots can decrease customer trust and slow down page loading. However, they can also make content easier to scan, provide a visual frame of reference, and supplement confusing task steps. To effectively use screenshots, it is important to consider their purpose, make them accessible, use simplified versions, and automate their creation and maintenance when possible.  
15  
4
22. 22  
[](https://daily.dev/posts/pysimplegui-pysimplegui-launched-in-2018-it-s-2023-and-pysimplegui-is-actively-developed-support-buwrbdcrq "PySimpleGUI/PySimpleGUI: Launched in 2018. It's 2023 and PySimpleGUI is actively developed & supported. Create complex windows simply. Supports tkinter, Qt, WxPython, Remi (in browser). Create GUI app")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
PySimpleGUI/PySimpleGUI: Launched in 2018\. It's 2023 and PySimpleGUI is actively developed & supported. Create complex windows simply. Supports tkinter, Qt, WxPython, Remi (in browser). Create GUI app  
PySimpleGUI is a Python package that enables programmers of all levels to create GUIs. It simplifies the process of creating windows and supports various frameworks like tkinter, Qt, WxPython, and Remi. PySimpleGUI is widely used in various applications, including games, media capture and playback, artificial intelligence, graphing, front-end GUIs, and Raspberry Pi projects. Financial support for PySimpleGUI is greatly appreciated and can be done through Buy Me a Coffee or GitHub Sponsoring.  
15  
3
23. 23  
[](https://daily.dev/posts/new-in-chrome-120-zb8wiohue "New in Chrome 120")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
New in Chrome 120  
Chrome 120 introduces the CloseWatcher API for handling close requests, the ability to implement an accordion pattern using the \`<details>\` element, and permission policy violation reports. Other highlights include relaxed CSS nesting implementation, the action in the Media Session API, and the deprecation of third-party cookies.  
15
24. 24  
[](https://daily.dev/posts/microsoft-promptbase-all-things-prompt-engineering-hx2veriws "microsoft/promptbase: All things prompt engineering")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
microsoft/promptbase: All things prompt engineering  
Promptbase is a collection of resources, best practices, and example scripts for prompt engineering, specifically for GPT-4\. The article discusses the Medprompt methodology and its three distinct strategies, dynamic few-shot examples, self-generated chain of thought, and majority vote ensembling. It also introduces Medprompt+ and how it extends the power of prompting. The article provides instructions on how to run the scripts and includes links to relevant datasets and additional resources.  
14
25. 25  
[](https://daily.dev/posts/apple-and-google-confirm-governments-spy-on-users-through-push-notifications-czdvmahsm "Apple and Google confirm governments spy on users through push notifications")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
Apple and Google confirm governments spy on users through push notifications  
Government agencies have been spying on smartphone users through push notifications sent out by apps, according to a US senator. The senator has asked the Department of Justice to allow Apple and Google to disclose government demands for push notification data. Both Apple and Google have acknowledged the issue and committed to keeping users informed about these requests.  
14  
5

[See all Hacker News archives](/sources/hn/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/hn/best-of/2023/12#page","url":"https://daily.dev/sources/hn/best-of/2023/12","name":"Best Hacker News Posts — December 2023","description":"The most upvoted Hacker News posts from December 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/hn/best-of/2023/12#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/svg-tutorial-6zkocwjmr","name":"SVG Tutorial"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/in-2024-please-switch-to-firefox-tercqwvko","name":"In 2024, please switch to Firefox"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/you-don-t-need-javascript-for-that-ghdrvlg6e","name":"You don't need JavaScript for that"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/tailwind-css-application-ui-kit-smgrbbje1","name":"Tailwind CSS Application UI Kit"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/make-beautiful-logos-fast-and-free-tlip372bp","name":"Make Beautiful Logos Fast and Free"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/google-ai-for-developers-ln65dmupr","name":"Google AI for Developers"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/reference-docs-for-npm-packages-ilwfjl1e3","name":"Reference docs for npm packages"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/penxio-penx-a-structured-note-taking-app-for-personal-use--gmkydfgnm","name":"penxio/penx: A structured note-taking app for personal use."},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/open-source-zero-knowledge-private-note-taking-app-9wmnmg5pr","name":"Open source & zero knowledge private note taking app"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/open-source-software-open-source-alternatives-tsla7inrn","name":"Open Source Software & Open Source Alternatives"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/frooodle-stirling-pdf-locally-hosted-web-application-that-allows-you-to-perform-various-operations--qqyiry9es","name":"Frooodle/Stirling-PDF: locally hosted web application that allows you to perform various operations on PDF files"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/you-don-t-need-html--06hwerhtl","name":"YOU DON'T NEED HTML!"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/back-to-basics-5-html-attributes-for-improved-accessibility-and-user-experience-uqhadzcei","name":"Back to Basics: 5 HTML attributes for improved accessibility and user experience"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/continue-siy9oo5qi","name":"Continue"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/committing-without-git-rwhktsryp","name":"Committing without git"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/the-home-of-all-things-in-the-terminal--nsl0d8pxt","name":"The $HOME of all things in the terminal."},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/csdvrx-cutevim-sensible-defaults-for-vim-fkydfjodg","name":"csdvrx/CuteVim: Sensible defaults for Vim"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/how-plane-an-open-source-alternative-to-jira-got-to-the-1-in-project-management-on-github-in-less-rrobt88v8","name":"How Plane, an open-source alternative to Jira, got to the #1 in project management on GitHub in less than a year"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/termshark-a-terminal-ui-for-tshark-inspired-by-wireshark-ccnttbdkc","name":"Termshark • A terminal UI for tshark, inspired by Wireshark"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/sql-as-api-axmhkxshd","name":"SQL as API"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/should-you-add-screenshots-to-documentation--ez5nu2gdm","name":"Should you add screenshots to documentation?"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/pysimplegui-pysimplegui-launched-in-2018-it-s-2023-and-pysimplegui-is-actively-developed-support-buwrbdcrq","name":"PySimpleGUI/PySimpleGUI: Launched in 2018. It's 2023 and PySimpleGUI is actively developed & supported. Create complex windows simply. Supports tkinter, Qt, WxPython, Remi (in browser). Create GUI app"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/new-in-chrome-120-zb8wiohue","name":"New in Chrome 120"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/microsoft-promptbase-all-things-prompt-engineering-hx2veriws","name":"microsoft/promptbase: All things prompt engineering"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/apple-and-google-confirm-governments-spy-on-users-through-push-notifications-czdvmahsm","name":"Apple and Google confirm governments spy on users through push notifications"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/hn/best-of"},{"@type":"ListItem","position":5,"name":"December 2023"}]}]}
```

