Moving form Logseq to Obsidian
A detailed comparison of migrating from Logseq to Obsidian after 3 years, covering the migration process using the LogSeqToObsidian script, performance improvements (especially on mobile), and feature tradeoffs. Key advantages include better editing experience, snappier performance, and richer plugin ecosystem. Notable losses include namespace organization, journal timeline views, and inline metadata. Both tools use local markdown files, making migration straightforward, with sync plans starting at $5/month.
❤5👍4
Reaper - An open-source SDK for finding dead code
Sentry open-sourced Reaper, an SDK for detecting dead code in iOS and Android apps through runtime analysis. Unlike static analysis tools, Reaper monitors actual user sessions to identify code that's never executed in production. The iOS version leverages Objective-C and Swift runtime metadata to track type initialization with zero runtime overhead. The Android version instruments bytecode at build time, injecting tracking calls into class initializers. Both implementations allow teams to aggregate usage data across app versions and safely identify unused code for deletion, helping manage codebase complexity and technical debt.
❤12👍3🔥2
UX 3.0
UX 3.0 represents a paradigm shift from interface-centered design to intelligent ecosystem orchestration, where designers create experiences spanning interconnected devices and AI-powered systems. This evolution introduces four core pillars: ecosystem-based experiences across product lifecycles and platforms, human-AI symbiosis enabling predictive and contextual interactions, ethical considerations around transparency and fairness in AI systems, and co-creation methodologies that democratize the design process. Companies like Google, Netflix, and Spotify exemplify this approach by building adaptive systems that anticipate user needs, personalize experiences through machine learning, and maintain consistency across complex technological ecosystems while addressing challenges of algorithmic bias, privacy, and digital well-being.
❤8👍3
SQL
SQL remains the fundamental language for data work, evolving from its 1970s origins to dominate modern data landscapes. Despite challenges from NoSQL and big data technologies, SQL has absorbed their capabilities—streaming, transformations, geospatial, and machine learning. The language continues expanding with modern features like window functions and analytics semantics, while Python serves as the complementary tooling language for data engineering workflows. SQL's declarative nature and widespread adoption across cloud services like BigQuery and Snowflake cement its position as the gravitational center of data processing.
👍9❤8
Null-Safe applications with Spring Boot 4
Spring Boot 4 and the Spring portfolio now provide null-safe APIs using JSpecify annotations to help prevent NullPointerExceptions. The Spring team has annotated most major projects including Spring Framework 7, Spring Data 4, and Spring Security 7 with explicit nullability information. Developers can leverage this through IDE support (IntelliJ IDEA 2025.3+) for warnings, or use build-time checkers like NullAway for stricter enforcement. Kotlin 2 automatically translates these annotations to native Kotlin nullability. This allows teams to choose their level of null-safety adoption, from simple IDE warnings to fully null-safe applications, without breaking existing APIs.
❤4
Hacktivate
Paul Hudson built Hacktivate, a capture-the-flag game teaching cybersecurity fundamentals to teens through 240 challenges covering SQL injection, cryptography, networking, and steganography. The app runs entirely locally on Apple devices using Swift and SwiftUI, featuring a sandboxed environment with simulated servers, terminals, and networks. Inspired by classic games like Syndicate and Command & Conquer, it combines retro aesthetics with practical skills like packet sniffing, hash cracking, and digital forensics. The 45,000+ lines of code include a Linux terminal emulator, web server, and various security tools, all designed to provide structured, privacy-preserving learning without external dependencies.
❤14🔥3
Vibe coding is boring
Vibe coding with AI agents is effective for shipping side projects quickly, but removes the satisfaction and learning that comes from hands-on development. While tools like GitHub Copilot and Spec Kit can automate implementation from specifications, watching agents write code is tedious and lacks the joy of problem-solving. The author reserves AI-assisted coding for projects where only the final output matters, preferring to manually build applications where the tech stack or implementation details are interesting.
❤11👍2