eNSPanel: Building a Better Smart Home Touch Panel
An open-source custom PCB replacement for the Sonoff NSPanel that adds presence detection, voice assistant capabilities, and modular extensibility.
Thoughts on software development, backend systems, and occasional cooking experiments.
An open-source custom PCB replacement for the Sonoff NSPanel that adds presence detection, voice assistant capabilities, and modular extensibility.
A workaround for adding footer views to Android's NavigationView component, which only officially supports headers.
Understanding and solving the frustrating issue of fragments overlapping when managing the back stack in Android.
How to detect whether your Android app is running on a phone, tablet, or Google TV device using utility methods from Google's IO Sched app.
Introducing FormEditText - an open-source library that brings easy data validation to Android EditText fields through XML attributes.
A PHP library that flattens complex nested objects for database storage while maintaining SQL queryability.
A comprehensive guide to implementing secure, automated server backups using rsnapshot, rsync, and SSH with proper security practices.
A simple pattern using SharedPreferences to run initialization code only the first time your Android app is launched.
How to implement a secure password reset flow that protects users even if their email is compromised.
Why strip_tags() isn't safe enough and how to properly sanitize HTML when you need to whitelist certain tags.
How to implement real-time change detection for Android's EditText widget using TextWatcher, similar to JavaScript's onChange event.
How to extract and view the trusted Certificate Authorities (CAs) from an Android device using BouncyCastle and ADB.
How to programmatically add calendar events on Android across different SDK versions, from 1.5 to Froyo and beyond.