Increase has a “no abstractions” principle when designing APIs. This means using real-world naming conventions from underlying networks, modeling resources after immutable real-world events, and separating resources with distinct use cases. The approach may seem more complex at first, but it actually makes the API more predictable, more consistent, and reduces cognitive load for developers.
Robinhood uses graphs to represent relationships between user accounts. To combat fraud, it uses vertex-centric algorithms (BFS, DFS) for targeted exploration and graph-centric algorithms (Connected Components, PageRank) for broader network analysis. The company uses graph databases to store and query graph-structured data with built-in analytics.
TypeScript's structural typing can make it difficult to differentiate between types with identical structures. To solve this, this article introduces the concept of "branding," which adds a unique symbolic identifier to a type. It shows real-world examples of a “Brand” type and relevant methods like AddBrand and RemoveBrand.
The dev onboarding process at companies varies a lot, but a good onboarding process allows new devs to build relationships across the team, improve the team's documentation, and get up to speed quickly. A popular comment on this Reddit thread emphasizes the importance of giving a new hire a tiny bug or feature that allows them to push to prod within the first week. This allows them to build momentum and confidence within the team's codebase.
While recruiting for a tech job, this author went through a lot of negative interviewing experiences and found that interviewers often focused on superficial factors during interviews. They also found it hard to find a “good” work environment with talented colleagues, minimal bureaucracy, and meaningful work. Still, the author tells readers to not settle for a mediocre job and to try their best to prioritize passion and meaning in their work.
Plasmic is an open-source visual builder for your codebase. It allows teams to design and build websites fast, with or without code. Its main use cases are for content management and web applications, allowing both devs and non-devs to make edits to a website in a clean manner.
MUI X is a collection of advanced React UI components for complex use cases. It includes data grids, date and time pickers, charts, and a tree view component. It can be integrated natively with Material UI or extended by your own design system.
When engineers talk to users, they get the rich context that they may miss by relying solely on filtered information from others, like product managers. The best users to talk to are power users and those frequently contacting support teams. Engineers should focus on two areas when asking questions: problem exploration (to guide future product direction) and solution validation (to assess new features or demos).
The FCC has voted to reinstate net neutrality regulations, which means that broadband providers cannot block or slow down access to their competitors' services. While broadband providers are expected to take legal action to overturn these reinstated rules, this ruling stands to make the internet more open by not allowing providers to play favorites with internet traffic.
Piet is a programming language where programs are represented by abstract paintings. The language uses 20 colors with commands determined by the color changes encountered as an interpreter travels through an image. The program manipulates data using a stack and includes commands for arithmetic, logic, stack operations, and input/output.
Hashing transforms a large amount of text into a short, unique code (a hash) representing the original content, making it easy to compare data, verify file integrity, and securely store passwords.
This author visualized the locations of malicious IP addresses that tried to compromise their web server, with most of the attacks concentrated from parts of Asia, Europe, and the US, and (almost) none from South America, the Middle East, and Russia.