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

<channel>
	<title>dremi.INFO</title>
	<atom:link href="https://dremi.info/feed/" rel="self" type="application/rss+xml"/>
	<link>https://dremi.info</link>
	<description></description>
	<lastBuildDate>Wed, 09 Apr 2025 02:44:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<itunes:explicit>no</itunes:explicit><copyright>Copyright dremi.info - Semua efek, teknik, dan demonstrasi pembelajaran yang dijelaskan dalam tutorial dapat digunakan siapapun, dimanapun, dan untuk kepentingan apapun. Anda tidak diperbolehkan untuk mengkopi keseluruhan konten tutorial untuk kepentingan apapun, dalam bentuk apapun, sekalipun diterjemahkan ke dalam bahasa apapun. </copyright><itunes:image href="http://www.dremi.info/images/our-logo80.jpg"/><itunes:keywords>photoshop,tutorials,tutorial,php,mysql,jquery,jsp,psd,html,css,web,development,login,thickbox,lightbox,shopping,cart</itunes:keywords><itunes:summary>Tutorial Web Development dremi.info, gudangnya tutorial web advance dan basic untuk web designer dan programmer. Termasuk tutorial photoshop, PHP, jQuery, MySQL, ASP.NET, JAVA, JavaScript, JSP, CSS, PSD ke HTML, dan lainnya. Belajar bagaimana mendesain dan coding layaknya seorang professional.</itunes:summary><itunes:subtitle>Web Development and Design Tutorials - dremi.info</itunes:subtitle><itunes:category text="Education"><itunes:category text="Educational Technology"/></itunes:category><itunes:author>"Hairul Azami" a.k.a "dr.emi" a.k.a "The BlackCat"</itunes:author><itunes:owner><itunes:email>webmaster@dremi.info</itunes:email><itunes:name>"Hairul Azami" a.k.a "dr.emi" a.k.a "The BlackCat"</itunes:name></itunes:owner><item>
		<title>Why Spreadsheets Need Better Coding Support</title>
		<link>https://dremi.info/2025/04/09/why-spreadsheets-need-better-coding-support/</link>
					<comments>https://dremi.info/2025/04/09/why-spreadsheets-need-better-coding-support/#respond</comments>
		
		
		<pubDate>Wed, 09 Apr 2025 02:44:34 +0000</pubDate>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[sitepoint]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://dremi.info/?p=21</guid>

					<description><![CDATA[Find out how Python and AI integration in spreadsheets transforms data analysis with coding capabilities for complex tasks. Continue reading [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a
              href="https://www.sitepoint.com/why-spreadsheets-need-better-coding-support/?utm_source=rss"
              title="Why Spreadsheets Need Better Coding Support"
              rel="nofollow"
            ><br />
              <img decoding="async"
        class="webfeedsFeaturedVisual"
        style="display: block; margin: auto; margin-bottom: 5px;max-width: 100%;"
        src="https://uploads.sitepoint.com/wp-content/uploads/2025/04/1744068316Why-Spreadsheets-Need-Better-Coding-Support.jpg"
        alt=""
        srcset="https://uploads.sitepoint.com/wp-content/uploads/2025/04/1744068316Why-Spreadsheets-Need-Better-Coding-Support-300x158.jpg 300w, https://uploads.sitepoint.com/wp-content/uploads/2025/04/1744068316Why-Spreadsheets-Need-Better-Coding-Support-1024x538.jpg 1024w, https://uploads.sitepoint.com/wp-content/uploads/2025/04/1744068316Why-Spreadsheets-Need-Better-Coding-Support-768x403.jpg 768w, https://uploads.sitepoint.com/wp-content/uploads/2025/04/1744068316Why-Spreadsheets-Need-Better-Coding-Support-1536x806.jpg 1536w, https://uploads.sitepoint.com/wp-content/uploads/2025/04/1744068316Why-Spreadsheets-Need-Better-Coding-Support.jpg 1920w"
        sizes="(max-width: 300px) 100vw, 300px"
      /><br />
            </a><br />
            Find out how Python and AI integration in spreadsheets transforms data analysis with coding capabilities for complex tasks.</p>
<p>
              Continue reading<br />
              <a rel="nofollow" href="https://www.sitepoint.com/why-spreadsheets-need-better-coding-support/?utm_source=rss">Why Spreadsheets Need Better Coding Support</a><br />
              on <a rel="nofollow" href="https://www.sitepoint.com">SitePoint</a>.
            </p>
]]></content:encoded>
					
					<wfw:commentRss>https://dremi.info/2025/04/09/why-spreadsheets-need-better-coding-support/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<dc:creator>webmaster@dremi.info ("Hairul Azami" a.k.a "dr.emi" a.k.a "The BlackCat")</dc:creator></item>
		<item>
		<title>How to Identify Skill Gaps in Your Organization: A Step-by-Step Guide</title>
		<link>https://dremi.info/2025/04/04/how-to-identify-skill-gaps-in-your-organization-a-step-by-step-guide/</link>
					<comments>https://dremi.info/2025/04/04/how-to-identify-skill-gaps-in-your-organization-a-step-by-step-guide/#respond</comments>
		
		
		<pubDate>Fri, 04 Apr 2025 12:34:39 +0000</pubDate>
				<category><![CDATA[Tips Tutorial]]></category>
		<category><![CDATA[code condo]]></category>
		<category><![CDATA[designers]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[on design]]></category>
		<category><![CDATA[other inspirational topics]]></category>
		<category><![CDATA[resources and tools]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorials]]></category>
		<guid isPermaLink="false">https://dremi.info/?p=18</guid>

					<description><![CDATA[In today’s fast-paced business world, staying competitive means ensuring your team has the right skills. But what happens when there’s [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">In today’s fast-paced business world, staying competitive means ensuring your team has the right skills. But what happens when there’s a mismatch between what your employees can do and what your organization needs? These mismatches, known as skill gaps, can slow growth, reduce productivity, and even hurt your bottom line. Identifying skill gaps in your organization is the first step to closing them—and this guide will show you how.</span></p>
<p><span style="font-weight: 400;">In this blog, we’ll explore what skill gaps are, how to spot them, and <a href="https://www.codeblu.io/" target="_blank" rel="noopener">actionable steps to assess and address them effectively</a>. Whether you’re a manager, HR professional, or business owner, mastering this process can unlock your team’s full potential.</span></p>
<h2><b>Understanding Skill Gaps: What Are They?</b></h2>
<p><span style="font-weight: 400;">A skill gap is the difference between the skills your employees currently have and the skills your organization needs to achieve its goals. These gaps can emerge due to rapid industry changes, new technology, or insufficient training programs. For example, a marketing team might lack expertise in modern digital tools like SEO or data analytics, while a tech firm might need more employees skilled in AI development.</span></p>
<p><span style="font-weight: 400;">Why does this matter? Unaddressed skill gaps can stall projects, limit innovation, and make it harder to adapt to market demands. The good news? Once identified, you can take targeted steps to bridge them.</span></p>
<h2><b>Signs of Skill Gaps in Your Organization</b></h2>
<p><span style="font-weight: 400;">How do you know if skill gaps exist? Look for these red flags:</span></p>
<ul>
<li><b>Declining Performance: </b><span style="font-weight: 400;">Are projects taking longer or missing deadlines? Are KPIs slipping?</span></li>
<li><b>Employee Feedback:</b><span style="font-weight: 400;"> Do team members feel unprepared or overwhelmed by their tasks?</span></li>
<li><b>Missed Opportunities:</b><span style="font-weight: 400;"> Is your organization struggling to adopt new tools or processes?</span></li>
<li><b>Hiring Challenges:</b><span style="font-weight: 400;"> Are you finding it hard to recruit for certain roles?</span></li>
</ul>
<p><span style="font-weight: 400;">High turnover can also signal skill gaps—employees may leave if they feel unsupported or unable to grow. Spotting these signs early can save time and resources down the line.</span></p>
<h2><b>Steps to Identify Skill Gaps: A Practical Approach</b></h2>
<p><span style="font-weight: 400;">Ready to pinpoint where your organization falls short? Follow these five steps:</span></p>
<h3><b>1. Define Organizational Goals and Required Skills</b></h3>
<p><span style="font-weight: 400;">Start by clarifying your business objectives. Are you expanding into new markets? Adopting cutting-edge tech? List the key competencies needed for current roles and future growth. This roadmap will guide your skill gap analysis.</span></p>
<h3><b>2. Assess Current Employee Skills</b></h3>
<p><span style="font-weight: 400;">Next, evaluate what your team brings to the table. Use surveys, performance reviews, or skills assessments to gather data. For technical roles, consider hands-on tests to measure proficiency.</span></p>
<h3><b>3. Compare Current Skills to Desired Skills</b></h3>
<p><span style="font-weight: 400;">Map your findings against the competencies you identified. Where do they align? Where are the gaps? For instance, if your goal is to boost online sales but your team lacks e-commerce expertise, that’s a clear gap to address.</span></p>
<h3><b>4. Gather Input from Teams and Leadership</b></h3>
<p><span style="font-weight: 400;">Don’t rely on data alone—talk to your people. Conduct focus groups or one-on-one interviews with employees and managers. They’ll offer insights into day-to-day challenges that numbers might miss.</span></p>
<h3><b>5. Analyze Performance Data</b></h3>
<p><span style="font-weight: 400;">Dive into your metrics. Review KPIs, project outcomes, or even customer feedback. Patterns—like recurring errors or delays—can point to specific skill deficiencies.</span></p>
<h2><b>Tools and Methods to Support Skill Gap Identification</b></h2>
<p><span style="font-weight: 400;">Need help streamlining the process? Here are some tools and approaches:</span></p>
<ul>
<li><b>HR Software:</b><span style="font-weight: 400;"> Platforms like Workday, LinkedIn Skills Insights, or Gusto can track and analyze employee skills.</span></li>
<li><b>Competency Frameworks:</b><span style="font-weight: 400;"> Use industry-standard benchmarks to measure against best practices.</span></li>
<li><b>External Expertise:</b><span style="font-weight: 400;"> Hire consultants or training providers for an unbiased perspective.</span></li>
</ul>
<p><span style="font-weight: 400;">These resources can save time and ensure your analysis is thorough and accurate.</span></p>
<h2><b>Next Steps After Identifying Skill Gaps</b></h2>
<p><span style="font-weight: 400;">Once you’ve spotted the gaps, it’s time to act:</span></p>
<ul>
<li><b>Prioritize:</b><span style="font-weight: 400;"> Focus on gaps with the biggest impact or urgency—like skills tied to revenue-generating projects.</span></li>
<li><b>Plan Solutions:</b><span style="font-weight: 400;"> Invest in </span><b>training programs</b><span style="font-weight: 400;">, hire specialists, or upskill existing staff. </span></li>
<li><b>Monitor Progress:</b><span style="font-weight: 400;"> Set benchmarks and check in regularly to ensure improvement.</span></li>
</ul>
<p><span style="font-weight: 400;">Closing skill gaps isn’t a one-time fix—it’s an ongoing process as your organization evolves.</span></p>
<h2><b>Conclusion: Take Control of Your Organization’s Future</b></h2>
<p><span style="font-weight: 400;">Skill gaps are a natural part of growth, but ignoring them can hold your organization back. By understanding what they are, recognizing the signs, and following a structured approach to identify them, you can set your team up for success. Start today—assess your workforce, uncover the gaps, and build a culture of </span><b>continuous learning</b><span style="font-weight: 400;">. Your organization’s potential depends on it.</span></p>
<p><span style="font-weight: 400;">Ready to take the next step? Explore </span><a href="https://www.codeblu.io/" target="_blank" rel="noopener"><span style="font-weight: 400;">Codeblu</span></a><span style="font-weight: 400;"> to simplify the process and empower your team with the skills they need. Have questions or need help getting started? Drop a comment below or contact us for tailored advice!</span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dremi.info/2025/04/04/how-to-identify-skill-gaps-in-your-organization-a-step-by-step-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<dc:creator>webmaster@dremi.info ("Hairul Azami" a.k.a "dr.emi" a.k.a "The BlackCat")</dc:creator></item>
		<item>
		<title>Building A Drupal To Storyblok Migration Tool: An Engineering Perspective</title>
		<link>https://dremi.info/2025/04/03/building-a-drupal-to-storyblok-migration-tool-an-engineering-perspective/</link>
					<comments>https://dremi.info/2025/04/03/building-a-drupal-to-storyblok-migration-tool-an-engineering-perspective/#respond</comments>
		
		
		<pubDate>Thu, 03 Apr 2025 16:40:10 +0000</pubDate>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://dremi.info/?p=10</guid>

					<description><![CDATA[This article is a sponsored by Storyblok Content management is evolving. The traditional monolithic CMS approach is giving way to [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This article is a sponsored by <a href="https://www.storyblok.com/?utm_source=smashing&amp;utm_medium=sponsor&amp;utm_campaign=DGM_DEV_SMA_TRA&amp;utm_content=smashing-OSS">Storyblok</a></p>
<p>Content management is evolving. The traditional monolithic CMS approach is giving way to headless architectures, where content management and presentation are decoupled. This shift brings new challenges, particularly when organizations need to migrate from legacy systems to modern headless platforms.</p>
<p>Our team encountered this scenario when creating a migration path from Drupal to Storyblok. These systems handle content architecture quite differently — Drupal uses an entity-field model integrated with PHP, while Storyblok employs a flexible Stories and Blocks structure designed for headless delivery.</p>
<p>If you just need to use a script to do a simple — yet extensible — content migration from Drupal to Storyblok, I already shared <a href="https://www.storyblok.com/tp/migrating-drupal-articles-to-storyblok">step-by-step instructions</a> on how to download and use it. If you’re interested in the process of creating such a script so that you can write your own (possibly) better version, stay here!</p>
<p>We observed that developers sometimes struggle with manual content transfers and custom scripts when migrating between CMSs. This led us to develop and share our migration approach, which we implemented as an open-source tool that others could use as a reference for their migration needs.</p>
<p>Our solution combines two main components: a custom Drush command that handles content mapping and transformation and a new PHP client for Storyblok’s Management API that leverages modern language features for improved developer experience.</p>
<p>We’ll explore the engineering decisions behind this tool’s development, examining our architectural choices and how we addressed real-world migration challenges using modern PHP practices.</p>
<blockquote>
<p><strong>Note</strong>: You can find the complete source code of the migration tool <a href="https://github.com/storyblok/drupal-exporter">in the Drupal exporter repo</a>.</p>
</blockquote>
<p>Planning The Migration Architecture</p>
<p>The journey from Drupal to Storyblok presents unique architectural challenges. The fundamental difference lies in how these systems conceptualize content: Drupal structures content as entities with fields, while Storyblok uses a component-based approach with Stories and Blocks.</p>
<h3>Initial Requirements Analysis</h3>
<p>A successful migration tool needs to understand both systems intimately. Drupal’s content model relies heavily on its Entity API, storing content as structured field collections within entities. A typical Drupal article might contain fields for the title, body content, images, and taxonomies. <a href="https://www.storyblok.com/?utm_source=smashing&amp;utm_medium=sponsor&amp;utm_campaign=DGM_DEV_SMA_TRA&amp;utm_content=smashing-OSS">Storyblok</a>, on the other hand, structures content as stories that contain blocks, reusable components that can be nested and arranged in a flexible way. It’s a subtle difference that shaped our technical requirements, particularly around content mapping and data transformation, but ultimately, it’s easy to see the relationships between the two content models.</p>
<h3>Technical Constraints</h3>
<p>Early in development, we identified several key constraints. <a href="https://www.storyblok.com/docs/api/management/getting-started/?utm_source=smashing&amp;utm_medium=sponsor&amp;utm_campaign=DGM_DEV_SMA_TRA&amp;utm_content=smashing-OSS">Storyblok’s Management API</a> enforces rate limits that affect how quickly we can transfer content. Media assets must first be uploaded and then linked. Error recovery becomes essential when migrating hundreds of pieces of content.</p>
<p>The brand-new <a href="https://github.com/storyblok/php-management-api-client">Management API PHP client</a> handles these constraints through built-in retry mechanisms and response validation, so in writing a migration script, we don’t need to worry about them.</p>
<h3>Tool Selection</h3>
<p>We chose Drush as our command-line interface for several reasons. First, it’s deeply integrated with Drupal’s bootstrap process, providing direct access to the Entity API and field data. Second, Drupal developers are already familiar with its conventions, making our tool more accessible.</p>
<p>The decision to develop a new <strong>Management API client</strong> came from our experience with the evolution of PHP since we developed the first PHP client, and our goal to provide developers with a dedicated tool for this specific API that offered an improved DX and a tailored set of features.</p>
<p>This groundwork shaped how we approached the migration workflow.</p>
<p>The Building Blocks: A New Management API Client</p>
<p>A content migration tool interacts heavily with Storyblok’s Management API &amp;mdash, creating stories, uploading assets, and managing tags. Each operation needs to be reliable and predictable. Our brand-new client simplifies these interactions through intuitive method calls: The client handles authentication, request formatting, and response parsing behind the scenes, letting devs focus on content operations rather than API mechanics.</p>
<h3>Design For Reliability</h3>
<p>Content migrations often involve hundreds of API calls. Our client includes built-in mechanisms for handling common scenarios like rate limiting and failed requests. The response handling pattern provides clear feedback about operation success: A logger can be injected into the client class, as we did using the Drush logger in our migration script from Drupal.</p>
<h3>Improving The Development Experience</h3>
<p>Beyond basic API operations, the client reduces cognitive load through predictable patterns. Data objects provide a structured way to prepare content for Storyblok: This pattern validates data early in the process, catching potential issues before they reach the API.</p>
<p>Designing The Migration Workflow</p>
<p>Moving from Drupal’s entity-based structure to Storyblok’s <strong>component model</strong> required careful planning of the migration workflow. Our goal was to create a process that would be both reliable and adaptable to different content structures.</p>
<h3>Command Structure</h3>
<p>The migration leverages Drupal’s <em>entity query</em> system to extract content systematically. By default, <strong>access checks were disabled</strong> (a reversible business decision) to focus solely on migrating <strong>published nodes</strong>.</p>
<h3>Key Steps And Insights</h3>
<ul>
<li>
<p><strong>Text Fields</strong></p>
<ul>
<li>Required minimal effort: values like <code>value()</code> mapped directly to Storyblok fields.</li>
<li>Rich text posed no encoding challenges, enabling straightforward 1:1 transfers.</li>
</ul>
</li>
<li>
<p><strong>Handling Images</strong></p>
<ol>
<li><strong>Upload</strong>: Assets were sent to an AWS S3 bucket.</li>
<li><strong>Link</strong>: Storyblok’s <strong>Asset API</strong> <code>upload()</code> method returned an <code>object_id</code>, simplifying field mapping.</li>
<li><strong>Assign</strong>: The asset ID and filename were attached to the story.</li>
</ol>
</li>
<li>
<p><strong>Managing Tags</strong></p>
<ul>
<li>Tags extracted from Drupal were pre-created via Storyblok’s <strong>Tag API</strong> (optional but ensures consistency).</li>
<li>When assigning tags to stories, Storyblok automatically creates missing ones, streamlining the process.</li>
</ul>
</li>
</ul>
<h3>Why Staged Workflows Matter</h3>
<p>The migration avoids broken references by prioritizing dependencies (assets first, tags next, content last). While pre-creating tags add control, teams can adapt this logic—for example, letting Storyblok auto-generate tags to save time.</p>
<blockquote>
<p>Flexibility is key: every decision (access checks, tag workflows) can be adjusted to align with project goals.</p>
</blockquote>
<p>Real-World Implementation Challenges</p>
<p>Migrating content between Drupal and Storyblok presents challenges that you, as the implementer, may encounter.</p>
<p>For example, when dealing with large datasets, you may find that Drupal sites with thousands of nodes can quickly hit the rate limits enforced by Storyblok’s management API. In such cases, a batching mechanism for your requests is worth considering. Instead of processing every node at once, you can process a subset of records, wait for a short period of time, and then continue.</p>
<p>Alternatively, you could use the <code>createBulk</code> method of the Story API in the Management API, which allows you to handle multiple story creations with built-in rate limit handling and retries. Another potential hurdle is the conversion of complex field types, especially when Drupal’s nested structures or Paragraph fields need to be mapped to Storyblok’s more flexible block-based model.</p>
<p>One approach is first to analyze the nesting depth and structure of the Drupal content, then flatten deeply nested elements into reusable Storyblok components while maintaining the correct hierarchy. For example, a <code>paragraph</code> field with embedded media and text can be split into blocks within Storyblok, with each component representing a logical section of content. By structuring data this way before migration, you ensure that content remains editable and properly structured in the new system.</p>
<p>Data consistency is another aspect that you need to manage carefully. When migrating hundreds of records, partial failures are always risky. One approach to managing this is to log detailed information for each migration operation and implement a retry mechanism for failed operations.</p>
<p>For example, wrapping API calls in a <code>try-catch</code> block and logging errors can be a practical way to ensure that no records are silently dropped. When dealing with fields such as taxonomy terms or tags created on the fly in Storyblok, you may run into duplication issues. A good practice is to perform a check before creating a new tag. This could involve maintaining a local cache of previously created tags and checking against them before sending a create request to the API.</p>
<p>The same goes for images; a check could ensure you don’t upload the same asset twice.</p>
<p>Lessons Learned And Looking Forward</p>
<p>A <strong>dedicated API client</strong> for Storyblok streamlined interactions, abstracting backend complexity while improving code maintainability. Early use of <strong>structured data objects</strong> to prepare content proved critical, enabling pre-emptive error detection and reducing API failures.</p>
<p>We also ran into some challenges and see room for improvement:</p>
<ul>
<li><strong>Encoding issues</strong> in rich text (e.g., HTML entities) were resolved with a pre-processing step</li>
<li><strong>Performance bottlenecks</strong> with large text/images required memory optimization and refined request handling</li>
</ul>
<p>Enhancements could include support for <em>Drupal Layout Builder</em>, advanced validation layers, or dynamic asset management systems.</p>
<blockquote>
<p><img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> For deeper dives into our Management API client or migration strategies, reach out via <a href="https://discord.gg/jKrbAMz">Discord</a>, explore the <a href="https://github.com/storyblok/php-management-api-client">PHP Client repo</a>, or connect with me on <a href="https://hachyderm.io/@edodusi">Mastodon</a>. Feedback and contributions are welcome!</p>
</blockquote>
<p><a href="%E2%80%9C">Gain $200 in a week</a><br />
from Articles on Smashing Magazine — For Web Designers And Developers https://ift.tt/DFclaAz</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dremi.info/2025/04/03/building-a-drupal-to-storyblok-migration-tool-an-engineering-perspective/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<dc:creator>webmaster@dremi.info ("Hairul Azami" a.k.a "dr.emi" a.k.a "The BlackCat")</dc:creator></item>
		<item>
		<title>Hello world!</title>
		<link>https://dremi.info/2025/04/03/hello-world/</link>
					<comments>https://dremi.info/2025/04/03/hello-world/#comments</comments>
		
		
		<pubDate>Thu, 03 Apr 2025 09:23:36 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://dremi.info/?p=1</guid>

					<description><![CDATA[Welcome to WordPress. This is your first post. Edit or delete it, then start writing!]]></description>
										<content:encoded><![CDATA[
<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dremi.info/2025/04/03/hello-world/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			<dc:creator>webmaster@dremi.info ("Hairul Azami" a.k.a "dr.emi" a.k.a "The BlackCat")</dc:creator></item>
	</channel>
</rss>