Search the archive
Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.
Results
9,381 matchesHOW LYFT PROCESSES TERABYTES OF REAL TIME DATA
Lyft transitioned from using Apache Druid to ClickHouse for its sub-second analytics system. The move was driven by several factors, including a steep learning curve and maintenance complexity associated with Druid, cost considerations, and ClickHouse's better alignment with Lyft's infrastructure and engineering expertise. ClickHouse's benefits included simplified infrastructure management, a reduced learning curve for engineers, native data deduplication support, lower costs compared to Druid, and specialized functionalities that made various tasks easier.
HOW STANDARD EBOOKS SERVES MILLIONS OF REQUESTS PER MONTH WITH A 2GB VPS
Standard Ebooks served over a million ebook downloads with a VPS, all without relying on JavaScript or a database. Instead, it used classic web technologies and PHP in an efficient manner. The ebooks are actually stored on Git repositories and an ebook build process is run on the VPS whenever an ebook is released or updated.
MORE THAN YOU NEED TO KNOW ABOUT REACTDOM.FLUSHSYNC
ReactDOM.flushSync is a function that forces React to flush any pending work and update the DOM synchronously. This post is an in-depth look at what React does on updates and how flushSync can solve problems when React updates the UI later than you need it to. The article provides a good distillation of how React updates the DOM even if flushSync isn’t used immediately in a use case.
COLD-BLOODED SOFTWARE
Cold-blooded software uses boring technology and can usually run without changes for years. Warm-blooded software has more flexibility but requires constant energy to maintain. It’s important to choose the right context for a project.
WANT TO BE A BETTER LEADER? STOP THINKING ABOUT WORK AFTER HOURS
Managers who continue thinking about work after hours may actually harm their leadership performance. A study found that not taking a break from work in the evening, especially for new managers, drained their mental resources and reduced leadership effectiveness. Leaders who mentally switched off from work the night before felt more recharged and identified more strongly with their role as a leader.
WEBASSEMBLY: 4 PREDICTIONS FOR 2024
Four WebAssembly (Wasm) developments are anticipated in 2024: Wasm becoming an ideal match for AI workloads, the completion of critical Wasm standards, a shift towards server-side use cases, and the emergence of web applications that can run Wasm on both client and server sides. Wasm isn’t quite production-ready yet, but 2024 may be the year that it makes the transition.
Sponsored
MANUAL TO AUTOMATED QA IN JUST 4 MONTHS
QA Wolf [11] gets web apps to 80% automated end-to-end test coverage in just 4 months. And they include unlimited parallel runs on their infrastructure + 24-hour maintenance and triage at no additional cost.
REACT SPECTRUM LIBRARIES
A collection of libraries and tools aimed at helping developers create adaptive, accessible, and robust user experiences. These libraries include a React implementation of Adobe’s design system (React Spectrum), unstyled React components and hooks (React Aria), and a set of React Hooks for cross-platform state management (React Stately).
2024 NEW GRAD POSITIONS
A comprehensive list of New Graduate software engineer positions across the industry.
JAN
Jan is an open-source ChatGPT alternative that runs offline on your computer. It runs on any hardware.
WILL US COMPANIES HIRE FEWER ENGINEERS DUE TO SECTION 174?
US software companies, particularly smaller ones, are facing unexpected high tax bills due to changes in Section 174 of the US tax law. This change requires R&D costs, including software engineer labor, to be capitalized and amortized over 5 years (or 15 years if labor is done outside the US). As a result, companies have to pay taxes on profits they technically haven't realized yet, leading to layoffs and reduced hiring of software engineers. Large tech companies are able to manage the tax increase better than startups.
WHAT IS DESIGN TO CODE: AN AUTOMATED APPROACH
Design to code is the process of automating the conversion of visual designs into clean, functional code that matches the design's layout, styling, and interactions. It involves collaboration between designers who create visual designs and developers who translate those designs into code using languages like HTML, CSS, and JavaScript. New AI tools aim to automate the manual collaboration process.
RUST, RUBY, AND THE ART OF IMPLICIT RETURNS
Implicit returns and if-expressions can lead to more concise and readable code. This post provides examples in Rust, Ruby, and other languages. On top of implicit returns, block expressions and single expression functions are also useful to further simplify code.
NPM REGISTRY PRANK LEAVES DEVELOPERS UNABLE TO UNPUBLISH PACKAGES
On December 29th, a package named "everything" was released to the NPM registry that installed all other public packages. This resulted in an extensive network of dependencies across the entire registry that made it impossible to unpublish any package on the site.
HOW I READ BOOKS WITH LIMITED TIME
Reading books on soft skills and leadership is useful in the workplace as both a dev and a manager. To read books with limited time, first start with book summaries to evaluate relevance, then read selectively from the actual book while taking notes. Finally, connect and apply the lessons to your own personal experiences.
1 BILLION ROW CHALLENGE
The One Billion Row Challenge (1BRC) explores how far modern Java can be pushed for aggregating one billion rows from a text file.
WHY SHOULD I USE GO OVER RUST, JAVA, OR PYTHON?
Go is an "80%-language," meaning it can achieve 80% of the performance and functionality of other languages with only 20% of the effort.
YOUR REFERRAL LINK - https://tldr.tech/webdev?ref=2613930
HOW DISCORD MODERNIZED MFA WITH WEBAUTHN
This post discusses how Discord modernized its Multi-Factor Authentication (MFA) with WebAuthn. WebAuthn provides a non-phishable, non-guessable, and user-friendly form of authentication. The switch to WebAuthn solved issues with Discord’s legacy MFA system by integrating with a new authentication flow (MFAv2), which addressed many existing issues in UX, architecture, and platform support.
A GLIMPSE INTO TAX CALCULATIONS
Etsy uses a Quotation Request API to handle tax calculations for its marketplace and determine tax based on buyer and seller location, product category, and tax rules. It has a map of its product categories to tax categories. Etsy faced the challenge of increased API traffic and handled it by using multiple instances for the API calls and implementing shadow logging for stress testing.
IMPROVING PRODUCTIVITY AND HAPPINESS FOR SOFTWARE DEVELOPMENT TEAMS
LinkedIn’s Developer Productivity & Happiness Framework (DPH) is a collection of documents that describe the systems, processes, metrics, and feedback systems used to understand developers and their needs internally at LinkedIn. The framework starts off by attempting to answer the question, “How do I choose what to measure?”. Next, LinkedIn creates Developer Personas, which categorizes developers into different groups based on their workflows. The company thinks about priorities separately for each of those groups, with different data and metrics collected for each. This data is used to improve developer and team productivity and happiness.
THINK MORE ABOUT WHAT TO FOCUS ON
There is a trade-off between exploring new options and exploiting known ones. It’s important to do both exploration and exploitation in life, as focus and prioritization can lead to greater achievements and richness in life.
SSH3
SSH3 is a redesigned version of the SSH protocol that offers faster session establishment, new authentication methods like OAuth 2.0 and OpenID Connect, enhanced security against port scanning attacks, support for UDP port forwarding, and access to modern QUIC protocol features.
TERMINAL SUNDAY
Terminal Sunday provides a graphical view of one's lifespan. It shows the amount of Sundays left in one’s life as both a number and a visual in Terminal.
THE END OF FRONT-END DEVELOPMENT
While concerns around AI replacing front-end development are common, it’s more likely that AI will actually accelerate the need for software in general. This will lead to more software developers overall and change the way developers work. Nonetheless, it’s important to use AI tools like GPT-4 while working to see how they can fit into your workflow without using them as a replacement for understanding your code.
MAKING SMALL GAMES, WHICH IS FUN IN ITSELF
This author has created over 350 small games that can be concluded within 10 minutes and easily played on browsers. It allows for quick experimentation with various ideas and for beginner developers to work their way up to tackling larger, longer-term projects. When making good small games, it’s important to fulfill promises to the user, minimize unnecessary elements, and focus on the enjoyment of the creative process.
UNDERSTANDING THE TYPES OF JAVASCRIPT ERRORS
Common JavaScript errors include syntax errors, reference errors, type errors, range errors, URI errors, internal errors, and the now deprecated eval errors.
WHAT SOFTWARE DEVELOPERS USING CHATGPT CAN TELL US ABOUT HOW IT'S CHANGING WORK
AI chatbots help assist in tasks such as generating code, finding information quickly, and optimizing code efficiency. Developers use chatbots to streamline their work processes and save time, allowing them to focus on more complex and creative aspects of their projects.
BENCHMARKING 20 PROGRAMMING LANGUAGES ON N-QUEENS AND MATRIX MULTIPLICATION
The fastest languages are V+, C, and Rust. The slowest are Ruby, Perl, and CPython.
OPENVOICE
Easy, instant voice cloning done locally, with various settings to tune.
YOUR REFERRAL LINK - https://tldr.tech/webdev?ref=2613930
BACK TO BASICS: 5 HTML ATTRIBUTES FOR IMPROVED ACCESSIBILITY AND USER EXPERIENCE
This article covers five HTML attributes that can improve accessibility and user experience. `hreflang` is useful for specifying the language of linked resources, `translate` controls element translation, `reversed` is for reversing ordered lists, `controls` adds video or audio playback controls, and `autocomplete` allows automatically completing form values. When used properly, these attributes provide a more accessible and usable web experience for users.
WHAT IS API LATENCY?
API latency is the amount of time it takes for an API to respond to a request. Elevated API latencies are usually caused by network issues, server overload, inefficient code, third-party dependencies, and geographic location. In terms of best practices for measuring and testing API latency, it’s useful to account for both queue time and service time, consider a wide variety of scenarios, set SLAs (Service-Level Agreements), and use code profilers.
EXPLORING NUXT DEVTOOLS
Nuxt Devtools, a developer toolkit for Nuxt, has features such as Pages for routing, Components for component overview, Imports/Composables for composable information, Asset Management for file management, Payload Editor for data requests, and Open Graph Preview for social performance assessment, and more. This article takes a closer look at all the features Nuxt Devtools offers, with code examples along the way.
DOCS DESERVE MORE RESPECT
Without documentation, your users are on their own and must fend for themselves. This will mean fewer success cases, poorer views of your product, unhappy users, and a negative impact on your brand or company. To write good docs, it’s important to use simple language, tell a story when possible for engagement, ensure searchability, and test documentation with real users for accuracy.
WHY I USE ASTRO
Astro is a stable, simple, flexible, and lightweight web framework. It allows for static site generation, supports Markdown, and provides the option to add client-side JavaScript only when necessary, not by default.
WHAT'S NEW IN SVELTE: JANUARY 2024
Svelte has had several significant updates and releases, including the launch of SvelteKit 2.0 and updates to Svelte 5's preview branch. SvelteKit 2.0 introduces various features like "resolveRoute" in place of "resolvePath," an improved response.arrayBuffer() during Server-Side Rendering, and other performance enhancements. Additionally, Svelte 5's preview branch brought new features such as the "$inspect" rune, enhanced "$state" reactivity, and changes in handling bindings and props.
UNSUCKJS
A library of open-source projects that allow developers to progressively enhance HTML with lightweight JavaScript libraries.
HOOK
Hook is an interactive graphical editor for C/C++ runtimes for swift experimentation. It connects to your actively running program, enabling seamless real-time modification of variables and removing the need for constant re-compilation.
WHY ARE TECH REPORTERS SLEEPING ON THE BIGGEST APP STORE STORY?
Antitrust scrutiny and regulatory pressure on Apple and Google's app stores are opening up opportunities for competing web browsers to challenge the mobile app duopoly. There is the potential for browsers to enable Progressive Web Apps (PWAs) and directories of PWAs as alternatives to traditional app stores. Currently, both Google and Apple employ strategies to limit the capabilities of competing browsers, but regulation may change that soon.
THE I IN LLM STANDS FOR INTELLIGENCE
AI-generated security reports have become a challenge for bug bounty programs, as some users utilize AI tools to create reports that may appear genuine, but are ultimately invalid or nonsensical. There is a need for better mechanisms to detect AI-generated content, especially as the quantity of it will exponentially grow in the future.
A NEW APPROACH TO LOCAL MULTIPLAYER / SPLITSCREEN PERSPECTIVE WITH RAYTRACING
Raytracing can be used to screen-share in local multiplayer games. More specifically, dynamically adjusting the camera at a pixel level using raytracing allows for smoother transitions between player perspectives. A history of split-screen gaming along with a video demo of the idea is available in the article.
LLMS AND PROGRAMMING IN THE FIRST DAYS OF 2024
A detailed overview of how LLMs will affect programming. LLMs mostly help those who know when and how to wield them while programming, but aren’t as beneficial for programmers who aren’t as proficient at writing code.
POSTGRESQL IS THE DBMS OF THE YEAR 2023
PostgreSQL was the most popular database of 2023. Databricks and Google BigQuery were given honorable mentions in terms of rising popularity compared to 2022.
ASK HN: WHO IS HIRING? (JANUARY 2024) (HACKER NEWS THREAD)
Various companies are hiring software engineers across the world.
WHY 37SIGNALS ABANDONED THE CLOUD
Clouds make sense for startups and enterprises who either don’t know how much infrastructure they’ll need or have a lack of expertise in certain areas. However, for many companies, it’s cheaper to run servers in-house instead.
YOUR REFERRAL LINK - https://tldr.tech/webdev?ref=2613930
GIT REBASE: WHAT CAN GO WRONG?
It’s common for developers to face issues when using Git's "rebase" feature. Common issues include repeated conflict resolution, difficulty when rebasing many commits, the complexity of undoing a rebase, issues with force pushing to shared branches, complications in code reviews due to force pushes, and loss of commit metadata. To help solve this, the article describes varying levels of "commit discipline,” alternative workflows like the "squash and merge" approach, and the author’s personal rules for using rebase effectively.
HOW PINTEREST SCALED TO 11 MILLION USERS WITH ONLY 6 ENGINEERS
Pinterest scaled rapidly from a small startup with just 1 engineer to handling 11 million monthly active users with only 6 engineers. The key takeaways from its scaling journey include the importance of using known, proven technologies, keeping the architecture simple, avoiding overcomplication, favoring sharding databases over clustering, and embracing limited, proven choices. Pinterest went through various phases of growth, optimizing its tech stack along the way, and learned valuable lessons about database structuring and management, such as how to pick proper database primary keys when sharding.