The new feature of explicit resource management in JavaScript and TypeScript reduces boilerplate when handling the lifecycle of various resources. The feature is implemented in TypeScript 5.2.0 with the “disposablestack” polyfill and it covers both sync and async resources, including event subscriptions, open files, mutexes, and task queues. This article also highlights a non-obvious mistake in the code and provides a corrected implementation.
Engineers are often hesitant to take time off from work, fearing that they’ll leave their team unsupported. However, this can lead to you feeling drained and even burnt out. This article discusses why it’s important to take time off, highlighting how it can lead to better decision-making, help avoid burnout, and allow you to learn outside of work. It also covers how to time your vacation to accommodate both you and your team’s needs.
While React remains largely popular in the industry, the evolution of the framework has brought on changes that frustrate many. For some, there is a perceived lack of proper communication with the community, frustration with the absence of recent releases, concerns about the direction of React development, and issues related to documentation.
Tantivy is a full-text search engine library built in Rust. It’s not an off-the-shelf search engine server, but instead a foundation on which a search engine can be built.
Zip.js is a simple JavaScript library for zipping and unzipping files, with support for multiple formats, concurrency, and password-protected ZIPs.
Finding out that a coworker with a shorter tenure makes more than you is an all too common experience in the tech industry. Often, experiencing this can leave someone feeling undervalued, underappreciated, and resentful. This article covers why this happens, highlighting factors like budget allocation, the importance of employee retention, and how experience is valued depending on where it comes from. If an employee finds themselves in this situation, they should have an open conversation with their manager about their compensation, hand in a competing offer, and leave for another role if all else fails.
Link fraud involves the use of URL spoofing, often referred to as "vanity URLs," to deceive users into clicking on seemingly legitimate links that lead to harmful content or financial gain for fraudsters. Ad-supported platforms like Google, Bing, Twitter, and Reddit are allowing advertisers to abuse unverified vanity URL systems, contributing to the problem of link fraud. Adtech providers should validate domain ownership within vanity URLs or consider banning them altogether to combat link fraud effectively.
A cheatsheet for using Playwright, a Node.js library for cross-browser end-to-end testing.
It can be hard to find good advice on how to make complex web applications accessible. This article makes this battle easier by pointing out 16 lesser-known accessibility issues and highlighting how to fix each one.
Teaching is an amazing way to not only help others, but also improve your own knowledge on a given topic and establish credibility for yourself.
2023 saw the emergence of many new and valuable front-end tools. This article spotlights 60 such technologies, including JavaScript libraries, database tooling, AI-based tools, CSS generators, and more.
Apple iCloud has an extreme multi-tenant architecture with billions of databases. The service stores at least one database for each user using technologies like Cassandra and FoundationDB. Apple's architecture focuses on asynchronous processing, stateless architecture, logical resource isolation, and layer abstractions to handle scalability and reliability needs. Apple ran one of the largest Cassandra deployments globally, but it still experienced scalability limitations. FoundationDB, a distributed key-value store, solved its scalability issues. The article also explains other problems Apple solved in its journey to supporting exabytes of data and millions of queries per second in iCloud.
Dynamic programming is used to optimize certain code use cases by avoiding redundant calculations through caching and memoization. Using sample problems like the edit distance problem, this article shows through code examples how dynamic programming can be used in practice.
Code reviews are not just a bureaucratic formality, but a crucial process to ensure code quality, readability, and maintainability and prevent future issues. Teams should have clear definitions of "Done" and coding standards. Some things to look at during code reviews include PR size, guard clauses, dead code, variable names, and premature optimization.
Hacker News commenters speculate on what is currently driving tech layoffs, such as the fact that it is now acceptable for tech companies to do layoffs. Another speculation posits that investors like it when companies have extreme hiring during the good times and extreme cutbacks during the bad times. However, each company usually will have different reasons for doing layoffs.
Sponsored
QA Wolf [9] gets web apps to 80% automated test coverage in just 4 months. They build and maintain your automated test suite, plus provide unlimited parallel test runs.
in QA engineering + executes >300 tests in parallel on every PR in minutes.
Triplit is an open-source database designed for real-time data synchronization between servers and browsers. It offers features like real-time sync, offline support, relational queries, automatic caching, and live updating queries. Triplit's queries are reactive by default, enabling real-time app updates without extra effort.
Vanna is an open-source Python framework that allows developers to chat with their SQL database. It uses Retrieval-Augmented Generation (RAG) to convert natural language to SQL queries that answer users' questions.
M1 Macs may lag behind in AI and machine learning capabilities compared to future Macs with the M2 and M3 chips. Apple silicon chips, including the M1, have hardware support for AI and ML, but M1 chips have limited support for recent AI/ML features, such as bfloat16, a format widely used in AI and ML. M2 and M3 Macs support bfloat16, but the M1 only supports ARMv8.5A, which doesn't include bfloat16.
Studies show that people judge a product’s quality by the amount of features it has before using it. However, after using a product, they realize the usability issues of having too many features. That means companies need to build products with many features to maximize initial sales, but prioritize the user experience to maximize repeat sales and retention.
The Steam Deck OLED has a chipset that is entirely made for the Steam Deck platform, with a smaller footprint and full usage of all its cores.
Valve has had a disconnection issue in its Counter-Strike games for over a decade now, but Valve still hasn’t fixed it. This post does a deep dive into the issue and provides a solution: the game must be started well before the user actually starts playing.
A Hacker News commenter notes that they are not working on anything on the side anymore, but rather focusing on themselves. Responders share their stories of finding fulfillment, joy, and internal validation in activities outside of work.
A Material Design file manager built for Android devices.
In 2023, there were significant advancements in server-side rendering, increased interest in AI integration, browser and JavaScript engine improvements (like Bun), and improvements to cross-platform frameworks like React Native and Flutter. In 2024, there will be a focus on consolidating tools and frameworks, increased competition to own the entire software stack, more diversity in web engines with Apple's changes that will open up the web on mobile, continued AI advancements, and the dominance of existing UI frameworks like React. Native mobile development is expected to remain relatively unchanged.
The website vs. web app dichotomy posits that websites can be grouped into two categories: mostly static “documents” with little user interaction beyond following links (websites) and “applications” that involve rich dynamic behavior, needing JavaScript frameworks (web apps). There’s a spectrum between websites and web apps, and where a project sits determines which technologies are appropriate for building it. This post argues that such a spectrum is not conclusive and should be broken down more with axes spanning static/dynamic and online/offline.
Work-life balance goes past just time management. It also involves managing one's own energy levels and priorities. The ERP (Effort, Reward, Penalty) framework can help one in making decisions about task delegation, setting boundaries, and prioritizing personal responsibilities.
HTMX can function as both a library and a framework, depending on its usage. HTMX primarily relies on HTML, making it more adaptable and compatible with various development tools, reducing the risk of code obsolescence.
CSS Hooks bring CSS features to native inline styles, enabling you to target various states such as hover, focus, and active without leaving the style prop.
A Vue 3 UI component library with TypeScript support.
Pathway is a high-throughput, low-latency data processing framework that handles live data & streaming. It can create Python code that combines batch processing, streaming, and real-time APIs for LLM apps.
Google controls 90% of the search market, so businesses and content creators are heavily focused on search engine optimization to enhance their visibility on Google. This optimization has led to an abundance of content designed specifically to capture Google's attention, resulting in repetitive and sometimes low-quality material competing for limited search real estate.
Microsoft, Google, and Amazon were among the major players in 2023 that struck blockbuster deals. Their deals accounted for two-thirds of the $27 billion raised by AI companies. Nvidia emerged as a prominent investor, participating in 35 deals and establishing a venture capital arm called NVentures. Foundation models and development platforms in the AI sector experienced substantial growth, with major tech companies like Amazon, Google, Microsoft, Nvidia, and Salesforce investing in these areas.
Experimenting with computers, networking, cloud storage, and website creation allowed this author to gain practical computing knowledge.
The comments discuss how to make local development easier with containers - responses suggest using the “dev containers” feature that many IDEs have.
Starting today, Google Cloud customers who wish to stop using Google Cloud and migrate their data to another cloud provider and/or on premises, can migrate their data out for free.
A list of JS interview questions, covering topics like closures, pure functions, and functional programming.
Netflix's video pipeline has transformed from Standard Dynamic Range (SDR) to 4K and High Dynamic Range (HDR) support, increasing its efficiency needs. The Netflix team transitioned the pipeline from a monolithic platform to a microservices-based one called Cosmos. Cosmos allows Netflix to deliver features faster. The team breaks down in this blog post how exactly they determined service boundaries while breaking up monoliths into microservices.
Most people have varied perspectives on git commits, with roughly equal numbers thinking of commits as either diffs or snapshots based on a poll. Git internally represents Git commits as snapshots and uses packfiles to store snapshots efficiently. However, no mental model is “wrong” as long as it provides a solid intuition for everyday Git usage.
Having positional authority alone is not enough to make people comply willingly. Influence is necessary to get things done, whether at the team level or organization level. It is required for turning ideas into reality, finding larger scope, and aspiring to senior management or C-suite roles.
This article discusses the dilemma of whether React components should run on users' computers or on servers. Components requiring instant interactivity, like a counter, should run on the client (user's computer) to provide a smooth user experience. On the other hand, components that rely on server-side data should run on the server. The article poses questions about how to split components across different environments while preserving React's advantages so you can make the best decisions for your application.
Shoelace is a library of web components that works with all frameworks and is fully customizable with CSS.
Next AI News is a full-stack re-creation of Hacker News using Next.js. It uses Next.js 14 features, including App Router and React Server Components.
The book “Tidy First?” introduces the concept of "tidyings," which are small refactorings that don't change program behavior, but make it easier to implement behavioral changes. It’s important to structurally prepare code before implementing behavioral changes. A balance must be struck between the time value of money and optionality in software, highlighting the need to create a structure that supports quick changes.
AI startup Rewind initially started as a meeting recording and transcription product and eventually pivoted towards enhancing human memory using AI technology. It achieved viral success by looking at both qualitative data during manual onboarding and quantitative data around product usage to figure out how to pivot correctly. To generate hype around its launch, it told a great story around its product, was transparent in its mission, and created a memorable demo.