Search the archive

Full-text search across article titles and summaries. Refine with sector, year, content type, and reading-time filters.

Results

9,381 matches

ON OWNING SOFTWARE

Just like a house needs maintenance, so does software. Software requires ongoing maintenance and support, which varies depending on the model of software (open-source, on-prem, or SaaS). SaaS changed the landscape by offering fixed "rent" costs and reducing the need for in-house support. The “one-off” software model is unsustainable in the long term and it often leads to worse support, buggy software, and a shoddy product.

2024.01.25
avdi.codes14 min readTLDR Web Dev

SERVERFREE ARCHITECTURE

A web application has server-free architecture when it doesn’t have any backend servers, containers, or virtual machines. This can be implemented using SQLite compiled to WebAssembly for database operations, running backend code in a Web Worker, and using a Service Worker to intercept requests and communicate with the Web Worker. A server-free architecture offloads work from the backend and allows for offline access to web applications.

2024.01.24
subzero.cloud10 min readTLDR Web Dev

FROM SLOW TO SIMD: A GO OPTIMIZATION STORY

A function within Sourcegraph's Code AI tool, Cody, was recently optimized to significantly increase its throughput and reduce memory usage. The function calculates the dot product of two vectors. The optimization journey involved various techniques like loop unrolling, bounds-checking elimination, quantization, and SIMD (Single Instruction Multiple Data) instructions.

2024.01.24
sourcegraph.com10 min readTLDR Web Dev

4 STRATEGIES FOR MIGRATING MONOLITHIC APPS TO MICROSERVICES

Best practices for migrating monolithic applications to microservices in containerized Kubernetes environments include understanding the monolith's dependencies, taking an incremental approach, loosely coupling microservices, and implementing end-to-end observability. DevOps teams are commonly under pressure to make this migration to optimize the software delivery life cycle, reduce fragility, and create shorter release cycles.

2024.01.24
thenewstack.io6 min readTLDR Web Dev

THE SKILL THAT GETS YOU FIRED OR PROMOTED: MANAGING UP

Managing up is the skill of influencing people who are more senior to you, such as your direct manager. Failing to deliver on promises and deadlines can lead to a lack of trust from your manager and potentially getting fired. To manage up effectively, it’s important to set realistic expectations, prioritize important promises, and communicate openly with peers.

2024.01.24
leahtharin.com9 min readTLDR Web Dev

HIRING ONLY SENIORS IS THE WORST POLICY IN THE SOFTWARE INDUSTRY

Companies should hire more junior engineers as they bring fresh energy, motivation, and openness to new technologies to a team. Juniors are necessary for long-term excellence in software engineering. They should be paid fairly based on their skills and not just years of experience, or else companies may lose their best engineers over time.

2024.01.24
open.substack.com6 min readTLDR Web Dev

TYPESPEC

TypeSpec is a language designed for describing cloud service APIs and generating various assets, such as API description languages, client and service code, and documentation. It offers extensible core language features that can describe API structures commonly found in REST, OpenAPI, GraphQL, gRPC, and other protocols. TypeSpec enables the creation of reusable patterns for API design and allows for the detection of known anti-patterns, helping API designers adhere to best practices.

2024.01.24
github.comGitHub repositoryTLDR Web Dev

ATLAS

Atlas is a browser-based tool that allows users to work with geospatial data and share their results. It enables users to build interactive maps, analyze data in the context of location, visualize trends, facilitate teamwork and information sharing among GIS professionals, and present plans and proposals in an easily understandable format.

2024.01.24
atlas.coToolTLDR Web Dev

WHY IS MACHINE LEARNING 'HARD'?

Difficulty in machine learning (ML) is not primarily due to mathematics, but rather the need to build an intuition for selecting the right tools and debugging. Debugging in ML is exponentially harder than in standard software engineering due to multiple dimensions of potential issues involving algorithms, implementation, data, and model correctness. The long debugging cycles in ML, which can be days or even weeks, make parallel experimentation necessary.

2024.01.24
ai.stanford.edu9 min readTLDR Web Dev

BOTTLENECK OF SCALEUPS #06: ONBOARDING

A well-structured onboarding process not only grants access to new hires, but also integrates new employees socially and culturally. A bottleneck in the onboarding process can be identified by delays in accessing tools and systems, the inability of new developers to make production deployments quickly, newcomers feeling orphaned, excessive focus on individual work, resistance to change, slow completion of seemingly simple tasks, high turnover of newcomers, and documentation that can't answer new hires' questions. An optimized onboarding process maximizes the productivity of new employees.

2024.01.24
martinfowler.com9 min readTLDR Web Dev

UNBLOATING THE BUFFERS

Bufferbloat in computer networks can cause delays and glitches in internet traffic, particularly during activities like video calls. Bufferbloat occurs when network buffers fill up with data packets, causing increased latency. Active Queue Management (AQM) techniques like CAKE can be used to dynamically adjust and manage network queues, resulting in more stable and responsive network performance.

2024.01.24
dgroshev.com5 min readTLDR Web Dev

THE BUILDING BLOCKS OF OFFLINE SUPPORT

Full offline support can be supported through architectural decisions, including multi-storage loading for speed and local caching, grouped updates through an operations queue to optimize real-time interactions, and a UI status system to inform users about offline functionality.

2024.01.24
pketh.org4 min readTLDR Web Dev

HOW TO BUILD A SCALABLE NOTIFICATION SERVICE

Razorpay faced challenges like database bottlenecks and slow customer responses to webhooks when it scaled its notification service. To address these, it implemented prioritized queues, asynchronous database writes, and better quality of service for webhooks. The company prioritized notifications based on customer response times.

2024.01.23
blog.quastor.org8 min readTLDR Web Dev

CACHES: LRU VS RANDOM

A random eviction policy performs surprisingly well for large caches. It often outperforms LRU in terms of miss rate, especially when cache size increases. This may mean that different approaches may suit different cache levels. Combining LRU for smaller caches and 2-random for larger ones might be promising. The “random” principle applies to various scenarios beyond cache eviction, like load balancing and data distribution.

2024.01.23
danluu.com5 min readTLDR Web Dev

A GUIDE TO ENABLING PARTIAL PRE-RENDERING IN NEXT.JS

With incremental static regeneration (ISR), Next.js enables the pre-rendering of pages containing dynamic data during the build time. This article is a comprehensive guide on enabling partial pre-rendering in Next.js 14, which lets you control which parts of a page are pre-rendered.

2024.01.23
blog.logrocket.com9 min readTLDR Web Dev

BACKLOG SIZE IS INVERSELY PROPORTIONAL TO HOW OFTEN YOU TALK TO CUSTOMERS

This author built a successful event/ticket service for comics by prioritizing customer feedback over assumptions. He believes that having a large backlog means that you don’t talk to customers often enough. Along with recommending talking to customers more, the author also recommends simplifying UI, observing user usage more, focusing on loyal customers, and creating more MVPs for learning.

2024.01.23
bitbytebit.substack.com7 min readTLDR Web Dev

HOW TO DRIVE MEETINGS

Meetings are crucial for senior engineers, but poorly run ones can hurt productivity. Before a meeting, set a clear agenda with shared pre-work. During the meeting, guide the conversation, manage time, and redirect if needed. After the meeting, finalize follow-ups, clearly assign ownership, and share meeting highlights with relevant parties.

2024.01.23
developing.dev3 min readTLDR Web Dev

HEAT.JS

Heat.js is a lightweight JavaScript library that generates customizable heat maps to visualize date-based activity and trends. It’s similar to GitHub’s yearly contribution heatmap that is displayed on user’s profiles.

2024.01.23
github.comGitHub repositoryTLDR Web Dev

BRIG

Brig is a user interface toolkit for Node.js. It’s used to load and play QML files, which are used in graphical applications to render objects.

2024.01.23
github.comGitHub repositoryTLDR Web Dev

SHIPPING BLENDED DIFFS

The Split Diff view was launched on GitHub back in 2014. The engineer who shipped it is now looking to ship a new way to review diffs: blended diffs. Instead of showing 2 lines of changes for a single line change (one for the deleted line and one for the added line), blended diffs show the final file view and use AI to generate diff summaries. This article is an interesting read on how a team found a problem, designed a solution, went through design iterations, and implemented the solution with a team of engineers.

2024.01.23
markdotto.com6 min readTLDR Web Dev

THE OPEN SOURCE SUSTAINABILITY CRISIS

For open source to be more sustainable, companies need to contribute more to open source contributors through financial support. Today, most open source contributors need to spend extra time on securing sponsorship or taking on extra work to support themselves. Open source maintainers often burn out as a result, leading to a lower velocity of improvement on open source software.

2024.01.23
openpath.chadwhitacre.com5 min readTLDR Web Dev

READING QR CODES WITHOUT A COMPUTER

QR codes have different parts, like finder patterns, separators, timing patterns, and format information. Mask patterns hide data and improve readability. Encoding modes specify how data is stored (e.g., numeric or alphanumeric). To decode a QR code, one can use a cheat sheet to identify the mask pattern, read the encoding mode, follow the reading order, find the total number of content bytes, and decode the content using a table. This guide takes readers through this process step-by-step with visuals.

2024.01.23
qr.blinry.org6 min readTLDR Web Dev

BIOME.JS ROADMAP 2024

Biome.js is a fast formatter for JavaScript, TypeScript, JSX, and JSON that can even format malformed code. In 2024, Biome.js maintainers hope to help more users move to Biome, expand Biome’s language support, and deepen Biome’s existing capabilities.

2024.01.23
biomejs.dev4 min readTLDR Web Dev

SQLITE OR POSTGRESQL? IT'S COMPLICATED!

Both SQLite and PostgreSQL were used - to test performance - when building a blogging dashboard at Twilio. PostgreSQL outperformed SQLite for shorter queries but struggled with longer ones. SQLite handled concurrency better for all query sizes. SQLite also seemed to provide more simplicity for the application, especially since it was a smaller one.

2024.01.22
twilio.com15 min readTLDR Web Dev

THE GOLDEN RULE OF ASSERTIONS

For effective testing, a test should fail if, and only if, the intention behind the system is not met. All tests should focus on the intention of the code being tested and avoid testing implementation details, which could lead to false test failures. Following these guidelines helps define test boundaries properly and has developers consider external factors like dependencies more accurately.

2024.01.22
epicweb.dev6 min readTLDR Web Dev

THE “ERRORS” THAT MEAN YOU'RE DOING IT RIGHT

Certain "errors" or unexpected outcomes should be seen as positive results of good decisions and strategies. Not all errors indicate failure and some are natural side-effects of success. For example, re-adding features/bugs to the backlog, pivoting a strategy just after creating it, refactoring infrastructure after significant growth, and adding or removing words in messaging are all “errors” that are side effects of success.

2024.01.22
longform.asmartbear.com6 min readTLDR Web Dev

9 KEY LESSONS LEARNED ON MY PATH FROM ENGINEER TO VP

An engineer shares his career story of going from a software engineer to a VP of Technology at a startup. His lessons along the way include becoming a domain expert, learning to handle stress, avoiding complacency, scaling oneself, taking initiative, getting the job done, understanding that growth is a marathon, building a track record, and saying yes to every opportunity.

2024.01.22
open.substack.com7 min readTLDR Web Dev

THE BUN SHELL

The Bun Shell is an experimental embedded language and interpreter that enables running cross-platform shell scripts in JavaScript and TypeScript. It provides features like using JavaScript variables in shell scripts, redirection, piping, and support for common shell commands.

2024.01.22
bun.sh4 min readTLDR Web Dev

TAIPY

Taipy is an open-source Python library designed for data scientists and machine learning engineers to build full-stack web applications. It enables the development of production-ready web apps without requiring users to learn new languages or full-stack frameworks. Taipy offers pre-built components for data pipelines, scenario and data management features, and tools for version management and pipeline orchestration.

2024.01.22
github.comGitHub repositoryTLDR Web Dev

DEMO AI APP

This is a sample movie finder app to demonstrate how to incorporate AI into your applications. It showcases the implementation of AI features such as tagging, finding semantically similar data, deep searching using natural language, and searching through images.

2024.01.22
github.comGitHub repositoryTLDR Web Dev

MOURNING GOOGLE

This author, who worked at Google for over a decade, reflects on how the perception of Big Tech has changed during that time. They were filled with excitement and optimism when joining Google in 2010, but today, there are challenges faced by tech giants in terms of public trust, antitrust, congressional hearings, and more.

2024.01.22
tbray.org4 min readTLDR Web Dev

GPT-3.5 CRASHES WHEN IT THINKS ABOUT USERALATIVEIMAGEPATH TOO MUCH

OpenAI's GPT-3.5 model consistently gives an error message when responding to a chat message that starts with "ponyuseRalative ponyuseRalative ponyuseRalative pony". This could be due to the model not being trained on the specific token "useRalativeImagePath.” GPT-4 does not have this issue.

2024.01.22
iter.ca2 min readTLDR Web Dev

PLATFORM TILT

Mozilla’s dashboard tracks technical issues in major software platforms, such as iOS and Android, that disadvantage Firefox relative to the first-party browser.

2024.01.22
mozilla.github.ioToolTLDR Web Dev

GRAPHQL AND THE BEADS ON A STRING

GraphQL allows the client to make a single request for multiple pieces of data, making it easier to retrieve data for certain types of API requests.

2024.01.22
blog.luccasiau.com2 min readTLDR Web Dev