Sponsored
USERS LOGGED IN
Session management is a concept that flies under the radar in most applications, but it has a crucial role to play: keeping users securely logged in when they use different tabs or devices (imagine life without that!).
Parse notes
Sponsored
Session management is a concept that flies under the radar in most applications, but it has a crucial role to play: keeping users securely logged in when they use different tabs or devices (imagine life without that!).
Discord reduced its websocket traffic by 40% through two key optimizations. Firstly, it replaced its existing compression algorithm, zlib, with zstandard, achieving higher compression ratios and shorter compression times. It further improved performance by implementing streaming compression for zstandard, allowing it to utilize historical data for better compression of small payloads. Secondly, it introduced Passive Sessions v2, which only sends updates about changes in server information instead of sending complete snapshots.
This developer found that Rust's type-safety and compile-time checks led to a smooth transition to production without major issues. After a year, they reflect back on how it's going. They find that Rust's long compile times, particularly with macro-heavy libraries, necessitate a different development workflow. At the same time, Rust is still satisfying to use and will continue to be used in production.
A vulnerability in Arc Browser's use of Firebase allowed unauthorized access to any user's browser without them visiting a website. This was possible because Arc's cloud features, like Boosts, stored data in Firestore with insecure security rules. An attacker could exploit this by obtaining a user's ID, creating a malicious Boost, and changing the Boost's creator ID to the victim's. This has since been addressed by Arc, who patched the vulnerability, added a feature to disable Boosts, and started a bug bounty program.
The "build in public" trend within the indie hacker community has an over-reliance on sharing revenue figures. While initially attention-grabbing, the constant stream of success stories may be losing its impact and overshadowing the discussion of actual product development. Also, the "build in public" approach may not be necessary for success, as some prominent indie hackers have achieved great results without actively sharing their progress publicly.
LLMs can significantly speed up development by taking care of repetitive tasks, but they still have limitations, especially when dealing with complex or open-ended features. While LLMs can't replace engineers entirely, they can help them to focus on higher-level tasks.
A recent Stack Overflow survey revealed that 80% of developers are unhappy with their jobs, with many reporting feeling burnt out and demoralized. The primary culprit appears to be a combination of factors, including unrealistic expectations, technical debt, bureaucratic obstacles, and a lack of work-life balance.
Sponsored
Nobody likes slow front end response – not you, your users, or search engines. Learn how to get ahead of bloated JavaScript bundles and improve your web performance in this blog. Read more on the Sentry
Kamal Proxy is an HTTP proxy that makes it easy to coordinate zero-downtime deployments. It can deploy changes to web applications without interrupting any of the traffic in progress.
Scalar is an offline-first API client and interactive reference generator. It uses OpenAPI/Swagger documents to create user-friendly documentation and API clients for various languages and frameworks.
CSS Peeper is a Chrome extension that allows designers to easily view and inspect CSS styles on any website. It allows for browsing components and colors in a visual way.
Researchers are increasingly choosing to run smaller AI models on their laptops instead of relying on online services like ChatGPT. This shift is driven by the availability of open-source AI models and the development of smaller models that can run efficiently on consumer hardware.
Java deserialization is surprisingly slow. This developer benchmarks various techniques for reading 1 billion rows of data from disk, including using `DataInputStream`, JDBC, Protobuf, Parquet, and custom solutions. The results show that even with optimized custom implementations, Java's performance lags significantly behind the theoretical maximum for disk I/O.
This is an exploration of the OpenAPI Specification (OAS) tooling ecosystem that visually diagrams the various tasks tools perform and how they relate to each other. The tools are separated into three areas: Parsing libraries, OAD tools, and API tools.
“Sanding UI” involves repeatedly clicking and interacting with a user interface to identify and fix subtle usability issues.
By using domain objects that represent the fundamental ideas of a product, rather than specific requirements, code becomes more resilient to changes in those requirements.
A better programmer hiring process focuses on evaluating candidates' past work, conversational intelligence, and compatibility with the team rather than traditional interviews like Leetcode questions.
This developer prefers using Makefiles for project automation due to their simplicity, consistency across projects, and compatibility with various build tools.