THERE ARE OVER 30 DIFFERENT WAYS TO HANDLE REACT STATE
This post goes over a flowchart of ways to handle React state based on certain design decisions.
Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.
This post goes over a flowchart of ways to handle React state based on certain design decisions.
Sponsored
You'll need to spend weeks researching dozens of 3rd party APIs, manage OAuth for each integration, spin up webhook listeners, handle app-specific rate limits, and much more.
Minor issues in app development and speed can become significant problems in areas with slow Internet. While developers shouldn't be expected to spend excessive time on extreme cases, it's important to acknowledge elements of websites that may perform worse with slower internet. Apps should be resilient enough to handle basic tasks like transmitting text without getting stuck due to hardcoded timeouts.
A developer working on an autonomous driving system encountered an issue where a new, faster camera made the tracking system worse. The root cause was a preprocessor directive for the framerate, which was mistakenly defined as an integer and not a floating-point number due to a missing decimal point. This caused the sampling time to be calculated as zero, leading to incorrect position predictions by the Kalman filter.
Since version 4.7, the order of properties in an object in TypeScript can affect type inference. This change was introduced to address bugs related to context-sensitive functions, but it can lead to unexpected errors when properties are reordered.
There are three fundamental laws of software complexity: systems inevitably degrade in design quality over time, successful systems create complexity through leaky abstractions to gain market share, and there is no upper limit to the complexity a system can reach. Most engineers end up working on poorly designed systems, which only grow more intricate and challenging to work on over time.
Clear, readable code is more valuable than clever code in the long run. This developer's experience at a large tech company revealed that even though clear code might seem trivial, it's actually more difficult to write and maintain. In order to “preserve complexity” for promotion packets, documentation was important for demonstrating the complexity of the work.
Self-serve BI dashboards don't work because they assume that the main barrier for business stakeholders is writing SQL queries, while the real issue is the lack of context and understanding of the data.
Flameshot is an open-source screenshotting tool with a customizable appearance and in-app screenshot editing.
Unforget is a minimalist, offline-first, and end-to-end encrypted note-taking app with desktop, mobile, and web support. It's open-source and has public APIs for creating your own client or syncing across devices.
ClipBook is a free clipboard history app for macOS.
While generative AI can help in producing code fast, it's not a substitute for the experience and mentorship required to develop junior engineers into seniors and beyond. The industry will face a bottleneck in the future if it believes that AI can simply replace junior engineers (which it can't).
A recent survey examined the economic impact of internet outages on countries and businesses and found that the United States and Amazon would face the highest financial losses in such a scenario. The U.S. would incur a $11 billion loss in a 24-hour outage, while Amazon would suffer a $1.5 billion loss in the same period.
Apple forgot to add a border radius to an image on its website, which made an iPhone screen look weird.
A collection of programming essays on various topics, such as falsehoods programmers believe, choosing boring technology, becoming a more effective programmer, and more.
A $1M+ prize for new ideas to progress AI towards AGI.
Researchers found malicious extensions on Microsoft's Visual Studio Code Marketplace, including a fake version of the popular Dracula theme.
Apple's newly announced Private Cloud Compute is designed specifically for private AI processing. It makes sure that computation is done statelessly, with verifiable transparency and protection against targeted attacks. This blog post by Apple goes over the requirements and details of Private Cloud Compute.
Interaction to Next Paint (INP) is a Core Web Vital that assesses a page's overall responsiveness to user interactions by observing the latency of all click, tap, and keyboard events. To address any low INP scores, developers should focus on optimizing JavaScript execution on the page (such as through lazy loading and tree shaking). They should also try to reduce hydration time by implementing progressive hydration for their components. These steps should help improve interaction responsiveness and overall performance.
Self-hosting fonts can often be much more performant, but it requires careful implementation of web performance techniques like font-display: swap, subsetting, and removal of hinting. Google Fonts simplifies this process with its delivery mechanisms, but can come at a slight cost to performance.
Great contributions to a codebase prioritize well-tested features over rushed solutions, have TODOs and feature flags to manage ongoing work, and refactor existing code in-place whenever possible. New changes should be broken down into digestible pull requests. They should also have the same patterns and code style of the existing codebase.
Shipping something, even a minor change, in your code every day provides a dopamine rush and creates momentum. It also makes you more personally satisfied and shows productivity to your team and manager.
This developer encountered a Pascal code snippet for disk parking at a young age but couldn't understand it. The code was filled with seemingly arbitrary numbers and letters and it frustrated the developer. Upon revisiting it decades later, the developer realized that the code was essentially just invoking a system call, using registers and arguments specific to the BIOS. It goes to show how experience and knowledge gained in the field can often be subtle but dramatic in approaching complex code and situations.
Sponsored
Discover SurveyJS [10], an open-source JavaScript library suite for secure form creation and data collection in your application. Build enterprise-grade surveys and forms quickly and without manual coding. Collect and store responses while retaining full control over your data. Integrate with any backend system. The libraries use JSON for metadata and results. Configurable drag-and-drop user interface. Start
Apple introduced new tools for developers at WWDC24. Xcode 16 introduces Swift Assist with predictive code completion for faster development. Swift 6 has features like compile-time data-race safety for a better dev experience. visionOS 2 has new APIs and frameworks. There are also updates to the Game Porting Toolkit 2 to make game development easier for Apple devices.
Apple introduced Apple Intelligence at WWDC24, a personal, private intelligence system powered by generative AI models. The on-device and server-based foundation models are fast and efficient thanks to techniques like low-bit palletization and adapters for specific tasks. Apple evaluated these models through human evaluation and various benchmarks.
Thread is a Jupyter Notebook that combines the experience of OpenAI's code interpreter with a Python notebook. You can use natural language to generate cells, edit code, ask questions, or fix errors while being able to edit or re-run code as you would in a regular Jupyter Notebook.
Apple's revealed Apple Intelligence (personal AI) and Siri got a significant AI upgrade at WWDC. The company is integrating OpenAI's ChatGPT for improved understanding and query handling. iOS 18 introduces enhanced customization options for the Control Center and homescreen, while macOS 15 allows users to mirror their iPhone on their Mac. watchOS 11 will automatically surface relevant widgets based on user needs. visionOS 2 brings spatial photos and ultrawide Mac display support to the Vision Pro headset.
Triplebyte, a technical recruiting company, failed due to three main factors: it never solved candidate acquisition at scale, it pivoted to a product that didn't meet market needs, and it tried to change user behavior instead of catering to it. These challenges were made worse by the catch-22 of venture capital, where the need for funding to achieve viability often leads to pressure for aggressive, unsustainable growth.
The most productive solo dev stack is the one that you can code the fastest in.
CSS provides properties like size-adjust, ascent-override, and descent-override to override font metrics and minimize layout shifts caused by font swapping.
Researchers found that adding a simple ‘be concise' instruction to chain-of-thought prompts can reduce the length of AI responses by 50% with minimal impact on accuracy, leading to a 20%+ cost savings on API calls.
Sponsored
Whether you're a team of four or 40,000, dev teams need to collaborate on APIs. API Collaboration [5] improves developer productivity by empowering API producers and consumers to share, discover, and reuse high-quality API assets.
Google has integrated AI into its internal software development tools, with developers now using AI-based code completion for 50% of code characters. It has improved both model accuracy and user experience, and the company plans to further leverage AI in areas like testing, code understanding, and code maintenance. The industry as a whole is moving towards adding natural language as a common interface for software engineering tasks, like fixing bugs and writing new code.
Chrome has reintroduced full prerendering of pages to improve navigation speed by using the address bar, bookmarks, search suggestions, and the Speculation Rules API. This feature enables near-instant page loads by opening pages in a hidden background tab and activating them when needed.
Hanlon's razor is a mental model that states one should not attribute to malice what can be adequately explained by stupidity. This engineering manager found this model helpful in promoting understanding and empathy at work by avoiding assumptions of bad intentions. They instead recommend focusing on improving a lack of skills or experience instead of blaming others for mistakes or miscommunication.
This author replaced his smartphone with a flip phone for a month. This experiment led to huge improvements in his focus, awareness, and engagement with others, but also presented challenges like difficulty managing his schedule and navigating traffic.
Sponsored
In this online talk by Confluent and SAP, you'll learn how to keep every system that relies on SAP data in sync with the latest and greatest real-time data. The session includes a demo of using SAP Datasphere and Confluent's Kora Engine [17] to build real-time
Teo is a schema-driven web server framework. The server-side API is native to Rust, Node.js, and Python. It supports automatic database migration, generated ORM types and interfaces, generated frontend query clients, custom route handlers, and more.
Inspectus is a visualization tool for large language models. It runs in Jupyter Notebooks via an easy-to-use Python API. Inspectus provides multiple views to show insights into language model behaviors.
Piku allows you to do git push deployments to your own servers.
A startup lost $10,000 due to a single mistake in its code that was generated by ChatGPT. This bug caused a unique ID collision in its subscription process, preventing new users from signing up. Its backend setup had multiple instances, which masked the problem during the day due to frequent deployments but caused it to surface at night when deployments stopped.
The Backrooms is an internet legend based on an image of an empty series of rooms, which gained popularity in 2019 when it was connected to a “creepypasta” story about an endless, maze-like dimension. This led to the creation of numerous games and videos based on the Backrooms concept, which often went viral. However, the mystery of the original photograph was recently solved - it was found to have been taken in 2003 during the renovation of a furniture store in Wisconsin and preserved by the Internet Archive's Wayback Machine.
Katalin Karikó, a Nobel Prize winner, faced criticism for expressing her dislike for the political aspect of academia, highlighting the challenges faced by "Weird Nerds" in such environments. “Weird Nerds” have an unyielding devotion to Truth, often placing it above social graces or conventional norms. These individuals usually have unique talents and intellectual courage, but struggle with the social and political aspects of academic life. A lack of "Weird Nerd-friendly" environments can hinder their contributions and potentially lead to a loss of valuable talent.
The creator of this video built a clone of visionOS to better learn how it works under the hood.
Building a competitive browser engine requires prioritizing security and performance, content main thread sanctity, fast JS-DOM calls, page load performance, scrolling and animations, typing latency, and quality video playback.