<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Pakzilla</title>
	<atom:link href="https://www.pakzilla.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.pakzilla.com</link>
	<description>Opinion and news on technology that matters</description>
	<lastBuildDate>Thu, 07 Dec 2023 13:49:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.8</generator>
<site xmlns="com-wordpress:feed-additions:1">6998951</site>	<item>
		<title>Essential Programming Languages for Better Job Prospects</title>
		<link>https://www.pakzilla.com/2023/12/07/essential-programming-languages-for-university-students-boosting-job-prospects-in-the-tech-industry/</link>
					<comments>https://www.pakzilla.com/2023/12/07/essential-programming-languages-for-university-students-boosting-job-prospects-in-the-tech-industry/#respond</comments>
		
		<dc:creator><![CDATA[Pakzilla Staff]]></dc:creator>
		<pubDate>Thu, 07 Dec 2023 11:16:06 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Pakistan]]></category>
		<guid isPermaLink="false">https://www.pakzilla.com/?p=2693</guid>

					<description><![CDATA[<p>In today&#8217;s fast-paced and competitive tech industry, having a strong understanding of programming languages is essential for university students looking to secure better job offers. Employers seek candidates who possess...</p>
<p>The post <a href="https://www.pakzilla.com/2023/12/07/essential-programming-languages-for-university-students-boosting-job-prospects-in-the-tech-industry/">Essential Programming Languages for Better Job Prospects</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>In today&#8217;s fast-paced and competitive tech industry, having a strong understanding of programming languages is essential for university students looking to secure better job offers. Employers seek candidates who possess a diverse skill set and can contribute to their organizations from day one. As the demand for tech talent continues to rise in Pakistan&#8217;s thriving IT industry and abroad, it is crucial for students to identify and master the right programming languages. These languages not only provide a strong foundation but also open doors to better job opportunities.</p>



<p>In this blog post, we will explore the programming languages that students must learn and master during their time at university to enhance their job prospects and stand out in the tech job market.</p>



<ol><li>Java:<br>Java remains one of the most widely used programming languages across various industries. Its versatility, platform independence, and strong object-oriented foundations make it an excellent choice for students. Proficiency in Java opens doors to a wide range of job opportunities as a Java developer, software engineer, or application developer. Many companies, including multinational corporations, rely on Java for their projects, making it a valuable skill set to possess.</li><li>Python:<br>Python has gained significant popularity in recent years due to its simplicity, readability, and extensive libraries. It is widely used in web development, data science, artificial intelligence, and automation. Mastery of Python can lead to exciting career paths as a data analyst, machine learning engineer, or web developer. Its growing demand.</li><li>JavaScript:<br>JavaScript is the language of the web, making it indispensable for front-end and full-stack web development. With the rise of e-commerce and online platforms.</li></ol><p>The post <a href="https://www.pakzilla.com/2023/12/07/essential-programming-languages-for-university-students-boosting-job-prospects-in-the-tech-industry/">Essential Programming Languages for Better Job Prospects</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2023/12/07/essential-programming-languages-for-university-students-boosting-job-prospects-in-the-tech-industry/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2693</post-id>	</item>
		<item>
		<title>Launcher4j &#8211; This application requires a Java Runtime Environment 1.6.0</title>
		<link>https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/</link>
					<comments>https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/#respond</comments>
		
		<dc:creator><![CDATA[Pakzilla Staff]]></dc:creator>
		<pubDate>Thu, 02 Sep 2021 13:24:30 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[AdopOpenJDK]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2655</guid>

					<description><![CDATA[<p>The reason for this error could be that you don&#8217;t have Java at all in your PC or JAVA_HOME and PATH variables are not set up properly. In my case,...</p>
<p>The post <a href="https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/">Launcher4j – This application requires a Java Runtime Environment 1.6.0</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>The reason for this error could be that you don&#8217;t have Java at all in your PC or JAVA_HOME and PATH variables are not set up properly.</p>



<p></p>



<figure class="wp-block-image size-full"><img decoding="async" width="341" height="121" data-attachment-id="2659" data-permalink="https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/image-2/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-2.png?fit=341%2C121&amp;ssl=1" data-orig-size="341,121" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-2.png?fit=341%2C121&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-2.png?fit=341%2C121&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-2.png?resize=341%2C121&#038;ssl=1" alt="" class="wp-image-2659" data-recalc-dims="1"/></figure>



<p>In my case, my PC was not having Java installed. So I went with OpenJDK from Eclipse foundation. So by performing the following steps, it solved the problem. </p>



<ul><li><span style="color: initial;">Download AdoptOpenJDK, I selected .msi version for my x64 PC.</span></li><li>On the Custom Setup screen, select &#8220;Set JAVA_Home variable&#8221; and &#8220;JavaSoft (Oracle) registery keys&#8221;<br></li></ul>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="683" height="266" data-attachment-id="2668" data-permalink="https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/image-4/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-4.png?fit=683%2C266&amp;ssl=1" data-orig-size="683,266" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-4" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-4.png?fit=640%2C249&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-4.png?fit=683%2C266&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-4.png?resize=683%2C266&#038;ssl=1" alt="" class="wp-image-2668" srcset="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-4.png?w=683&amp;ssl=1 683w, https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-4.png?resize=640%2C249&amp;ssl=1 640w" sizes="(max-width: 683px) 100vw, 683px" data-recalc-dims="1" /></figure>



<ul><li>Let the installer setup JAVA_HOME and PATH system variables</li></ul>



<figure class="wp-block-image size-full"><img decoding="async" width="588" height="190" data-attachment-id="2656" data-permalink="https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/image/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image.png?fit=588%2C190&amp;ssl=1" data-orig-size="588,190" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image.png?fit=588%2C190&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image.png?fit=588%2C190&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image.png?resize=588%2C190&#038;ssl=1" alt="" class="wp-image-2656" data-recalc-dims="1"/></figure>



<ul><li>Give a restart to your PC (better do it with Windows :p)</li><li>Verify in command prompt to see if this JDK version is reflecting </li></ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="514" height="69" data-attachment-id="2657" data-permalink="https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/image-1/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-1.png?fit=514%2C69&amp;ssl=1" data-orig-size="514,69" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-1" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-1.png?fit=514%2C69&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-1.png?fit=514%2C69&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/image-1.png?resize=514%2C69&#038;ssl=1" alt="" class="wp-image-2657" data-recalc-dims="1"/></figure>



<ul><li>Run your application. </li></ul>



<p></p><p>The post <a href="https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/">Launcher4j – This application requires a Java Runtime Environment 1.6.0</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2021/09/02/launcher4j-this-application-requires-a-java-runtime-environment-1-6-0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2655</post-id>	</item>
		<item>
		<title>How to write menu driven programs in a loop?</title>
		<link>https://www.pakzilla.com/2021/08/19/how-to-write-menu-driven-programs-in-a-loop/</link>
					<comments>https://www.pakzilla.com/2021/08/19/how-to-write-menu-driven-programs-in-a-loop/#respond</comments>
		
		<dc:creator><![CDATA[Pakzilla Staff]]></dc:creator>
		<pubDate>Thu, 19 Aug 2021 13:21:46 +0000</pubDate>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Problems]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2640</guid>

					<description><![CDATA[<p>There are many applications which require the occurrence of the main menu again and again. The user chooses those options until the user wills to quit the program. In other...</p>
<p>The post <a href="https://www.pakzilla.com/2021/08/19/how-to-write-menu-driven-programs-in-a-loop/">How to write menu driven programs in a loop?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>There are many applications which require the occurrence of the main menu again and again.</p>



<p>The user chooses those options until the user wills to quit the program. In other words the termination of the program is in the hands of the user. Here is an example of a simple menu driven program from an application designed for LESCO.</p>



<pre class="wp-block-code"><code>LESCO L1; // class LESCO

Bool LESCO::ProcessMenu( )
{
    cout&lt;&lt;"\t\t\tChoose an Option:\n 1) Login in as a Employee(Press 1) 2) Login as a customer(Press 2)
 3) Quit(Press 3) \n\nYour Option:\t";

    int option;
    cin&gt;&gt;option;
    cout&lt;&lt;endl&lt;&lt;endl&lt;&lt;endl;
    if(option == 1)
    {
        // Your code here return
       // return false to continue loop and return true to break the loop
    }
    if(option == 2)
    {
        // Your code here return
        // return false to continue loop and return true to break the loop
    }
    if(option == 3)
    {
        return true; // Option 3 is quit option the loop will break and menu will not be shown again
    }
}


int main()
{

    while(L1.ProcessMenu()=0)
    {
    }
}</code></pre><p>The post <a href="https://www.pakzilla.com/2021/08/19/how-to-write-menu-driven-programs-in-a-loop/">How to write menu driven programs in a loop?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2021/08/19/how-to-write-menu-driven-programs-in-a-loop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2640</post-id>	</item>
		<item>
		<title>Is Visual Studio a good option for a beginner?</title>
		<link>https://www.pakzilla.com/2021/08/18/is-visual-studio-a-good-option-for-a-beginner/</link>
					<comments>https://www.pakzilla.com/2021/08/18/is-visual-studio-a-good-option-for-a-beginner/#respond</comments>
		
		<dc:creator><![CDATA[Pakzilla Staff]]></dc:creator>
		<pubDate>Wed, 18 Aug 2021 14:34:10 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2632</guid>

					<description><![CDATA[<p>Well before coming to the verdict let&#8217;s have a look at what basically is VisualStudio. Visual Studio is an IDE (Integrated Development Environment), it&#8217;s not justan editor, but you get...</p>
<p>The post <a href="https://www.pakzilla.com/2021/08/18/is-visual-studio-a-good-option-for-a-beginner/">Is Visual Studio a good option for a beginner?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p style="font-size:px">Well before coming to the verdict let&#8217;s have a look at what basically is Visual<br>Studio.</p>



<figure class="wp-block-image size-thumbnail is-resized is-style-default"><img loading="lazy" decoding="async" data-attachment-id="2634" data-permalink="https://www.pakzilla.com/2021/08/18/is-visual-studio-a-good-option-for-a-beginner/visual-studio-2019-1/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?fit=452%2C452&amp;ssl=1" data-orig-size="452,452" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="visual-studio-2019-1" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?fit=452%2C452&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?fit=452%2C452&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?resize=160%2C160&#038;ssl=1" alt="" class="wp-image-2634" width="160" height="160" srcset="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?resize=160%2C160&amp;ssl=1 160w, https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?resize=250%2C250&amp;ssl=1 250w, https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?resize=80%2C80&amp;ssl=1 80w, https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/visual-studio-2019-1.png?w=452&amp;ssl=1 452w" sizes="(max-width: 160px) 100vw, 160px" data-recalc-dims="1" /></figure>



<p><br>Visual Studio is an IDE (Integrated Development Environment), it&#8217;s not just<br>an editor, but you get debugging support, intellisense, refactoring tools and<br>much more. As a beginner, you will be learning the basic concepts of<br>languages and their use which might have chunks of basic projects which will<br>check your understanding of algorithms and syntaxes. To aid these, an IDE<br>gives you more tools to help you through tasks that are mundane. For<br>example, if I want to rename a variable, my tools can do a safe rename.<br>Meaning it actually goes through my codebase and makes sure the rename<br>happens across multiple files and to variables. It is apparent that Visual<br>Studio gives you a wide platform to code tirelessly which again is very<br>beneficial for a beginner to just focus on the logic and concept rather than<br>diving into the complexity of coding standards. Following are some features<br>of Visual Studio to support students:</p>



<p><br>● Custom or dynamic debugging and code analysis, which helps in<br>identifying the mistakes and enhancing the quality of code.<br>● It has fast navigation of code system which helps to find types easily and identify<br>where they’re referenced within the code or not.<br>● Advanced IntelliSense has prediction algorithm for<br>helping with the navigation of the codes.<br>● Live unit testing helps to automatically run impacted unit tests.</p>



<p><br>Whereas a text editor has no such tools and the developer has to write code<br>very vigilantly. The question arises whether the use of Visual Studio(IDE) is<br>beneficial for the developers in their career ahead? The answer is No. It is<br>true that Visual Studio is valuable for beginners but as a developer later you<br>should learn how to work without it, learn how you can compile the files,<br>how to use tools, how to write a program with only a simple text editor.<br>Remember that maybe someday you will have to work in an environment<br>without Visual Studio.<br>But Visual Studio is after all, a tool that will make your life easier and will<br>allow you to save time, so as a newcomer it&#8217;s worth learning and as long as<br>you can understand it and use it well.</p><p>The post <a href="https://www.pakzilla.com/2021/08/18/is-visual-studio-a-good-option-for-a-beginner/">Is Visual Studio a good option for a beginner?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2021/08/18/is-visual-studio-a-good-option-for-a-beginner/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2632</post-id>	</item>
		<item>
		<title>How to find substring of a string in C++?</title>
		<link>https://www.pakzilla.com/2021/08/18/how-to-find-substring-of-a-string-in-c/</link>
					<comments>https://www.pakzilla.com/2021/08/18/how-to-find-substring-of-a-string-in-c/#respond</comments>
		
		<dc:creator><![CDATA[Pakzilla Staff]]></dc:creator>
		<pubDate>Wed, 18 Aug 2021 13:15:25 +0000</pubDate>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Problems]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2616</guid>

					<description><![CDATA[<p>The easiest way to search for a word in a sentence including uppercase and lowercase characters is to first search for the indexes at which the first letter occurs and...</p>
<p>The post <a href="https://www.pakzilla.com/2021/08/18/how-to-find-substring-of-a-string-in-c/">How to find substring of a string in C++?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>The easiest way to search for a word in a sentence including uppercase and lowercase characters is to first search for the indexes at which the first letter occurs and locate the word at each index separately.</p>



<pre class="wp-block-code"><code>char * Sentence; // Has a sentence “Happy Birthday to you”
char * word; // Has a word “Birthday”
int length; // length of word
//Step 1: Converting the First Letter of word into Upper or Lower case
int index = -1;
char Upper = 0, Lower = 0;
if (word&#091;0] &lt;= 90) {
  Lower = word&#091;0] + 32;
} else {
  Upper = word&#091;0] - 32;
}
int Indices&#091;10];
for (int i = 0; i &lt; 10; i++)
  Indices&#091;i] = -1;
int I = 0;
for (int a = 0; sentence&#091;a] != '\0'; a++) {
  if (sentence&#091;a] == Upper || sentence&#091;a] == Lower || sentence&#091;a] ==
    word&#091;0]) {
    index = a;
    Indices&#091;I] = a;
    I++;
  }
}
//Step 2: Now For Each of these Index Positions, see if there is a match
I = 0;
while (Indices&#091;I] != -1) {
  int indx = Indices&#091;I];
  if (indx != -1) {
    indx++;
    int found = 1;
    for (int j = 1; j &lt; length; j++) {
      if (sentence&#091;indx] == word&#091;j]) {
        indx++;
        found++;
      }
    }
    if (found == length) {
      return true;
    }
  }
  I++;
}
return false;
}</code></pre><p>The post <a href="https://www.pakzilla.com/2021/08/18/how-to-find-substring-of-a-string-in-c/">How to find substring of a string in C++?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2021/08/18/how-to-find-substring-of-a-string-in-c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2616</post-id>	</item>
		<item>
		<title>Good programming practices in Software Engineering</title>
		<link>https://www.pakzilla.com/2021/08/17/good-programming-practices-in-software-engineering/</link>
					<comments>https://www.pakzilla.com/2021/08/17/good-programming-practices-in-software-engineering/#respond</comments>
		
		<dc:creator><![CDATA[Pakzilla Staff]]></dc:creator>
		<pubDate>Tue, 17 Aug 2021 11:27:30 +0000</pubDate>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[best_practices]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2622</guid>

					<description><![CDATA[<p>There are some good coding practices to follow as a part of a programmer&#8217;s career and skill set. In professional life, when you have to work in a team on...</p>
<p>The post <a href="https://www.pakzilla.com/2021/08/17/good-programming-practices-in-software-engineering/">Good programming practices in Software Engineering</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>There are some good coding practices to follow as a part of a programmer&#8217;s career and skill set. In professional life, when you have to work in a team on a project. The project undergoes many phases and in each phase the team members analyze the code for testing or maintenance purposes.</p>



<p>  In this case if the code of any team member is not up to the standards eventually it will be very difficult to understand and maintain it. So every programmer must follow these following rules: </p>



<ol><li><strong>Camel Casing: First characters of all words, except the first word are Upper Case and<br>other characters are lower case. Use Camel casing for methods and variable names. For<br>example,</strong></li></ol>



<pre class="wp-block-code"><code>void FeetAndInchesToMetersAndCent()
{
    //Keep all first letters capital for Functions

    int sumOfQuizzes;      //keep first letter small for first word in variables
    int sumOfAssignments;

}
</code></pre>



<p>2. <strong>Identifiers for constant should be in uppercase letters. For example,</strong></p>



<pre class="wp-block-code"><code>const double CONVERSION = 2.54;
const int NO_OF_STUDENTS = 20;
const char BLANK = ' ';

</code></pre>



<p>3. <strong>Use Meaningful, descriptive words to name variables</strong>. <strong>Do not use abbreviations.</strong></p>



<pre class="wp-block-code"><code>string address
int salary

// not recommended
string addr
int sal</code></pre>



<ol start="4"><li><strong>Use TAB for indentation. Do not use SPACES. Define the Tab size as 4. Curly braces (<br>{} ) should be in the same level as the code outside the braces.</strong></li></ol>



<pre class="wp-block-code"><code>if (beta &gt;= 10)
{
    int alpha = 10;
    beta = beta + alpha;
    cout &lt;&lt; alpha &lt;&lt; ' ' &lt;&lt; beta &lt;&lt; endl;
}</code></pre>



<ol start="5"><li><strong>Good and meaningful comments make code more maintainable. However,</strong></li></ol>



<ul><li>Do not write irrelevant comments for each line of code, every variable declared and above every function.</li><li>You can use // or /// for comments. Using /* … */ should be avoided</li><li>Write comments only when required. Good readable code will require very less comments. Moreover, If all variable and method names are meaningful, it will eventually make the code very readable and will need less comments</li><li>Do not write unnecessary comments if the code is easily understandable and readable without comment. The disadvantage of having a lot of comments is, if you change the code and forget to change the comment, it will lead to more confusion and difficulty.</li><li>Short lines of comments will enhance the elegancy of code. But if the code is not readable and there are less comments, that is considered as bad programming practice.</li><li>If you have to use some complex or weird logic for any reason, document it very well with sufficient comments.</li></ul>



<p><br></p>



<p></p><p>The post <a href="https://www.pakzilla.com/2021/08/17/good-programming-practices-in-software-engineering/">Good programming practices in Software Engineering</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2021/08/17/good-programming-practices-in-software-engineering/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2622</post-id>	</item>
		<item>
		<title>How to implement MVVM architecture in Android?</title>
		<link>https://www.pakzilla.com/2021/03/04/how-to-implement-mvvm-architecture-in-android/</link>
					<comments>https://www.pakzilla.com/2021/03/04/how-to-implement-mvvm-architecture-in-android/#respond</comments>
		
		<dc:creator><![CDATA[Bilal Aslam]]></dc:creator>
		<pubDate>Thu, 04 Mar 2021 17:11:09 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android Apps]]></category>
		<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[MVVM]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2547</guid>

					<description><![CDATA[<p>What is MVVM? MVVM stands for&#160;Model,&#160;View,&#160;View Model. Why MVVM? Makes the code more understandable with every class like adapters, model, View Model in a separate package. Makes the code maintainable...</p>
<p>The post <a href="https://www.pakzilla.com/2021/03/04/how-to-implement-mvvm-architecture-in-android/">How to implement MVVM architecture in Android?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>What is MVVM?</strong></p>



<p>MVVM stands for&nbsp;<strong>Model</strong>,&nbsp;<strong>View</strong>,&nbsp;<strong>View Model</strong>.</p>



<p><strong>Why MVVM?</strong></p>



<ul><li>Makes the code more understandable with every class like adapters, model, View Model in a separate package.</li><li>Makes the code maintainable for the long run because the repository class will be handling all API and Room data.</li><li>Makes the code testable.</li><li>Making changes, adding new features is easy because everything will be organized in a separate package so, it will be easy to make changes.</li></ul>



<p><strong>Model:&nbsp;</strong>The model is responsible for managing the application data and implements the business logic. It responds to the request of the view and also responds to the controller&#8217;s instructions to manipulate the data.</p>



<p><strong>View:</strong> It represents the UI of the application in which we define our components like button, Text View, etc. The view can be a fragment or activity. View role in this pattern is to observe a View Model observable to get data to update UI elements accordingly.</p>



<p><strong>View Model:&nbsp; </strong>It is used to communicate between view and model and also prepares observable(s) that can be observed by a View.</p>



<p><strong>Live Data:</strong> Live Data is a data holder and it is used to observe the changes of a particular view and then update the view when it is active.</p>



<p><strong>Repository:</strong> The Repository is a simple Java class that is used to communicate between database | web server and View Model basically, in the repository class we fetch data from the server or the database, and View Model requests for the data that will be used for the View.</p>



<p>This is how we implement in the Android Studio:</p>



<p>In this project, we will make a <strong>Note App</strong> in which users can add a note, update the note and delete the note with the help of Room and MVVM.</p>



<pre class="wp-block-preformatted"><strong>Step 1: Add dependencies in build.gradle file</strong>
def lifecycle_version = "2.3.0"
<em>// ViewModel
</em>implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
<em>// LiveData
</em>implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"</pre>



<p></p>



<p>I am using MVVM with a Room so add room dependencies also</p>



<pre class="wp-block-preformatted">def room_version = "2.2.6"<br><br><em>//room<br></em>implementation "androidx.room:room-runtime:$room_version"<br>annotationProcessor "androidx.room:room-compiler:$room_version"</pre>



<p><strong>Step 2:&nbsp; </strong><strong>Create a model class</strong></p>



<p>In model class I will have three entities title, description, priority, and id will be auto-generated.</p>


<pre class="brush: java; title: ; notranslate">
@Entity(tableName = &quot;note_table&quot;)
  public class Note {
    @PrimaryKey(autoGenerate = true)
    private int id;
    private String title;
    private String description;
    private int priority;
    public Note(String title, String description, int priority) {
        this.title = title;
        this.description = description;
        this.priority = priority;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getId() {
        return id;
    }
    public String getTitle() {
        return title;
    }
    public String getDescription() {
        return description;
    }
    public int getPriority() {
        return priority;
    }
  }
 </pre>



<p><strong>Step 3:&nbsp; </strong><strong>Create a Room Database Interface</strong></p>



<p>In this class, we will create Database object. We have to turn this class into skeleton (which means we can’t create multiple instances of this database)</p>


<pre class="brush: java; title: ; notranslate"> 


@Database(entities = {Note.class}, version = 1)
public abstract class NoteDatabase extends RoomDatabase {
    private static NoteDatabase instance; 
   

    public abstract NoteDao noteDao();

    public static synchronized NoteDatabase getInstance(Context context) {
        if (instance == null) {
            instance = Room.databaseBuilder(context.getApplicationContext(),
                    NoteDatabase.class, &quot;note_database&quot;)
                    .fallbackToDestructiveMigration()
                    .addCallback(roomCallback).build();
        }
        return instance;
    }
}

</pre>



<p><strong>Step 4:&nbsp; </strong><strong>Create a Room Dao class</strong></p>



<p>In this class, we write all our queries for CRUD operation. Live Data will use to observe the object.</p>


<pre class="brush: java; title: ; notranslate">
 @Dao
    public interface NoteDao {

        @Insert
        void insert(Note note);
        @Update
        void update(Note note);
        @Delete
        void delete(Note note);

        @Query(&quot;DELETE FROM note_table&quot;)
        void deleteAllNotes();

        @Query(&quot;SELECT * FROM note_table ORDER BY priority DESC&quot;)
        LiveData&amp;amp;amp;lt;List&amp;amp;amp;gt; getAllNotes();
    }
 </pre>



<p><strong>Step 5:&nbsp; </strong><strong>Create a Repository class</strong></p>



<p>In this class, we create a repository class object and we will access the repository methods.</p>


<pre class="brush: java; title: ; notranslate"> public class NoteRepository {

    private NoteDao noteDao;
    private LiveData&amp;amp;amp;lt;List&amp;amp;amp;gt; allNotes;

    public NoteRepository(Application application) {
        NoteDatabase database = NoteDatabase.getInstance(application);
        noteDao = database.noteDao();
        allNotes = noteDao.getAllNotes();
    }


    public void update(Note note) {
        new UpdateNoteAsyncTask(noteDao).execute(note);
    }

    public void delete(Note note) {
        new DeleteNoteAsyncTask(noteDao).execute(note);
    }

    public void deleteAllNotes() {
        new DeleteAllNotesAsyncTask(noteDao).execute();
    }

    public LiveData&amp;amp;amp;lt;List&amp;amp;amp;gt; getAllNotes() {
        return allNotes;
    }

    public void insert(Note note) {
        new InsertNoteAsyncTask(noteDao).execute(note);
    }

    private static class InsertNoteAsyncTask extends AsyncTask {
        private NoteDao noteDao;
        private InsertNoteAsyncTask(NoteDao noteDao) {
            this.noteDao = noteDao;
        }
        @Override
        protected Void doInBackground(Note... notes) {
            noteDao.insert(notes&#x5B;0]);
            return null;
        }
    }

//it is static so its dosen't have to be reference to repository itself otherwise it will cause mem leak
    private static class UpdateNoteAsyncTask extends AsyncTask {
        private NoteDao noteDao;//to make data operation
        private UpdateNoteAsyncTask(NoteDao noteDao) {
            this.noteDao = noteDao;//since the class is static we cant access rep notedao so we are usinng constructor
        }
        @Override
        protected Void doInBackground(Note... notes) {
            noteDao.update(notes&#x5B;0]);//not single node
            return null;
        }
    }

    private static class DeleteNoteAsyncTask extends AsyncTask {
        private NoteDao noteDao;
        private DeleteNoteAsyncTask(NoteDao noteDao) {
            this.noteDao = noteDao;
        }
        @Override
        protected Void doInBackground(Note... notes) {
            noteDao.delete(notes&#x5B;0]);
            return null;
        }
    }
    private static class DeleteAllNotesAsyncTask extends AsyncTask {
        private NoteDao noteDao;
        private DeleteAllNotesAsyncTask(NoteDao noteDao) {
            this.noteDao = noteDao;
        }
        @Override
        protected Void doInBackground(Void... voids) {
            noteDao.deleteAllNotes();
            return null;
        }
    }

}</pre>



<p><strong>Step 6:&nbsp; </strong><strong>Create a View Model class</strong></p>



<p>In this class, we create a repository class object and we will access the repository methods.</p>


<pre class="brush: java; title: ; notranslate"> public class NoteViewModel extends AndroidViewModel {

        private NoteRepository repository;
        private LiveData&amp;amp;amp;lt;List&amp;amp;amp;gt; allNotes;

        public NoteViewModel(@NonNull Application application) {
            super(application);

            repository = new NoteRepository(application);
            allNotes = repository.getAllNotes();
        }

        public void insert(Note note) {
            repository.insert(note);
        }
        public void update(Note note) {
            repository.update(note);
        }
        public void delete(Note note) {
            repository.delete(note);
        }
        public void deleteAllNotes() {
            repository.deleteAllNotes();
        }
        public LiveData&amp;amp;amp;lt;List&amp;amp;amp;gt; getAllNotes() {
            return allNotes;
        }

    }
 </pre>



<p><strong>Step 7:&nbsp; </strong><strong>Create an Activity(View) class &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Last Step)</strong></p>



<p>In this class, we create a view model class object and we will access the methods of view model class.</p>


<pre class="brush: java; title: ; notranslate"> public class MainActivity extends AppCompatActivity {

    private NoteViewModel noteViewModel;//for communicating with ViewModel.
    public static final int ADD_NOTE_REQUEST = 1;
    public static final int EDIT_NOTE_REQUEST = 2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //initalize the view model
        //noteViewModel = new ViewModelProvider(this ).get(NoteViewModel.class);

        FloatingActionButton floatingActionButton=findViewById(R.id.add_note);
        floatingActionButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, AddEditNoteActivity.class);
                startActivityForResult(intent, ADD_NOTE_REQUEST);
            }
        });

        RecyclerView recyclerView=findViewById(R.id.recycler_view);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setHasFixedSize(true);

        final NoteAdapter adapter = new NoteAdapter();
        recyclerView.setAdapter(adapter);

        noteViewModel = new ViewModelProvider(this,
                ViewModelProvider.AndroidViewModelFactory.getInstance(this.getApplication())).get(NoteViewModel.class);


        //bcz this return live data
        //it will update only when app in foreground

        //this will be called when ever live data changes in our data
        //update recyclerview
        //when ever changes are made in the table our adapter will be updated with new list of notes


        noteViewModel.getAllNotes().observe(this, new Observer&amp;amp;lt;List&amp;amp;gt;() {
            @Override
            public void onChanged(List notes) {


                adapter.setNotes(notes);
            }
        });



        new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0,
                ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
            @Override
            public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
                return false;
            }
            @Override
            public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
                noteViewModel.delete(adapter.getNoteAt(viewHolder.getAdapterPosition()));
                Toast.makeText(MainActivity.this, &quot;Note deleted&quot;, Toast.LENGTH_SHORT).show();
            }
        }).attachToRecyclerView(recyclerView);


        adapter.setOnItemClickListener(new NoteAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(Note note) {
                Intent intent = new Intent(MainActivity.this, AddEditNoteActivity.class);
                intent.putExtra(AddEditNoteActivity.EXTRA_ID, note.getId());
                intent.putExtra(AddEditNoteActivity.EXTRA_TITLE, note.getTitle());
                intent.putExtra(AddEditNoteActivity.EXTRA_DESCRIPTION, note.getDescription());
                intent.putExtra(AddEditNoteActivity.EXTRA_PRIORITY, note.getPriority());
                startActivityForResult(intent, EDIT_NOTE_REQUEST);
            }
        });

    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == ADD_NOTE_REQUEST &amp;amp;amp;&amp;amp;amp; resultCode == RESULT_OK) {
            String title = data.getStringExtra(AddEditNoteActivity.EXTRA_TITLE);
            String description = data.getStringExtra(AddEditNoteActivity.EXTRA_DESCRIPTION);
            int priority = data.getIntExtra(AddEditNoteActivity.EXTRA_PRIORITY, 1);
            Note note = new Note(title, description, priority);
            noteViewModel.insert(note);
            Toast.makeText(this, &quot;Note saved&quot;, Toast.LENGTH_SHORT).show();
        }

        else if (requestCode == EDIT_NOTE_REQUEST &amp;amp;amp;&amp;amp;amp; resultCode == RESULT_OK) {
            int id = data.getIntExtra(AddEditNoteActivity.EXTRA_ID, -1);
            if (id == -1) {
                Toast.makeText(this, &quot;Note can't be updated&quot;, Toast.LENGTH_SHORT).show();
                return;
            }
            String title = data.getStringExtra(AddEditNoteActivity.EXTRA_TITLE);
            String description = data.getStringExtra(AddEditNoteActivity.EXTRA_DESCRIPTION);
            int priority = data.getIntExtra(AddEditNoteActivity.EXTRA_PRIORITY, 1);
            Note note = new Note(title, description, priority);
            note.setId(id);//without this update will not happen
            noteViewModel.update(note);
            Toast.makeText(this, &quot;Note updated&quot;, Toast.LENGTH_SHORT).show();
        }

        else {
            Toast.makeText(this, &quot;Note not saved&quot;, Toast.LENGTH_SHORT).show();
        }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.main_menu, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.delete_all_notes:
                noteViewModel.deleteAllNotes();
                Toast.makeText(this, &quot;All notes deleted&quot;, Toast.LENGTH_SHORT).show();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}</pre>



<p><strong>For complete project:</strong> </p>



<p><a href="https://github.com/bilal96aslam/MVVM" target="_blank" rel="noreferrer noopener" title="github link">https://github.com/bilal96aslam/MVVM</a></p><p>The post <a href="https://www.pakzilla.com/2021/03/04/how-to-implement-mvvm-architecture-in-android/">How to implement MVVM architecture in Android?</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2021/03/04/how-to-implement-mvvm-architecture-in-android/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2547</post-id>	</item>
		<item>
		<title>DataTables Lazy Loading using PHP Laravel</title>
		<link>https://www.pakzilla.com/2019/07/06/datatables-lazy-loading-using-php-laravel/</link>
					<comments>https://www.pakzilla.com/2019/07/06/datatables-lazy-loading-using-php-laravel/#respond</comments>
		
		<dc:creator><![CDATA[Nouman Ashraf]]></dc:creator>
		<pubDate>Sat, 06 Jul 2019 07:41:34 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[DataTables]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2523</guid>

					<description><![CDATA[<p>There are times when reading data from the DataTables is simply too slow, particularly when dealing with thousands of data rows. To address this slowness of data, DataTables&#8217; server-side processing...</p>
<p>The post <a href="https://www.pakzilla.com/2019/07/06/datatables-lazy-loading-using-php-laravel/">DataTables Lazy Loading using PHP Laravel</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image"><img loading="lazy" decoding="async" width="600" height="212" data-attachment-id="2527" data-permalink="https://www.pakzilla.com/2019/07/06/datatables-lazy-loading-using-php-laravel/lazyloading/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/lazyloading.gif?fit=600%2C212&amp;ssl=1" data-orig-size="600,212" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="lazyloading" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/lazyloading.gif?fit=600%2C212&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/lazyloading.gif?fit=600%2C212&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/lazyloading.gif?resize=600%2C212&#038;ssl=1" alt="" class="wp-image-2527" data-recalc-dims="1"/></figure>



<p>There are times when reading data from the  DataTables  is simply too slow, particularly when dealing with thousands  of data rows. To address this slowness of data, DataTables&#8217; server-side processing feature provides a method to let all the &#8220;heavy loading&#8221; be done by a database engine on the server-side&nbsp; </p>



<h2 class="wp-block-heading">Simple query to get data from server </h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
 $listing = DB::table(&#039;table_name&#039;)-&gt;get();
//Records around 50K
</pre></div>


<h2 class="wp-block-heading">Pass your query result to DataTable object in PHP Laravel</h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
return DataTables::of($listing)-&gt;make();
</pre></div>


<h2 class="wp-block-heading">HTML DataTable</h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: xml; title: ; notranslate">
&lt;table class=&quot;YOURTABLE mdl-data-table table-striped table-hover dataTable&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot; role=&quot;grid&quot; style=&quot;width: 100%;&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;First&lt;/th&gt;
&lt;th&gt;Second&lt;/th&gt;
&lt;th&gt;Third&lt;/th&gt;
&lt;th&gt;Forth&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</pre></div>


<h2 class="wp-block-heading"> Configuration</h2>



<p> Lazy Loading in DataTables is enabled through use of the&nbsp;serverSide&nbsp;option. Simply set it to&nbsp;<code>true</code>&nbsp;and DataTables will operate in server-side processing mode. In JS file&#8211;</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
var url = &#039;/fetch-list&#039;;
    $(&#039;.YOURTABLE&#039;).DataTable({
        processing: true,
        serverSide: true,
        destroy: true,
        ajax: url,
        dom: &#039;Bfrtip&#039;,
        &quot;columnDefs&quot;: &#x5B;
            { &quot;searchable&quot;: false, &quot;targets&quot;: 6 }
        ],
        buttons: &#x5B;
            &#039;pageLength&#039;, &#039;csv&#039;, &#039;excel&#039;, &#039;pdf&#039;, &#039;print&#039;
        ],
        &quot;lengthMenu&quot;: &#x5B;&#x5B;10, 25, 50, -1], &#x5B;10, 25, 50, 100]],
        &quot;pagingType&quot;: &quot;full_numbers&quot;,
        &quot;columns&quot;: &#x5B;
            {&quot;data&quot;: &quot;FIRST&quot;},
            {&quot;data&quot;: &quot;SECOND&quot;},
            {&quot;data&quot;: &quot;THIRD&quot;},
            {&quot;data&quot;: &quot;FOURTH&quot;}
]
    });
</pre></div><p>The post <a href="https://www.pakzilla.com/2019/07/06/datatables-lazy-loading-using-php-laravel/">DataTables Lazy Loading using PHP Laravel</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2019/07/06/datatables-lazy-loading-using-php-laravel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2523</post-id>	</item>
		<item>
		<title>Android Studio Useful Shortcuts</title>
		<link>https://www.pakzilla.com/2019/06/28/android-studio-useful-shortcuts/</link>
					<comments>https://www.pakzilla.com/2019/06/28/android-studio-useful-shortcuts/#respond</comments>
		
		<dc:creator><![CDATA[Adnan Sattar]]></dc:creator>
		<pubDate>Fri, 28 Jun 2019 05:53:17 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[best_practices]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2479</guid>

					<description><![CDATA[<p>IDE shortcuts can really make your development workflow fast and smooth. Android Studio comes perfectly in this aspect. Ideally, you should make it a habit to not pick up the...</p>
<p>The post <a href="https://www.pakzilla.com/2019/06/28/android-studio-useful-shortcuts/">Android Studio Useful Shortcuts</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>IDE shortcuts can really make your development workflow fast and smooth. Android Studio comes perfectly in this aspect. Ideally, you should make it a habit to not pick up the mouse to perform most of your actions and slowly migrate towards a mouseless-workflow. Here are some of the most useful shortcuts for you to get started.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="760" height="543" data-attachment-id="2519" data-permalink="https://www.pakzilla.com/2019/06/28/android-studio-useful-shortcuts/complete-shortcut-key-for-android-studio-2/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/Complete-Shortcut-Key-For-Android-Studio-2.png?fit=1200%2C858&amp;ssl=1" data-orig-size="1200,858" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Complete-Shortcut-Key-For-Android-Studio-2" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/Complete-Shortcut-Key-For-Android-Studio-2.png?fit=640%2C458&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/Complete-Shortcut-Key-For-Android-Studio-2.png?fit=760%2C543&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/Complete-Shortcut-Key-For-Android-Studio-2.png?resize=760%2C543&#038;ssl=1" alt="" class="wp-image-2519" srcset="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/Complete-Shortcut-Key-For-Android-Studio-2.png?w=1200&amp;ssl=1 1200w, https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/Complete-Shortcut-Key-For-Android-Studio-2.png?resize=640%2C458&amp;ssl=1 640w, https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/Complete-Shortcut-Key-For-Android-Studio-2.png?resize=1024%2C732&amp;ssl=1 1024w" sizes="(max-width: 760px) 100vw, 760px" data-recalc-dims="1" /><figcaption> Shortcut Key For Android Studio </figcaption></figure>



<p><em>(Currently, only Mac shortcuts are available. Windows and Linux shortcuts coming soon.)</em></p>



<h3 class="wp-block-heading"><a href="https://github.com/aritraroy/UltimateAndroidReference#must-know-shortcuts"></a>Must-Know Shortcuts:</h3>



<p>Never-ever-ever forget these shortcuts.</p>



<table class="wp-block-table"><thead><tr><th>Description</th><th>Shortcut</th></tr></thead><tbody><tr><td>Find everything (like files, classes, symbols, etc.)</td><td>Shift&nbsp;+&nbsp;Shift</td></tr><tr><td>Show a list of automatic fixes and IDE suggestions at the cursor</td><td>Option&nbsp;+&nbsp;Enter</td></tr><tr><td>Rename all copies of the variable/method/class at the cursor</td><td>Shift&nbsp;+&nbsp;F6</td></tr><tr><td>List all usages of the variable/method/class at the cursor</td><td>Command&nbsp;+&nbsp;Option&nbsp;+&nbsp;F7</td></tr><tr><td>Generate code (like getters, setters, constructors, method overrides)</td><td>Command&nbsp;+&nbsp;N</td></tr><tr><td>Search for any action in Android Studio</td><td>Command&nbsp;+&nbsp;Shift&nbsp;+&nbsp;A</td></tr><tr><td>Find text occurencesin the current file (Enter = cycle through results, Esc. = cancel)</td><td>Command&nbsp;+&nbsp;F</td></tr><tr><td>Show the list of recently used files in the IDE</td><td>Command&nbsp;+&nbsp;E</td></tr><tr><td>Run the app or test</td><td>Control&nbsp;+&nbsp;R</td></tr></tbody></table>



<h3 class="wp-block-heading"><a href="https://github.com/aritraroy/UltimateAndroidReference#frequently-used-shortcuts"></a>Frequently Used Shortcuts:</h3>



<p>You will surely need these quite often.</p>



<table class="wp-block-table"><thead><tr><th>Description</th><th>Shortcut</th></tr></thead><tbody><tr><td>Search for and open any file by name</td><td>Command&nbsp;+&nbsp;Shift&nbsp;+&nbsp;O</td></tr><tr><td>Move a piece of code in upward/downward direction</td><td>Command&nbsp;+&nbsp;Shift&nbsp;+&nbsp;Up/Down</td></tr><tr><td>View javadoc of symbol at cursor in pop-up</td><td>F1</td></tr><tr><td>View definition of method at cursor in pop-up</td><td>Command&nbsp;+&nbsp;Y</td></tr><tr><td>Search for and list any occurrences of text</td><td>Command&nbsp;+&nbsp;Shift&nbsp;+&nbsp;F</td></tr><tr><td>Comment/Uncomment all selected lines (also works in xml files)</td><td>Command&nbsp;+&nbsp;/</td></tr><tr><td>Show available parameters for current method (must be inside parentheses)</td><td>Command&nbsp;+&nbsp;P</td></tr><tr><td>Format code to match Android Studio&#8217;s default style</td><td>Command&nbsp;+&nbsp;Option&nbsp;+&nbsp;L</td></tr><tr><td>Delete a complete line at one go</td><td>Command&nbsp;+&nbsp;Delete</td></tr><tr><td>Navigate through classes and methods</td><td>Command&nbsp;+&nbsp;Left Click</td></tr></tbody></table>



<h3 class="wp-block-heading"><a href="https://github.com/aritraroy/UltimateAndroidReference#useful-shortcuts"></a>Useful Shortcuts:</h3>



<p>These can help you level up your development workflow.</p>



<table class="wp-block-table"><thead><tr><th>Description</th><th>Shortcut</th></tr></thead><tbody><tr><td>Go to next highlighted error in current file</td><td>F2</td></tr><tr><td>Go to the declaration of the variable/method/class at cursor</td><td>Command&nbsp;+&nbsp;B</td></tr><tr><td>Go to given line number in current file</td><td>Command&nbsp;+&nbsp;L</td></tr><tr><td>Duplicate current line</td><td>Command&nbsp;+&nbsp;D</td></tr><tr><td>Search for and go to any symbol (incl. variables and methods)</td><td>Command&nbsp;+&nbsp;Option&nbsp;+&nbsp;O</td></tr><tr><td>Show class structure in pop-up</td><td>Command&nbsp;+&nbsp;F12</td></tr><tr><td>List recently edited files in pop-up</td><td>Command&nbsp;+&nbsp;Shift&nbsp;+&nbsp;E</td></tr><tr><td>View full refactor menu</td><td>Control&nbsp;+&nbsp;T</td></tr><tr><td>Collapse/expand all code blocks</td><td>Command&nbsp;+&nbsp;Shift&nbsp;+&nbsp;+/-</td></tr><tr><td>Collapse/expand individual code block</td><td>Command&nbsp;+&nbsp;+/-</td></tr><tr><td>Insert new line below current cursor position</td><td>Shift&nbsp;+&nbsp;Enter</td></tr><tr><td>Complete statement (add braces, parentheses, semi-colon)</td><td>Command&nbsp;+&nbsp;Shift&nbsp;+&nbsp;Enter</td></tr></tbody></table>



<h3 class="wp-block-heading"> View And Add Shortcuts in Android Studio </h3>



<p> By going to Settings >> Keymap A window will popup showing All the Editor Actions with the their name and shortcuts. Some of the Editor Actions do not have shortcuts. So right click on that and add a new shortcut to that.<br></p><p>The post <a href="https://www.pakzilla.com/2019/06/28/android-studio-useful-shortcuts/">Android Studio Useful Shortcuts</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2019/06/28/android-studio-useful-shortcuts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2479</post-id>	</item>
		<item>
		<title>Clean Up Disk Space on CentOS</title>
		<link>https://www.pakzilla.com/2019/06/26/clean-up-disk-space-on-centos/</link>
					<comments>https://www.pakzilla.com/2019/06/26/clean-up-disk-space-on-centos/#respond</comments>
		
		<dc:creator><![CDATA[Adnan Sattar]]></dc:creator>
		<pubDate>Wed, 26 Jun 2019 09:17:06 +0000</pubDate>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[clean_storage_centos_vps]]></category>
		<guid isPermaLink="false">http://www.pakzilla.com/?p=2496</guid>

					<description><![CDATA[<p>Commands to check disk space: $ df command&#160;– Shows the amount of disk space used and available in file systems. $ du command&#160;– Display the amount of disk space used...</p>
<p>The post <a href="https://www.pakzilla.com/2019/06/26/clean-up-disk-space-on-centos/">Clean Up Disk Space on CentOS</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading"> Commands to check disk space:</h2>



<ol><li> <strong><em>$</em></strong>  <em style="font-weight: bold;">df</em> command&nbsp;– Shows the amount of disk space used and available in file systems.</li><li> <strong><em>$</em></strong> <strong><em>du</em></strong> command&nbsp;– Display the amount of disk space used by the specified files and for each sub-directory.</li><li> <strong><em>$</em></strong> <strong><em>btrfs fi df /device/</em></strong>&nbsp;– Show disk space usage information for a btrfs based mount point/file system.</li><li> Pass the&nbsp;<strong>-h</strong>&nbsp;option to see output in human readable format size in gigabytes or terabytes or megabytes: like  <em><strong>$</strong></em><strong> df -h</strong></li><li>Display output using inode usage instead of block usage like  <strong><em>$ df -i</em></strong></li><li>Pass the&nbsp;<strong>-T</strong>&nbsp;option to display the type of each file systems listed such as <strong>ext4, btrfs, ext2, nfs4, fuse, cgroup, cputset</strong> etc. like  <strong><em>$ df -T</em></strong> </li><li> Pass <strong>-t TYPE</strong> to only see specific file system liek <strong><em>$ df -t ext3</em></strong></li><li> To list all but exclude <strong>ext2 </strong>filesystem pass the<strong>&nbsp;-x TYPE</strong>&nbsp;option. like  $ <strong><em>df -x ext2</em></strong></li><li> Pass the&nbsp;<strong>-a</strong>&nbsp;or&nbsp;<strong>&#8211;all</strong>&nbsp;option to the <strong>df </strong>command to show all file system. like <strong><em>$ df -a</em></strong></li><li> For <strong>btrfs filesystem</strong> use the<strong> btrfs fi df</strong> command to see space usage information for a mount point. The syntax is:                                      <em><strong>btrfs filesystem df /path/                                                                           $btrfs fi df /dev/path</strong></em></li></ol>



<h2 class="wp-block-heading"> <strong><em>df</em> COMMAND OUTPUT</strong></h2>



<table class="wp-block-table"><tbody><tr><th>Display <br>Name</th><th>Output&nbsp;<br>option</th><th>Description</th></tr><tr><td>Filesystem</td><td>source</td><td>The source of the mount point, usually a device.</td></tr><tr><td>1K-blocks</td><td>size</td><td>Total number of blocks.</td></tr><tr><td>Used</td><td>used</td><td>Number of used blocks.</td></tr><tr><td>Available</td><td>avail</td><td>Number of available blocks.</td></tr><tr><td>Use%</td><td>pcent</td><td>Percentage of USED divided by SIZE.</td></tr><tr><td>Mounted on</td><td>target</td><td>The mount point.</td></tr></tbody></table>



<p>You can pass the output format defined by ‘valid field name’ as follows:<br><code>$ df --output=field1,field2,...<br>$ df --output=source,used,avail /data/</code></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="471" height="130" data-attachment-id="2497" data-permalink="https://www.pakzilla.com/2019/06/26/clean-up-disk-space-on-centos/2019-06-26_13-10-22/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/2019-06-26_13-10-22.png?fit=471%2C130&amp;ssl=1" data-orig-size="471,130" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="2019-06-26_13-10-22" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/2019-06-26_13-10-22.png?fit=471%2C130&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/2019-06-26_13-10-22.png?fit=471%2C130&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/2019-06-26_13-10-22.png?resize=471%2C130&#038;ssl=1" alt="" class="wp-image-2497" data-recalc-dims="1"/><figcaption>Output Options</figcaption></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="513" height="135" data-attachment-id="2505" data-permalink="https://www.pakzilla.com/2019/06/26/clean-up-disk-space-on-centos/linuxstoragecommands/" data-orig-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/linuxStorageCommands.png?fit=513%2C135&amp;ssl=1" data-orig-size="513,135" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="linuxStorageCommands" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/linuxStorageCommands.png?fit=513%2C135&amp;ssl=1" data-large-file="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/linuxStorageCommands.png?fit=513%2C135&amp;ssl=1" src="https://i0.wp.com/www.pakzilla.com/wp-content/new_upload/linuxStorageCommands.png?resize=513%2C135&#038;ssl=1" alt="" class="wp-image-2505" data-recalc-dims="1"/><figcaption>Human Readable</figcaption></figure>



<h2 class="wp-block-heading"> Clear disk space on CentOS </h2>



<p> Following are quick commands to clear disk space on CentOS 6 or CentOS 7 servers.</p>



<pre class="wp-block-code"><code>$ yum -y install yum-utils</code></pre>



<h3 class="wp-block-heading">1- Trim Log Files</h3>



<p>Following command will truncate any&nbsp;<code>*.log</code>&nbsp;files on the volume&nbsp;<code>/var</code>&nbsp;that are either older than 7 days and greater than 50M or older than 30 days. </p>



<pre class="wp-block-code"><code>$ find /var -name "*.log" \( \( -size +50M -mtime +7 \) -o -mtime +30 \) -exec truncate {} --size 0 \;</code></pre>



<h3 class="wp-block-heading">2- Clean Yum Cache</h3>



<pre class="wp-block-code"><code>$ yum clean all
$ rm -rf /var/cache/yum # Remove orphaned data 
$ rm -rf /var/tmp/yum-* # Delete regular user cache</code></pre>



<h3 class="wp-block-heading">3- Remove Orphan Packages </h3>



<pre class="wp-block-code"><code># Check existing orphan packages
$ package-cleanup --quiet --leaves --exclude-bin 
# confirm removing
$ package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y </code></pre>



<h3 class="wp-block-heading">4-  Remove out dated kernels</h3>



<pre class="wp-block-code"><code># Keeps only latest two kernels, Note: reboot first in order to boot up from # latest kernel.
$ package-cleanup --oldkernels --count=2</code></pre>



<h3 class="wp-block-heading">5-  Remove Composer cache &amp;  WP CLI cached WordPress downloads </h3>



<pre class="wp-block-code"><code># WordPress new setup site cache
$ rm -rf /root/.wp-cli/cache/*
$ rm -rf /home/*/.wp-cli/cache/*

# Remove Composer cache
$ rm -rf /root/.composer/cache
$ rm -rf /home/*/.composer/cache</code></pre>



<h3 class="wp-block-heading">6-  Remove core dumps</h3>



<pre class="wp-block-code"><code>#If some severe failures with PHP and core dumps enabled
$ find -regex ".*/core\.[0-9]+$" -delete</code></pre>



<h2 class="wp-block-heading">7-  &nbsp;Remove error_log files</h2>



<pre class="wp-block-code"><code>$find /home/*/public_html/ -name error_log -delete</code></pre>



<h2 class="wp-block-heading">8-  Remove Node.js caches</h2>



<pre class="wp-block-code"><code>$ rm -rf /root/.npm /home/*/.npm /root/.node-gyp /home/*/.node-gyp /tmp/npm-*</code></pre>



<h2 class="wp-block-heading">9-  Cannot find what is filling up disk space</h2>



<p> if you having a hard time trying to audit disk utilization on your Linux system?. If you  cannot find what is using the space up with <strong>du -sh * </strong>. A very useful option that might help you find out what is using up space is&nbsp;<code><strong>ncdu</strong></code>&nbsp;Install it.</p>



<pre class="wp-block-code"><code>$ sudo yum install ncdu  # For CentOS 
$ sudo dnf install ncdu  # For Fedora
$ sudo apt-get install ncdu # For Ubuntu/Debian</code></pre>



<p>Once the package is installed on your OS, simply run:</p>



<p><code><strong><em>$ ncdu /dir/</em></strong></code></p>



<p>Ncdu also provide a number of options to manipulate&nbsp;files and folders – Navigation, sorting, and even deleting:</p>



<ul><li><strong>up, k</strong>&nbsp;– used to move the cursor up</li><li><strong>down, j</strong>&nbsp;– used to move the cursor down</li><li><strong>right, enter, l &gt;</strong>&nbsp;– Open selected directory</li><li><strong>left, &lt;</strong>,<strong>h</strong>&nbsp; – This opens parent directory</li><li><strong>n</strong>&nbsp;– order by name (press again for descending order)</li><li><strong>s</strong>&nbsp;– Order by file size (press again for descending order)</li><li><strong>d</strong>&nbsp;– Delete selected file or directory</li><li><strong>g</strong>&nbsp;– Show percentage and/or graph</li><li><strong>t&nbsp;</strong>–&nbsp;Toggle dirs before files when sorting.</li><li><strong>c&nbsp;</strong>–&nbsp;Toggle display of child item counts.</li><li><strong>b&nbsp;</strong>–&nbsp;Spawn shell in the current directory.</li><li><strong>i</strong>&nbsp; – Show information about the selected item</li><li><strong>r</strong>&nbsp;–&nbsp;Refresh/recalculate the current directory.</li><li><strong>q</strong>&nbsp;– Quit ncdu</li></ul><p>The post <a href="https://www.pakzilla.com/2019/06/26/clean-up-disk-space-on-centos/">Clean Up Disk Space on CentOS</a> first appeared on <a href="https://www.pakzilla.com">Pakzilla</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.pakzilla.com/2019/06/26/clean-up-disk-space-on-centos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2496</post-id>	</item>
	</channel>
</rss>
