Rust Tutorial #2: Installation and Your First Program

In the previous tutorial, we learned why Rust matters. Now let’s install it and write our first program. By the end of this tutorial, you will have Rust installed, your editor set up, and a working program that you built and ran yourself. Step 1: Install Rust with rustup Rust uses a tool called rustup to manage installations. One command installs everything: macOS / Linux curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh Follow the prompts — choose the default installation (option 1). ...

March 26, 2026 · 9 min

Jetpack Compose Tutorial #22: Building the Data Layer — Room + Repository Pattern

In the previous tutorial, we planned our task manager app. Now we build the foundation — the data layer. The data layer is everything below the UI: the database, the repository, and the use cases. Get this right, and the UI layer writes itself. What We Build in This Tutorial data/ ├── local/ │ ├── TaskEntity.kt ← Database table definition │ ├── TaskDao.kt ← Database operations │ └── AppDatabase.kt ← Room database ├── mapper/ │ └── TaskMapper.kt ← Convert Entity ↔ Domain Model ├── repository/ │ └── TaskRepositoryImpl.kt ← Repository implementation │ domain/ ├── model/ │ ├── Task.kt ← Clean domain model │ ├── Category.kt ← Enum │ └── Priority.kt ← Enum ├── repository/ │ └── TaskRepository.kt ← Interface (contract) └── usecase/ ├── GetTasksUseCase.kt ├── AddTaskUseCase.kt ├── ToggleTaskUseCase.kt └── DeleteTaskUseCase.kt Step 1: Domain Models The domain layer is pure Kotlin — no Android dependencies, no Room annotations. This is the “truth” of your app. ...

March 25, 2026 · 11 min

Claude Code Remote Control: Control Your AI Agent from Your Phone

Anthropic released a feature that changes how you work with Claude Code. It is called Remote Control, and it does exactly what the name says: you can control a Claude Code session running on your laptop from your phone, tablet, or any browser. Start a task at your desk. Walk into a meeting. Keep watching from your phone. What is Claude Code Remote Control? Claude Code Remote Control connects the Claude mobile app (iOS and Android) and the web interface at claude.ai/code to a Claude Code session running on your local machine. ...

March 25, 2026 · 5 min

Jetpack Compose Tutorial #21: Planning the App — A Task Manager with Compose

You have learned every piece: layouts, state, navigation, ViewModel, MVI, Room, Hilt, animations, testing, and adaptive layouts. Now it is time to use them all together. In the next five tutorials, we will build a complete task manager app from scratch. Not a toy demo — a real app with real architecture that you could publish to Google Play. This tutorial is about planning — deciding what to build, how to organize the code, and what dependencies to use. No code yet. Just decisions. ...

March 25, 2026 · 8 min

AI Coding Tools Cheat Sheet 2026 — Claude, Cursor, Copilot, and More

Bookmark this page. Use Ctrl+F (or Cmd+F on Mac) to find what you need. This cheat sheet compares AI coding tools, their features, pricing, and best use cases. Last updated: March 2026 Tool Comparison Tool Type Best For Pricing (Mar 2026) Claude Code CLI agent Multi-file edits, refactoring, debugging $20/mo Pro, $100/$200 Max Cursor IDE (VS Code fork) Day-to-day coding with AI inline $20/mo (Pro) GitHub Copilot IDE extension Autocomplete, inline suggestions Free (limited), $10/mo Pro, $39/mo Pro+ Windsurf IDE (VS Code fork) Chat + agent workflows $15/mo (Pro) ChatGPT Chat Explaining code, brainstorming $20/mo (Plus) Gemini CLI CLI Quick questions, code review Free (1K req/day), Pro/Ultra plans Codex CLI CLI Code review, autonomous tasks OpenAI API pricing Feature Matrix Feature Claude Code Cursor Copilot Windsurf Autocomplete — Yes Yes Yes Chat Yes Yes Yes Yes Multi-file editing Yes Yes Limited Yes Terminal commands Yes Yes (Cmd+K in terminal) — — Agent mode Yes Yes Yes Yes Git integration Yes Yes Yes Yes MCP support Yes Yes Yes Yes Custom rules CLAUDE.md .cursorrules .github/copilot-instructions.md .windsurfrules Context window 200K (up to 1M on Max) 128K 128K 128K Claude Code Shortcuts Command Description /help Show available commands /clear Clear conversation /compact Compress context to save tokens /cost Show token usage and cost /init Create CLAUDE.md project file Esc Cancel current generation Shift+Tab Accept file edit Ctrl+C Exit Claude Code Tips # Run Claude Code claude # Start with a prompt claude "fix the failing tests" # Non-interactive mode claude -p "explain this function" < file.py # Use a specific model claude --model sonnet # or opus, haiku # Continue last conversation claude --continue CLAUDE.md — Project Instructions # CLAUDE.md - Use TypeScript strict mode - Tests: Jest with React Testing Library - Style: Tailwind CSS, no inline styles - Always run tests before committing Place CLAUDE.md in your project root. Claude reads it automatically. ...

March 25, 2026 · 4 min

Jetpack Compose Tutorial #20: Adaptive Layouts — Phones, Tablets, and Foldables

Your app looks great on a phone. But open it on a tablet and there is a giant empty space. Open it on a foldable and the layout breaks. In 2026, adaptive layouts are not optional. Google Play requires apps to support different screen sizes. And with foldables, tablets, and ChromeOS — your app will run on screens from 4 inches to 15 inches. This tutorial teaches you how to build one codebase that adapts to every screen. ...

March 25, 2026 · 10 min

Jetpack Compose Tutorial #19: Permissions and Camera

Your app needs the camera. Or the user’s location. Or access to files. On Android, you can’t just use these — you need to ask permission first. In the old View system, permissions required complex boilerplate with onRequestPermissionsResult. In Compose, it’s much simpler — a few lines with rememberLauncherForActivityResult or the Accompanist library. Two Ways to Handle Permissions Approach Library Best For Activity Result API Built-in (no extra dependency) Simple, single permission Accompanist Permissions accompanist-permissions Multiple permissions, complex flows Both work well. Activity Result API is simpler. Accompanist gives more control. ...

March 25, 2026 · 6 min

Jetpack Compose UI Testing: performScrollTo, performScrollToNode & Gestures

Your app works when you manually tap through it. But does it work after your next code change? And the one after that? Manual testing doesn’t scale. You can’t tap through 50 screens after every change. That is what automated tests are for — and Compose makes testing surprisingly easy. Why Test Compose UI? Three reasons: Catch bugs before users do — tests run in seconds, not minutes of manual tapping Refactor with confidence — change code, run tests, know nothing broke Document behavior — tests show WHAT the UI should do Setup Add the testing dependencies to app/build.gradle.kts: ...

March 24, 2026 · 9 min

Jetpack Compose Tutorial #17: Performance — Making Your App Fast

Your app works. But it stutters when scrolling. The screen freezes for a split second when you type. Animations aren’t smooth. The problem isn’t Compose — it’s recomposition. Compose redraws parts of your UI when state changes. If it redraws too much, too often, your app feels slow. This tutorial will teach you why Compose gets slow and how to fix it. How Recomposition Works When state changes, Compose doesn’t redraw the entire screen. It redraws only the Composables that read the changed state. This is called recomposition. ...

March 24, 2026 · 9 min

The Best AI DevOps Tools in 2026: CI/CD, Code Review, Security, and Monitoring

DevOps used to be about writing YAML files and debugging pipelines at 2 AM. In 2026, AI handles most of that. AI DevOps tools now automate code reviews on every PR, scan for security issues before deployment, predict pipeline failures before they happen, and optimize your infrastructure costs automatically. Here are the tools that actually matter — organized by what they do. AI Code Review — Stop Reviewing Every Line Manually The biggest time sink in any development team: code reviews. AI code review tools read every pull request and give feedback in minutes instead of hours. ...

March 24, 2026 · 7 min