<?xml version="1.0" encoding="utf-8"?>
            <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
                <generator uri="https://ipocs.co" version="1.0.0">IPOCS RSS GENERATOR</generator>
                <link href="https://ipocs.co/rss" rel="self" type="application/atom+xml" />
                <link href="https://ipocs.co" rel="alternate" type="text/html" hreflang="en" />
                <updated>Sun Apr 05 2026 04:53:17 GMT+0000 (Coordinated Universal Time)</updated>
                <id>https://ipocs.co/rss</id>
                <title type="html">IPOCS RSS FEED</title>
                <subtitle>Custom software development and IT consulting company</subtitle>
                <author>
                    <name>IPOCS</name>
                </author>
                
                    <entry>
                        <title type="html">How to register and use global properties in VueJS 3</title>
                        <link href="https://ipocs.co/article/how-to-register-and-use-global-properties-in-vuejs-3" rel="alternate" type="text/html" title="How to register and use global properties in VueJS 3" />
                        <published>Fri Dec 03 2021 19:51:12 GMT+0000 (Coordinated Universal Time)</published>
                        <updated>Fri Dec 03 2021 19:51:12 GMT+0000 (Coordinated Universal Time)</updated>
                        <id>https://ipocs.co/article/how-to-register-and-use-global-properties-in-vuejs-3</id>
                        <content type="html" xml:base="https://ipocs.co/article/how-to-register-and-use-global-properties-in-vuejs-3"><p>The following article will explain how to register and use global properties in VueJS 3 components or templates. This is essentially what was <code>Vue.prototype</code> in VueJS 2. It's useful when a web developer wants to add a global property that can be accessed in any component instance within the web application.</p>
<p>For example, you want to have global filters to strip any html from a string, or to show an excerpt of an article or maybe convert a snake based string to human readable one.</p>
<h2 id="setupenvironment">Setup environment</h2>
<p>As usual, we will be using <code>VueJS 3</code> with the composition API + <code>Vite</code> for the frontend tooling, so you need to have at least <code>NodeJS version 12</code> to be able to run Vite.</p>
<h2 id="scaffoldingandstartingyourvitevuejsproject">Scaffolding and starting your Vite/VueJs project</h2>
<p>There are <a href="https://vitejs.dev/guide/#scaffolding-your-first-vite-project" target="_blank" rel="noopener">many ways</a> of scaffolding your new project. We will be using <code>npm</code> in this tutorial:</p>
<pre><code>$ cd ~/Code/
$ npm init vite@latest
</code></pre>
<p>You will be prompted to setup your new project, we've chosen the following:</p>
<pre><code>$ npm init vite@latest
✔ Project name: … ipocs-global-properties-example
✔ Select a framework: › vue
✔ Select a variant: › vue
</code></pre>
<p>Once the project is created, use the following commands to install the dependencies and start the project in development mode:</p>
<pre><code>$ cd ipocs-global-properties-example
$ npm install
$ npm run dev
</code></pre>
<h2 id="registerandimplementtheglobalproperties">Register and implement the global properties</h2>
<p>Global properties are registered to the <code>app</code> VueJS instance. That being said, open your <code>main.js</code> file and register your custom global filters that you'd like to be available in all of your components, for example:</p>
<pre><code>import { createApp } from 'vue'
import App from './App.vue'

const myApp = createApp(App)

/**
* REGISTER GLOBAL FILTERS
*/
myApp.config.globalProperties.$filters = {
    striphtml (value) {
        const div = document.createElement('div')
        div.innerHTML = value
        return div.textContent || div.innerText || ""
    },

    limitTo (value, size) {
        if (!value || !size) return ''
        return value.substring(0, size) + "..."
    },

    snakeToHuman (value) {
        if (!value) return ''
        return value.replace(/_/g, ' ')
    }
}

myApp.mount('#app')
</code></pre>
<h2 id="usingtheglobalfiltersinvuejs3templates">Using the global filters in VueJS 3 templates</h2>
<p>You can directly use your global filters via the <code>$filters</code> variable in your templates. For example, to strip the html from a string and show an excerpt of <code>100 charaters</code>, you would do:</p>
<pre><code>&lt;div&gt;{{ $filters.limitTo($filters.striphtml(myContent), 100) }}&lt;/div&gt;
</code></pre>
<h2 id="usingtheglobalpropertiesviacomposablemethod">Using the global properties via composable method</h2>
<p>Once you have registered your global filters you can use them in your components via the <code>getCurrentInstance</code> which provides access to an internal component instance.</p>
<p>To simplify the usage, let's create a new composable called <code>useFilters</code> in <code>src/composables</code> directory</p>
<pre><code>import { getCurrentInstance } from 'vue'

export function useFilters () {
    const vm = getCurrentInstance()
    return vm.appContext.config.globalProperties.$filters
}
</code></pre>
<p>and then import it wherever you like to have access to your global filters, for example, edit your <code>src/App.vue</code> and do something like this:</p>
<pre><code>&lt;script setup&gt;
import { computed } from 'vue'
import { useFilters } from './composables/useFilters'
import HelloWorld from './components/HelloWorld.vue'

const filters = useFilters()
const myLongString = 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique exercitationem consequuntur excepturi. Accusantium suscipit fugit, cupiditate expedita sit asperiores enim dolore? Amet tenetur culpa, aspernatur ut est ipsam deleniti alias.'
const myExcerpt = computed(() =&gt; filters.limitTo(myLongString, 50))
&lt;/script&gt;

&lt;template&gt;
    &lt;img alt="Vue logo" src="./assets/logo.png" /&gt;
    &lt;HelloWorld msg="Hello Vue 3 + Vite" /&gt;
    &lt;div&gt;Excerpt using global filters:&lt;/div&gt;
    &lt;pre&gt;{{ myExcerpt }}&lt;/pre&gt;
&lt;/template&gt;

&lt;style&gt;
#app {
    font-family: Avenir, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    color: #2c3e50;
    margin-top: 60px;
}
&lt;/style&gt;
</code></pre>
<h2 id="projectsources">Project sources</h2>
<p>The source files used in this article are <a href="https://github.com/ipocs-code/blog-global-properties-vue" target="_blank" rel="noopener">available on GitHub</a>.</p>
<h2 id="finalwords">Final words</h2>
<p>Are you looking for a <a href="/services/software-development">custom software development</a> or IT support services? Well, look no further, we provide top-quality software developement and system administration services that will exceed even your most demanding needs. Just <a href="/contact">submit your request</a> and we'll get back to you shortly.</p></content>
                        <author><name>IPOCS</name></author>
                        <summary type="html">The following article will explain how to register and use global properties in VueJS 3 components or templates. This is essentially what was Vue.prototype in VueJS 2. It's useful when a web developer...</summary>
                        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ipocs.co/home/rolling-the-stone.svg" />
                        <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://ipocs.co/home/rolling-the-stone.svg" />
                <category term="Tutorials" /><category term="Web Development" /></entry>
                    <entry>
                        <title type="html">How to build a simple breadcrumb navigation component using VueJS</title>
                        <link href="https://ipocs.co/article/how-to-build-a-simple-breadcrumb-navigation-component-using-vuejs-3" rel="alternate" type="text/html" title="How to build a simple breadcrumb navigation component using VueJS" />
                        <published>Fri Nov 19 2021 19:15:56 GMT+0000 (Coordinated Universal Time)</published>
                        <updated>Tue Nov 23 2021 12:36:50 GMT+0000 (Coordinated Universal Time)</updated>
                        <id>https://ipocs.co/article/how-to-build-a-simple-breadcrumb-navigation-component-using-vuejs-3</id>
                        <content type="html" xml:base="https://ipocs.co/article/how-to-build-a-simple-breadcrumb-navigation-component-using-vuejs-3"><p>In the following article we are going to create a simple breadcrumb navigation component using <strong>VueJS 3</strong> with the composition API. In <strong>web design</strong> and <strong>web development</strong>, breadcrumb navigation allows users to keep track and maintain awareness of their locations within the web application.</p>
<h2 id="setupenvironment">Setup environment</h2>
<p>We will be using <code>VueJS 3</code> with the composition API + <code>Vite</code> for the frontend tooling, so you need to have at least <code>NodeJS version 12</code> to be able to run Vite</p>
<h2 id="scaffoldingandstartingyourvitevuejsproject">Scaffolding and starting your Vite/VueJs project</h2>
<p>There are <a href="https://vitejs.dev/guide/#scaffolding-your-first-vite-project" target="_blank" rel="noopener">many ways</a> of scaffolding your new project. We will be using <code>npm</code> in this tutorial:</p>
<pre><code>$ cd ~/Code/
$ npm init vite@latest
</code></pre>
<p>You will be prompted to setup your new project, we've chosen the following:</p>
<pre><code>$ npm init vite@latest
✔ Project name: … ipocs-breadcrumb-navigation-example
✔ Select a framework: › vue
✔ Select a variant: › vue
</code></pre>
<p>Once the project is created, use the following commands to install the dependencies and start the project in development mode:</p>
<pre><code>$ cd ipocs-breadcrumb-navigation-example
$ npm install
$ npm i --save-dev sass
$ npm run dev
</code></pre>
<h2 id="createthebreadcrumbcomponent">Create the Breadcrumb component</h2>
<p>Open your favorite editor and create a new <code>Breadcrumbs.vue</code> VueJS component inside your <code>src/components</code> directory. This component should consume data via <code>items</code> prop which has to be an <code>Array</code> of <code>Objects</code> with each object having at least the following properties: <code>name</code> and <code>url</code></p>
<pre><code>&lt;template&gt;
&lt;nav v-if="items &amp;&amp; items.length"
    class="my-breadcrumbs"
&gt;
    &lt;ol&gt;
        &lt;li v-for="(item, itemIndex) in items" :key="itemIndex"&gt;
            &lt;a v-if="itemIndex !== items.length - 1"
                :href="item.url"
                :title="item.name"
                class="bc-link"
            &gt;
                {{ item.name }}
            &lt;/a&gt;
            &lt;span v-else class="bc-name"&gt;{{ item.name }}&lt;/span&gt;
            &lt;span v-if="items[itemIndex + 1]" class="bc-separator"&gt;/&lt;/span&gt;
        &lt;/li&gt;
    &lt;/ol&gt;
&lt;/nav&gt;
&lt;/template&gt;

&lt;script setup&gt;
defineProps({
    items: {
        type: Array,
        required: true
    }
})
&lt;/script&gt;

&lt;style lang="scss" scoped&gt;
.my-breadcrumbs {
    background-color: #f7f7f7;
    border-radius: 4px;
    ol, ul {
        list-style-type: none;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        padding: 7px 15px;
        li {
            color: #222222;
            .bc-link {
                font-weight: 600;
                text-decoration: none;
                transition: all 0.5s ease;
                color: #222222;
                &amp;:hover {
                    color: blue;
                    text-decoration: underline;
                }
            }
            // .bc-name {

            // }
            .bc-separator {
                color: hsla(0, 0%, 13%, 0.563);
                margin: 0.3rem;
            }
        }
    }
}
&lt;/style&gt;
</code></pre>
<h2 id="usingthecomponent">Using the component</h2>
<p>To use the newly created <code>Breadcrumbs.vue</code> conmponent, you need to register/import it. So, edit your <code>src/App.vue</code> and adjust it to the following:</p>
<pre><code>&lt;script setup&gt;
import Breadcrumbs from './components/Breadcrumbs.vue'

const myItems = [{
    name: 'IPOCS',
    url: 'https://ipocs.co'
}, {
    name: 'Articles',
    url: 'https://ipocs.co/articles'
}, {
    name: 'Web development tutorials',
    url: 'https://ipocs.co/articles?categorySlug=web-development'
}, {
    name: 'Simple breadcrumbs navigation VueJS 3 component',
    url: 'https://ipocs.co/article/foo-bar'
}]
&lt;/script&gt;

&lt;template&gt;
    &lt;Breadcrumbs :items="myItems" /&gt;
&lt;/template&gt;
</code></pre>
<p>If everything is ok you should be getting the following result:</p>
<p><img src="/blog/breadcrumbs-result.png" alt="Breadcrumbs result" title="Breadcrumbs result" /></p>
<p>or better yet, check out the one we use on our web application which is based on this component:</p>
<p><img src="/blog/breadcrumbs-result-ipocs.png" alt="IPOCS Breadcrumbs" title="IPOCS Breadcrumbs" /></p>
<h2 id="projectsources">Project sources</h2>
<p>The source files used in this article are <a href="https://github.com/ipocs-code/blog-breadcrumb-navigation-vue" target="_blank" rel="noopener">available on GitHub</a>.</p>
<h2 id="finalwords">Final words</h2>
<p>Please do not hesitate to contact us using our <a href="/contact">contact form</a> regarding any <a href="/services/software-development">software development</a> or <a href="/services/system-administration">system administration</a> requirements you may have and we'll be more than happy to work with you.</p></content>
                        <author><name>IPOCS</name></author>
                        <summary type="html">In the following article we are going to create a simple breadcrumb navigation component using VueJS 3 with the composition API. In web design and web development, breadcrumb navigation allows users t...</summary>
                        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ipocs.co/home/rolling-the-stone.svg" />
                        <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://ipocs.co/home/rolling-the-stone.svg" />
                <category term="Tutorials" /><category term="Web Development" /></entry>
                    <entry>
                        <title type="html">How-to debounce values and functions in VueJS 3 using composable components</title>
                        <link href="https://ipocs.co/article/how-to-debounce-values-and-functions-in-vuejs-3-using-composable-reusable-components" rel="alternate" type="text/html" title="How-to debounce values and functions in VueJS 3 using composable components" />
                        <published>Wed Nov 17 2021 15:20:07 GMT+0000 (Coordinated Universal Time)</published>
                        <updated>Wed Nov 17 2021 18:31:53 GMT+0000 (Coordinated Universal Time)</updated>
                        <id>https://ipocs.co/article/how-to-debounce-values-and-functions-in-vuejs-3-using-composable-reusable-components</id>
                        <content type="html" xml:base="https://ipocs.co/article/how-to-debounce-values-and-functions-in-vuejs-3-using-composable-reusable-components"><p>When <a href="/services/web-application-development-services" title="Web Application Development">developing web applications</a>, or in <a href="/services/software-development" title="Software Development">software development</a> in general, there is almost always the need to debounce a given value or function. What this means is that you want to make a function, input or event etc. to wait a certain amount of time before executing/evaluating.</p>
<p>This helps when you want to limit the number of times an action is triggered, for example when you implement search box suggestions, user inputs, or when clicking buttons to perform some expensive/time-consuming operations.</p>
<h2 id="setupenvironment">Setup environment</h2>
<p>For this example we will be using <code>VueJs 3</code> with the composition API + <code>Vite</code> for the frontend tooling, though it should be fairly easy to implement the same <code>debounce</code> functionalities in your prefered language/environment.</p>
<p>You need to have at least NodeJS version 12 to be able to run Vite, so make sure you install it before proceeding further.</p>
<h2 id="scaffoldingandstartingyourvitevuejsproject">Scaffolding and starting your Vite/VueJs project</h2>
<p>There are <a href="https://vitejs.dev/guide/#scaffolding-your-first-vite-project" target="_blank" rel="noopener">many ways</a> of scaffolding your new project, though we will be using <code>npm</code> as in:</p>
<pre><code>$ cd ~/Code/
$ npm init vite@latest
</code></pre>
<p>You will be prompted to setup your new project, we've chosen the following:</p>
<pre><code>$ npm init vite@latest
✔ Project name: … ipocs-debounce-example
✔ Select a framework: › vue
✔ Select a variant: › vue
</code></pre>
<p>Once the project is created, use the following commands to install the dependencies and start the project in development mode:</p>
<pre><code>$ cd ipocs-debounce-example
$ npm install
$ npm run dev
</code></pre>
<h2 id="implementsimplereactiveinput">Implement simple reactive input</h2>
<p>Open your new VueJs project using your favorite editor and adjust <code>src/App.vue</code> component so it includes a simple text input, bound to a reactive variable to hold up our value:</p>
<pre><code>&lt;template&gt;
&lt;input
    type="text"
    name="fullName"
    placeholder="Enter your full name"
    v-model="myName"
/&gt;
&lt;pre&gt;Input is: {{ myName }}&lt;/pre&gt;
&lt;/template&gt;

&lt;script setup&gt;
import { ref } from 'vue'

const myName = ref('')
&lt;/script&gt;
</code></pre>
<p>In the above component, the input value is bound to a reactive <code>myName</code> variable which updates instantly as we type into the input text field. While in most cases this is fine, sometimes we don't want to immediatelly update the value of the reactive variable and here's where the <code>debounce</code> is what we need.</p>
<h2 id="implementdebouncecomposablefunctionforvariables">Implement debounce composable function for variables</h2>
<p>So, start by creating a new directory which will hold up our composable functions and create a blank <code>useDebounce.js</code> file, for example:</p>
<pre><code>$ mkdir src/composables
$ touch src/composables/useDebounce.js
</code></pre>
<p>Next, open the newly created <code>useDebounce.js</code> file in your editor and add the following:</p>
<pre><code>import { ref, customRef } from 'vue'

const myDebounce = (fn, delay = 0, immediate = false) =&gt; {
    let timeout
    return (...args) =&gt; {
        if (immediate &amp;&amp; !timeout) fn(...args)
        clearTimeout(timeout)

        timeout = setTimeout(() =&gt; {
            fn(...args)
        }, delay)
    }
}

const useDebounce = (initialValue, delay, immediate) =&gt; {
    const state = ref(initialValue)
    const debouncedReference = customRef(
        (myTrack, myTrigger) =&gt; ({
            get() {
                myTrack()
                return state.value
            },
            set: myDebounce(
                value =&gt; {
                    state.value = value
                    myTrigger()
                },
                delay,
                immediate
            ),
        })
    )
    return debouncedReference
}

export {
    useDebounce
}
</code></pre>
<p>Now, edit your <code>src/App.vue</code> and use the <code>useDebounce</code> composable to debounce the reactive input, as in:</p>
<pre><code>&lt;template&gt;
&lt;input
    type="text"
    name="fullName"
    placeholder="Enter your full name"
    v-model="myName"
/&gt;
&lt;pre&gt;Input is: {{ myName }}&lt;/pre&gt;
&lt;/template&gt;

&lt;script setup&gt;
import { useDebounce } from './composables/useDebounce'

const myName = useDebounce('', 2000)
&lt;/script&gt;
</code></pre>
<p>For the sake of this article, we've debounced the reactive <code>myName</code> variable for 2 seconds.</p>
<h2 id="implementdebouncecomposablefunctionformethods">Implement debounce composable function for methods</h2>
<p>Similar to the debounced reactive variable value, sometimes we need to debounce a given function/method. To achieve this, we need to implment similar logic which will handle this.</p>
<p>So, open the <code>useDebounce.js</code> file for editing and implement the <code>useDebounceFn</code> function:</p>
<pre><code>import { ref, customRef } from 'vue'

const myDebounce = (fn, delay = 0, immediate = false) =&gt; {
    let timeout
    return (...args) =&gt; {
        if (immediate &amp;&amp; !timeout) fn(...args)
        clearTimeout(timeout)

        timeout = setTimeout(() =&gt; {
            fn(...args)
        }, delay)
    }
}

const useDebounce = (initialValue, delay, immediate) =&gt; {
    const state = ref(initialValue)
    const debouncedReference = customRef(
        (myTrack, myTrigger) =&gt; ({
            get() {
                myTrack()
                return state.value
            },
            set: myDebounce(
                value =&gt; {
                    state.value = value
                    myTrigger()
                },
                delay,
                immediate
            ),
        })
    )
    return debouncedReference
}

const useDebounceFn = (fn, delay) =&gt; {
    let timeout

    return (...args) =&gt; {
        if (timeout) {
            clearTimeout(timeout)
        }

        timeout = setTimeout(() =&gt; {
            fn(...args)
        }, delay)
    }
}

export {
    useDebounce,
    useDebounceFn
}
</code></pre>
<p>Now, go back to your <code>src/App.vue</code> and utilize the <code>useDebounceFn</code> as in:</p>
<pre><code>&lt;template&gt;
&lt;input
    type="text"
    name="fullName"
    placeholder="Enter your full name"
    v-model="myName"
    :disabled="submitted"
/&gt;
&lt;pre&gt;Input is: {{ myName }}&lt;/pre&gt;

&lt;button type="button"
    @click="handleSubmit"
    :disabled="!myName || submitted"
&gt;
    &lt;span v-if="!submitted"&gt;SUBMIT NAME&lt;/span&gt;
    &lt;span v-else&gt;Loading...&lt;/span&gt;
&lt;/button&gt;
&lt;/template&gt;

&lt;script setup&gt;
import { ref } from 'vue'
import {
    useDebounce,
    useDebounceFn
} from './composables/useDebounce'

const myName = useDebounce('', 600)
const submitted = ref(false)

const myDebouncedMethod = useDebounceFn(() =&gt; {
    // just reset the myName and submitted values for testing
    myName.value = ''
    submitted.value = false
}, 2000)

const handleSubmit = () =&gt; {
    submitted.value = true
    myDebouncedMethod()
}
&lt;/script&gt;
</code></pre>
<p>As you can see it in action, once you fill in the input value, it's been debounced by <code>600ms</code> and once you click the submit button, the <code>handleSubmit</code> method is immediatelly called and the <code>submitted</code> boolean is set to <code>true</code>, but the <code>myDebouncedMethod</code> is debounced for <code>2000ms</code>, which means it will not be immediatelly fired.</p>
<h2 id="projectsources">Project sources</h2>
<p>The source files for this sample project are <a href="https://github.com/ipocs-code/blog-debounce-vue" target="_blank" rel="noopener">available on GitHub</a>.</p>
<h2 id="finalwords">Final words</h2>
<p>Do you need a <a href="/services/web-application-development-services" title="Web Application Development">custom web application development</a> or you need help from our web development team with your existing project? Please do not hesitate to contact us using our <a href="/contact">contact form</a> and we'll get back to you shortly.</p></content>
                        <author><name>IPOCS</name></author>
                        <summary type="html">When developing web applications, or in software development in general, there is almost always the need to debounce a given value or function. What this means is that you want to make a function, inp...</summary>
                        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ipocs.co/home/rolling-the-stone.svg" />
                        <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://ipocs.co/home/rolling-the-stone.svg" />
                <category term="Tips &amp; Tricks" /><category term="Tutorials" /><category term="Web Development" /></entry>
                    <entry>
                        <title type="html">Who are we, Why and What will we be blogging about?</title>
                        <link href="https://ipocs.co/article/who-are-we-why-and-what-will-we-be-blogging-about" rel="alternate" type="text/html" title="Who are we, Why and What will we be blogging about?" />
                        <published>Mon Nov 15 2021 13:06:29 GMT+0000 (Coordinated Universal Time)</published>
                        <updated>Mon Nov 15 2021 13:06:29 GMT+0000 (Coordinated Universal Time)</updated>
                        <id>https://ipocs.co/article/who-are-we-why-and-what-will-we-be-blogging-about</id>
                        <content type="html" xml:base="https://ipocs.co/article/who-are-we-why-and-what-will-we-be-blogging-about"><p>Hello world. This is our initial article on our <a href="https://ipocs.co/articles">company's website blog</a>.</p>
<p>Before we start with the journey, we would like to answer some essential questions from reader's perspective, such as:</p>
<ul>
<li>Who are we?</li>
<li>Why are we blogging?</li>
<li>What will we be blogging about?</li>
</ul>
<h2 id="whoarewe">Who are we?</h2>
<p>We are IPOCS, a <strong>custom software development</strong> &amp; <strong>IT consulting company</strong> which strive to deliver premium quality software and support services worldwide.</p>
<p>Our experience in the field is over <strong>20+ years</strong> now and we have a great team of problem solvers, engineers, developers, designers and product specialists to <code>roll the stone</code> for you.</p>
<h2 id="whyareweblogging">Why are we blogging?</h2>
<p>Sharing is knowledge, so we would love to share with you how IPOCS helps companies and enterprises overcome the issues and requirements they experience in their digital life.</p>
<h2 id="whatwillwebebloggingabout">What will we be blogging about?</h2>
<p>We love to share with you some tips and tricks, how-to tutorials, programming &amp; system administration articles, case studies and more.</p>
<p>Generally, the idea is to provide quality content for real-case scenarios so anyone in the scope could benefit from what we have learned.</p>
<p>This includes but it's not limited to the following:</p>
<ul>
<li>Real case studies</li>
<li>Software development tutorials</li>
<li>System administration articles</li>
<li>Tips and Tricks</li>
<li>News and Events</li>
</ul>
<h2 id="finalwords">Final words</h2>
<p>Knowledge is power, and with great power comes great responsibility. So logically, Knowledge is responsibility and we feel that we need to share some with you.</p>
<p>We are thrilled to start our blogging journey, so please stay tuned for more updates.</p></content>
                        <author><name>IPOCS</name></author>
                        <summary type="html">Hello world. This is our initial article on our company's website blog.
Before we start with the journey, we would like to answer some essential questions from reader's perspective, such as:

Who are ...</summary>
                        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ipocs.co/home/rolling-the-stone.svg" />
                        <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://ipocs.co/home/rolling-the-stone.svg" />
                <category term="News" /></entry>
            </feed>