| Random Link ¯\_(ツ)_/¯ | ||
| Sep 13, 2026 | » | Single Responsibility Principle
1 min; updated Sep 13, 2026
A class should have one reason to change. For example, … violates this principle because content generation, PDF formatting, and file storage are all in one place. Instead, split the responsibilities into separate classes: |
| Sep 10, 2026 | » | Acing an LLD Interview
5 min; updated Sep 10, 2026
Interviewing RubricProblem Analysis. Extract key entities and responsibilities, ask a few questions to lock down scope, and frame the problem before touching code. Class Design. Choose the right responsibilities, shape the method signatures, define clear ownership, and keep the boundaries clean. Code Quality. Encapsulation, well-managed state, sensible use of composition or inheritance, clear separation of concerns, naming, consistency, and dependency direction. Extensibility and Maintainability. Can the design absorb new functionality without being rewritten? Designs should adapt easily, without anticipating every possible future. ... |
| Jun 1, 2025 | » | Copilot in VS Code
14 min; updated Jun 8, 2025
My work is primarily in Microsoft’s ecosystem, so learning Copilot usage in VS Code is pretty important. If not for my own productivity gains, then for having knowledgeable conversations with coworkers about using LLMs as a SWE. Copilot-Powered ScenariosAI Code CompletionsI’ve found code completions more distracting than useful. Probably because I already have an idea of what I want to type, and Copilot’s hallucinations slow me down. I’ve turned this off in my IDE. ... |
| Feb 9, 2025 | » | WWW Watering Hole
4 min; updated Feb 9, 2025
As the web evolves, where do practitioners congregate and exchange ideas? Working Groupsdevelops standards and guidelines to help everyone build a web based on the principles of accessibility, internationalization, privacy and security. publishes standards and drafts , which are then implemented by browser vendors, e.g., Chromium, Firefox, and Safari. Topics of interest: accessibility, browser, CSS, data, DOM, digital publishing, graphics, HTML, HTTP, internationalization, media, performance, privacy, protocol, security, web API, web fonts, Web of Things (WoT), and XML. ... |
| Nov 28, 2022 | » | C++ Meta-Programming
4 min; updated Nov 28, 2022
Clang, LLVM, GCC, and MSVCLLVM is an umbrella project, with several sub-projects, e.g. LLVM Core and Clang. LLVM Core libraries provide an optimizer and code generator for different CPUs. Clang is an “LLVM native” C/C++/Objective-C compiler which aims for fast compilation, useful error and warning messages, and a platform for building source-level tools. The Clang Static Analyzer and clang-tidy are examples of such tools. So if I were to create a programming language, I can define a transformation into LLVM intermediate representation (LLVM IR), and that will make use of LLVM core to optimize it? Sweet! ... |
| Nov 7, 2021 | » | Bloom Filters
5 min; updated Sep 5, 2022
Bloom FiltersMotivationA Bloom filter for a set \(X: \{x_1, x_2, …, x_n\} \) from some universe \(\mathbb{U}\) allows one to test whether a given item \(x \in \mathbb{B}\) is an element of \(X\). Hash tables can already answer \(x \in X\) queries in \(O(1)\) expected time, and \(O(n)\) space. ... |
| Jul 2, 2022 | » | Debugging
7 min; updated Sep 5, 2022
Debugging 101Definition? Debugging involves inspecting a program’s internal state.
|
What defines “reason”? Do reasons map to user-facing requirements?