<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: I'm parzavilly</title>
    <description>The latest articles on DEV Community by I'm parzavilly (@im_parzavilly_9fc83da282).</description>
    <link>https://dev.to/im_parzavilly_9fc83da282</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4002576%2F929f5b1f-51e8-470b-ba8a-657ff7da5e5c.jpg</url>
      <title>DEV Community: I'm parzavilly</title>
      <link>https://dev.to/im_parzavilly_9fc83da282</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/im_parzavilly_9fc83da282"/>
    <language>en</language>
    <item>
      <title>Advanced Android Diagnostics: Using ADB Recovery Daemon to Salvage Data From an OS Boot Loop</title>
      <dc:creator>I'm parzavilly</dc:creator>
      <pubDate>Thu, 25 Jun 2026 15:30:45 +0000</pubDate>
      <link>https://dev.to/im_parzavilly_9fc83da282/advanced-android-diagnostics-using-adb-recovery-daemon-to-salvage-data-from-an-os-boot-loop-3b18</link>
      <guid>https://dev.to/im_parzavilly_9fc83da282/advanced-android-diagnostics-using-adb-recovery-daemon-to-salvage-data-from-an-os-boot-loop-3b18</guid>
      <description>&lt;p&gt;When a mobile operating system enters an infinite boot loop, high-level user-space data access channels fall apart. Standard file sharing interfaces like Media Transfer Protocol (MTP) or automated cloud backup utilities fail to execute because the core system graphical interface daemon collapses before initialization completes.&lt;/p&gt;

&lt;p&gt;However, an operating system crash does not mean the local storage blocks are destroyed. By understanding the low-level boot stages, an engineer can step down beneath the corrupted software stack, utilize an isolated recovery kernel, and build a stable data bridge over a physical host connection to salvage critical system files.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Architectural Strategy
The key to data extraction from a looping OS is avoiding the primary system execution path entirely. Instead of letting the device attempt to load the main user interface, we catch the device during its initial hardware check phase and direct it into the minimal Recovery Partition.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This recovery layer initializes an isolated micro-kernel that starts a native Android Debug Bridge (ADB) daemon, giving us direct command-line access to internal file paths before the primary system errors trigger a hardware safety reset.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Step-by-Step Recovery Workflow
Step 1: Breaking the Continuous Reset Loop
A device trapped in a boot loop must be manually interrupted. Hold down the physical Power + Volume Down buttons simultaneously. Keep them pressed for roughly 7 to 10 seconds. This cuts the current loop state, clears the immediate system memory, and triggers a clean hardware power cycle.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 2: Intercepting the Boot Timing Window&lt;br&gt;
The moment the screen turns black to cycle the power, immediately shift your physical fingers to the recovery button sequence. On most architectures, this is typically Power + Volume Up. Keep these compressed until the hardware logo screen loads and transitions into the stock recovery command console.&lt;/p&gt;

&lt;p&gt;Step 3: Establishing the Interface Pipeline&lt;br&gt;
Connect the target device to a host computer via a high-quality USB interface cable. Open a terminal or shell prompt on your host system. To verify that your host machine can detect the low-level recovery interface daemon, execute:&lt;/p&gt;

&lt;p&gt;Bash&lt;br&gt;
adb devices&lt;br&gt;
If successful, the system interface registration node will respond with a stable state validation output:&lt;/p&gt;

&lt;p&gt;Plaintext&lt;br&gt;
List of devices attached&lt;br&gt;
R58MXXXXXXXXX    recovery&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Streaming and Extracting Data Blocks
With a verified data link established, you can command the recovery daemon to transfer files directly out of the device's logical directories onto your local workspace without relying on a functional mobile screen interface.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To pull a targeted folder containing critical documents or development files, execute the data streaming utility syntax:&lt;/p&gt;

&lt;p&gt;Bash&lt;br&gt;
adb pull /sdcard/Internal_Storage/Documents/ ./Local_Recovery_Target/&lt;br&gt;
The console terminal will print a scrolling list of file transfers, safely streaming the underlying binary components across the physical data bus.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Key Operational Takeaways
Software Fault Isolation: Operating system boot loop crashes are rarely physical storage hardware failures; they are almost exclusively software layer panics.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Alternative Daemons: By target booting alternative partitions, you use minimal, verified code pathways to bypass major system blockages.&lt;/p&gt;

&lt;p&gt;Command Line Power: Terminal interfaces like ADB operate independently of graphical software states, providing an essential fallback framework for professional systems recovery work.&lt;/p&gt;

</description>
      <category>android</category>
      <category>cli</category>
      <category>mobile</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Fine-Tuning Local Database Engines: How to Optimize my.ini for High-Performance MySQL Stacks</title>
      <dc:creator>I'm parzavilly</dc:creator>
      <pubDate>Thu, 25 Jun 2026 15:23:42 +0000</pubDate>
      <link>https://dev.to/im_parzavilly_9fc83da282/fine-tuning-local-database-engines-how-to-optimize-myini-for-high-performance-mysql-stacks-5e29</link>
      <guid>https://dev.to/im_parzavilly_9fc83da282/fine-tuning-local-database-engines-how-to-optimize-myini-for-high-performance-mysql-stacks-5e29</guid>
      <description>&lt;p&gt;When setting up a local database stack (such as MariaDB or MySQL via environments like XAMPP), the default out-of-the-box configurations are heavily restricted. They are designed to run on minimal hardware resources, which means the moment you execute heavy relational queries, join complex tables, or run school database projects, the local server can freeze, bottle-neck, or crash.&lt;/p&gt;

&lt;p&gt;To fix this, you must bypass the baseline settings and optimize your system's configuration file (my.ini on Windows or my.cnf on Linux).&lt;/p&gt;

&lt;p&gt;In this guide, we will break down the key database performance variables and provide an optimized configuration blueprint to maximize query execution speeds.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Locating Your Configuration Asset
Before modifying parameters, ensure your local web server stack is fully stopped.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;On Windows (XAMPP): Open the XAMPP Control Panel, look at the MySQL row, click Config, and select my.ini. (Typically located at C:\xampp\mysql\bin\my.ini).&lt;/p&gt;

&lt;p&gt;On Linux (Native): The configuration file is housed within the primary system directories, usually at /etc/mysql/my.cnf.&lt;/p&gt;

&lt;p&gt;Always make a backup copy (e.g., my.ini.bak) before editing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Core Optimization Parameters Explained
Database optimization relies on allocating physical RAM intelligently to cache indexes and data rows. Here are the levers you need to adjust:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;InnoDB Buffer Pool Size&lt;br&gt;
This is the single most critical variable for database performance. It dictates how much physical system RAM is dedicated to caching your tables and indexes. The default is often a tiny 16MB. For development environments, raising this allows entire database structures to be processed directly inside the memory layer instead of reading from slow disk storage.&lt;/p&gt;

&lt;p&gt;Max Connections&lt;br&gt;
Defines how many concurrent data pipelines can connect to the database engine. If your application code opens multiple persistent links without closing them properly, the database will reject new requests with a "Too many connections" error.&lt;/p&gt;

&lt;p&gt;Thread Cache Size&lt;br&gt;
Instead of creating a brand-new operating system thread every time a client connects, the database engine can reuse cached threads, reducing overhead on your system processor.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Optimized Configuration Blueprint
Open your configuration file, locate the [mysqld] section, and update or add the following properties based on your development setup: 
[mysqld]
# Network &amp;amp; Port Configuration
port = 3306
socket = "mysql.sock"&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Resource Allocation &amp;amp; Connection Tuning
&lt;/h1&gt;

&lt;p&gt;max_connections = 150&lt;br&gt;
connect_timeout = 20&lt;br&gt;
wait_timeout = 28800&lt;br&gt;
max_allowed_packet = 64M&lt;/p&gt;

&lt;h1&gt;
  
  
  InnoDB Engine Optimization
&lt;/h1&gt;

&lt;p&gt;innodb_buffer_pool_size = 512M&lt;br&gt;
innodb_log_file_size = 128M&lt;br&gt;
innodb_log_buffer_size = 16M&lt;br&gt;
innodb_flush_log_at_trx_commit = 2&lt;br&gt;
innodb_file_per_table = 1&lt;/p&gt;

&lt;h1&gt;
  
  
  Thread and Query Cache Tweaks
&lt;/h1&gt;

&lt;p&gt;thread_cache_size = 8&lt;br&gt;
sort_buffer_size = 4M&lt;br&gt;
read_buffer_size = 2M&lt;br&gt;
read_rnd_buffer_size = 4M&lt;br&gt;
myisam_sort_buffer_size = 64M&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Validating the Optimization State
Once you have saved the file, restart your web server stack database engine. To confirm that the engine is successfully registering your new settings, open your database terminal or interface (like phpMyAdmin) and run this SQL query command:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;SQL&lt;br&gt;
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';&lt;br&gt;
The system will return the allocated value in bytes. If you allocated 512M, the output value will confirm the structural expansion. Your local environment is now equipped to process heavy read/write operations without hitting resource walls.&lt;/p&gt;

</description>
      <category>database</category>
      <category>performance</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
