<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged green-software</title>
<link>https://coderlegion.com/tag/green-software</link>
<description>Powered by Question2Answer</description>
<item>
<title>Green Software in Action: Building a Universal, Driverless OBD-II Interface</title>
<link>https://coderlegion.com/9705/green-software-in-action-building-a-universal-driverless-obd-ii-interface</link>
<description>&lt;p&gt;I wanted to prove that the modern web is a first-class citizen for low-level automotive diagnostics.&lt;br&gt;
I built &lt;strong&gt;Gnoke-OBD2&lt;/strong&gt; to bridge the gap between complex vehicle protocols and the accessibility of a browser.&lt;/p&gt;
&lt;h3 id=&quot;the-engineering-challenge&quot;&gt;The Engineering Challenge&lt;/h3&gt;
&lt;p&gt;Interfacing with an ECU (Engine Control Unit) requires more than just sending commands; it requires a deep understanding of the &lt;strong&gt;ELM327 protocol stack&lt;/strong&gt;. To make this work universally, I had to architect a &lt;strong&gt;Sequential Kernel&lt;/strong&gt; in JavaScript.&lt;/p&gt;
&lt;h4 id=&quot;key-technical-hurdles-&quot;&gt;Key Technical Hurdles:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Asynchronous Queueing:&lt;/strong&gt; Managing the &quot;request-response&quot; dance via Web Serial/Bluetooth without overflowing the hardware buffer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Protocol Abstraction:&lt;/strong&gt; Designing a modular system where different diagnostic &quot;plugins&quot; (Emissions, Live Gauges, DTC Readers) all feed off a centralized, stable data stream.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Timing Sensitivity:&lt;/strong&gt; Implementing 150ms anti-congestion delays to ensure compatibility with both high-end and budget-friendly adapters.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-competitive-edge-why-the-web-&quot;&gt;The Competitive Edge: Why the Web?&lt;/h3&gt;
&lt;p&gt;By leveraging the &lt;strong&gt;Web Serial and Web Bluetooth APIs&lt;/strong&gt;, I’ve created a zero-install, cross-platform diagnostic suite. While native apps have existed for years, a web-based universal interface offers advantages they can't match:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Feature &lt;/th&gt;&lt;th align=&quot;left&quot;&gt;Native Apps (e.g., AndrOBD) &lt;/th&gt;&lt;th align=&quot;left&quot;&gt;Gnoke-OBD2 (Web)&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Accessibility&lt;/strong&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Limited to Android / Google Play &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Any OS (Windows, Mac, Linux, Android)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Installation&lt;/strong&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Requires download &amp;amp; permissions &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Zero-install (Instant via URL)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Updates&lt;/strong&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Manual via App Store &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Instant (Always latest version)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Architecture&lt;/strong&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Often monolithic &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;Modular Kernel (Plugin-ready)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;-built-for-the-conceptuous-brain&quot;&gt;️ Built for the &quot;Conceptuous&quot; Brain&lt;/h3&gt;
&lt;p&gt;This project isn't just about reading car data; it's about &lt;strong&gt;architectural freedom&lt;/strong&gt;. No proprietary apps or platform-specific drivers—just a secure URL and the open standard. &lt;/p&gt;
&lt;p&gt;By focusing on a &lt;strong&gt;universal interface&lt;/strong&gt;, Gnoke-OBD2 is ready to handle the edge cases of various vehicle makes and models through a single, clean code base.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;explore-the-architecture&quot;&gt;Explore the Architecture&lt;/h3&gt;
&lt;p&gt;Gnoke-OBD2 is open-source (&lt;strong&gt;GPLv3&lt;/strong&gt;) and currently in Alpha. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://edmundsparrow.github.io/Gnoke-OBD2/&quot;&gt;https://edmundsparrow.github.io/Gnoke-OBD2/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/edmundsparrow/Gnoke-OBD2&quot;&gt;edmundsparrow/Gnoke-OBD2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/9705/green-software-in-action-building-a-universal-driverless-obd-ii-interface</guid>
<pubDate>Wed, 14 Jan 2026 15:35:55 +0000</pubDate>
</item>
<item>
<title>I No Longer See Software as “Just Software”</title>
<link>https://coderlegion.com/9473/i-no-longer-see-software-as-just-software</link>
<description>&lt;h3 id=&quot;how-research-and-green-software-engineering-changed-the-way-i-see-code&quot;&gt;How &lt;strong&gt;research&lt;/strong&gt; and &lt;strong&gt;green software engineering&lt;/strong&gt; changed the way I see code&lt;/h3&gt;
&lt;p&gt;For a long time, I thought &lt;strong&gt;software engineering&lt;/strong&gt; was only about &lt;strong&gt;features, performance&lt;/strong&gt;, and &lt;strong&gt;shipping products&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Today, I realize it’s much deeper than that.&lt;/p&gt;
&lt;h3 id=&quot;-a-small-shift-in-perspective&quot;&gt; A small shift in perspective&lt;/h3&gt;
&lt;p&gt;I used to measure good software by how fast it runs, how clean the &lt;strong&gt;UI&lt;/strong&gt; looks, and how many users it serves.&lt;/p&gt;
&lt;p&gt;But after working on topics like &lt;strong&gt;GNSS-based traffic modeling&lt;/strong&gt; and &lt;strong&gt;green software engineering&lt;/strong&gt;, something changed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I started asking different questions:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;• How much &lt;strong&gt;energy&lt;/strong&gt; does this system &lt;strong&gt;consume&lt;/strong&gt;?&lt;/p&gt;
&lt;p&gt;• What invisible &lt;strong&gt;resources&lt;/strong&gt; are being wasted?&lt;/p&gt;
&lt;p&gt;• Who is affected by the decisions we make in code?&lt;/p&gt;
&lt;p&gt;That’s when software stopped being “&lt;strong&gt;just software&lt;/strong&gt;” to me.&lt;/p&gt;
&lt;h3 id=&quot;-software-writes-real-world-consequences&quot;&gt; Software writes real-world consequences&lt;/h3&gt;
&lt;p&gt;When you model traffic data, you’re not just optimizing routes — you’re influencing &lt;strong&gt;pollution&lt;/strong&gt;, &lt;strong&gt;time&lt;/strong&gt;, &lt;strong&gt;safety&lt;/strong&gt;, and &lt;strong&gt;city behavior&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;When you analyze &lt;strong&gt;software energy consumption&lt;/strong&gt;, you’re not just profiling code — you’re touching &lt;strong&gt;sustainability&lt;/strong&gt;, &lt;strong&gt;infrastructure load&lt;/strong&gt;, and &lt;strong&gt;environmental impact&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Code doesn’t stay on the screen.&lt;br&gt;
It moves into streets, servers, electricity grids, and human lives.&lt;/p&gt;
&lt;h3 id=&quot;-engineering-is-no-longer-neutral&quot;&gt;⚙️ Engineering is no longer neutral&lt;/h3&gt;
&lt;p&gt;Every design choice has a cost.&lt;/p&gt;
&lt;p&gt;• One inefficient loop multiplied by millions of users&lt;/p&gt;
&lt;p&gt;• One always-on service running 24/7&lt;/p&gt;
&lt;p&gt;• One poorly planned system scaled too fast&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Software engineers&lt;/strong&gt; are now part of global systems, not isolated applications.&lt;/p&gt;
&lt;p&gt;And whether we notice it or not, we are shaping:&lt;/p&gt;
&lt;p&gt;• energy consumption&lt;/p&gt;
&lt;p&gt;• digital behavior&lt;/p&gt;
&lt;p&gt;• economic decisions&lt;/p&gt;
&lt;p&gt;• and even environmental outcomes&lt;/p&gt;
&lt;h3 id=&quot;-what-this-changed-for-me&quot;&gt; What this changed for me&lt;/h3&gt;
&lt;p&gt;Today, when I write or analyze &lt;strong&gt;software&lt;/strong&gt;, I don’t only think about:&lt;/p&gt;
&lt;p&gt;✔️ “Does it work?”&lt;/p&gt;
&lt;p&gt;✔️ “Is it fast?”&lt;/p&gt;
&lt;p&gt;I also think about:&lt;/p&gt;
&lt;p&gt;✔️ “Is it responsible?”&lt;/p&gt;
&lt;p&gt;✔️ “Is it efficient beyond performance?”&lt;/p&gt;
&lt;p&gt;✔️ “Is it solving the right problem?”&lt;/p&gt;
&lt;h3 id=&quot;-final-thought&quot;&gt; Final thought&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Software engineering&lt;/strong&gt; is no longer just about building products.&lt;/p&gt;
&lt;p&gt;It’s about designing systems that live inside the real world.&lt;/p&gt;
&lt;p&gt;And once you truly see that —you can’t unsee it.&lt;/p&gt;
&lt;p&gt;What questions do you have about responsible software? Drop a thought below — I’d love to hear your take.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; &lt;em&gt;You can find me on GitHub&lt;/em&gt;:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/fadydesoky&quot;&gt;https://github.com/fadydesoky&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/9473/i-no-longer-see-software-as-just-software</guid>
<pubDate>Fri, 09 Jan 2026 15:32:32 +0000</pubDate>
</item>
<item>
<title>Green Software Engineering: Measuring Energy, Not Just Performance</title>
<link>https://coderlegion.com/9344/green-software-engineering-measuring-energy-not-just-performance</link>
<description>&lt;p&gt;This article was originally published on dev.to: &lt;a rel=&quot;nofollow&quot; href=&quot;https://dev.to/fadydesokysaeedabdelaziz/green-software-engineering-measuring-energy-not-just-performance-3i00&quot;&gt;https://dev.to/fadydesokysaeedabdelaziz/green-software-engineering-measuring-energy-not-just-performance-3i00&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We measure speed, but what about the energy?&lt;/p&gt;
&lt;p&gt;Most software engineers measure success using performance metrics. We optimize for speed, latency, and throughput, assuming that faster software automatically means better software. However, in 2026, an equally important question is often overlooked: how much energy does our software actually consume?&lt;/p&gt;
&lt;p&gt;Faster software does not always mean more energy-efficient software. High CPU utilization, excessive memory usage, and inefficient execution patterns can significantly increase energy consumption, even in systems that appear highly optimized from a performance perspective. Optimizing solely for performance ignores a critical sustainability dimension that modern software systems can no longer afford to overlook.&lt;/p&gt;
&lt;p&gt;Green Software Engineering focuses on building software that minimizes energy consumption and resource waste while maintaining acceptable levels of performance. It treats energy as a first-class metric, alongside traditional software quality attributes such as performance, reliability, and scalability. Instead of asking only how fast a system runs, Green Software Engineering encourages engineers to ask how efficiently that system uses computational resources.&lt;/p&gt;
&lt;p&gt;Energy consumption is not always directly measurable at the hardware level, especially in cloud-based or shared environments. However, software engineers can still analyze energy-related behavior through indirect indicators such as CPU and memory utilization patterns, execution time, workload characteristics, and resource allocation strategies. These indicators provide valuable insights into how software design and implementation choices impact overall energy usage.&lt;/p&gt;
&lt;p&gt;In my recent research work, I focus on analyzing software resource usage and energy consumption to support the development of more sustainable software systems. By combining data analysis with software engineering principles, it becomes possible to design systems that balance performance requirements with energy efficiency goals in a practical and measurable way.&lt;/p&gt;
&lt;p&gt;Green Software Engineering is not a passing trend. It represents an essential evolution in how we design, evaluate, and maintain software systems. Understanding and measuring energy consumption today will play a key role in shaping the sustainability of software tomorrow.&lt;/p&gt;
&lt;p&gt;Related work and experiments:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/Fadydesoky/green-software-energy-analysis&quot;&gt;https://github.com/Fadydesoky/green-software-energy-analysis&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/9344/green-software-engineering-measuring-energy-not-just-performance</guid>
<pubDate>Wed, 07 Jan 2026 20:56:20 +0000</pubDate>
</item>
</channel>
</rss>