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

ADB Commands

Test Android BOOT_COMPLETED Receivers Safely

A synthetic ADB broadcast can test receiver routing, but it does not reproduce a complete reboot. Build a minimal boot receiver, enqueue durable work, respect user-unlock and background limits, and verify both explicit broadcasts and genuine device boots.

Read guide
Multimedia

Build Picture-in-Picture Video on Android

Picture-in-picture lets eligible video continue in a system-managed floating window while the user navigates elsewhere. Implement it as a player-state transition, with modern auto-entry, lifecycle-aware UI, graceful fallbacks, and device-level tests.

Read guide
Web Design and Development

Use Google Fonts Without Slowing Down Your Website

Load only the font families, weights, styles, and writing systems your design needs. This implementation covers the current Google Fonts CSS API, resilient CSS fallbacks, privacy and CSP boundaries, self-hosting, layout stability, and browser-level verification.

Read guide
NDK / Middleware / HAL

Link Libraries Correctly in Android.mk

LOCAL_LDLIBS is appropriate for stable NDK system libraries such as log or z. External libraries should normally be declared as source-built or prebuilt ndk-build modules so headers, ABI selection, dependency order, packaging, and runtime loading remain reproducible.

Read guide
Development, Debugging and Performance Tools

Format and Validate HTML, CSS, and JSON Safely

Formatting makes code consistent; linting catches suspicious patterns; validation checks a grammar or schema; minification optimizes delivery. Build a pinned local workflow for HTML, CSS, and JSON without pasting private source into an unknown website.

Read guide
PHP

Fix PHP count(): Value Must Be Countable

An empty array is valid input to count() and returns zero. This warning means the runtime value is null, scalar, or otherwise non-countable; find where the type contract broke, then fix or normalize it intentionally.

Read guide
HTML

HTML id vs class: Meaning, Selectors, and Pitfalls

An HTML id names one element uniquely within a document; class assigns one or more reusable category tokens. See where each belongs in CSS, JavaScript, fragment links, forms, and accessibility—and why duplicate IDs are more serious than a styling mistake.

Read guide
Django & REST Api

Fix MultipleObjectsReturned in Django and DRF

Django raises MultipleObjectsReturned when get() matches more than one row. The real fix depends on the domain: return a collection when duplicates are valid, or repair data and enforce uniqueness when exactly one row should exist.

Read guide

Engineering weekly

Useful technical knowledge, not inbox noise.

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