<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>full-stack Archives - Petamind</title>
	<atom:link href="https://petaminds.com/category/full-stack/feed/" rel="self" type="application/rss+xml" />
	<link>https://petaminds.com/category/full-stack/</link>
	<description>A.I, Data and Software Engineering</description>
	<lastBuildDate>Thu, 09 Apr 2026 19:38:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://petaminds.com/wp-content/uploads/2019/09/ic_launcher.png</url>
	<title>full-stack Archives - Petamind</title>
	<link>https://petaminds.com/category/full-stack/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Harness Engineering: The New Paradigm of Agent-First Software Development</title>
		<link>https://petaminds.com/harness-engineering-the-new-paradigm-of-agent-first-software-development/</link>
					<comments>https://petaminds.com/harness-engineering-the-new-paradigm-of-agent-first-software-development/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 19:37:55 +0000</pubDate>
				<category><![CDATA[data science]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[agentic]]></category>
		<category><![CDATA[AI-first]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[harness]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=5206</guid>

					<description><![CDATA[<p>In late 2025, an engineering team at OpenAI ran a massive internal experiment that demonstrated the true power of Harness Engineering. They successfully built and shipped a beta software product containing roughly a million lines of code, and humans manually wrote exactly zero of them. Instead, humans orchestrated a suite of Codex agents to write [&#8230;]</p>
<p>The post <a href="https://petaminds.com/harness-engineering-the-new-paradigm-of-agent-first-software-development/">Harness Engineering: The New Paradigm of Agent-First Software Development</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/harness-engineering-the-new-paradigm-of-agent-first-software-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How I build automated testing for the payment terminals</title>
		<link>https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/</link>
					<comments>https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Thu, 16 May 2024 00:27:17 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[back-end]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[DSS]]></category>
		<category><![CDATA[payment]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[test]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=5173</guid>

					<description><![CDATA[<p>Payment terminals are devices used to process card transactions and must undergo extensive certification before being released to the market. Therefore, it is essential to test them quickly and reliably. I named the project as Mastoo (code name: MR2). The MR2 architecture To achieve this, our team are building a solution for automation testing with [&#8230;]</p>
<p>The post <a href="https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/">How I build automated testing for the payment terminals</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MVVM vs MVI &#8211; Architecture for Mobile Development</title>
		<link>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/</link>
					<comments>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 22:22:00 +0000</pubDate>
				<category><![CDATA[front-end]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[MVI]]></category>
		<category><![CDATA[MVVM]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=5191</guid>

					<description><![CDATA[<p>The Model-View-ViewModel (MVVM) and Model-View-Intent (MVI) are architectural patterns used in software development, particularly for structuring the code of user interface (UI) applications. Both patterns aim to separate concerns and manage the flow of data between the UI and the underlying data models, but they do so in different ways. Let&#8217;s explore both patterns with [&#8230;]</p>
<p>The post <a href="https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/">MVVM vs MVI &#8211; Architecture for Mobile Development</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Harnessing the Power of TypeScript for Building a Simple Backend Application</title>
		<link>https://petaminds.com/harnessing-the-power-of-typescript-for-building-a-simple-backend-application/</link>
					<comments>https://petaminds.com/harnessing-the-power-of-typescript-for-building-a-simple-backend-application/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Mon, 21 Aug 2023 08:06:58 +0000</pubDate>
				<category><![CDATA[back-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[typescript]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3979</guid>

					<description><![CDATA[<p>Introduction In the realm of web development, choosing the right technology stack for your backend application can significantly impact its efficiency, maintainability, and scalability. TypeScript, a superset of JavaScript, has emerged as a robust choice for crafting backend solutions that are not only powerful but also developer-friendly. In this article, we&#8217;ll delve into the benefits [&#8230;]</p>
<p>The post <a href="https://petaminds.com/harnessing-the-power-of-typescript-for-building-a-simple-backend-application/">Harnessing the Power of TypeScript for Building a Simple Backend Application</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/harnessing-the-power-of-typescript-for-building-a-simple-backend-application/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exploring Kotlin&#8217;s suspendCoroutine: A Guide with Examples</title>
		<link>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/</link>
					<comments>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Tue, 08 Aug 2023 22:51:56 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[suspendCoroutine]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3948</guid>

					<description><![CDATA[<p>Introduction: Kotlin, with its modern syntax and powerful features, has taken the programming world by storm. One of its unique offerings is the suspendCoroutine function, a game-changer when it comes to handling asynchronous operations. In this article, we&#8217;ll dive into the world of suspendCoroutine, demystifying its usage and providing you with real-world examples to showcase [&#8230;]</p>
<p>The post <a href="https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/">Exploring Kotlin&#8217;s suspendCoroutine: A Guide with Examples</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Top 5 Most In-Demand Programming Languages to Learn for a Bright Future</title>
		<link>https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/</link>
					<comments>https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Wed, 02 Aug 2023 02:27:06 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[Research]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3931</guid>

					<description><![CDATA[<p>Introduction: In the fast-paced world of technology, staying ahead of the curve is crucial for aspiring programmers. As the demand for software developers continues to surge, knowing which programming languages are most sought-after can give you a competitive edge in the job market. In this article, we&#8217;ll explore the top five most in-demand programming languages [&#8230;]</p>
<p>The post <a href="https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/">The Top 5 Most In-Demand Programming Languages to Learn for a Bright Future</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convert Callback Into Kotlin Coroutines Suspend or Deferred</title>
		<link>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/</link>
					<comments>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Thu, 28 Apr 2022 09:16:45 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[Coroutine]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[suspendCoroutine]]></category>
		<category><![CDATA[wrapper]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3718</guid>

					<description><![CDATA[<p>Since coroutine is a hot topic in mobile development, converting vanilla JVM callback into Kotlin Coroutines is desirable. The wrapping happens using something called&#160;SuspendCoroutine. What is a SuspendCoroutine suspendCoroutine&#160;is a builder function that mainly used to convert callbacks into&#160;suspend&#160;functions. Let&#8217;s say for example you have some legacy (or not) Api, that uses callbacks. You can [&#8230;]</p>
<p>The post <a href="https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/">Convert Callback Into Kotlin Coroutines Suspend or Deferred</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Best Android Image Loaders – 2022</title>
		<link>https://petaminds.com/best-android-image-loaders-2022/</link>
					<comments>https://petaminds.com/best-android-image-loaders-2022/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Tue, 29 Mar 2022 20:35:47 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Coil]]></category>
		<category><![CDATA[Glide]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[Loader]]></category>
		<category><![CDATA[Picasso]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3701</guid>

					<description><![CDATA[<p>In this article, we will explore some of the best Android image loaders for you. These are some of the most commonly used third-party libraries since Android SDK doesn’t provide a simple image loading solution for developers to use. Generally, you tend to have to implement one yourself or look at third-party libraries. Glide Glide [&#8230;]</p>
<p>The post <a href="https://petaminds.com/best-android-image-loaders-2022/">Best Android Image Loaders – 2022</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/best-android-image-loaders-2022/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kotlin Scoping Functions apply vs. with, let, also, and run</title>
		<link>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/</link>
					<comments>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sun, 27 Mar 2022 00:03:42 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[scoping]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3693</guid>

					<description><![CDATA[<p>Functional-style programming is highly advocated and supported by Kotlin’s syntax as well as a range of functions in Kotlin’s standard library. In this post we will examine five Kotlin scoping functions (aka higher-order functions): apply, with, let, also, and run. When learning these five functions, you will need to memorize 2 things:&#160;how&#160;to use them, and&#160;when&#160;to [&#8230;]</p>
<p>The post <a href="https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/">Kotlin Scoping Functions apply vs. with, let, also, and run</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Constraints with Android Worker</title>
		<link>https://petaminds.com/constraints-with-android-worker/</link>
					<comments>https://petaminds.com/constraints-with-android-worker/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sat, 26 Mar 2022 01:19:11 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[constraints]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[worker]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3682</guid>

					<description><![CDATA[<p>Sometimes, we want our app to perform some background tasks under certain conditions, such as Battery level or network etc. With Worker and Constraints, we can conveniently achieve that. The example problem A worker class that prints a message to the console. We want this function doWork executes when the network is available or the [&#8230;]</p>
<p>The post <a href="https://petaminds.com/constraints-with-android-worker/">Constraints with Android Worker</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/constraints-with-android-worker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
