Miscellaneous Tech
- Bitcoin resources → Youtube resource Learning Bitcoin from CLI
- APK (Android Package Kit) - file format used by Android to install apps
- has all components of app and packaged in single apk → code, resources, assets
- Like .exe are executables on Windows → APKs are for Android
- Mod APK (Modified APK) - altered version of original Android app
- Sideloading - installing apps on device from sources other than official app store
- Used for apps not available on Play Store or for beta versions
- XAPK (extended Android package kit) - APK file + OBB files + graphics + media
- compressed for easy distribution of large apps/heavy games for android
- not officially supported by Android → special installers are needed
- Manually, users can extract XAPK and place OBB files in respective folder
- OBB (Opaque Binary Blob) files - extra data files used by some Android apps to store large assets like graphics, media files, and game data that don’t fit in APK
- APK works as the installer and OBB provides bulk of the content
- After we Delete File permanently → system do not immediately erase data → only index pointer (the file’s address) is removed from file system → data is still intact
- In Hard Disk Drives (HDD), data blocks remain intact until new files overwrite them → the sooner you try to recover, the better your chances are
- Sometimes, we may get corrupted images (half visible, half damaged)
- In Solid State Drives (SSD), if TRIM is enabled → OS quickly wipes free blocks
- very hard to recover data
- In Phone Storage (Flash Memory) - recovery chances are very low because memory cells are reused quickly
- Dual-boot - install multiple OS on separate partition/disk with bootloader at startup to select & load only that OS’s kernel and system files from its partition while other OS stays inactive → after installing Linux, Windows Boot Manager replaced with GRUB
- X’s (twitter) API return both id and id_str → some environments can handle 64-bit integers directly, but in JavaScript integers larger than 53 bits risks precision errors
- unacceptable risk when identifiers must remain exact
- id: 64-bit unsigned integer id_str: same identifier represented as string
- Compiler vs Interpreter
- Compiler - translates entire source code into machine executable code at once before execution → Faster execution + more efficient
- checks for syntax errors at end during compilation → Example: C, C++
- Interpreter - translate code line by line and execute instruction by instruction
- Easy to detect errors but slower execution → Example: Python, JavaScript
- Authentication vs Authorization
- Authentication - confirms identity of users by verifying login credentials
(e.g., username, password, biometric) → happens before any authorization check - Authorization - checks if user has permission to perform certain actions/access specific data based on roles, permissions, or access levels
- Integrated Development Environment (IDE) - place to write, run and debug code
- Example: Visual Studio, PyCharm, Jupyter Notebook
- storage/emulated/0/ - root directory of user-accessible internal storage on Android
- represents user’s primary storage ("Internal Storage”)
- To run batch file in PowerShell → add ./ before script name for security reasons
- This 100% ensures that running batch file of current directory
- Software bloat - when program becomes slow and oversized due to inefficient code or unnecessary features → apps consume more memory, storage, CPU
- coder-decoder (codec) - compress and decompress digital data (audio + video files)
- Audio Codecs - MP3, AAC (used by iTunes and YouTube)
- Video Codecs - H.264/AVC (widely used for streaming, Blu-ray, and web video), HEVC/H.265 (better successor to H.264), AV1 (royalty-free codec for streaming)
- AV1 → built by alliance of Google, Microsoft, Netflix, Amazon, etc. bcz H.264 charges royalty → give efficient bitrates compared to other codecs (means better video quality at low internet speed)
- Issues - consume more CPU/GPU + very slow at encoding + compatibility issues with old devices since AV1 is new
- Date Based Versioning - Stripe does not use traditional ways to name API versions like v1/payment or v3/users → uses "Stripe Version : 2015-07-18" passed via header
- BENEFIT - Users on older version have no tension to switch every time new version arrives (Maintains trust) + All versions available till date can be used
- How is it possible to maintain thousands of version ?
- Request Compatibility Layer → normalise any old version of API calls to latest version → then send to core business logic (written wrt latest version)
- Gate System → Feature flags based on version date and feature
- Let's say "amount" is deprecated in new version but old one still use it
- new version API → "amount" will be off but for old ones it will be on
- No messy if-else statements + All gates are at one place + High code readability + Easy to manage
- Transformation modules → used when sends response back to user
- small, isolated modules to downgrade latest version to user's version
- latest version → downgrade to 2025 → downgrade to 2024 → so on...
- In 2027, only make for 2025 and 2026 (bcz others already exist)
- Digital Object Identifier (DOI) - unique alphanumeric string assigned to a document providing persistent link to location on internet → attached to object (not location)
- In past, researchers cited sources using URLs → if website was reorganized or publisher changed servers → links break (called "link rot") → can't find source
- Even if journal moves article to new web page → DOI remains same and will redirect you to correct place → like permanent "digital fingerprint"
- Parquet - optimized for fast processing & high compression in big data ecosystems → group data by column reducing read time, storage space when query specific fields
Image Formats
- JPEG (Joint photographic experts group) - lossy compression
- JPEG = JPG due to new windows update of "3 characters limit on file extension"
- convert RGB to YCbCr → Y=brightness, Cb=blue difference, Cr=red difference
→ used in compression bcz eyes detect variation in light and shadow better than fine details in color → discard Cb and Cr color channels + keep Y channel sharp - Discrete Cosine Transform (DCT) → image is divided into 8x8 pixel blocks
- DCT transform these blocks into frequency domain → isolate gradual color changes (low frequency) from sharp edges or noise (high frequency)
- Loss - High-frequency details are divided by quantization matrix and rounded off
→ permanently discard less visible data before using lossless Huffman coding - EXIF (Exchangeable Image File Format) - standard to store metadata directly within image → automatically record GPS coordinate, camera model, date, time, exposure settings (like ISO and aperture) → take screenshot to remove EXIF
- social media platforms automatically remove EXIF to protect privacy
- Formats like TIFF, JPG, WebP, and modern PNGs can retain EXIF data
- PNG (Portable network graphics) - lossless compression [bigger size than JPG]
- reduce file size without discarding visual data → preserve image quality
- supports alpha channel which allows smooth, variable background transparency
- Used for flat illustrations → where colors are limited and can be counted
- TIFF (Tagged Image File Format) - industry-standard format used in professional photography & print publishing → preserves absolute, maximum image quality
- use no compression → preserve all layers, depth, sharp details → large size
- SVG (Scalable Vector Graphics) - XML-based format that use math equations (lines, curves) to draw image instead of grid of pixels → since rely on math rather than fixed pixels, it can be scaled infinitely to any size without losing quality or becoming blurry
- stay sharp across screen density + small in size
- WebP - modern image format developed by Google → provide both lossless and lossy compression (optimized for web image) → highly versatile, supports both transparent backgrounds of PNG and animated frames of GIF + significantly small size than JPEG
- HEIC (High-Efficiency Image Container) - modern format popularized by Apple uses advanced video compression techniques to store photos at roughly half size of standard JPEG + better visual quality → highly versatile, support up to 16-bit color depth, transparent backgrounds, can store multiple images or audio within single file
- Compatibility issue → only supported by Mac, IPhone
- AVIF (AV1 Image File Format) - open-source, royalty-free image format derived from AV1 video codec → outperforms formats like JPG, WebP and HEIC
- offers highly small sizes + preserve superior image quality
- considered next-generation standard as supports advanced features like High Dynamic Range (HDR), wide color gamut, transparency and animations
- Issue - old browsers don't support it yet
***********************************************************************************
Comments
Post a Comment