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

<channel>
	<title>SODEVE</title>
	<atom:link href="https://sodeve.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://sodeve.net</link>
	<description>Software Development Velocitor</description>
	<lastBuildDate>Tue, 14 Apr 2026 13:58:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Quinn&#8217;s Clock</title>
		<link>https://sodeve.net/2026/04/quinns-clock/</link>
					<comments>https://sodeve.net/2026/04/quinns-clock/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 13:48:21 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[tools]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9859</guid>

					<description><![CDATA[Hour: Minute: Angle: 0° Rating: 5.0/5 (1 vote cast)<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2021/09/numbers-factors-practice-for-primary-school-students/" rel="bookmark" title="Number&#8217;s Factors Practice for Primary School Students">Number&#8217;s Factors Practice for Primary School Students</a></li>
<li><a href="https://sodeve.net/2008/04/how-to-draw-diamond-recursively/" rel="bookmark" title="How To Draw Diamond Recursively">How To Draw Diamond Recursively</a></li>
<li><a href="https://sodeve.net/2007/04/css-font-size-illustrated/" rel="bookmark" title="CSS Font-Size Illustrated">CSS Font-Size Illustrated</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<style>canvas {
            background: white;
            border-radius: 50%;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            margin-top: 30px;
display: block;
  margin-left: auto;
  margin-right: auto;
        }
        .controls {
            background: white;
            padding: 20px;
            width: 400px; margin: 0 auto;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
color: #000;
        } 
.controls strong { margin-top: 20px; }
        input {
            width: 60px;
            padding: 5px;
            margin-right: 15px;
        }  </style>
<div class="controls">
        <label>Hour: </label><input type="number" id="hr" value="3" min="0" max="23"><label>Minute: </label> <input type="number" id="mn" value="0" min="0" max="59">         <strong>Angle: <span id="angleText">0</span>°</strong>
    </div>
<p>    <canvas id="clockCanvas" width="400" height="400"></canvas><br />
<script>
        const canvas = document.getElementById('clockCanvas');
        const ctx = canvas.getContext('2d');
        const hrInput = document.getElementById('hr');
        const mnInput = document.getElementById('mn');
        const angleText = document.getElementById('angleText');function drawClock() {
            const h = parseInt(hrInput.value) % 12;
            const m = parseInt(mnInput.value);
            const cx = canvas.width / 2;
            const cy = canvas.height / 2;
            const radius = 150;
            // Clear canvas
            ctx.clearRect(0, 0, canvas.width, canvas.height);
            // 1. Draw Clock Face
            ctx.beginPath();
            ctx.arc(cx, cy, radius, 0, 2 * Math.PI);
            ctx.strokeStyle = '#333';
            ctx.lineWidth = 8;
            ctx.stroke();
            // 2. Draw Numbers
            drawNumbers();
            // 2. Calculate Angles (in Radians for Canvas)
            // -90 degrees (Math.PI/2) adjusts 0 rad from the 3 o'clock position to 12 o'clock
            const mAngle = (m * 6) * (Math.PI / 180) - (Math.PI / 2);
            const hAngle = ((h * 30) + (m * 0.5)) * (Math.PI / 180) - (Math.PI / 2);
            // 3. Draw Red Arc (Minute to Hour)
            ctx.beginPath();
            ctx.moveTo(cx, cy);
            ctx.arc(cx, cy, radius * 0.4, mAngle, hAngle, false); // false = clockwise
            ctx.fillStyle = 'rgba(255, 0, 0, 0.2)';
            ctx.fill();
            ctx.strokeStyle = 'red';
            ctx.lineWidth = 2;
            ctx.stroke();
            // 4. Draw Hands
            drawHand(cx, cy, hAngle, radius * 0.5, 8, '#333'); // Hour hand
            drawHand(cx, cy, mAngle, radius * 0.8, 5, '#666'); // Minute hand
            // 5. Calculate & Display Angle Degree
            let deg = Math.abs(((h * 30) + (m * 0.5)) - (m * 6));
            if (deg > 180) deg = 360 - deg;
            // Note: The arc drawing logic above follows clockwise movement. 
            // To show the specific difference:
            let diff = ((h * 30) + (m * 0.5)) - (m * 6);
            if (diff < 0) diff += 360;
            angleText.innerText = diff.toFixed(1);
        }        function drawNumbers() {
            ctx.font = "24px Arial";
            ctx.textBaseline = "middle";
            ctx.textAlign = "center";
            ctx.fillStyle = "#333";
            const cx = canvas.width / 2;
            const cy = canvas.height / 2;
            const radius = 150;
            for (let num = 1; num <= 12; num++) {
                // Calculate angle (30 degrees per number)
                // Subtract 90 degrees so '12' is at the top
                let ang = (num * 30 - 90) * Math.PI / 180;
                // Position the numbers slightly inside the border (radius * 0.85)
                let x = cx + (radius * 0.82) * Math.cos(ang);
                let y = cy + (radius * 0.82) * Math.sin(ang);
                ctx.fillText(num.toString(), x, y);            }
        }        function drawHand(x, y, angle, length, width, color) {
            ctx.beginPath();
            ctx.lineWidth = width;
            ctx.lineCap = 'round';
            ctx.strokeStyle = color;
            ctx.moveTo(x, y);
            ctx.lineTo(x + Math.cos(angle) * length, y + Math.sin(angle) * length);
            ctx.stroke();
        }        // Listeners for Refresh
        hrInput.addEventListener('input', drawClock);
        mnInput.addEventListener('input', drawClock);
        // Initial Draw
        drawClock();</script></p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2021/09/numbers-factors-practice-for-primary-school-students/" rel="bookmark" title="Number&#8217;s Factors Practice for Primary School Students">Number&#8217;s Factors Practice for Primary School Students</a></li>
<li><a href="https://sodeve.net/2008/04/how-to-draw-diamond-recursively/" rel="bookmark" title="How To Draw Diamond Recursively">How To Draw Diamond Recursively</a></li>
<li><a href="https://sodeve.net/2007/04/css-font-size-illustrated/" rel="bookmark" title="CSS Font-Size Illustrated">CSS Font-Size Illustrated</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2026/04/quinns-clock/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>QR Code format for WiFi sharing</title>
		<link>https://sodeve.net/2024/08/qr-code-format-for-wifi-sharing/</link>
					<comments>https://sodeve.net/2024/08/qr-code-format-for-wifi-sharing/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Tue, 27 Aug 2024 03:44:56 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9813</guid>

					<description><![CDATA[Text inside a WiFi sharing QR code WIFI colon S colon SSIDNAME semicolon T colon WPA semicolon P colon PASSWORD semicolon semicolon For example, if the SSID is &#8220;I Love My WiFi&#8221; and the password is &#8220;AndMyFamily&#8221; the text will be WIFI:S:I Love My WiFi;T:WPA;P:AndMyFamily;; credit: https://pocketables.com/2022/01/how-to-format-that-wifi-qr-code-in-plain-text.html Rating: 3.0/5 (1 vote cast)<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=3.0" /></div><div>Rating: 3.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2013/09/correctly-format-data-html-excel-document/" rel="bookmark" title="How to Correctly Format Data in HTML Excel Document">How to Correctly Format Data in HTML Excel Document</a></li>
<li><a href="https://sodeve.net/2021/09/how-to-format-date-in-javascript-without-external-library/" rel="bookmark" title="How To Format Date In JavaScript Without External Library">How To Format Date In JavaScript Without External Library</a></li>
<li><a href="https://sodeve.net/2011/12/inline-javascript-code-that-broke-my-feed/" rel="bookmark" title="Inline JavaScript Code That Broke My Feed">Inline JavaScript Code That Broke My Feed</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>Text inside a WiFi sharing QR code</p>
<blockquote><p><em>WIFI colon S colon SSIDNAME semicolon T colon WPA semicolon P colon PASSWORD semicolon semicolon</em></p></blockquote>
<p>For example, if the SSID is &#8220;I Love My WiFi&#8221; and the password is &#8220;AndMyFamily&#8221; the text will be</p>
<blockquote><p>WIFI:S:I Love My WiFi;T:WPA;P:AndMyFamily;;</p></blockquote>
<p>credit: <a href="https://pocketables.com/2022/01/how-to-format-that-wifi-qr-code-in-plain-text.html" rel="noopener" target="_blank">https://pocketables.com/2022/01/how-to-format-that-wifi-qr-code-in-plain-text.html</a></p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=3.0" /></div><div>Rating: 3.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2013/09/correctly-format-data-html-excel-document/" rel="bookmark" title="How to Correctly Format Data in HTML Excel Document">How to Correctly Format Data in HTML Excel Document</a></li>
<li><a href="https://sodeve.net/2021/09/how-to-format-date-in-javascript-without-external-library/" rel="bookmark" title="How To Format Date In JavaScript Without External Library">How To Format Date In JavaScript Without External Library</a></li>
<li><a href="https://sodeve.net/2011/12/inline-javascript-code-that-broke-my-feed/" rel="bookmark" title="Inline JavaScript Code That Broke My Feed">Inline JavaScript Code That Broke My Feed</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2024/08/qr-code-format-for-wifi-sharing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JSON Table Editor Enhancements – Column Expand, Columns Collapse</title>
		<link>https://sodeve.net/2023/06/json-table-editor-enhancements-column-expand-columns-collapse/</link>
					<comments>https://sodeve.net/2023/06/json-table-editor-enhancements-column-expand-columns-collapse/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Thu, 08 Jun 2023 15:45:03 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[sencha]]></category>
		<category><![CDATA[tools]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9766</guid>

					<description><![CDATA[Previously, in JSON Table Editor we need to click each table icon () to view the child data. Please observe below example: To view Request_item column&#8217;s data, we need to click the table icon (), which will open a new window. Today I added a new improvement to make it easier to view the inner [&#8230;]<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2019/08/json-table-editor-enhancements-part-4/" rel="bookmark" title="JSON Table Editor Enhancements &#8211; Part 4">JSON Table Editor Enhancements &#8211; Part 4</a></li>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>Previously, in <a href="https://sodeve.net/sencha/json-table-editor/" target="_blank" rel="noopener">JSON Table Editor</a> we need to click each table icon (<img decoding="async" role="button" src="/sencha/shared/icons/fam/grid.png?x74012" />) to view the child data. Please observe below example:</p>
<p><a href="https://sodeve.net/wp-content/uploads/2023/06/msedge_HZZ4qo4QbS.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img fetchpriority="high" decoding="async" src="https://sodeve.net/wp-content/uploads/2023/06/msedge_HZZ4qo4QbS-450x148.png?x74012" alt="" width="450" height="148" class="aligncenter size-large wp-image-9768" srcset="https://sodeve.net/wp-content/uploads/2023/06/msedge_HZZ4qo4QbS-450x148.png 450w, https://sodeve.net/wp-content/uploads/2023/06/msedge_HZZ4qo4QbS-300x99.png 300w, https://sodeve.net/wp-content/uploads/2023/06/msedge_HZZ4qo4QbS-768x253.png 768w, https://sodeve.net/wp-content/uploads/2023/06/msedge_HZZ4qo4QbS.png 1040w" sizes="(max-width: 450px) 100vw, 450px" /></a></p>
<p>To view Request_item column&#8217;s data, we need to click the table icon (<img decoding="async" role="button" src="/sencha/shared/icons/fam/grid.png?x74012" />), which will open a new window.</p>
<p><a href="https://sodeve.net/wp-content/uploads/2023/06/msedge_TZCGd6I8xE.png?x74012" data-rel="lightbox-image-1" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2023/06/msedge_TZCGd6I8xE-450x89.png?x74012" alt="" width="450" height="89" class="aligncenter size-large wp-image-9769" srcset="https://sodeve.net/wp-content/uploads/2023/06/msedge_TZCGd6I8xE-450x89.png 450w, https://sodeve.net/wp-content/uploads/2023/06/msedge_TZCGd6I8xE-300x60.png 300w, https://sodeve.net/wp-content/uploads/2023/06/msedge_TZCGd6I8xE-768x152.png 768w, https://sodeve.net/wp-content/uploads/2023/06/msedge_TZCGd6I8xE.png 1033w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>Today I added a new improvement to make it easier to view the inner data of a column with object data type. Click &#8220;Expand&#8221; button on top of the grid, a popup window will appear.</p>
<p><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2023/06/msedge_O7nd5xmsKa.png?x74012" alt="" width="641" height="207" class="aligncenter size-full wp-image-9771" srcset="https://sodeve.net/wp-content/uploads/2023/06/msedge_O7nd5xmsKa.png 641w, https://sodeve.net/wp-content/uploads/2023/06/msedge_O7nd5xmsKa-300x97.png 300w, https://sodeve.net/wp-content/uploads/2023/06/msedge_O7nd5xmsKa-450x145.png 450w" sizes="auto, (max-width: 641px) 100vw, 641px" /></p>
<p>Select the column name (only columns with object-datatype will be listed), then click &#8220;Expand&#8221;. Voila! The column is now expanded.</p>
<p><a href="https://sodeve.net/wp-content/uploads/2023/06/msedge_gJr87cCKUF.png?x74012" data-rel="lightbox-image-2" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2023/06/msedge_gJr87cCKUF-450x122.png?x74012" alt="" width="450" height="122" class="aligncenter size-large wp-image-9772" srcset="https://sodeve.net/wp-content/uploads/2023/06/msedge_gJr87cCKUF-450x122.png 450w, https://sodeve.net/wp-content/uploads/2023/06/msedge_gJr87cCKUF-300x82.png 300w, https://sodeve.net/wp-content/uploads/2023/06/msedge_gJr87cCKUF-768x209.png 768w, https://sodeve.net/wp-content/uploads/2023/06/msedge_gJr87cCKUF.png 1199w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>To combine the columns again, we can use the &#8220;Collapse&#8221; button.</p>
<p><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2023/06/msedge_KlZshUWJ8n.png?x74012" alt="" width="320" height="108" class="aligncenter size-full wp-image-9773" srcset="https://sodeve.net/wp-content/uploads/2023/06/msedge_KlZshUWJ8n.png 320w, https://sodeve.net/wp-content/uploads/2023/06/msedge_KlZshUWJ8n-300x101.png 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /></p>
<p>I hope you&#8217;ll find this improvement useful. Cheers!</p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2019/08/json-table-editor-enhancements-part-4/" rel="bookmark" title="JSON Table Editor Enhancements &#8211; Part 4">JSON Table Editor Enhancements &#8211; Part 4</a></li>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2023/06/json-table-editor-enhancements-column-expand-columns-collapse/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Chrome Extensions Error: Cannot access contents of url. Extension manifest must request permission to access this host. [SOLVED]</title>
		<link>https://sodeve.net/2022/08/chrome-extensions-error-cannot-access-contents-of-url-extension-manifest-must-request-permission-to-access-this-host-solved/</link>
					<comments>https://sodeve.net/2022/08/chrome-extensions-error-cannot-access-contents-of-url-extension-manifest-must-request-permission-to-access-this-host-solved/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Tue, 30 Aug 2022 16:22:24 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9736</guid>

					<description><![CDATA[Today I had an idea for a Chrome extension project. So after work, I re-learning again on how to create a Chrome extension. As I was tinkering with the code, I encountered this error: Uncaught (in promise) Error: Cannot access contents of url &#8220;https://developer.chrome.com/docs/extensions/reference/permissions/&#8221;. Extension manifest must request permission to access this host. To solve [&#8230;]<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2015/10/solved-json-table-editor-not-working-in-chrome/" rel="bookmark" title="[Solved] JSON Table Editor not working in Chrome">[Solved] JSON Table Editor not working in Chrome</a></li>
<li><a href="https://sodeve.net/2014/11/edit-windows-host-file-without-administrative-rights/" rel="bookmark" title="How To Edit Windows Host File Without Administrative Rights">How To Edit Windows Host File Without Administrative Rights</a></li>
<li><a href="https://sodeve.net/2007/04/dotnetnuke-error-installing-module/" rel="bookmark" title="DotNetNuke: Error Installing Module">DotNetNuke: Error Installing Module</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>Today I had an idea for a Chrome extension project. So after work, I <a href="https://developer.chrome.com/docs/extensions/mv3/getstarted/" rel="noopener" target="_blank">re-learning</a> again on how to create a Chrome extension. As I was tinkering with the code, I encountered this error:</p>
<blockquote><p>
Uncaught (in promise) Error: Cannot access contents of url &#8220;https://developer.chrome.com/docs/extensions/reference/permissions/&#8221;. Extension manifest must request permission to access this host.
</p></blockquote>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/GitExtensions_7V5RjzxV0b.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/GitExtensions_7V5RjzxV0b-450x225.png?x74012" alt="" width="450" height="225" class="aligncenter size-large wp-image-9737" srcset="https://sodeve.net/wp-content/uploads/2022/08/GitExtensions_7V5RjzxV0b-450x225.png 450w, https://sodeve.net/wp-content/uploads/2022/08/GitExtensions_7V5RjzxV0b-300x150.png 300w, https://sodeve.net/wp-content/uploads/2022/08/GitExtensions_7V5RjzxV0b-768x384.png 768w, https://sodeve.net/wp-content/uploads/2022/08/GitExtensions_7V5RjzxV0b.png 961w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>To solve this problem, we need to update the manifest.json. If you are using manifest version 2 (V2), you need to add url patterns into <span class="method">optional_permissions</span>.</p>
<h3>V2 Manifest</h3>
<pre name="code" class="js">
{
  "name": "My extension",
  "manifest_version": 2,
  ...
  "optional_permissions": ["http://*/", "https://*/"], 
  ...
}
</pre>
<p>If you are using manifest version 3 (V3), you need to add it to <span class="method">host_permissions</span> instead.</p>
<h3>V3 Manifest</h3>
<pre name="code" class="js">
{
  "name": "My extension",
  "manifest_version": 3,
  ...
  "host_permissions": ["http://*/", "https://*/"], 
  ...
}
</pre>
<p>That&#8217;s all folks!</p>
<p>Reading material: <a href="https://developer.chrome.com/docs/extensions/reference/permissions/" rel="noopener" target="_blank">chrome.permissions</a></p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2015/10/solved-json-table-editor-not-working-in-chrome/" rel="bookmark" title="[Solved] JSON Table Editor not working in Chrome">[Solved] JSON Table Editor not working in Chrome</a></li>
<li><a href="https://sodeve.net/2014/11/edit-windows-host-file-without-administrative-rights/" rel="bookmark" title="How To Edit Windows Host File Without Administrative Rights">How To Edit Windows Host File Without Administrative Rights</a></li>
<li><a href="https://sodeve.net/2007/04/dotnetnuke-error-installing-module/" rel="bookmark" title="DotNetNuke: Error Installing Module">DotNetNuke: Error Installing Module</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2022/08/chrome-extensions-error-cannot-access-contents-of-url-extension-manifest-must-request-permission-to-access-this-host-solved/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JSON Table Editor Enhancements &#8211; Improve Loading Speed and UI</title>
		<link>https://sodeve.net/2022/08/json-table-editor-enhancements-improve-loading-speed-and-ui/</link>
					<comments>https://sodeve.net/2022/08/json-table-editor-enhancements-improve-loading-speed-and-ui/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Wed, 24 Aug 2022 13:37:12 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[sencha]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9717</guid>

					<description><![CDATA[One of the main grievance I have about JSON Table Editor was the slow loading when we load huge data. The loading progress bar also didn&#8217;t provide meaningful information to help us manage our expectations. Recently, when working on recent enhancements, I realized that my old way of loading the data can be improved. I [&#8230;]<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=3.0" /></div><div>Rating: 3.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
<li><a href="https://sodeve.net/2019/08/json-table-editor-enhancements-part-4/" rel="bookmark" title="JSON Table Editor Enhancements &#8211; Part 4">JSON Table Editor Enhancements &#8211; Part 4</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>One of the main grievance I have about <a href="https://sodeve.net/2013/02/json-table-editor/" rel="noopener" target="_blank">JSON Table Editor</a> was the slow loading when we load huge data. The loading progress bar also didn&#8217;t provide meaningful information to help us manage our expectations.</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_eVquAVYxod.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_eVquAVYxod-450x281.png?x74012" alt="" width="450" height="281" class="aligncenter size-large wp-image-9718" srcset="https://sodeve.net/wp-content/uploads/2022/08/opera_eVquAVYxod-450x281.png 450w, https://sodeve.net/wp-content/uploads/2022/08/opera_eVquAVYxod-300x188.png 300w, https://sodeve.net/wp-content/uploads/2022/08/opera_eVquAVYxod.png 499w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>Recently, when working <a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/">on</a> <a href="https://sodeve.net/2022/08/json-table-editor-enhancements-local-storage/">recent</a> <a href="https://sodeve.net/2022/08/json-table-editor-enhancements-grid-filters/">enhancements</a>,  I realized that my old way of loading the data can be improved. I also finding out about <span class="method">updateProgress</span> method of <span class="method">Ext.window.MessageBox</span></p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/chrome_weXiw5cbwe.png?x74012" data-rel="lightbox-image-1" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/chrome_weXiw5cbwe-450x282.png?x74012" alt="" width="450" height="282" class="aligncenter size-large wp-image-9722" srcset="https://sodeve.net/wp-content/uploads/2022/08/chrome_weXiw5cbwe-450x282.png 450w, https://sodeve.net/wp-content/uploads/2022/08/chrome_weXiw5cbwe-300x188.png 300w, https://sodeve.net/wp-content/uploads/2022/08/chrome_weXiw5cbwe-768x481.png 768w, https://sodeve.net/wp-content/uploads/2022/08/chrome_weXiw5cbwe.png 933w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>After tinkering with the code for few occasions, the loading speed and UI is improved very much.</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/chrome_qsqmBPNkAu.png?x74012" data-rel="lightbox-image-2" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/chrome_qsqmBPNkAu.png?x74012" alt="" width="419" height="257" class="aligncenter size-full wp-image-9724" srcset="https://sodeve.net/wp-content/uploads/2022/08/chrome_qsqmBPNkAu.png 419w, https://sodeve.net/wp-content/uploads/2022/08/chrome_qsqmBPNkAu-300x184.png 300w" sizes="auto, (max-width: 419px) 100vw, 419px" /></a></p>
<p>That&#8217;s all folks!</p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=3.0" /></div><div>Rating: 3.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
<li><a href="https://sodeve.net/2019/08/json-table-editor-enhancements-part-4/" rel="bookmark" title="JSON Table Editor Enhancements &#8211; Part 4">JSON Table Editor Enhancements &#8211; Part 4</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2022/08/json-table-editor-enhancements-improve-loading-speed-and-ui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JSON Table Editor Enhancements &#8211; Grid Filters</title>
		<link>https://sodeve.net/2022/08/json-table-editor-enhancements-grid-filters/</link>
					<comments>https://sodeve.net/2022/08/json-table-editor-enhancements-grid-filters/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 12:56:22 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[sencha]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9700</guid>

					<description><![CDATA[Recently, I found two bugs in JSON Table Editor. Both bugs are related to the Grid&#8217;s filter. The first one is the filter for string data type. The filter is only showing one text field. It will search based on &#8216;contains&#8217; operator. Which is not a very good filter. Filtering for &#8216;Published&#8217; rows, still include [&#8230;]<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-5/" rel="bookmark" title="JSON Table Editor Enhancements – Part 5">JSON Table Editor Enhancements – Part 5</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>Recently, I found two bugs in <a href="https://sodeve.net/2013/02/json-table-editor/">JSON Table Editor</a>. Both bugs are related to the Grid&#8217;s filter. The first one is the filter for string data type. The filter is only showing one text field. It will search based on &#8216;contains&#8217; operator.</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_LhspmokMYD.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_LhspmokMYD.png?x74012" alt="" width="332" height="136" class="aligncenter size-full wp-image-9701" srcset="https://sodeve.net/wp-content/uploads/2022/08/opera_LhspmokMYD.png 332w, https://sodeve.net/wp-content/uploads/2022/08/opera_LhspmokMYD-300x123.png 300w" sizes="auto, (max-width: 332px) 100vw, 332px" /></a></p>
<p>Which is not a very good filter. Filtering for &#8216;Published&#8217; rows, still include &#8216;Unpublished&#8217; rows. After the fix, it is much better.</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_KSlq9tZdZk.png?x74012" data-rel="lightbox-image-1" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_KSlq9tZdZk.png?x74012" alt="" width="301" height="155" class="aligncenter size-full wp-image-9703" /></a></p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_V4AuQTCROM.png?x74012" data-rel="lightbox-image-2" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_V4AuQTCROM.png?x74012" alt="" width="301" height="185" class="aligncenter size-full wp-image-9704" /></a> </p>
<p>Please note that Starts with and Ends with are case sensitive.</p>
<p>The second filter to fix is the numeric filter. Currently the filter looks like this:</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_UwxNethaom.png?x74012" data-rel="lightbox-image-3" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_UwxNethaom.png?x74012" alt="" width="305" height="187" class="aligncenter size-full wp-image-9706" srcset="https://sodeve.net/wp-content/uploads/2022/08/opera_UwxNethaom.png 305w, https://sodeve.net/wp-content/uploads/2022/08/opera_UwxNethaom-300x184.png 300w" sizes="auto, (max-width: 305px) 100vw, 305px" /></a></p>
<p>It&#8217;s not very clear what are the fields for. This is caused by missing icons. After the fix:</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_XsUrbVbQ9l.png?x74012" data-rel="lightbox-image-4" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_XsUrbVbQ9l.png?x74012" alt="" width="306" height="193" class="aligncenter size-full wp-image-9707" srcset="https://sodeve.net/wp-content/uploads/2022/08/opera_XsUrbVbQ9l.png 306w, https://sodeve.net/wp-content/uploads/2022/08/opera_XsUrbVbQ9l-300x189.png 300w" sizes="auto, (max-width: 306px) 100vw, 306px" /></a></p>
<p>Now we know which field is for Less than, Greater than, and Equal. </p>
<p>That&#8217;s all folks. I hope it helps!</p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-5/" rel="bookmark" title="JSON Table Editor Enhancements – Part 5">JSON Table Editor Enhancements – Part 5</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2022/08/json-table-editor-enhancements-grid-filters/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JSON Table Editor Enhancements &#8211; Local Storage</title>
		<link>https://sodeve.net/2022/08/json-table-editor-enhancements-local-storage/</link>
					<comments>https://sodeve.net/2022/08/json-table-editor-enhancements-local-storage/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Mon, 01 Aug 2022 15:27:14 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[sencha]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9691</guid>

					<description><![CDATA[After writing about the last round of bug fixes and enhancement, I realized I can quickly implement another enhancements for JSON Table Editor. Now we can save to Local Storage: After saved, we can then load from Local Storage: Another minor enhancement is we can now specify whether the gist is public or private. By [&#8230;]<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=3.0" /></div><div>Rating: 3.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-5/" rel="bookmark" title="JSON Table Editor Enhancements – Part 5">JSON Table Editor Enhancements – Part 5</a></li>
<li><a href="https://sodeve.net/2018/04/json-table-editor-enhancements-part-2/" rel="bookmark" title="JSON Table Editor Enhancements – Part 2">JSON Table Editor Enhancements – Part 2</a></li>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>After writing about the <a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="noopener" target="_blank">last round</a> of bug fixes and enhancement, I realized I can quickly implement another enhancements for <a href="https://sodeve.net/2013/02/json-table-editor/">JSON Table Editor</a>.</p>
<p>Now we can save to Local Storage: </p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_eZUd0FOlXc.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_eZUd0FOlXc-300x138.png?x74012" alt="" width="300" height="138" class="aligncenter size-medium wp-image-9692" srcset="https://sodeve.net/wp-content/uploads/2022/08/opera_eZUd0FOlXc-300x138.png 300w, https://sodeve.net/wp-content/uploads/2022/08/opera_eZUd0FOlXc.png 423w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>After saved, we can then load from Local Storage:</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_jd8QrSyXf6.png?x74012" data-rel="lightbox-image-1" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_jd8QrSyXf6-450x135.png?x74012" alt="" width="450" height="135" class="aligncenter size-large wp-image-9694" srcset="https://sodeve.net/wp-content/uploads/2022/08/opera_jd8QrSyXf6-450x135.png 450w, https://sodeve.net/wp-content/uploads/2022/08/opera_jd8QrSyXf6-300x90.png 300w, https://sodeve.net/wp-content/uploads/2022/08/opera_jd8QrSyXf6.png 709w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>Another minor enhancement is we can now specify whether the gist is public or private. By default, it will post as private gist. To make it public, untick the checkbox.</p>
<p><a href="https://sodeve.net/wp-content/uploads/2022/08/opera_EDV3hUNyuU.png?x74012" data-rel="lightbox-image-2" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/08/opera_EDV3hUNyuU-450x76.png?x74012" alt="" width="450" height="76" class="aligncenter size-large wp-image-9696" srcset="https://sodeve.net/wp-content/uploads/2022/08/opera_EDV3hUNyuU-450x76.png 450w, https://sodeve.net/wp-content/uploads/2022/08/opera_EDV3hUNyuU-300x50.png 300w, https://sodeve.net/wp-content/uploads/2022/08/opera_EDV3hUNyuU.png 690w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>That&#8217;s all for now. Cheers!</p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=3.0" /></div><div>Rating: 3.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-5/" rel="bookmark" title="JSON Table Editor Enhancements – Part 5">JSON Table Editor Enhancements – Part 5</a></li>
<li><a href="https://sodeve.net/2018/04/json-table-editor-enhancements-part-2/" rel="bookmark" title="JSON Table Editor Enhancements – Part 2">JSON Table Editor Enhancements – Part 2</a></li>
<li><a href="https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/" rel="bookmark" title="JSON Table Editor Bug Fixes and Enhancements">JSON Table Editor Bug Fixes and Enhancements</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2022/08/json-table-editor-enhancements-local-storage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JSON Table Editor Bug Fixes and Enhancements</title>
		<link>https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/</link>
					<comments>https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/#comments</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Thu, 28 Jul 2022 14:37:13 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[sencha]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9681</guid>

					<description><![CDATA[The last time I did bug fixes/enhancements JSON Table Editor was about 2 years ago. So why now I come back to this project again? Well, recently myself and a colleague were working to test API endpoints developed by external vendor. Some of the endpoints are returning huge amount of data in JSON format. So [&#8230;]<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2018/03/bug-fixes-and-enhancements-to-json-table-editor/" rel="bookmark" title="Bug Fixes and Enhancements to JSON Table Editor">Bug Fixes and Enhancements to JSON Table Editor</a></li>
<li><a href="https://sodeve.net/2018/04/json-table-editor-enhancements-part-2/" rel="bookmark" title="JSON Table Editor Enhancements – Part 2">JSON Table Editor Enhancements – Part 2</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>The last time I did bug fixes/enhancements <a href="https://sodeve.net/2013/02/json-table-editor/">JSON Table Editor</a> was about <a href="https://sodeve.net/2020/03/solved-json-table-editor-bug-in-microsoft-edge-internet-explorer/">2 years ago</a>. So why now I come back to this project again? Well, recently myself and a colleague were working to test API endpoints developed by external vendor. Some of the endpoints are returning huge amount of data in JSON format. So I shamelessly plug this project to him. Turns out, he likes it.</p>
<p>But as I use <a href="https://sodeve.net/2013/02/json-table-editor/">JSON Table Editor</a> intensively, I notice a few bugs. After working on it last night, I proudly present the list of the bug fixes/enhancements.</p>
<h2>Bug Fixes</h2>
<ol>
<li>When loading invalid JSON, the alert window is automatically dismissed. The correct behavior should be only dismissed after user click<br />
<img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/07/browser_ocnWMYmi5r.png?x74012" alt="" width="342" height="173" class="aligncenter size-full wp-image-9683" srcset="https://sodeve.net/wp-content/uploads/2022/07/browser_ocnWMYmi5r.png 342w, https://sodeve.net/wp-content/uploads/2022/07/browser_ocnWMYmi5r-300x152.png 300w" sizes="auto, (max-width: 342px) 100vw, 342px" /></li>
<li>Deleting the last item or delete all records on the table will make the page stucked in perpetual loading window</li>
<li>Error alerts is missing the error icon</li>
<li>Upload button is not disabled after press (could result in multiple uploads of the same JSON)</li>
</ol>
<h2>Enhancements</h2>
<ol>
<li>Update upload endpoints for dPaste, hastebin</li>
<li>Add <a href="https://gist.github.com/" rel="noopener" target="_blank">Github Gist</a> into upload destination. Before upload, you need to generate the <a href="https://github.com/settings/tokens/new?scopes=repo" rel="noopener" target="_blank">token</a> in Github.<br />
<a href="https://sodeve.net/wp-content/uploads/2022/07/chrome_DvYDgGA4RR.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2022/07/chrome_DvYDgGA4RR-450x323.png?x74012" alt="" width="450" height="323" class="aligncenter size-large wp-image-9685" srcset="https://sodeve.net/wp-content/uploads/2022/07/chrome_DvYDgGA4RR-450x323.png 450w, https://sodeve.net/wp-content/uploads/2022/07/chrome_DvYDgGA4RR-300x216.png 300w, https://sodeve.net/wp-content/uploads/2022/07/chrome_DvYDgGA4RR.png 469w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></li>
</ol>
<p>That&#8217;s all for now. Don&#8217;t forget to press Ctrl-F5 to refresh. Cheers!</p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=5.0" /></div><div>Rating: 5.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2018/03/bug-fixes-and-enhancements-to-json-table-editor/" rel="bookmark" title="Bug Fixes and Enhancements to JSON Table Editor">Bug Fixes and Enhancements to JSON Table Editor</a></li>
<li><a href="https://sodeve.net/2018/04/json-table-editor-enhancements-part-2/" rel="bookmark" title="JSON Table Editor Enhancements – Part 2">JSON Table Editor Enhancements – Part 2</a></li>
<li><a href="https://sodeve.net/2020/02/json-table-editor-enhancements-part-6/" rel="bookmark" title="JSON Table Editor Enhancements – Part 6">JSON Table Editor Enhancements – Part 6</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2022/07/json-table-editor-bug-fixes-and-enhancements/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How To Check If A Library Is Installed in GAC</title>
		<link>https://sodeve.net/2021/11/how-to-check-if-a-library-is-installed-in-gac/</link>
					<comments>https://sodeve.net/2021/11/how-to-check-if-a-library-is-installed-in-gac/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Mon, 22 Nov 2021 09:17:55 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[.net]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9605</guid>

					<description><![CDATA[Start developer command prompt. Either from Windows&#8217; Start menu, or within Visual Studio. From Windows&#8217; Start menu: From Visual Studio: Run this command (in this example I&#8217;m searching for Kendo): gacutil /l &#124; findstr "Kendo" We should be able to see any matching result: I hope it helps. Cheers! Rating: 4.0/5 (1 vote cast)<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.0" /></div><div>Rating: 4.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2015/08/solved-upgrade-win-7-pro-to-windows-10-adventure-failed-at-20/" rel="bookmark" title="[SOLVED] Upgrade Win 7 Pro to Windows 10 Adventure: Failed at 20%">[SOLVED] Upgrade Win 7 Pro to Windows 10 Adventure: Failed at 20%</a></li>
<li><a href="https://sodeve.net/2014/11/create-single-instance-windows-form-application/" rel="bookmark" title="How To Create Single Instance Windows Form Application">How To Create Single Instance Windows Form Application</a></li>
<li><a href="https://sodeve.net/2021/10/the-difference-between-wcf-service-wcf-service-application-and-wcf-service-library-part-2/" rel="bookmark" title="The Difference Between WCF Service, WCF Service Application and WCF Service Library (Part 2)">The Difference Between WCF Service, WCF Service Application and WCF Service Library (Part 2)</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>Start developer command prompt. Either from Windows&#8217; Start menu, or within Visual Studio.</p>
<ul>
<li>From Windows&#8217; Start menu:<br />
<a href="https://sodeve.net/wp-content/uploads/2021/11/chrome_erne3tyURG.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2021/11/chrome_erne3tyURG-450x366.png?x74012" alt="" width="450" height="366" class="aligncenter size-large wp-image-9606" srcset="https://sodeve.net/wp-content/uploads/2021/11/chrome_erne3tyURG-450x366.png 450w, https://sodeve.net/wp-content/uploads/2021/11/chrome_erne3tyURG-300x244.png 300w, https://sodeve.net/wp-content/uploads/2021/11/chrome_erne3tyURG-768x625.png 768w, https://sodeve.net/wp-content/uploads/2021/11/chrome_erne3tyURG.png 985w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></li>
<li>From Visual Studio:<br />
<a href="https://sodeve.net/wp-content/uploads/2021/11/devenv_fukZzcl0BR.png?x74012" data-rel="lightbox-image-1" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2021/11/devenv_fukZzcl0BR-450x367.png?x74012" alt="" width="450" height="367" class="aligncenter size-large wp-image-9607" srcset="https://sodeve.net/wp-content/uploads/2021/11/devenv_fukZzcl0BR-450x367.png 450w, https://sodeve.net/wp-content/uploads/2021/11/devenv_fukZzcl0BR-300x244.png 300w, https://sodeve.net/wp-content/uploads/2021/11/devenv_fukZzcl0BR-768x626.png 768w, https://sodeve.net/wp-content/uploads/2021/11/devenv_fukZzcl0BR.png 832w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></li>
</ul>
<p>Run this command (in this example I&#8217;m searching for Kendo):</p>
<pre name="code" class="bash">
gacutil /l | findstr "Kendo"
</pre>
<p>We should be able to see any matching result:<br />
<a href="https://sodeve.net/wp-content/uploads/2021/11/cmd_U4ntfGTpfJ.png?x74012" data-rel="lightbox-image-2" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2021/11/cmd_U4ntfGTpfJ-450x55.png?x74012" alt="" width="450" height="55" class="aligncenter size-large wp-image-9608" srcset="https://sodeve.net/wp-content/uploads/2021/11/cmd_U4ntfGTpfJ-450x55.png 450w, https://sodeve.net/wp-content/uploads/2021/11/cmd_U4ntfGTpfJ-300x36.png 300w, https://sodeve.net/wp-content/uploads/2021/11/cmd_U4ntfGTpfJ-768x93.png 768w, https://sodeve.net/wp-content/uploads/2021/11/cmd_U4ntfGTpfJ.png 1104w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>I hope it helps. Cheers!</p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.0" /></div><div>Rating: 4.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2015/08/solved-upgrade-win-7-pro-to-windows-10-adventure-failed-at-20/" rel="bookmark" title="[SOLVED] Upgrade Win 7 Pro to Windows 10 Adventure: Failed at 20%">[SOLVED] Upgrade Win 7 Pro to Windows 10 Adventure: Failed at 20%</a></li>
<li><a href="https://sodeve.net/2014/11/create-single-instance-windows-form-application/" rel="bookmark" title="How To Create Single Instance Windows Form Application">How To Create Single Instance Windows Form Application</a></li>
<li><a href="https://sodeve.net/2021/10/the-difference-between-wcf-service-wcf-service-application-and-wcf-service-library-part-2/" rel="bookmark" title="The Difference Between WCF Service, WCF Service Application and WCF Service Library (Part 2)">The Difference Between WCF Service, WCF Service Application and WCF Service Library (Part 2)</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2021/11/how-to-check-if-a-library-is-installed-in-gac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to retrieve password from FileZilla</title>
		<link>https://sodeve.net/2021/11/how-to-retrieve-password-from-filezilla/</link>
					<comments>https://sodeve.net/2021/11/how-to-retrieve-password-from-filezilla/#respond</comments>
		
		<dc:creator><![CDATA[Hardono]]></dc:creator>
		<pubDate>Sat, 13 Nov 2021 16:03:09 +0000</pubDate>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[TRICKS]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[filezilla]]></category>
		<category><![CDATA[password]]></category>
		<guid isPermaLink="false">https://sodeve.net/?p=9584</guid>

					<description><![CDATA[I forgot the SSH password to this server. Luckily, I&#8217;m using the same account for SFTP which is stored in FileZilla. Here&#8217;s the steps I went through to retrieve the password. STEP 1: Export FileZilla&#8217;s configuration. Click File -> Export Save it as sites.xml STEP 2: Open sites.xml in an editor If it looks like [&#8230;]<br /><div><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.0" /></div><div>Rating: 4.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->

Related posts:<ol>
<li><a href="https://sodeve.net/2019/12/google-chrome-password-breached-warning/" rel="bookmark" title="Google Chrome Password-Breached Warning">Google Chrome Password-Breached Warning</a></li>
<li><a href="https://sodeve.net/2014/11/retrieve-singapores-public-holidays-mom/" rel="bookmark" title="How To Retrieve Singapore&#8217;s Public Holidays From MOM">How To Retrieve Singapore&#8217;s Public Holidays From MOM</a></li>
<li><a href="https://sodeve.net/2007/03/how-to-install-dotnetnuke/" rel="bookmark" title="How to Install DotNetNuke">How to Install DotNetNuke</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>I forgot the SSH password to this server. Luckily, I&#8217;m using the same account for SFTP which is stored in FileZilla. Here&#8217;s the steps I went through to retrieve the password.</p>
<ul>
<li><strong>STEP 1: Export FileZilla&#8217;s configuration.</strong><br />
Click File -> Export</p>
<p><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2021/11/filezilla_rrnjORPtxY.png?x74012" alt="" width="228" height="215" class="aligncenter size-full wp-image-9585" /></p>
<p>Save it as sites.xml
</li>
<li><strong>STEP 2: Open sites.xml in an editor</strong></li>
<p>If it looks like below, jump to <strong>STEP 4</strong></p>
<pre name="code" class="text">
&lt;Server&gt;
	&lt;Host&gt;server.net&lt;/Host&gt;
	&lt;Port&gt;21&lt;/Port&gt;
	&lt;Protocol&gt;1&lt;/Protocol&gt;
	&lt;Type&gt;0&lt;/Type&gt;
	&lt;User&gt;root&lt;/User&gt;
	&lt;Pass encoding=&quot;base64&quot;&gt;WXNjMDY5N3FDZA==&lt;/Pass&gt;
	&lt;Logontype&gt;1&lt;/Logontype&gt;
	&lt;EncodingType&gt;Auto&lt;/EncodingType&gt;
	&lt;BypassProxy&gt;0&lt;/BypassProxy&gt;
	&lt;Name&gt;myserver&lt;/Name&gt;
	&lt;LocalDir&gt;D:\projects\sodeve\var\www\sodeve\wp-content\themes\custom-v2\&lt;/LocalDir&gt;
	&lt;RemoteDir&gt;1 0 3 var 3 www 6 sodeve 10 wp-content 6 themes 10 custom-v2&lt;/RemoteDir&gt;
	&lt;SyncBrowsing&gt;1&lt;/SyncBrowsing&gt;
	&lt;DirectoryComparison&gt;0&lt;/DirectoryComparison&gt;
&lt;/Server&gt;
</pre>
<p>If it looks like below, continue to<strong> STEP 3</strong>.</p>
<pre name="code" class="text">
&lt;Server&gt;
	&lt;Host&gt;server.net&lt;/Host&gt;
	&lt;Port&gt;21&lt;/Port&gt;
	&lt;Protocol&gt;1&lt;/Protocol&gt;
	&lt;Type&gt;0&lt;/Type&gt;
	&lt;User&gt;root&lt;/User&gt;
	&lt;Pass encoding=&quot;crypt&quot; pubkey=&quot;rQU6B7W6yCF6AD6jpWaS71KQ9ygp0hRIdUYwzukKkQ4mnrz&quot;&gt;y6HBTe/xhhN2pttv5P5kRH1sSp5vflAv/MB1zXbagmIpmGVxLQ36UzuLEl74b4/TwDYHKlEgZDKnD1o3JLKVemQrFgSxNf5mzpAW7C5Xzl7hgExIS0g+k&lt;/Pass&gt;
	&lt;Logontype&gt;1&lt;/Logontype&gt;
	&lt;EncodingType&gt;Auto&lt;/EncodingType&gt;
	&lt;BypassProxy&gt;0&lt;/BypassProxy&gt;
	&lt;Name&gt;myserver&lt;/Name&gt;
	&lt;LocalDir&gt;D:\projects\sodeve\var\www\sodeve\wp-content\themes\custom-v2\&lt;/LocalDir&gt;
	&lt;RemoteDir&gt;1 0 3 var 3 www 6 sodeve 10 wp-content 6 themes 10 custom-v2&lt;/RemoteDir&gt;
	&lt;SyncBrowsing&gt;1&lt;/SyncBrowsing&gt;
	&lt;DirectoryComparison&gt;0&lt;/DirectoryComparison&gt;
&lt;/Server&gt;
</pre>
</li>
<li><strong>STEP 3: Change Password Settings</strong><br />
Click Edit -> Settings -> Passwords<br />
Select <strong>Save passwords</strong> instead of <strong>Save passwords protected by a master password</strong></p>
<p><a href="https://sodeve.net/wp-content/uploads/2021/11/filezilla_c9zM3xvL9u.png?x74012" data-rel="lightbox-image-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/uploads/2021/11/filezilla_c9zM3xvL9u-450x343.png?x74012" alt="" width="450" height="343" class="aligncenter size-large wp-image-9591" srcset="https://sodeve.net/wp-content/uploads/2021/11/filezilla_c9zM3xvL9u-450x343.png 450w, https://sodeve.net/wp-content/uploads/2021/11/filezilla_c9zM3xvL9u-300x229.png 300w, https://sodeve.net/wp-content/uploads/2021/11/filezilla_c9zM3xvL9u-768x585.png 768w, https://sodeve.net/wp-content/uploads/2021/11/filezilla_c9zM3xvL9u.png 794w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a></p>
<p>Click OK, enter the master password. Now return to <strong>STEP 1</strong>
</li>
<li><strong>STEP 4: Decode the password</strong><br />
To decode the password, you can either use <a href="https://base64decode.org">base64decode.org</a>, or you can use below program</p>
<p><iframe loading="lazy" width="100%" height="475" src="https://dotnetfiddle.net/Widget/0yxgcA" frameborder="0"></iframe></p>
<p>Just in case someone naughty and messed up the code, below is the code:</p>
<pre name="code" class="csharp">
using System;
using System.Text;
					
public class Program
{
	public static void Main()
	{
		byte[] data = Convert.FromBase64String("WXNjMDY5N3FDZA=="); //Enter the base64 string here
		string decodedString = Encoding.UTF8.GetString(data);
		Console.WriteLine(decodedString);
	}
}
</pre>
</li>
</ul>
<p>By now, you should be able to retrieve the password. I hope it helps. Cheers!</p>
<br /><div><img decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx.php?value=4.0" /></div><div>Rating: 4.0/<strong>5</strong> (1 vote cast)</div><br /><a target="_blank" href="http://www.gdstarrating.com/"><img loading="lazy" decoding="async" src="https://sodeve.net/wp-content/plugins/gd-star-rating/gfx/powered.png?x74012" border="0" width="80" height="15" /></a><br /><div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<p>Related posts:</p><ol>
<li><a href="https://sodeve.net/2019/12/google-chrome-password-breached-warning/" rel="bookmark" title="Google Chrome Password-Breached Warning">Google Chrome Password-Breached Warning</a></li>
<li><a href="https://sodeve.net/2014/11/retrieve-singapores-public-holidays-mom/" rel="bookmark" title="How To Retrieve Singapore&#8217;s Public Holidays From MOM">How To Retrieve Singapore&#8217;s Public Holidays From MOM</a></li>
<li><a href="https://sodeve.net/2007/03/how-to-install-dotnetnuke/" rel="bookmark" title="How to Install DotNetNuke">How to Install DotNetNuke</a></li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://sodeve.net/2021/11/how-to-retrieve-password-from-filezilla/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Object Caching 37/210 objects using Memcached
Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk
Database Caching 6/122 queries in 0.086 seconds using Memcached

Served from: www.sodeve.net @ 2026-10-12 02:55:01 by W3 Total Cache
-->