<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Sunil's Blog]]></title><description><![CDATA[Blogging about Oracle APEX, Oracle Database and whatever I am working on..]]></description><link>https://blog.tandan.me</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 01:49:12 GMT</lastBuildDate><atom:link href="https://blog.tandan.me/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Simple Nepali Calendar Widget for Mac]]></title><description><![CDATA[This blog goes through the steps that you need to take in order to install a small calendar widget that stays in your mac’s status bar.

First download the .zip from: https://drive.google.com/file/d/1i38we6LhdWDRGj25J9njXeB65DwVR5KY/view?usp=sharing
...]]></description><link>https://blog.tandan.me/simple-nepali-calendar-widget-for-mac</link><guid isPermaLink="true">https://blog.tandan.me/simple-nepali-calendar-widget-for-mac</guid><category><![CDATA[#nepalicalendar ]]></category><category><![CDATA[#nepalicalendarwidget ]]></category><category><![CDATA[calendarwidget]]></category><category><![CDATA[nepali]]></category><category><![CDATA[Nepal]]></category><dc:creator><![CDATA[Sunil Tandan]]></dc:creator><pubDate>Thu, 26 Jun 2025 04:37:49 GMT</pubDate><content:encoded><![CDATA[<p>This blog goes through the steps that you need to take in order to install a small calendar widget that stays in your mac’s status bar.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750851319370/b293585b-7380-42ff-8b4f-5bbcc3c8c458.webp" alt class="image--center mx-auto" /></p>
<p>First download the .zip from: <a target="_blank" href="https://drive.google.com/file/d/1i38we6LhdWDRGj25J9njXeB65DwVR5KY/view?usp=sharing">https://drive.google.com/file/d/1i38we6LhdWDRGj25J9njXeB65DwVR5KY/view?usp=sharing</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750850144488/9f4b1d5f-8a92-4f95-b63d-40d9e960ad52.webp" alt class="image--center mx-auto" /></p>
<p>Once downloaded double click it and Nepali Calendar.app will be shown. Drag this to your Applications folder and open it.</p>
<p>Since this is not signed (I currently do not have an apple developer account), you will need to trust this application.</p>
<p>You will see a window like the following:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750850297798/7678fed9-c9e7-4447-af2f-df97210c7787.png" alt class="image--center mx-auto" /></p>
<p>Click on Done and open Settings. Go to Privacy and Security tab and scroll below. You will see “Nepali Calendar.app” was blocked to protect your Mac.”</p>
<p>Click on Open Anyway.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750850365942/887c7f48-086d-4e90-8234-88e1229d4edb.png" alt class="image--center mx-auto" /></p>
<p>You will see another pop up:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750850470694/6e126257-e550-4283-9250-1e8483cadaa4.png" alt class="image--center mx-auto" /></p>
<p>Click on Open Anyway and Provide either your fingerprint or password:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750850517965/f924581c-66d3-4a7d-bd6e-f446464e412f.png" alt class="image--center mx-auto" /></p>
<p>Once provided you will see a widget on your mac’s status bar:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750850648488/a2c33b04-2ed7-4f4f-939a-731c89bae61c.png" alt class="image--center mx-auto" /></p>
<p>If you like the app to autostart on startup, you can click on it and mark Start at Login:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750850712254/8aac283b-3848-449f-aae9-40cc4825974f.png" alt class="image--center mx-auto" /></p>
<p>You can exit the application with Quit.</p>
<p>PS: You can reorganize the calendar on your status bar to right or left by pressing the Command key on your keyboard and dragging it.</p>
]]></content:encoded></item><item><title><![CDATA[Oracle APEX: Database Credential Error]]></title><description><![CDATA[If you are using Oracle APEX docker locally, you might encounter the following error.
ORDS was unable to make a connection to the database. The database user specified by db.username configuration setting is expired. The connection pool named: |defau...]]></description><link>https://blog.tandan.me/oracle-apex-database-credential-error</link><guid isPermaLink="true">https://blog.tandan.me/oracle-apex-database-credential-error</guid><category><![CDATA[orclapex]]></category><category><![CDATA[#oracle-apex]]></category><category><![CDATA[Oracle]]></category><category><![CDATA[Oracle Database]]></category><dc:creator><![CDATA[Sunil Tandan]]></dc:creator><pubDate>Wed, 09 Apr 2025 11:06:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1744188333875/ce3ef281-c23a-4bfd-8da6-549f8712295a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you are using Oracle APEX docker locally, you might encounter the following error.</p>
<p><code>ORDS was unable to make a connection to the database. The database user specified by db.username configuration setting is expired. The connection pool named: |default|lo| had the following error(s): ORA-28001: The account has expired. The password must be changed.</code></p>
<p>First let connect to our database as <code>sysdba</code>. You can use SQL Developer or just use the Terminal.</p>
<blockquote>
<p>docker exec -it «container_id» /bin/bash</p>
<p>sqlplus / as sysdba</p>
<p>ALTER SESSION SET CONTAINER = FREEPDB1; #XEPDB1 for express</p>
</blockquote>
<p>If we check our DBA_USERS with:</p>
<pre><code class="lang-sql"><span class="hljs-keyword">select</span> * <span class="hljs-keyword">from</span> DBA_USERS <span class="hljs-keyword">where</span> ACCOUNT_STATUS = <span class="hljs-string">'EXPIRED'</span>;
</code></pre>
<p>We should see all the database users whose password has been expired, including <code>ORDS_PUBLIC_USER</code>. We could solve this issue changing the password, however this would also require the change in ORDS configuration for APEX.</p>
<p>Instead we would like to set the <code>ACCOUNT_STATUS</code> to <code>OPEN</code> <strong>without</strong> changing the password. This can be done by providing the same password, however we might not know what the password was set to. Instead we can create a SQL statement by executing:</p>
<pre><code class="lang-sql"><span class="hljs-keyword">SELECT</span> <span class="hljs-string">'ALTER USER '</span>|| <span class="hljs-keyword">name</span> ||<span class="hljs-string">' IDENTIFIED BY VALUES '''</span>|| spare4 ||<span class="hljs-string">';'</span>|| <span class="hljs-keyword">password</span> ||<span class="hljs-string">''';'</span> <span class="hljs-keyword">as</span> sql2execute <span class="hljs-keyword">FROM</span> sys.user$ <span class="hljs-keyword">WHERE</span> <span class="hljs-keyword">name</span>=<span class="hljs-string">'ORDS_PUBLIC_USER'</span>;
</code></pre>
<p>This will provide you the SQL statement that you should execute like:</p>
<p><code>ALTER USER ORDS_PUBLIC_USER IDENTIFIED BY VALUES 'S:15ED52D32554831E2A03656B9091A52765EBB3C6E74BBB483BE5190D6B50;T:3B0F75432BA387C46E59D88C2A48297AAD5832139E6F8C43C9EA492DF15F51DC13BBF8EB6B45DEE777EB0118D0BF022BEADE80D1D14066676C40EC63E49DEB6869B6A0E336C25E42A513CBA96AF9EF22;';</code></p>
<p>Just copy the given result and execute it.</p>
<p>You should now see that the account status has been changed to OPEN. Restarting the docker will cause Oracle APEX to load properly.</p>
<p><strong>BONUS (since my docker is used only for development):</strong></p>
<p>You can turn off expiration completely using:</p>
<pre><code class="lang-sql"><span class="hljs-keyword">alter</span> profile <span class="hljs-string">"DEFAULT"</span> <span class="hljs-keyword">limit</span> password_life_time <span class="hljs-keyword">UNLIMITED</span>;
</code></pre>
]]></content:encoded></item></channel></rss>