Never Call new Date() Inside Your Components (5 minute read)
It's good not to call impure functions like `new Date()` inside React components, especially when setting the initial state. Doing so makes testing difficult due to inconsistencies. Instead, it's better to pass the impure function or its result as a prop, which this article shows through code examples.
|
Making database systems usable (9 minute read)
Traditional database systems have a tough time providing intuitive and user-friendly interfaces. A 2007 paper identifies several "pains" associated with relational databases, such as the complexity of joins, overwhelming options, unexpected results, and difficulties with data creation. There are potential solutions for improving database usability, including the development of presentation data models, integrated provenance, intuitive interactions, using LLMs, and flexible schema design.
|
|
An underrated software engineering interview question (7 minute read)
A "bug squash" interview, where candidates are presented with a real codebase containing a bug and asked to find and fix it, is an underrated software engineering interview question. This author believes this type of interview is more realistic and engaging than traditional coding challenges, as it reflects the everyday work of software engineers and allows candidates to showcase their debugging skills and understanding of codebases.
|
Toasts are Bad UX (2 minute read)
Toasts might be a bad user experience because they are disruptive and often appear far from the user's focus. As an alternative, this author suggests using a more integrated approach, such as a loading indicator, to provide feedback for actions. He provides specific examples from YouTube and Gmail to illustrate how toasts can be replaced with more user-friendly methods.
|
On finishing things (7 minute read)
This author struggles to finish personal projects because of the lack of a clear definition of "finished," the absence of external accountability, and the fear of sharing imperfect work. Writing a detailed product spec upfront and setting time constraints for projects helps him get past this block.
|
|
Introducing Zed AI (9 minute read)
Zed AI is a hosted service that integrates AI-powered coding into the Zed text editor, letting developers use LLMs while maintaining full control over their code.
|
@swan-io/boxed (GitHub Repo)
@swan-io/boxed provides TypeScript building blocks for functional programming, including immutable types like Option, Result, and Future. It makes development easier with a chaining API, reliable types, and compatibility with pattern matching libraries.
|
Prerendering with Preset Vite (11 minute read)
Preact's Vite preset now includes built-in prerendering. By generating HTML at build time, this approach improves initial load speeds and user experience with minimal changes to existing codebases.
|
|
Finding a βharmless' Pi-hole vulnerability (7 minute read)
This bug bounty hunter conducted a security audit of the open-source ad blocker Pi-hole and discovered a "harmless" vulnerability in the api.php file. The vulnerability allowed unauthenticated users to change the CPU temperature format displayed on the Pi-hole status page. While considered inconsequential by the Pi-hole team, the bug bounty hunter reported the issue and contributed a fix to the code.
|
|
MinusX (Website)
MinusX is a Chrome extension that automates analytics tasks, providing quick and easy access to data insights.
|
|
Love TLDR? Tell your friends and get rewards!
|
Share your referral link below with friends to get free TLDR swag!
|
|
Track your referrals here.
|
Want to advertise in TLDR? π°
|
If your company is interested in reaching an audience of web developers and engineering decision makers, you may want to advertise with us.
If you have any comments or feedback, just respond to this email!
Thanks for reading,
Priyam Mohanty, Jenny Xu & Ceora Ford
|
|
|
|