<?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: Luis Ciber</title>
    <description>The latest articles on DEV Community by Luis Ciber (@luisciber).</description>
    <link>https://dev.to/luisciber</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F392457%2F2cfc8518-c110-4b88-983c-b59776c6440e.jpg</url>
      <title>DEV Community: Luis Ciber</title>
      <link>https://dev.to/luisciber</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/luisciber"/>
    <language>en</language>
    <item>
      <title>From Raw C++ to “Plug-and-Play” AI: Why the Human Spark Is Still the Real Engine of the Future</title>
      <dc:creator>Luis Ciber</dc:creator>
      <pubDate>Thu, 07 Aug 2025 01:00:25 +0000</pubDate>
      <link>https://dev.to/luisciber/from-raw-c-to-plug-and-play-ai-why-the-human-spark-is-still-the-real-engine-of-the-future-1e2m</link>
      <guid>https://dev.to/luisciber/from-raw-c-to-plug-and-play-ai-why-the-human-spark-is-still-the-real-engine-of-the-future-1e2m</guid>
      <description>&lt;p&gt;There was a time—not so long ago—when, if you wanted to do anything interesting with Artificial Intelligence, you first had to pledge allegiance to linear algebra, become a C++ samurai, and accept that your idea would probably live and die on a single GPU for months. It was the era of hand-crafted architectures, homegrown models, and trial-and-error without a safety net.&lt;/p&gt;

&lt;p&gt;Today, most of that seems like ancient history. Frameworks, pre-built pipelines, AutoML: with just a couple of clicks, anyone can spin up an image classifier or model tabular data. And then came LLMs, pushing absurdity to new heights: a single model classifies, summarizes, labels, finds correlations—even makes your PowerPoint slides—all without breaking a sweat (and often, without ever writing a line of code). Most of the time, you don’t even need frameworks anymore.&lt;/p&gt;

&lt;p&gt;Sounds great, right? Sure… but…&lt;/p&gt;

&lt;p&gt;Despite all this extraterrestrial automation, the elusive handful of humans capable of designing models from scratch, making critical architectural decisions, optimizing performance down to the last FLOP, and actually moving the field forward are more valuable now than ever. Companies are fighting tooth and nail for the rare talent who understands not just how to use the tools, but how and why they work (or break).&lt;/p&gt;

&lt;p&gt;And yes, LLMs will keep improving and automating things that seem like magic today (and, let’s be honest, they’ll probably do the job of a fair share of software engineers before you know it). But there’s one territory AI will never conquer: that irrepressible urge to push beyond the known.&lt;/p&gt;

&lt;p&gt;There will always be people who can’t settle for the “official pipeline,” who would rather battle limitations than settle for the possible, who write code as if sculpting wood, just to see if the result nudges the world even a little bit forward.&lt;/p&gt;

&lt;p&gt;Here’s the core difference: AI will never feel pride, obsession, curiosity, or that endless itch to create something brand new just because, “Why not?”&lt;/p&gt;

&lt;p&gt;Progress depends on that kind of madness.&lt;/p&gt;

&lt;p&gt;So, for all the wonders of our “AutoEVERYTHING” world, science and technology will always need the outsiders, the artisans, the dreamers who challenge the status quo for the sheer love of the craft. They’re the ones who move the world, not the pipelines.&lt;/p&gt;

&lt;p&gt;So, what about you? Are you going to wait for the tool to do the job, or will you be among those who reinvent it?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>programming</category>
    </item>
    <item>
      <title>Mobile development on Android without using emulators and without using USB debugging.</title>
      <dc:creator>Luis Ciber</dc:creator>
      <pubDate>Wed, 09 Feb 2022 03:59:08 +0000</pubDate>
      <link>https://dev.to/luisciber/mobile-development-on-android-without-using-emulators-and-without-using-usb-debugging-2014</link>
      <guid>https://dev.to/luisciber/mobile-development-on-android-without-using-emulators-and-without-using-usb-debugging-2014</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1slw1o230ijbki3pe0a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1slw1o230ijbki3pe0a.png" alt="Developing in VSCode with Flutter and sharing physical device screen" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The first thing... The problem
&lt;/h2&gt;

&lt;p&gt;I am a mobile application developer. I develop apps for both Android and iOS using &lt;a href="https://flutter.dev/" rel="noopener noreferrer"&gt;Flutter&lt;/a&gt;. One of the main problems I had when I started in this world of mobile development is the high consumption of RAM memory that emulators have, the solution: directly use a physical device, in this case I use my own phone to run and test the applications that I developing.&lt;/p&gt;

&lt;p&gt;At first everything was fine, &lt;a href="https://developer.android.com/studio/debug/dev-options" rel="noopener noreferrer"&gt;enable developer mode on the phone&lt;/a&gt;, enable USB debugging and ready to work; &lt;a href="https://flutter.dev/" rel="noopener noreferrer"&gt;Flutter&lt;/a&gt; recognizes your device and allows you to run and debug apps directly on it. There is only one problem, you must control the device in the traditional way, that is, using your hands, it is complex when you are writing code to leave your precious keyboard to touch the phone; and unless you have a stand to put your phone on, your neck is likely to start to hurt from looking at your PC screen and phone repeatedly during your workday. Another problem is that with time and constant movement, the USB cable is likely to start to wear out and present problems, making development very uncomfortable.&lt;/p&gt;

&lt;p&gt;These are the reasons that led me to ask myself the following questions and investigate (do a Google search):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How can I connect to the phone and use the adb (Android Debug Bridge) functions without using the USB cable?&lt;/li&gt;
&lt;li&gt;How can I display the phone screen and control it from PC in a similar way to Android emulators?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use adb to connect to the phone via WiFi
&lt;/h2&gt;

&lt;p&gt;This solution is basic, adb already provides a way to connect to an android phone using the classic TCP IP connection protocol. What is required is that both the PC and the Android device are connected to the same network (usually a LAN network). In my case, what I do is activate the phone's hotspot and connect the PC to it, another way would be to create a hotspot on the PC (or laptop) and perform the reverse operation or simply connect both the PC and the phone to the same router, the point is that they are on the same network and can communicate with each other.&lt;/p&gt;

&lt;p&gt;The first step is to connect the phone via USB to the PC and execute the following commands.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdjh4hkn4jae5223w2d7i.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdjh4hkn4jae5223w2d7i.gif" alt="Connecting ADB via WiFi to an Android phone" width="774" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first adb devices command is used to list the devices adb is connected to. As we have connected the device via USB, it is shown. Then run adb tcpip 5555 this causes that an adb server to run in TCP IP mode inside the device and listen on port 5555, you can select any port you want as long as it is greater than 1024 and less than 65535. Then I run the ip route command this is just to know what is the IP of my phone, there are different ways to obtain this information, in my case the phone functions as a router then my gateway is its IP. Finally what I do is connect via TCP IP using adb connect . Once this is done you can unplug the phone from the USB cable and it will be linked to adb using TCP IP over the WiFi network.&lt;/p&gt;

&lt;h2&gt;
  
  
  Share screen and control device from PC
&lt;/h2&gt;

&lt;p&gt;Since this is the easiest step, all you have to do is install this wonderful tool: &lt;a href="https://github.com/Genymobile/scrcpy" rel="noopener noreferrer"&gt;scrcpy&lt;/a&gt;. There are several ways to install it depending on your operating system, it is available for Linux, Mac OS and Windows. In the case of Linux, some distros already include it in their repositories, in others you may have to download and compile the code or use one of the binaries that are available on &lt;a href="https://github.com/Genymobile/scrcpy/releases" rel="noopener noreferrer"&gt;Github&lt;/a&gt;. In the case of Mac OS the package is available in &lt;a href="https://formulae.brew.sh/formula/scrcpy" rel="noopener noreferrer"&gt;homebrew&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debian / Ubuntu&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install scrcpy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Mac OS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;scrcpy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Arch Linux / Manjaro&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; scrcpy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once this tool is installed, all you have to do is run it from the command console.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;scrcpy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After running it will start showing the device screen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l0ne8o2ctu97btmr50z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l0ne8o2ctu97btmr50z.png" alt="Showing Android device screen using scrcpy" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;scrcpy also has other useful options such as recording the screen of the device, which I use a lot when making application demos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;scrcpy &lt;span class="nt"&gt;--record&lt;/span&gt; phone_record.mp4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Problem solved
&lt;/h2&gt;

&lt;p&gt;With this I can safely connect to my android phone via Wi-Fi, run and debug the applications I develop on it without worrying about the USB cable. In addition to viewing and controlling the device from the PC, thus improving the experience when developing and saving time and effort.&lt;/p&gt;

</description>
      <category>development</category>
      <category>android</category>
      <category>mobile</category>
      <category>flutter</category>
    </item>
  </channel>
</rss>
