Learn

Build durable
engineering
understanding

Practical tutorials and deep explanations grounded in reproducible environments, exact versions, and observable results.

Start learning your way

Choose your path

Get StartedNew here? Start from the basics.By TechnologyExplore topics grouped by technology.By Skill LevelBeginner to advanced progression.By Use CaseLearn through practical engineering work.Deep DivesIn-depth explanations of complex topics.What's NewLatest tutorials and updated content.

Learn by technology

Explore engineering domains

Software Development101 guidesLinux64 guidesLinux Kernel24 guidesWordpress14 guidesAndroid9 guidesDeveloper Tools9 guides

Learning resources

Supporting knowledge

Install Chrome on Ubuntu—and Know Who Updates ItguideWho Is Really Logged In to This Linux Machine?guideMake Room in Windows Without Deleting What MattersguideLet the Linux tree Command Explain a DirectoryguideResume Large File Transfers over Unstable SSHguideLaunch a Secure Amazon EC2 Instance Step by Stepguide

Structured tutorials

Understand one concept at a time

Existing library

Continue exploring

Android

Android Bluetooth Architecture: From API to HCI

A practical map of Android Bluetooth from framework APIs and Binder calls through the Bluetooth module, JNI, native host stack, vendor boundary, transport, and controller—with release-aware AOSP paths and debugging checkpoints.

Read guide
Android

Capture Android Bluetooth HCI Logs with ADB

Capture Bluetooth traffic at Android’s host-controller boundary, retrieve it through a direct ADB pull or an AOSP bug report, and inspect the BTSnoop file in Wireshark. The workflow also explains privacy risks, vendor-specific paths, and what an HCI log cannot reveal.

Read guide
Android

Turn On Bluetooth and Discoverability with ADB

ADB can open Android’s trusted system dialogs for enabling Bluetooth and temporary discoverability, but the user still controls consent. This guide shows the exact intents, duration extra, device targeting, verification, and the limits of unattended automation.

Read guide
Android

Create an Android Upload Key for Google Play

For a Play App Signing release, your upload key proves that a bundle came from your team; Google’s app-signing key signs the APKs users install. Generate them as separate identities, protect the private material, and register the correct certificate fingerprints.

Read guide
Android

Create Adaptive and Themed Android App Icons

An Android launcher icon is a layered resource, not a pre-cropped rounded PNG. Build separate foreground, background, and monochrome artwork, let the launcher apply its mask and tint, and keep the Google Play listing asset separate.

Read guide
Android

Fix RecyclerView Orientation WrongConstant

`WrongConstant` is Android lint telling you that an integer came from outside the API’s documented constant set. Use the constant family declared by the parameter, then investigate dependency or lint-version drift if an official alias is still flagged.

Read guide
Android

Fix ContextImpl Cannot Be Cast to Activity

`Context` is a capability family, not another name for `Activity`. Find the failing cast, decide whether the operation truly needs a UI owner, and change the API contract instead of swapping context methods until the crash disappears.

Read guide
Android

Prevent Screenshots in Android with FLAG_SECURE

`FLAG_SECURE` asks Android to keep a window out of screenshots and non-secure displays. Apply it before sensitive UI appears, understand its window-wide scope, and treat newer detection and screen-share APIs as complementary—not interchangeable—controls.

Read guide

Engineering weekly

Useful technical knowledge, not inbox noise.

Receive verified fixes, references, labs, and tools. Confirm by email; unsubscribe any time.